From 65f6daa4f72fdb73b2fd51c0c9d1e3e130ef780f Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Mon, 25 May 2026 14:47:39 +0800 Subject: [PATCH 01/11] =?UTF-8?q?refactor(xispeak):=20=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=8D=E5=86=8D=E5=8A=A0=E8=BD=BD=E5=85=A8?= =?UTF-8?q?=E9=87=8F=E6=A0=91=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 loadTreeData 从 edit() 移至 add(),仅新增流程时需要树数据计算展开路径。 Co-Authored-By: Claude Opus 4.6 --- .../bg/xispeak/components/BgXiSpeakForm.vue | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index 5637de1..4eefbc1 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -286,7 +286,8 @@ return false; }); - function add(obj = {}) { + async function add(obj = {}) { + treeData.value = await loadTreeData({ async: false, pcode: '' }); edit(obj); } @@ -294,12 +295,22 @@ nextTick(async () => { resetFields(); expandedRowKeys.value = []; - treeData.value = await loadTreeData({ async: false, pcode: '' }); + + // 非BPM模式且有ID时,从API查询完整数据,避免列表行数据不完整导致字段不显示 + let data = record; + if (record.id && !props.formBpm) { + try { + const res = await defHttp.get({ url: queryByIdUrl, params: { id: record.id } }); + data = res || record; + } catch { + data = record; + } + } const tmpData = {}; Object.keys(formData).forEach((key) => { - if (record.hasOwnProperty(key)) { - tmpData[key] = record[key] === null ? (key === 'needSdwApproval' ? 0 : '') : record[key]; + if (data.hasOwnProperty(key)) { + tmpData[key] = data[key] === null ? (key === 'needSdwApproval' ? 0 : '') : data[key]; } }); From ce5923fda62484ebe40b2cbe6c602d8f51ba1a23 Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Mon, 25 May 2026 15:58:03 +0800 Subject: [PATCH 02/11] =?UTF-8?q?fix(xispeak):=20=E6=88=AA=E6=AD=A2?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=B2=BE=E5=BA=A6=E4=BB=8E=E6=97=B6=E5=88=86?= =?UTF-8?q?=E7=A7=92=E6=94=B9=E4=B8=BA=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增/编辑弹窗和发起流程时的截止日期均只保留年月日,移除时分秒。 Co-Authored-By: Claude Opus 4.6 --- src/views/bg/xispeak/BgXiSpeakList.vue | 4 ++-- src/views/bg/xispeak/components/BgXiSpeakForm.vue | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/views/bg/xispeak/BgXiSpeakList.vue b/src/views/bg/xispeak/BgXiSpeakList.vue index dcc3b82..1332053 100644 --- a/src/views/bg/xispeak/BgXiSpeakList.vue +++ b/src/views/bg/xispeak/BgXiSpeakList.vue @@ -680,7 +680,7 @@ deptLeaderId: deptId, deptHandlerName: deptHandlerMap.get(deptId) || '', requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'), - deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'), + deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD'), }, }; @@ -717,7 +717,7 @@ deptId: options.deptId || record.implDept, deptLeaderId: record.responsiblePerson, requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'), - deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'), + deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD'), }, }; diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index 4eefbc1..50f531b 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -130,8 +130,7 @@ From da347d212b2daeb2fb0c1fe81a50fe40ccdfa664 Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Mon, 25 May 2026 16:34:59 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9xispeak=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E7=BC=96=E8=BE=91=E7=95=8C=E9=9D=A2=EF=BC=8C=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=A2=9E=E5=8A=A0=E5=AE=BD=E5=BA=A6=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=B7=A6=E5=AF=B9=E9=BD=90=EF=BC=8C=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=B1=BB=E5=88=AB=E5=88=86=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=8D=A2=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bg/xispeak/components/BgXiSpeakForm.vue | 128 ++++++------------ .../bg/xispeak/components/BgXiSpeakModal.vue | 2 +- 2 files changed, 41 insertions(+), 89 deletions(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index 50f531b..052ca7f 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -2,16 +2,20 @@ @@ -230,8 +170,8 @@ }); const { createMessage } = useMessage(); - const labelCol = ref({ xs: { span: 24 }, sm: { span: 5 } }); - const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 16 } }); + const labelCol = ref({ xs: { span: 24 }, sm: { span: 6 } }); + const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 18 } }); const confirmLoading = ref(false); const validatorRules = reactive({ @@ -386,5 +326,17 @@ diff --git a/src/views/bg/xispeak/components/BgXiSpeakModal.vue b/src/views/bg/xispeak/components/BgXiSpeakModal.vue index df0f908..ffb9a4c 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakModal.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakModal.vue @@ -16,7 +16,7 @@ const { createMessage } = useMessage(); const title = ref(''); - const width = ref(800); + const width = ref(1350); const visible = ref(false); const disableSubmit = ref(false); const registerForm = ref(); From c369ab9a249f6ce33855a32641ce9b81552bf13a Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Mon, 25 May 2026 16:35:43 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/bg/xispeak/components/BgXiSpeakModal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakModal.vue b/src/views/bg/xispeak/components/BgXiSpeakModal.vue index ffb9a4c..e0e9b39 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakModal.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakModal.vue @@ -16,7 +16,7 @@ const { createMessage } = useMessage(); const title = ref(''); - const width = ref(1350); + const width = ref(1400); const visible = ref(false); const disableSubmit = ref(false); const registerForm = ref(); From e84ccab84551d676bbb0f6ef262b3a878e90f733 Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Tue, 26 May 2026 10:54:33 +0800 Subject: [PATCH 05/11] =?UTF-8?q?fix(xispeak):=20=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E9=80=89=E6=8B=A9=E5=99=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?stringToNumber=E5=B1=9E=E6=80=A7=E4=BF=AE=E5=A4=8D=E5=80=BC?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- src/views/bg/xispeak/components/BgXiSpeakForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index 052ca7f..7e21224 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -93,7 +93,7 @@ - + From a3d2c0b86ea1c65dd9b2a9bf854b41a9f1679b34 Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Tue, 26 May 2026 10:54:45 +0800 Subject: [PATCH 06/11] =?UTF-8?q?feat(xispeak):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8D=95=E6=9D=A1=E6=B5=81=E7=A8=8B=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=94=B9=E7=94=A8processInstId=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- src/views/bg/xispeak/BgXiSpeak.api.ts | 4 ++++ src/views/bg/xispeak/BgXiSpeakList.vue | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/views/bg/xispeak/BgXiSpeak.api.ts b/src/views/bg/xispeak/BgXiSpeak.api.ts index 006f1b2..1b78c49 100644 --- a/src/views/bg/xispeak/BgXiSpeak.api.ts +++ b/src/views/bg/xispeak/BgXiSpeak.api.ts @@ -185,6 +185,10 @@ export const withDrawXiSpeak = (params) => { return defHttp.post({ url: '/bg/xispeak/bgXiSpeak/withDrawXiSpeak', params }, { joinParamsToUrl: true, isTransformResponse: false }); }; +export const deleteSingleProcess = (params) => { + return defHttp.post({ url: '/tasktask/taskTask/deleteSingleProcess', params }, { joinParamsToUrl: true, isTransformResponse: false }); +}; + /** * 批量查询反馈统计数量(每个 xispeak 下的 feedback 总条数和已闭环数) * @param params { ids: "id1,id2,id3" } diff --git a/src/views/bg/xispeak/BgXiSpeakList.vue b/src/views/bg/xispeak/BgXiSpeakList.vue index 1332053..3fb2242 100644 --- a/src/views/bg/xispeak/BgXiSpeakList.vue +++ b/src/views/bg/xispeak/BgXiSpeakList.vue @@ -83,6 +83,7 @@ updateLaunchType, saveOrUpdateDict, withDrawXiSpeak, + deleteSingleProcess, getRootListWithDept, bgXiSpeakFeedbackList, } from './BgXiSpeak.api'; @@ -597,7 +598,7 @@ } async function handleDeleteProcess(processRecord, reload) { - const res = await withDrawXiSpeak({ id: currentBusinessId.value }); + const res = await deleteSingleProcess({ processInstId: processRecord.processInstId }); if (res.success) { createMessage.success(res.message || '删除流程成功'); await reload(); From a538b3113e9809f8ec8b2e3613bb901157c015da Mon Sep 17 00:00:00 2001 From: wsm <2746563060@侵权。> Date: Tue, 26 May 2026 10:55:00 +0800 Subject: [PATCH 07/11] =?UTF-8?q?feat(xispeak):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=AE=A1=E6=89=B9=E8=A1=A8=E5=8D=95=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6=E5=92=8C=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 showBaseInfo/baseInfoReadonly 基础信息区域权限控制 - 新增 jiJianFieldsReadonly 纪检字段只读权限 - 隐藏落实方案、完成风险、拖期风险、父级节点、落实情况等字段 - 截止日期精度从时分秒改为日期 - 优化禁用态输入框/单选/数字输入样式 - 优化反馈附件列表样式 Co-Authored-By: Claude Opus 4.7 --- .../components/BgXiSpeakBPMFeedbackModal.vue | 7 +- .../xispeak/components/BgXiSpeakBPMForm.vue | 144 ++++++++++++------ 2 files changed, 100 insertions(+), 51 deletions(-) diff --git a/src/views/bg/xispeak/components/BgXiSpeakBPMFeedbackModal.vue b/src/views/bg/xispeak/components/BgXiSpeakBPMFeedbackModal.vue index f139dd9..959aad9 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakBPMFeedbackModal.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakBPMFeedbackModal.vue @@ -70,17 +70,17 @@ - + - + - + @@ -114,6 +114,7 @@ const emit = defineEmits(['success']); const props = defineProps({ showJiJianFields: { type: Boolean, default: false }, + jiJianFieldsReadonly: { type: Boolean, default: false }, }); const { createMessage } = useMessage(); const userStore = useUserStore(); diff --git a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue index a722947..5fdc820 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue @@ -70,11 +70,11 @@ - - - - - + + + + + @@ -102,6 +102,7 @@ dictCode="db_status" placeholder="请选择完成状态" type="radio" + :stringToNumber="true" :disabled="mainDisabled" /> @@ -110,8 +111,7 @@ - - - - 不存在 - 存在 - - - + + + + + + + + @@ -144,34 +144,34 @@ - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -204,7 +204,7 @@ :columns="feedbackColumns" :data-source="feedbackList" :pagination="false" - :scroll="{ x: 2080 }" + :scroll="{ x: 1980 }" >