diff --git a/.gitignore b/.gitignore
index 489daa6..9b5fbd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@ node_modules
/dist/
dist-electron
.cache
+localDoc
tests/server/static
tests/server/static/upload
diff --git a/src/components/semri/process/FlowScheduleStartModal.vue b/src/components/semri/process/FlowScheduleStartModal.vue
index 6ffc007..9b937bd 100644
--- a/src/components/semri/process/FlowScheduleStartModal.vue
+++ b/src/components/semri/process/FlowScheduleStartModal.vue
@@ -36,7 +36,27 @@
-
+
+
+
+
+
+
@@ -79,7 +99,9 @@
import JModal from '/src/components/Modal/src/JModal/JModal.vue';
import JDictSelectTag from '/src/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JSwitch from '/src/components/Form/src/jeecg/components/JSwitch.vue';
- import JSelectUser from '/src/components/Form/src/jeecg/components/JSelectUser.vue';
+ import SzUserSelectByDeptRoleSecurityModal from '/src/components/semri/userComponent/modal/SzUserSelectByDeptRoleSecurityModal.vue';
+ import { SearchOutlined } from '@ant-design/icons-vue';
+ import { getUserList } from '/src/api/common/api';
import { useMessage } from '/src/hooks/web/useMessage';
interface ModalPayload {
@@ -89,6 +111,7 @@
showSuoleaderFields?: boolean;
isNeedAppro?: string | number;
supDeptleaderid?: string | string[];
+ supDeptleaderName?: string;
showDeadlineField?: boolean;
deadline?: string | Date;
}
@@ -107,6 +130,44 @@
const deptOptions = ref([]);
const showSuoleaderFields = ref(false);
const showDeadlineField = ref(false);
+
+ // 所党委领导选人弹窗
+ const sdwLeaderModalOpen = ref(false);
+ const supDeptleaderName = ref('');
+ const sdwLeaderDeptId = ref('2044677562460508161');
+ const sdwLeaderRoleId = ref('2044676455280570370');
+ const sdwLeaderSecurityValue = ref(5);
+
+ function openSdwLeaderModal() {
+ if (String(formData.isNeedAppro) !== '1') return;
+ sdwLeaderModalOpen.value = true;
+ }
+
+ function handleClearSdwLeader() {
+ formData.supDeptleaderid = '';
+ supDeptleaderName.value = '';
+ }
+
+ function handleSdwLeaderConfirm(rows: Array<{ id: string; realname: string }>) {
+ if (rows && rows.length > 0) {
+ formData.supDeptleaderid = rows.map((r) => r.username).join(',');
+ supDeptleaderName.value = rows.map((r) => r.realname).join(',');
+ } else {
+ formData.supDeptleaderid = '';
+ supDeptleaderName.value = '';
+ }
+ }
+
+ async function resolveSdwLeaderNames(ids: string) {
+ try {
+ const res = await getUserList({ username: ids, pageSize: 999 });
+ const records = res?.records || res?.result?.records || [];
+ supDeptleaderName.value = records.map((u: any) => u.realname).join(',');
+ } catch {
+ supDeptleaderName.value = '';
+ }
+ }
+
const formData = reactive({
triggerMode: 'immediate',
intervalType: undefined as number | string | undefined,
@@ -126,6 +187,7 @@
formData.deptIds = [];
formData.isNeedAppro = '0';
formData.supDeptleaderid = '';
+ supDeptleaderName.value = '';
formData.deadline = undefined;
deptOptions.value = [];
showSuoleaderFields.value = false;
@@ -169,6 +231,10 @@
showSuoleaderFields.value = !!data.showSuoleaderFields;
formData.isNeedAppro = String(data.isNeedAppro ?? '0');
formData.supDeptleaderid = data.supDeptleaderid || '';
+ supDeptleaderName.value = data.supDeptleaderName || '';
+ if (!supDeptleaderName.value && formData.supDeptleaderid) {
+ resolveSdwLeaderNames(formData.supDeptleaderid as string);
+ }
showDeadlineField.value = !!data.showDeadlineField;
formData.deadline = normalizeDeadlineValue(data.deadline);
if (String(formData.isNeedAppro) !== '1') {
@@ -228,6 +294,7 @@
(value) => {
if (String(value) !== '1') {
formData.supDeptleaderid = '';
+ supDeptleaderName.value = '';
}
}
);
diff --git a/src/components/semri/userComponent/modal/SzUserSelectByDeptRoleSecurityModal.vue b/src/components/semri/userComponent/modal/SzUserSelectByDeptRoleSecurityModal.vue
index f78a699..44f3810 100644
--- a/src/components/semri/userComponent/modal/SzUserSelectByDeptRoleSecurityModal.vue
+++ b/src/components/semri/userComponent/modal/SzUserSelectByDeptRoleSecurityModal.vue
@@ -1,6 +1,6 @@
-
-
+
+
-
-
diff --git a/src/views/dj/inspectimprove/components/DjInspectImproveForm.vue b/src/views/dj/inspectimprove/components/DjInspectImproveForm.vue
deleted file mode 100644
index 106d711..0000000
--- a/src/views/dj/inspectimprove/components/DjInspectImproveForm.vue
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/dj/inspectimprove/components/DjInspectImproveModal.vue b/src/views/dj/inspectimprove/components/DjInspectImproveModal.vue
deleted file mode 100644
index adffd7c..0000000
--- a/src/views/dj/inspectimprove/components/DjInspectImproveModal.vue
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/dq/inspectProgress/DqInspectProgress.api.ts b/src/views/dq/inspectProgress/DqInspectProgress.api.ts
new file mode 100644
index 0000000..5fd070e
--- /dev/null
+++ b/src/views/dq/inspectProgress/DqInspectProgress.api.ts
@@ -0,0 +1,79 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/dqinspecttask/dqInspectTask/listDqInspectProgressByMainId',
+ save='/dqinspecttask/dqInspectTask/addDqInspectProgress',
+ edit='/dqinspecttask/dqInspectTask/editDqInspectProgress',
+ deleteOne = '/dqinspecttask/dqInspectTask/deleteDqInspectProgress',
+ deleteBatch = '/dqinspecttask/dqInspectTask/deleteBatchDqInspectProgress',
+ importExcel = '/dqinspecttask/dqInspectTask/importDqInspectProgress',
+ exportXls = '/dqinspecttask/dqInspectTask/exportDqInspectProgress',
+ queryById = '/dqinspecttask/dqInspectTask/queryDqInspectProgressById',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+
+/**
+ * 删除单个
+ * @param params
+ * @param handleSuccess
+ */
+export const deleteOne = (params,handleSuccess) => {
+ return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+}
+
+/**
+ * 批量删除
+ * @param params
+ * @param handleSuccess
+ */
+export const batchDelete = (params, handleSuccess) => {
+ createConfirm({
+ iconType: 'warning',
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+ }
+ });
+}
+
+/**
+ * 保存或者更新
+ * @param params
+ * @param isUpdate
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({ url: url, params }, { isTransformResponse: false });
+}
+
+/**
+ * 根据id查询数据
+ * @param id
+ */
+export const queryById = (id) => defHttp.get({ url: Api.queryById, params: { id } });
diff --git a/src/views/dq/inspectProgress/DqInspectProgress.data.ts b/src/views/dq/inspectProgress/DqInspectProgress.data.ts
new file mode 100644
index 0000000..5bdf4ab
--- /dev/null
+++ b/src/views/dq/inspectProgress/DqInspectProgress.data.ts
@@ -0,0 +1,64 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+import { getWeekMonthQuarterYear } from '/@/utils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '反馈部门ID',
+ align: "center",
+ dataIndex: 'feedbackDeptId'
+ },
+ {
+ title: '反馈部门名称',
+ align: "center",
+ dataIndex: 'feedbackDeptName'
+ },
+ {
+ title: '反馈人ID',
+ align: "center",
+ dataIndex: 'feedbackPersonId'
+ },
+ {
+ title: '反馈人姓名',
+ align: "center",
+ dataIndex: 'feedbackPersonName'
+ },
+ {
+ title: '实际完成时间',
+ align: "center",
+ dataIndex: 'actualTime',
+ customRender:({text}) =>{
+ text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text);
+ return text;
+ },
+ },
+ {
+ title: '工作进展',
+ align: "center",
+ dataIndex: 'workProgress'
+ },
+ {
+ title: '进展状态',
+ align: "center",
+ dataIndex: 'bpmStatus'
+ },
+ {
+ title: '整改措施任务ID',
+ align: "center",
+ dataIndex: 'mainId'
+ },
+];
+
+// 高级查询数据
+export const superQuerySchema = {
+ feedbackDeptId: {title: '反馈部门ID',order: 0,view: 'text', type: 'string',},
+ feedbackDeptName: {title: '反馈部门名称',order: 1,view: 'text', type: 'string',},
+ feedbackPersonId: {title: '反馈人ID',order: 2,view: 'text', type: 'string',},
+ feedbackPersonName: {title: '反馈人姓名',order: 3,view: 'text', type: 'string',},
+ actualTime: {title: '实际完成时间',order: 4,view: 'date', type: 'string',},
+ workProgress: {title: '工作进展',order: 5,view: 'text', type: 'string',},
+ bpmStatus: {title: '进展状态',order: 6,view: 'text', type: 'string',},
+ mainId: {title: '整改措施任务ID',order: 8,view: 'text', type: 'string',},
+};
diff --git a/src/views/dq/inspectProgress/DqInspectProgressList.vue b/src/views/dq/inspectProgress/DqInspectProgressList.vue
new file mode 100644
index 0000000..7c719ae
--- /dev/null
+++ b/src/views/dq/inspectProgress/DqInspectProgressList.vue
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+
+
+ 新增
+
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dq/inspectProgress/V20260604_1__menu_insert_DqInspectProgress.sql b/src/views/dq/inspectProgress/V20260604_1__menu_insert_DqInspectProgress.sql
new file mode 100644
index 0000000..838ad05
--- /dev/null
+++ b/src/views/dq/inspectProgress/V20260604_1__menu_insert_DqInspectProgress.sql
@@ -0,0 +1,26 @@
+-- 注意:该页面对应的前台目录为views/dqinspectprogress文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
+VALUES ('2026060411179740390', NULL, '巡视工作进展', '/dqinspectprogress/dqInspectProgressList', 'dqinspectprogress/DqInspectProgressList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0);
+
+-- 权限控制sql
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740391', '2026060411179740390', '添加巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740392', '2026060411179740390', '编辑巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740393', '2026060411179740390', '删除巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740394', '2026060411179740390', '批量删除巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740395', '2026060411179740390', '导出excel_巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2026060411179740396', '2026060411179740390', '导入excel_巡视工作进展', NULL, NULL, 0, NULL, NULL, 2, 'dqinspectprogress:dq_inspect_progress:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-06-04 11:17:39', NULL, NULL, 0, 0, '1', 0);
\ No newline at end of file
diff --git a/src/views/dq/inspectProgress/components/DqInspectProgressFeedbackViewModal.vue b/src/views/dq/inspectProgress/components/DqInspectProgressFeedbackViewModal.vue
new file mode 100644
index 0000000..50c0fc7
--- /dev/null
+++ b/src/views/dq/inspectProgress/components/DqInspectProgressFeedbackViewModal.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dq/inspectProgress/components/DqInspectProgressForm.vue b/src/views/dq/inspectProgress/components/DqInspectProgressForm.vue
new file mode 100644
index 0000000..56d55fc
--- /dev/null
+++ b/src/views/dq/inspectProgress/components/DqInspectProgressForm.vue
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提 交
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dq/inspectProgress/components/DqInspectProgressModal.vue b/src/views/dq/inspectProgress/components/DqInspectProgressModal.vue
new file mode 100644
index 0000000..070106f
--- /dev/null
+++ b/src/views/dq/inspectProgress/components/DqInspectProgressModal.vue
@@ -0,0 +1,81 @@
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+
+
diff --git a/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md
new file mode 100644
index 0000000..1497262
--- /dev/null
+++ b/src/views/dq/inspectTask/BPM_NODE_PERMISSIONS.md
@@ -0,0 +1,127 @@
+# DqInspectTask 整改任务流程审批界面权限控制
+
+## 控制模型
+
+- 基础信息区域始终可见,通过 `edit` 控制是否可编辑
+- 流程办理和反馈信息区域默认全关,逐级显式通过 `extendUrlParams` 传 `=1` 开启
+- 上级未开启时,下级传参不生效
+- 每个 UI 元素只受一个属性控制
+
+## 控制树
+
+```
+edit → 基础信息是否可编辑(1=可编辑, 缺省=只读)
+
+showProcessHandle → 流程办理区域
+ ├── showSubApproveUser → 是否办结 + 部门经办人选人
+ └── showSelnextUser → 指定下一步操作人(默认隐藏,=1 显示)
+
+showFeedbackInfo → 反馈信息区域(表格 + 表头)
+ ├── showAddFeedback → 新增反馈按钮
+ ├── showEditFeedback → 编辑/删除操作列
+ │ ├── jiJianFieldsReadonly → 弹窗内纪检字段只读(需 showEditFeedback=1 或 showAddFeedback=1)
+ │ └── nonJiJianFieldsReadonly → 弹窗内非纪检字段只读(仅纪检字段可编辑,需 showEditFeedback=1 或 showAddFeedback=1)
+ ├── showDeptFeedback → 按部门过滤反馈数据
+ └── showJiJianFields → 纪检字段列(检查情况/监督意见/措施数量)
+```
+
+## 节点权限配置
+
+> 格式:`| L1 属性 | L2 属性 | 值 | 说明 |`,缩进表示层级,L2 仅在 L1=1 时生效
+
+---
+
+## 整改任务审批流程
+
+### 节点: <责任部门领导接受任务并分配>
+* taskDefKey: ``
+
+ * **edit** `1` —— 基础信息可编辑
+ * **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: ``
+
+ * **edit** `1` —— 基础信息可编辑
+ * **showProcessHandle** `1` —— 流程办理区域
+ * **showSubApproveUser** `0` —— 是否办结 + 部门经办人
+ * **showFeedbackInfo** `1` —— 反馈信息区域
+ * **showAddFeedback** `1` —— 新增反馈按钮
+ * **showEditFeedback** `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
+---
+
+### 节点: <党群经办人审查>
+* 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` —— 基础信息只读
+ * **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 5fd0a19..4271d8d 100644
--- a/src/views/dq/inspectTask/DqInspectTask.api.ts
+++ b/src/views/dq/inspectTask/DqInspectTask.api.ts
@@ -92,3 +92,17 @@ export const saveOrUpdate = (params, isUpdate) => {
* @param params
*/
export const queryDataById = (id) => defHttp.get({url: Api.queryDataById, params:{ id }});
+
+// ====================== BPM表单相关API ======================
+
+export const saveBpmForm = (params) => {
+ return defHttp.post({ url: '/dqinspecttask/dqInspectTask/saveBpmForm', params }, { isTransformResponse: false });
+};
+
+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/DqInspectTaskList.vue b/src/views/dq/inspectTask/DqInspectTaskList.vue
index e58978f..00c2486 100644
--- a/src/views/dq/inspectTask/DqInspectTaskList.vue
+++ b/src/views/dq/inspectTask/DqInspectTaskList.vue
@@ -4,16 +4,21 @@
-
-
+
+
- 新增
- 导出
- 导入
-
-
-
-
-
- 删除
-
-
-
- 批量操作
-
-
+ 新增
+
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
-
+
-
+
-
-
+
+
-
-
+
+
+
+
+
+
diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue
new file mode 100644
index 0000000..65f50a0
--- /dev/null
+++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue
@@ -0,0 +1,854 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue
index d96ba62..3dc3ad5 100644
--- a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue
+++ b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue
@@ -2,11 +2,13 @@
-
-
-
-
-
+
+ 基本信息
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 责任与监督
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 状态与统计
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -142,7 +159,7 @@
import { useValidateAntFormAndTable } from '/@/hooks/system/useJvxeMethods';
import { queryDqInspectProgressListByMainId, queryDataById, saveOrUpdate, specificProblemOptions } from '../DqInspectTask.api';
import { JVxeTable } from '/@/components/jeecg/JVxeTable';
- import {dqInspectProgressColumns} from '../DqInspectTask.data';
+ import { dqInspectProgressColumns } from '../DqInspectTask.data';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
@@ -157,7 +174,7 @@
JSelectDept,
JSelectUser,
JVxeTable,
- JFormContainer,
+ JFormContainer,
},
props:{
formDisabled:{
@@ -189,6 +206,7 @@
targetNode: '',
measureResLeader: '',
measureResDept: '',
+ chargeLeaderId: '',
rectificationEvidence: '',
evaluationCriterion: '',
isNeedAppro: '',
@@ -204,16 +222,15 @@
delFlag: '',
});
+ const labelCol = ref({ xs: { span: 24 }, sm: { span: 6 } });
+ const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 18 } });
+
//表单验证
const validatorRules = reactive({
problemId: [{ required: true, message: '请选择具体问题' }],
});
const {resetFields, validate, validateInfos} = useForm(formData, validatorRules, {immediate: false});
const dbData = {};
- const formItemLayout = {
- labelCol: {xs: {span: 24}, sm: {span: 5}},
- wrapperCol: {xs: {span: 24}, sm: {span: 16}},
- };
// 表单禁用
const disabled = computed(()=>{
@@ -359,7 +376,8 @@
formData,
setFieldsValue,
handleFormChange,
- formItemLayout,
+ labelCol,
+ wrapperCol,
disabled,
showFlowSubmitButton,
getFormData,
@@ -372,6 +390,22 @@
});