From 868e14749d51e7610c01db7def3b7ab03020fae5 Mon Sep 17 00:00:00 2001
From: new_new_new <8454518+new-twice@user.noreply.gitee.com>
Date: Tue, 9 Jun 2026 09:23:15 +0000
Subject: [PATCH] =?UTF-8?q?!26=20docs(bpm):=20=E6=96=B0=E5=A2=9EshowIsNeed?=
=?UTF-8?q?LeaderApprove=E6=9D=83=E9=99=90=E9=85=8D=E7=BD=AE=E9=A1=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* docs(bpm): 新增showIsNeedLeaderApprove权限配置项
* feat(bpm): 新增是否需要所领导审批及分管所领导流程变量控制
---
.../dq/inspectTask/BPM_NODE_PERMISSIONS.md | 15 ++--
.../components/DqInspectTaskBPMForm.vue | 81 ++++++++++++++++++-
2 files changed, 88 insertions(+), 8 deletions(-)
diff --git a/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md
index 1497262..87f6443 100644
--- a/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md
+++ b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md
@@ -12,9 +12,10 @@
```
edit → 基础信息是否可编辑(1=可编辑, 缺省=只读)
-showProcessHandle → 流程办理区域
- ├── showSubApproveUser → 是否办结 + 部门经办人选人
- └── showSelnextUser → 指定下一步操作人(默认隐藏,=1 显示)
+showProcessHandle → 流程办理区域
+ ├── showSubApproveUser → 是否办结 + 部门经办人选人
+ ├── showIsNeedLeaderApprove → 是否需要所领导审批 + 分管所领导选人
+ └── showSelnextUser → 指定下一步操作人(默认隐藏,=1 显示)
showFeedbackInfo → 反馈信息区域(表格 + 表头)
├── showAddFeedback → 新增反馈按钮
@@ -76,12 +77,13 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
* **edit** `0` —— 基础信息只读
* **showProcessHandle** `1` —— 流程办理区域
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
- * **showFeedbackInfo** `0` —— 反馈信息区域
+ * **showFeedbackInfo** `1` —— 反馈信息区域
* **showAddFeedback** `0` —— 新增反馈按钮
* **showEditFeedback** `0` —— 编辑/删除操作列
* **showDeptFeedback** `0` —— 按部门过滤反馈
* **showJiJianFields** `0` —— 纪检字段列
-* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1
+* dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1
+* 可驳回
---
### 节点: <党群负责人审批>
@@ -90,12 +92,13 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
* **edit** `0` —— 基础信息只读
* **showProcessHandle** `1` —— 流程办理区域
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
+ * **showIsNeedLeaderApprove** `1` —— 是否需要所领导审批 + 分管所领导选人
* **showFeedbackInfo** `0` —— 反馈信息区域
* **showAddFeedback** `0` —— 新增反馈按钮
* **showEditFeedback** `0` —— 编辑/删除操作列
* **showDeptFeedback** `0` —— 按部门过滤反馈
* **showJiJianFields** `0` —— 纪检字段列
- * dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1
+ * dqinspecttask/components/DqInspectTaskBPMForm?showProcessHandle=1&showIsNeedLeaderApprove=1&showSelnextUser=1
---
### 节点: <分管所领导审批>
diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue
index 65f50a0..2d263c3 100644
--- a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue
+++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue
@@ -75,7 +75,8 @@
-
+
+
@@ -217,6 +218,23 @@
+
+
+
+
+
+ 否(不需要)
+ 是(需要所领导审批)
+
+
+
+
+
+
+
+
+
+
([]);
const loadingProblemOptions = ref(false);
+ const isNeedLeaderApprove = ref(0);
+ const leaderApproveUser = ref('');
+ const savingIsNeedLeaderApprove = ref(false);
const mainForm = reactive>({
id: '',
@@ -365,7 +386,11 @@
const showSubApproveUser = computed(
() => String(props.formData?.extendUrlParams?.showSubApproveUser ?? '') === '1'
);
+ const showIsNeedLeaderApprove = computed(
+ () => String(props.formData?.extendUrlParams?.showIsNeedLeaderApprove ?? '') === '1'
+ );
const showSubApproveUserSelector = computed(() => showSubApproveUser.value && String(isEnd.value) !== '1');
+ const showIsNeedLeaderApproveSelector = computed(() => showIsNeedLeaderApprove.value && String(isNeedLeaderApprove.value) === '1');
const processInfo = computed(() => ({
taskId: props.formData?.taskId,
@@ -400,6 +425,14 @@
{ immediate: true }
);
+ watch(
+ () => props.formData?.vars?.isNeedLeaderApprove,
+ (value) => {
+ isNeedLeaderApprove.value = String(value ?? '0') === '1' ? 1 : 0;
+ },
+ { immediate: true }
+ );
+
async function loadProblemTree() {
loadingProblemOptions.value = true;
try {
@@ -419,6 +452,7 @@
await loadProblemTree();
const data = await defHttp.get({ url: queryByIdUrl, params: { id: dataId } });
setMainForm(data || {});
+ leaderApproveUser.value = mainForm.chargeLeaderId || '';
await loadFeedbackList();
} finally {
loading.value = false;
@@ -497,7 +531,12 @@
if (!mainSaved) return false;
}
if (showSubApproveUser.value) {
- return saveSubApproveUserVariable({ showSuccessMessage: false });
+ const result = await saveSubApproveUserVariable({ showSuccessMessage: false });
+ if (!result) return false;
+ }
+ if (showIsNeedLeaderApprove.value) {
+ const result = await saveIsNeedLeaderApproveVariable({ showSuccessMessage: false });
+ if (!result) return false;
}
return true;
}
@@ -579,6 +618,44 @@
.join(',');
}
+ async function saveIsNeedLeaderApproveVariable(options: { showSuccessMessage?: boolean } = {}) {
+ const { showSuccessMessage = true } = options;
+ const processInstanceId = processInfo.value.processInstanceId;
+ const isNeedLeaderApproveValue = String(isNeedLeaderApprove.value);
+ const leaderUsernameValue = normalizeUsernameList(leaderApproveUser.value);
+ if (!processInstanceId) {
+ createMessage.warning('流程实例ID不能为空');
+ return false;
+ }
+ if (isNeedLeaderApproveValue === '1' && !leaderUsernameValue) {
+ createMessage.warning('请选择分管所领导');
+ return false;
+ }
+
+ savingIsNeedLeaderApprove.value = true;
+ try {
+ const result = await saveProcessVariable('is_need_leader_approve', isNeedLeaderApproveValue);
+ if (!result?.success) {
+ createMessage.warning(result.message || '保存失败');
+ return false;
+ }
+ if (isNeedLeaderApproveValue === '1') {
+ const leaderResult = await saveProcessVariable('leader_approve_user', leaderUsernameValue);
+ if (!leaderResult?.success) {
+ createMessage.warning(leaderResult.message || '保存失败');
+ return false;
+ }
+ }
+ if (showSuccessMessage) createMessage.success('保存成功');
+ return true;
+ } catch {
+ createMessage.warning('保存失败');
+ return false;
+ } finally {
+ savingIsNeedLeaderApprove.value = false;
+ }
+ }
+
function handleProcessSuccess() {
emit('success');
}