diff --git a/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md index df31d60..1497262 100644 --- a/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md +++ b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md @@ -33,116 +33,95 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头) ## 整改任务审批流程 -### 节点: <措施责任部门经办人发起流程> -* taskDefKey: `` +### 节点: <责任部门领导接受任务并分配> +* taskDefKey: `` * **edit** `1` —— 基础信息可编辑 * **showProcessHandle** `1` —— 流程办理区域 - * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `0` —— 反馈信息区域 - * **showAddFeedback** `0` —— 新增反馈按钮 - * **showEditFeedback** `0` —— 编辑/删除操作列 - * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `0` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 + * **showSubApproveUser** `1` —— 是否办结 + 部门经办人 + * **showFeedbackInfo** `1` —— 反馈信息区域 + * **showAddFeedback** `1` —— 新增反馈按钮 + * **showEditFeedback** `1` —— 编辑/删除操作列 +* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showSubApproveUser=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1 --- -### 节点: <措施责任部门负责人审批> -* taskDefKey: `` +### 节点: <部门经办人反馈完成情况并上传附件> +* taskDefKey: `` - * **edit** `0` —— 基础信息只读 - * **showProcessHandle** `1` —— 流程办理区域 - * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `0` —— 反馈信息区域 - * **showAddFeedback** `0` —— 新增反馈按钮 - * **showEditFeedback** `0` —— 编辑/删除操作列 - * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `0` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 ---- - -### 节点: <党群领导审批> -* taskDefKey: `` - - * **edit** `0` —— 基础信息只读 - * **showProcessHandle** `1` —— 流程办理区域 - * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `0` —— 反馈信息区域 - * **showAddFeedback** `0` —— 新增反馈按钮 - * **showEditFeedback** `0` —— 编辑/删除操作列 - * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `0` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 ---- - -### 节点: <部门经办人填写进展反馈> -* taskDefKey: `` - - * **edit** `0` —— 基础信息只读 + * **edit** `1` —— 基础信息可编辑 * **showProcessHandle** `1` —— 流程办理区域 * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 * **showFeedbackInfo** `1` —— 反馈信息区域 * **showAddFeedback** `1` —— 新增反馈按钮 * **showEditFeedback** `1` —— 编辑/删除操作列 - * **showDeptFeedback** `1` —— 按部门过滤反馈 +* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1 +--- +### 节点: <责任部门领导审批> +* taskDefKey: `` + + * **edit** `0` —— 基础信息只读 + * **showProcessHandle** `1` —— 流程办理区域 + * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 + * **showFeedbackInfo** `0` —— 反馈信息区域 + * **showAddFeedback** `0` —— 新增反馈按钮 + * **showEditFeedback** `0` —— 编辑/删除操作列 + * **showDeptFeedback** `0` —— 按部门过滤反馈 * **showJiJianFields** `0` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1&showDeptFeedback=1 +* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 --- -### 节点: <部门负责人审批进展> -* taskDefKey: `` +### 节点: <党群经办人审查> +* taskDefKey: `` * **edit** `0` —— 基础信息只读 * **showProcessHandle** `1` —— 流程办理区域 * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `1` —— 反馈信息区域 + * **showFeedbackInfo** `0` —— 反馈信息区域 * **showAddFeedback** `0` —— 新增反馈按钮 * **showEditFeedback** `0` —— 编辑/删除操作列 - * **showDeptFeedback** `1` —— 按部门过滤反馈 + * **showDeptFeedback** `0` —— 按部门过滤反馈 * **showJiJianFields** `0` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showDeptFeedback=1 +* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 --- -### 节点: <纪检经办人监察> -* taskDefKey: `` +### 节点: <党群负责人审批> +* taskDefKey: `` - * **edit** `0` —— 基础信息只读 +* **edit** `0` —— 基础信息只读 * **showProcessHandle** `1` —— 流程办理区域 * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `1` —— 反馈信息区域 - * **showAddFeedback** `0` —— 新增反馈按钮 - * **showEditFeedback** `1` —— 编辑/删除操作列 - * **jiJianFieldsReadonly** `0` —— 弹窗内纪检字段只读 - * **nonJiJianFieldsReadonly** `1` —— 弹窗内非纪检字段只读 - * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `1` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showEditFeedback=1&nonJiJianFieldsReadonly=1&showJiJianFields=1 ---- - -### 节点: <纪检负责人审批> -* taskDefKey: `` - - * **edit** `0` —— 基础信息只读 - * **showProcessHandle** `1` —— 流程办理区域 - * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `1` —— 反馈信息区域 + * **showFeedbackInfo** `0` —— 反馈信息区域 * **showAddFeedback** `0` —— 新增反馈按钮 * **showEditFeedback** `0` —— 编辑/删除操作列 * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `1` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1 + * **showJiJianFields** `0` —— 纪检字段列 + * dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 --- -### 节点: <督办经办人确认整改完成> -* taskDefKey: `` +### 节点: <分管所领导审批> +* taskDefKey: `` * **edit** `0` —— 基础信息只读 - * **showProcessHandle** `1` —— 流程办理区域 - * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 - * **showFeedbackInfo** `1` —— 反馈信息区域 - * **showAddFeedback** `0` —— 新增反馈按钮 - * **showEditFeedback** `0` —— 编辑/删除操作列 - * **showDeptFeedback** `0` —— 按部门过滤反馈 - * **showJiJianFields** `1` —— 纪检字段列 -* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1 + * **showProcessHandle** `1` —— 流程办理区域 + * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 + * **showFeedbackInfo** `0` —— 反馈信息区域 + * **showAddFeedback** `0` —— 新增反馈按钮 + * **showEditFeedback** `0` —— 编辑/删除操作列 + * **showDeptFeedback** `0` —— 按部门过滤反馈 + * **showJiJianFields** `0` —— 纪检字段列 + * dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 +--- + +### 节点: <所党委书记审批> +* taskDefKey: `` + + * **edit** `0` —— 基础信息只读 + * **showProcessHandle** `1` —— 流程办理区域 + * **showSubApproveUser** `0` —— 是否办结 + 部门经办人 + * **showFeedbackInfo** `0` —— 反馈信息区域 + * **showAddFeedback** `0` —— 新增反馈按钮 + * **showEditFeedback** `0` —— 编辑/删除操作列 + * **showDeptFeedback** `0` —— 按部门过滤反馈 + * **showJiJianFields** `0` —— 纪检字段列 + * dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1 --- diff --git a/src/views/dq/inspectTask/DqInspectTask.api.ts b/src/views/dq/inspectTask/DqInspectTask.api.ts index 435073b..4271d8d 100644 --- a/src/views/dq/inspectTask/DqInspectTask.api.ts +++ b/src/views/dq/inspectTask/DqInspectTask.api.ts @@ -102,3 +102,7 @@ export const saveBpmForm = (params) => { export const saveSubApprove = (params) => { return defHttp.post({ url: '/dqinspecttask/dqInspectTask/saveSubApprove', params }, { isTransformResponse: false }); }; + +export const setProcessVariable = (params) => { + return defHttp.post({ url: '/act/process/setProcessVariable', params }, { isTransformResponse: false }); +}; diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue index 1d0b570..ddb3858 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue @@ -210,12 +210,12 @@ } saving.value = true; try { - if (!formData.id && uploadFileRef.value?.hasPendingFiles?.()) { + if (!formData.id) { formData.id = buildUUID(); } const res = await progressSaveOrUpdate({ ...formData }, isEdit.value); if (res.success) { - if (formData.id && uploadFileRef.value?.hasPendingFiles?.()) { + if (uploadFileRef.value?.hasPendingFiles?.()) { await uploadFileRef.value.bindBussinessId(formData.id); } createMessage.success(res.message || '保存成功'); diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue index a8d519a..65f50a0 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue @@ -73,6 +73,11 @@ + + + + + @@ -234,7 +239,7 @@ import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import Icon from '/@/components/Icon/index'; - import { saveBpmForm, saveSubApprove, specificProblemOptions } from '../DqInspectTask.api'; + import { saveBpmForm, setProcessVariable, specificProblemOptions } from '../DqInspectTask.api'; import { list as progressList, deleteOne as progressDelete } from '../../inspectProgress/DqInspectProgress.api'; import { usePermission } from '/@/hooks/web/usePermission'; import TaskHandleInnerContent from '/@/views/super/bpm/process/personalOffice/myHandleTask/content/TaskHandleInnerContent.vue'; @@ -283,6 +288,7 @@ targetNode: '', measureResLeader: '', measureResDept: '', + chargeLeaderId: '', rectificationEvidence: '', evaluationCriterion: '', isNeedAppro: '', @@ -423,13 +429,6 @@ Object.keys(mainForm).forEach((key) => { mainForm[key] = record[key] ?? ''; }); - const approveInfo = record.approveInfo; - const deptId = getCurrentUserDeptId(); - if (approveInfo && deptId && approveInfo[deptId]) { - const detail = approveInfo[deptId]; - isEnd.value = detail.isEnd ?? 0; - subApproveUser.value = detail.implWorker ?? ''; - } } function getCurrentUserDeptId() { @@ -443,11 +442,6 @@ return departs.length === 1 ? departs[0]?.id || '' : ''; } - function getCurrentAssignee() { - const userInfo = (userStore.getUserInfo || {}) as Record; - return userInfo.username || ''; - } - async function loadFeedbackList() { const bpmProcessId = processInfo.value.processInstanceId; if (!mainForm.id) { @@ -531,15 +525,11 @@ async function saveSubApproveUserVariable(options: { showSuccessMessage?: boolean } = {}) { const { showSuccessMessage = true } = options; + const processInstanceId = processInfo.value.processInstanceId; const isEndValue = String(isEnd.value); const usernameValue = normalizeUsernameList(subApproveUser.value); - const deptId = getCurrentUserDeptId(); - if (!mainForm.id) { - createMessage.warning('主表ID不能为空'); - return false; - } - if (!deptId) { - createMessage.warning('无法获取当前用户部门'); + if (!processInstanceId) { + createMessage.warning('流程实例ID不能为空'); return false; } if (isEndValue !== '1' && !usernameValue) { @@ -549,21 +539,19 @@ savingSubApproveUser.value = true; try { - const params: Record = { - mainId: mainForm.id, - deptId, - isEnd: Number(isEndValue), - }; - if (isEndValue === '1') { - params.implWorker = getCurrentAssignee(); - } else { - params.implUserNameList = usernameValue.split(',').filter(Boolean); - } - const res = await saveSubApprove(params); - if (!res?.success) { - createMessage.warning(res?.message || '保存失败'); + const isEndResult = await saveProcessVariable('is_end', isEndValue); + if (!isEndResult?.success) { + createMessage.warning(isEndResult.message || '保存失败'); return false; } + + if (isEndValue !== '1') { + const subApproveUserResult = await saveProcessVariable('sub_approve_user', usernameValue); + if (!subApproveUserResult?.success) { + createMessage.warning(subApproveUserResult.message || '保存失败'); + return false; + } + } if (showSuccessMessage) createMessage.success('保存成功'); return true; } catch { @@ -574,6 +562,15 @@ } } + function saveProcessVariable(varField: string, varVal: any) { + return setProcessVariable({ + processInstanceId: processInfo.value.processInstanceId, + local: false, + varField, + varVal, + }); + } + function normalizeUsernameList(value: string) { return String(value || '') .split(',') diff --git a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue index 14a0b8a..3dc3ad5 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue @@ -55,6 +55,11 @@ + + + + + @@ -201,6 +206,7 @@ targetNode: '', measureResLeader: '', measureResDept: '', + chargeLeaderId: '', rectificationEvidence: '', evaluationCriterion: '', isNeedAppro: '',