|
@@ -8,15 +8,22 @@
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item :label-col="{span:6}" label="下达时间" name="orderDate">
|
|
|
+ <a-form-item :label-col="{span:6}" label="发布时间" name="orderDate">
|
|
|
<a-range-picker v-model:value="orderDate" :placeholder="['开始日期', '结束日期']" format="YYYY-MM-DD"
|
|
|
@change="onRangeChange"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item :label-col="{span:6}" label="完成时间" name="finishDate">
|
|
|
- <a-range-picker v-model:value="finishDate" :placeholder="['开始日期', '结束日期']" format="YYYY-MM-DD"
|
|
|
- @change="onFinishChange"/>
|
|
|
+ <a-form-item :label-col="{span:6}" label="所属县区" name="regionCode">
|
|
|
+ <a-select
|
|
|
+ ref="select"
|
|
|
+ v-model:value="searchParams.regionCode"
|
|
|
+ :allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'code' }"
|
|
|
+ :options="regionList"
|
|
|
+ @change="changeCity"
|
|
|
+ >
|
|
|
+ </a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6" style="text-align: left">
|
|
@@ -34,19 +41,6 @@
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
<a-row v-show="expand" :gutter="24">
|
|
|
- <a-col :span="6">
|
|
|
- <a-form-item :label-col="{span:6}" label="所属县区" name="regionCode">
|
|
|
- <a-select
|
|
|
- ref="select"
|
|
|
- v-model:value="searchParams.regionCode"
|
|
|
- :allow-clear="true"
|
|
|
- :field-names="{ label: 'name', value: 'code' }"
|
|
|
- :options="regionList"
|
|
|
- @change="changeCity"
|
|
|
- >
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
<a-col :span="6">
|
|
|
<a-form-item :label-col="{span:6}" label="任务类型" name="workTypeId">
|
|
|
<a-select
|
|
@@ -61,10 +55,8 @@
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="登记时间" :label-col="{ span: 6 }" name="isAccomplish">
|
|
|
- <a-range-picker v-model:value="createDate" :placeholder="['开始日期', '结束日期']" format="YYYY-MM-DD"
|
|
|
- @change="onCreateTimeChange"/>
|
|
|
- </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="6">
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
<a-row class="edit-operation">
|
|
@@ -92,6 +84,11 @@
|
|
|
bordered
|
|
|
@change="handleTableChange">
|
|
|
<template #bodyCell="{ column, text, record }">
|
|
|
+ <template v-if="column.key === 'completeProgress'">
|
|
|
+ <div :style="{ color: getProgressColor(computeProgress(record)) }">
|
|
|
+ {{ computeProgress(record) }}%
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
<template v-if="column.key === 'operation'">
|
|
|
<div class="table-operation">
|
|
|
<a-button functioncode="T01040101" size="small" type="link" @click='onDetail(record)'>查看</a-button>
|
|
@@ -154,6 +151,7 @@ export default defineComponent({
|
|
|
const originalColumns = [
|
|
|
{
|
|
|
title: '序号',
|
|
|
+ width: 120,
|
|
|
align: "center",
|
|
|
key: 'institutionID',
|
|
|
customRender: item => `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`,
|
|
@@ -161,19 +159,16 @@ export default defineComponent({
|
|
|
},
|
|
|
{title: '任务名称', dataIndex: 'doTaskName', key: 'doTaskName', align: "center"},
|
|
|
{title: '任务类型', dataIndex: 'workTypeName', key: 'workTypeName', width: 120, align: "center"},
|
|
|
+ {title: '发布县区', dataIndex: 'regionName', key: 'regionName', align: "center"},
|
|
|
{
|
|
|
- title: '任务完成时间', dataIndex: 'finishTime', key: 'finishTime', align: "center", customRender: (item) => {
|
|
|
- return item.record.finishTime == null ? "" : (dayjs(item.record.finishTime).format('YYYY-MM-DD'))
|
|
|
- }
|
|
|
+ title: '完成进度', dataIndex: 'completeProgress', key: 'completeProgress', width: 120, align: "center"
|
|
|
},
|
|
|
- {title: '所属县区', dataIndex: 'regionName', key: 'regionName', align: "center"},
|
|
|
- {title: '执行用户数', dataIndex: 'userCount', key: 'userCount', align: "center"},
|
|
|
{
|
|
|
- title: '下达时间', dataIndex: 'createTime', key: 'createTime', align: "center", customRender: (item) => {
|
|
|
+ title: '发布时间', dataIndex: 'createTime', key: 'createTime', align: "center", customRender: (item) => {
|
|
|
return item.record.createTime == null ? "" : (dayjs(item.record.createTime).format('YYYY-MM-DD'))
|
|
|
}
|
|
|
},
|
|
|
- {title: '下达人', dataIndex: 'createName', key: 'createName', align: "center", isDefaultClose: true},
|
|
|
+ {title: '发布人', dataIndex: 'createName', key: 'createName', align: "center", isDefaultClose: false},
|
|
|
{title: '操作', key: 'operation', fixed: 'right', width: 150, align: "center", isDisabled: true},
|
|
|
];
|
|
|
// 响应式表格定义
|
|
@@ -317,6 +312,26 @@ export default defineComponent({
|
|
|
columns.value = originalColumns.filter((item: any) => columnsKeys.includes(item.key));
|
|
|
}
|
|
|
|
|
|
+ // 计算完成度
|
|
|
+ function computeProgress(record: any) {
|
|
|
+ if (record.completeCount == 0) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ let num: number = record.completeCount / record.userCount;
|
|
|
+ return (Number(num) * 100).toFixed(2);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 按进度显示时间
|
|
|
+ function getProgressColor(progress: any) {
|
|
|
+ if (progress < 30) {
|
|
|
+ return 'red';
|
|
|
+ } else if (progress >= 30 && progress < 80) {
|
|
|
+ return 'yellow';
|
|
|
+ } else {
|
|
|
+ return 'green';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
expand,
|
|
|
orderDate,
|
|
@@ -347,7 +362,9 @@ export default defineComponent({
|
|
|
onDetail,
|
|
|
exportSearchParams,
|
|
|
onCreateTimeChange,
|
|
|
- createDate
|
|
|
+ createDate,
|
|
|
+ computeProgress,
|
|
|
+ getProgressColor
|
|
|
};
|
|
|
},
|
|
|
created() {
|