From af956a0e7535124eb11a86fd4a4ed74149cd2e44 Mon Sep 17 00:00:00 2001 From: wsm <2746563060@qq.com> Date: Thu, 11 Jun 2026 10:21:26 +0800 Subject: [PATCH 01/10] =?UTF-8?q?docs(xispeak):=20=E6=9B=B4=E6=96=B0BPM?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=9D=83=E9=99=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增反馈流程部门负责人反馈节点配置 - 修正所纪委审批和分管领导审批节点URL参数 - 补充习反馈流程纪检负责人审批taskDefKey Co-Authored-By: Claude Opus 4.7 --- src/views/bg/xispeak/BPM_NODE_PERMISSIONS.md | 8 ++++++-- src/views/bg/xispeak/BPM_NODE_PERMISSIONS_XI_FEEDBACK.md | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/views/bg/xispeak/BPM_NODE_PERMISSIONS.md b/src/views/bg/xispeak/BPM_NODE_PERMISSIONS.md index ff2efe8..72cb190 100644 --- a/src/views/bg/xispeak/BPM_NODE_PERMISSIONS.md +++ b/src/views/bg/xispeak/BPM_NODE_PERMISSIONS.md @@ -61,6 +61,10 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头) * bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1 --- +### 节点:<反馈流程部门负责人反馈> +Task_133caii +bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1&showDeptFeedback=1 + ### 节点: <所党委审批> * taskDefKey: `` @@ -169,7 +173,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头) * **showEditFeedback** `0` —— 编辑/删除操作列 * **showDeptFeedback** `0` —— 按部门过滤反馈 * **showJiJianFields** `0` —— 纪检字段列 -* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1 +* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showEditFeedback=1&nonJiJianFieldsReadonly=1&showJiJianFields=1 --- @@ -215,7 +219,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头) * **jiJianFieldsReadonly** `0` —— 弹窗内纪检字段只读 * **showDeptFeedback** `0` —— 按部门过滤反馈 * **showJiJianFields** `1` —— 纪检字段列 -* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1 +* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showEditFeedback=0&showJiJianFields=1 --- ### 节点: <督办部门经办人确认全部反馈事项> diff --git a/src/views/bg/xispeak/BPM_NODE_PERMISSIONS_XI_FEEDBACK.md b/src/views/bg/xispeak/BPM_NODE_PERMISSIONS_XI_FEEDBACK.md index 522c855..b141a6e 100644 --- a/src/views/bg/xispeak/BPM_NODE_PERMISSIONS_XI_FEEDBACK.md +++ b/src/views/bg/xispeak/BPM_NODE_PERMISSIONS_XI_FEEDBACK.md @@ -34,7 +34,8 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头) ## 习讲话经办人反馈流程 ### 节点: <纪检负责人审批> -* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1 +* taskDefKey: `` + * bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1 --- ### 节点: <部门负责人审批> From 9c2d5d1363e5788839fd4a9ee9737dcde177ec1b Mon Sep 17 00:00:00 2001 From: wsm <2746563060@qq.com> Date: Thu, 11 Jun 2026 14:29:29 +0800 Subject: [PATCH 02/10] =?UTF-8?q?fix(xispeak):=20=E4=BF=AE=E5=A4=8DBPM?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=BE=93=E5=85=A5=E8=A2=AB=E5=88=B7=E6=8E=89?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E5=A2=9E=E8=A1=A8=E5=8D=95=E5=B8=A6=E5=85=A5?= =?UTF-8?q?=E6=97=A7=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BPM表单:processInstanceId变化时仅刷新反馈列表,不再全量重载主表数据 - 编辑表单:新增时同步重置为默认值,弹窗强制重建组件避免数据残留 Co-Authored-By: Claude Opus 4.7 --- .../xispeak/components/BgXiSpeakBPMForm.vue | 11 ++- .../bg/xispeak/components/BgXiSpeakForm.vue | 77 +++++++++++-------- .../bg/xispeak/components/BgXiSpeakModal.vue | 9 ++- 3 files changed, 62 insertions(+), 35 deletions(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue index 2b0d450..445caf1 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue @@ -497,7 +497,16 @@ initFormData(); }); - watch([() => props.formData?.dataId, () => processInfo.value.processInstanceId], () => initFormData()); + watch( + () => props.formData?.dataId, + () => initFormData() + ); + watch( + () => processInfo.value.processInstanceId, + (newVal) => { + if (newVal) loadFeedbackList(); + } + ); watch(showDeptFeedback, () => { loadFeedbackList(); diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index bae6636..d2b21cd 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -161,35 +161,39 @@ const emit = defineEmits(['register', 'ok']); let model: Nullable = null; - const formData = reactive>({ - id: '', - pid: '', - speakStatus: '', - time: '', - elmComment: '经单位主要负责同时签批同意,由xx部做好贯彻落实', - status: 'x月x日召开xxxx年第x次党委会议', - secretLevel: '', - responsiblePerson: '', - needSdwApproval: 0, - sdwLeaderList: '', - implPlan: '', - implMeasures: '', - numberOfResolutions: undefined, - implStatus: '', - implCount: undefined, - closedCount: undefined, - reportFeedbackStatus: '', - isCompletionRisk: undefined, - delayRiskMitigation: '', - completionStatus: undefined, - deadline: '', - implDept: '', - treeDepth: undefined, - sortOrder: undefined, - delFlag: undefined, - bpmStatus: undefined, - supervisionCount: undefined, - }); + function getDefaultFormData(): Record { + return { + id: '', + pid: '', + speakStatus: '', + time: '', + elmComment: '经单位主要负责同时签批同意,由xx部做好贯彻落实', + status: 'x月x日召开xxxx年第x次党委会议', + secretLevel: '', + responsiblePerson: '', + needSdwApproval: 0, + sdwLeaderList: '', + implPlan: '', + implMeasures: '', + numberOfResolutions: undefined, + implStatus: '', + implCount: undefined, + closedCount: undefined, + reportFeedbackStatus: '', + isCompletionRisk: undefined, + delayRiskMitigation: '', + completionStatus: undefined, + deadline: '', + implDept: '', + treeDepth: undefined, + sortOrder: undefined, + delFlag: undefined, + bpmStatus: undefined, + supervisionCount: undefined, + }; + } + + const formData = reactive>(getDefaultFormData()); const { createMessage } = useMessage(); const labelCol = ref({ xs: { span: 24 }, sm: { span: 6 } }); @@ -289,13 +293,24 @@ } function edit(record) { + // 新增:同步重置,不带入任何旧数据 + if (!record.id) { + const defaults = getDefaultFormData(); + for (const key of Object.keys(formData)) { + formData[key] = defaults[key]; + } + sdwLeaderNames.value = ''; + model = {}; + return; + } + + // 编辑/详情 nextTick(async () => { resetFields(); expandedRowKeys.value = []; - // 非BPM模式且有ID时,从API查询完整数据,避免列表行数据不完整导致字段不显示 let data = record; - if (record.id && !props.formBpm) { + if (!props.formBpm) { try { const res = await defHttp.get({ url: queryByIdUrl, params: { id: record.id } }); data = res || record; diff --git a/src/views/bg/xispeak/components/BgXiSpeakModal.vue b/src/views/bg/xispeak/components/BgXiSpeakModal.vue index e0e9b39..1e98cc5 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakModal.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakModal.vue @@ -1,6 +1,6 @@