yxk-20260708

把把脉的反馈子表增加2个字段:计划完成目标和计划完成时间
This commit is contained in:
ye1023
2026-07-08 15:12:15 +08:00
parent 8d974cde0c
commit b2284adc30
4 changed files with 61 additions and 15 deletions
+25 -7
View File
@@ -179,6 +179,22 @@ export const bgTakepulseFeedbackColumns: JVxeColumn[] = [
placeholder: '请输入${title}', placeholder: '请输入${title}',
defaultValue:'', defaultValue:'',
}, },
{
title: '计划完成目标',
key: 'planExect',
type: JVxeTypes.textarea,
width:"220px",
placeholder: '请输入${title}',
defaultValue:'',
},
{
title: '计划完成日期',
key: 'planTime',
type: JVxeTypes.date,
width:"140px",
placeholder: '请选择${title}',
defaultValue:'',
},
{ {
title: '实际执行情况', title: '实际执行情况',
key: 'actualExect', key: 'actualExect',
@@ -268,13 +284,15 @@ export const superQuerySchema = {
responDeptname: {title: '责任部门名称',order: 1,view: 'text', type: 'string',}, responDeptname: {title: '责任部门名称',order: 1,view: 'text', type: 'string',},
responPersonid: {title: '反馈人id',order: 2,view: 'text', type: 'string',}, responPersonid: {title: '反馈人id',order: 2,view: 'text', type: 'string',},
responPersonname: {title: '反馈人姓名',order: 3,view: 'text', type: 'string',}, responPersonname: {title: '反馈人姓名',order: 3,view: 'text', type: 'string',},
actualExect: {title: '实际执行情况',order: 4,view: 'textarea', type: 'string',}, planExect: {title: '计划完成目标',order: 4,view: 'textarea', type: 'string',},
actualTime: {title: '实际完成时间',order: 5,view: 'datetime', type: 'string',}, planTime: {title: '计划完成日期',order: 5,view: 'date', type: 'string',},
actSt: {title: '调整落实措施及执行情况',order: 6,view: 'textarea', type: 'string',}, actualExect: {title: '实际执行情况',order: 6,view: 'textarea', type: 'string',},
bpmStatus: {title: '完成状态',order: 7,view: 'text', type: 'string',}, actualTime: {title: '实际完成时间',order: 7,view: 'datetime', type: 'string',},
proposerConfirm: {title: '提出人确认',order: 8,view: 'text', type: 'string',}, actSt: {title: '调整落实措施及执行情况',order: 8,view: 'textarea', type: 'string',},
bpmProcessId: {title: '流程实例id',order: 9,view: 'text', type: 'string',}, bpmStatus: {title: '完成状态',order: 9,view: 'text', type: 'string',},
mainId: {title: '外键',order: 11,view: 'text', type: 'string',}, proposerConfirm: {title: '提出人确认',order: 10,view: 'text', type: 'string',},
bpmProcessId: {title: '流程实例id',order: 11,view: 'text', type: 'string',},
mainId: {title: '外键',order: 12,view: 'text', type: 'string',},
} }
}, },
}; };
+12 -4
View File
@@ -112,7 +112,7 @@
:dataSource="getFeedbackTableData(record)" :dataSource="getFeedbackTableData(record)"
:loading="getFeedbackTableLoading(record)" :loading="getFeedbackTableLoading(record)"
:pagination="false" :pagination="false"
:scroll="{ x: 1320 }" :scroll="{ x: 1780 }"
> >
<template #feedbackAttachments="{ record: feedbackRecord }"> <template #feedbackAttachments="{ record: feedbackRecord }">
<SUploadFile <SUploadFile
@@ -219,15 +219,23 @@
// 反馈展开区只读展示子表数据,列配置与 BPM 办理页保持同一组核心反馈字段。 // 反馈展开区只读展示子表数据,列配置与 BPM 办理页保持同一组核心反馈字段。
const feedbackExpandColumns: BasicColumn[] = [ const feedbackExpandColumns: BasicColumn[] = [
{ title: '责任部门名称', dataIndex: 'responDeptname', align: 'center', width: 160 }, { title: '责任部门名称', dataIndex: 'responDeptname', align: 'center', width: 160 },
{ title: '反馈人姓名', dataIndex: 'responPersonname', align: 'center', width: 140 }, { title: '反馈人姓名', dataIndex: 'responPersonname', align: 'center', width: 110 },
{ title: '计划完成目标', dataIndex: 'planExect', align: 'left', width: 260 },
{
title: '计划完成日期',
dataIndex: 'planTime',
align: 'center',
width: 120,
customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)),
},
{ title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 }, { title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 },
{ title: '实际完成时间', dataIndex: 'actualTime', align: 'center', width: 180 }, { title: '实际完成时间', dataIndex: 'actualTime', align: 'center', width: 155 },
{ title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 }, { title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 },
{ {
title: '完成状态', title: '完成状态',
dataIndex: 'bpmStatus', dataIndex: 'bpmStatus',
align: 'center', align: 'center',
width: 120, width: 95,
customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus, customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus,
}, },
{ {
@@ -21,6 +21,16 @@
<a-date-picker v-model:value="formData.actualTime" showTime value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" allow-clear /> <a-date-picker v-model:value="formData.actualTime" showTime value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="计划完成目标" name="planExect" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-textarea v-model:value="formData.planExect" :rows="3" allow-clear />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="计划完成日期" name="planTime">
<a-date-picker v-model:value="formData.planTime" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />
</a-form-item>
</a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="实际执行情况" name="actualExect" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol"> <a-form-item label="实际执行情况" name="actualExect" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-textarea v-model:value="formData.actualExect" :rows="4" allow-clear /> <a-textarea v-model:value="formData.actualExect" :rows="4" allow-clear />
@@ -88,6 +98,8 @@
responDeptname: '', responDeptname: '',
responPersonid: '', responPersonid: '',
responPersonname: '', responPersonname: '',
planExect: '',
planTime: '',
actualExect: '', actualExect: '',
actualTime: '', actualTime: '',
actSt: '', actSt: '',
@@ -359,11 +359,19 @@
const feedbackBaseColumns = [ const feedbackBaseColumns = [
{ title: '责任部门名称', dataIndex: 'responDeptname', align: 'center', width: 160 }, { title: '责任部门名称', dataIndex: 'responDeptname', align: 'center', width: 160 },
{ title: '反馈人姓名', dataIndex: 'responPersonname', align: 'center', width: 140 }, { title: '反馈人姓名', dataIndex: 'responPersonname', align: 'center', width: 110 },
{ title: '计划完成目标', dataIndex: 'planExect', align: 'left', width: 260 },
{
title: '计划完成日期',
dataIndex: 'planTime',
align: 'center',
width: 120,
customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)),
},
{ title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 }, { title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 },
{ title: '实际完成时间', dataIndex: 'actualTime', align: 'center', width: 180 }, { title: '实际完成时间', dataIndex: 'actualTime', align: 'center', width: 155 },
{ title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 }, { title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 },
{ title: '完成状态', dataIndex: 'bpmStatus', align: 'center', width: 120, customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus }, { title: '完成状态', dataIndex: 'bpmStatus', align: 'center', width: 95, customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus },
{ title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 340 }, { title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 340 },
]; ];
const feedbackActionColumn = { title: '操作', dataIndex: 'action', key: 'action', align: 'center', width: 120, fixed: 'right' }; const feedbackActionColumn = { title: '操作', dataIndex: 'action', key: 'action', align: 'center', width: 120, fixed: 'right' };
@@ -371,7 +379,7 @@
return canManageFeedback.value ? [...feedbackBaseColumns, feedbackActionColumn] : feedbackBaseColumns; return canManageFeedback.value ? [...feedbackBaseColumns, feedbackActionColumn] : feedbackBaseColumns;
}); });
const feedbackTableScrollX = computed(() => { const feedbackTableScrollX = computed(() => {
return canManageFeedback.value ? 1640 : 1520; return canManageFeedback.value ? 1900 : 1780;
}); });
const mainDisabled = computed(() => { const mainDisabled = computed(() => {