!152 fix(bg,dq): 分管所领导选择组件改用按角色+密级查询

* fix(bg,dq): 分管所领导选择组件改用按角色+密级查询
* fix(bg,dq): 表单部门级领导字样统一改为负责人
This commit is contained in:
wsm
2026-08-13 06:08:55 +00:00
parent 9742faf892
commit 93a75b4319
16 changed files with 620 additions and 496 deletions
@@ -12,8 +12,6 @@
<a-input v-model:value="formData.taskTitle" placeholder="请输入督办标题" allow-clear />
</a-form-item>
<a-form-item v-if="deptOptions.length" label="被督办部门">
<a-select
v-model:value="formData.deptIds"
@@ -47,11 +45,11 @@
</a-form-item>
<template v-if="showSuoleaderFields">
<a-form-item label="是否所办领导审批">
<a-form-item label="是否所办负责人审批">
<j-switch v-model:value="formData.isNeedAppro" />
</a-form-item>
<a-form-item label="所办领导">
<a-form-item label="所办负责人">
<DeptRoleUserSelectRadioGroup
v-model:value="formData.supDeptleaderid"
:deptId="SUOBAN_DEPT_ID"
@@ -84,13 +82,11 @@
:getPopupContainer="(node) => node?.parentNode"
/>
</a-form-item>
</template>
<a-form-item label="审批意见">
<a-textarea v-model:value="formData.approvalOpinion" placeholder="请输入审批意见" :auto-size="{ minRows: 3, maxRows: 6 }" allow-clear />
</a-form-item>
</a-form>
<template #footer>
@@ -37,21 +37,16 @@ const modelValue = defineModel<string>('value', { default: '' });
const userList = ref<Array<{ username: string; realname: string }>>([]);
async function fetchUserList() {
if (!props.roleId) {
userList.value = [];
return;
}
try {
const res = await defHttp.get({
url: '/sys/user/userRoleList',
params: {
const params = {
roleId: props.roleId,
searchSecurityLevel: 5,
pageNo: 1,
pageSize: 999,
},
});
};
const res = await defHttp.get({ url: '/sys/user/queryUserRoleComponentData', params });
const records = res?.records || res?.result?.records || [];
userList.value = records;
userList.value = records.sort((a, b) => (a.sortno ?? Infinity) - (b.sortno ?? Infinity));
} catch {
userList.value = [];
}
@@ -61,9 +56,12 @@ onMounted(fetchUserList);
watch(
() => props.roleId,
() => {
async () => {
await fetchUserList();
const current = modelValue.value;
if (current && !userList.value.some((u) => u.username === current)) {
modelValue.value = '';
fetchUserList();
}
},
);
@@ -221,24 +221,24 @@ export const bgPartymatterFeedbackColumns: BasicColumn[] = [
// 高级查询数据
export const superQuerySchema = {
year: {title: '年份',order: 0,view: 'text', type: 'string',},
number: {title: '序号',order: 1,view: 'text', type: 'string',},
itemNumber: {title: '议题序号',order: 2,view: 'number', type: 'number',},
matterTime: {title: '会议时间',order: 3,view: 'date', type: 'string',},
title: {title: '事项名称',order: 4,view: 'text', type: 'string',},
content: {title: '会议决议',order: 5,view: 'textarea', type: 'string',},
matterCode: {title: '事项目录编码',order: 6,view: 'text', type: 'string',},
noticeNumber: {title: '抄告单编号',order: 7,view: 'text', type: 'string',},
isImportant: {title: '是否为三重一大决策',order: 8,view: 'list', type: 'string', dictCode: 'yn',},
manageSuoleader: {title: '分管所领导',order: 9,view: 'sel_user', type: 'string',},
responDeptid: {title: '责任部门',order: 10,view: 'sel_depart', type: 'string',},
actualExect: {title: '实际执行情况',order: 11,view: 'text', type: 'string',},
bpmStatus: {title: '完成状态',order: 12,view: 'text', type: 'string',},
superviseCount: {title: '督办次数',order: 13,view: 'text', type: 'string',},
deadline: {title: '要求完成日期',order: 14,view: 'date', type: 'string',},
urgencyLevel: {title: '是否急件',order: 15,view: 'list', type: 'string', dictCode: 'yn',},
isNeedAppro: {title: '是否需要所办领导审批',order: 16,view: 'switch', type: 'string',},
supDeptleaderid: {title: '所办领导',order: 17,view: 'sel_user', type: 'string',},
isNeedSuoleader: {title: '是否抄送所领导',order: 18,view: 'switch', type: 'string',},
suoleaderid: {title: '抄送所领导',order: 19,view: 'sel_user', type: 'string',},
year: { title: '年份', order: 0, view: 'text', type: 'string' },
number: { title: '序号', order: 1, view: 'text', type: 'string' },
itemNumber: { title: '议题序号', order: 2, view: 'number', type: 'number' },
matterTime: { title: '会议时间', order: 3, view: 'date', type: 'string' },
title: { title: '事项名称', order: 4, view: 'text', type: 'string' },
content: { title: '会议决议', order: 5, view: 'textarea', type: 'string' },
matterCode: { title: '事项目录编码', order: 6, view: 'text', type: 'string' },
noticeNumber: { title: '抄告单编号', order: 7, view: 'text', type: 'string' },
isImportant: { title: '是否为三重一大决策', order: 8, view: 'list', type: 'string', dictCode: 'yn' },
manageSuoleader: { title: '分管所领导', order: 9, view: 'sel_user', type: 'string' },
responDeptid: { title: '责任部门', order: 10, view: 'sel_depart', type: 'string' },
actualExect: { title: '实际执行情况', order: 11, view: 'text', type: 'string' },
bpmStatus: { title: '完成状态', order: 12, view: 'text', type: 'string' },
superviseCount: { title: '督办次数', order: 13, view: 'text', type: 'string' },
deadline: { title: '要求完成日期', order: 14, view: 'date', type: 'string' },
urgencyLevel: { title: '是否急件', order: 15, view: 'list', type: 'string', dictCode: 'yn' },
isNeedAppro: { title: '是否需要所办负责人审批', order: 16, view: 'switch', type: 'string' },
supDeptleaderid: { title: '所办负责人', order: 17, view: 'sel_user', type: 'string' },
isNeedSuoleader: { title: '是否抄送所领导', order: 18, view: 'switch', type: 'string' },
suoleaderid: { title: '抄送所领导', order: 19, view: 'sel_user', type: 'string' },
};
@@ -17,7 +17,7 @@
<template #label>
<a-tooltip title="按分管所领导筛选">分管所领导</a-tooltip>
</template>
<a-tooltip title="按分管所领导筛选"><DeptRoleUserSelectDropDown v-model:value="queryParam.manageSuoleader" :roleId="CHARGE_LEADER_ROLE_ID" placeholder="请选择分管所领导" allow-clear style="width: 100%" @change="searchQuery" /></a-tooltip>
<a-tooltip title="按分管所领导筛选"><RoleUserSelectDropDown v-model:value="queryParam.manageSuoleader" :roleId="CHARGE_LEADER_ROLE_ID" placeholder="请选择分管所领导" allow-clear style="width: 100%" @change="searchQuery" /></a-tooltip>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="6" :md="8" :sm="12">
@@ -180,7 +180,7 @@
import { startProcessSchedules } from '/@/api/common/api';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JInput from '/@/components/Form/src/jeecg/components/JInput.vue';
import DeptRoleUserSelectDropDown from '/@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue';
import RoleUserSelectDropDown from '/@/components/semri/userComponent/RoleUserSelectDropDown.vue';
import { CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
import { Tooltip } from 'ant-design-vue';
import Icon from '/@/components/Icon/index';
@@ -315,10 +315,10 @@
const { createMessage } = useMessage();
const queryByIdUrl = '/bgpartymatter/bgPartymatter/queryById';
const labelCol = { xs: { span: 24 }, sm: { span: 7 } };
const wrapperCol = { xs: { span: 24 }, sm: { span: 17 } };
const wideLabelCol = { xs: { span: 24 }, sm: { span: 3 } };
const wideWrapperCol = { xs: { span: 24 }, sm: { span: 21 } };
const labelCol = { xs: { span: 24 }, sm: { span: 8 } };
const wrapperCol = { xs: { span: 24 }, sm: { span: 16 } };
const wideLabelCol = { xs: { span: 24 }, sm: { span: 4 } };
const wideWrapperCol = { xs: { span: 24 }, sm: { span: 20 } };
// 流程变量区桌面端整体右移并缩短标签列,兼顾左侧留白与标签、控件间距。
const processLabelCol = { xs: { span: 24 }, sm: { span: 4 }, md: { span: 2 } };
const processWideWrapperCol = { xs: { span: 24 }, sm: { span: 20 }, md: { span: 22 } };
@@ -6,12 +6,25 @@
<a-row class="form-content-row" :gutter="[12, 4]">
<a-col :xs="24" :md="12">
<a-form-item label="年份" v-bind="validateInfos.year" id="BgPartymatterForm-year" name="year">
<a-date-picker v-model:value="formData.year" picker="year" value-format="YYYY" placeholder="请选择年份" style="width: 100%" allow-clear />
<a-date-picker
v-model:value="formData.year"
picker="year"
value-format="YYYY"
placeholder="请选择年份"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="会议时间" v-bind="validateInfos.matterTime" id="BgPartymatterForm-matterTime" name="matterTime">
<a-date-picker placeholder="请选择会议时间" v-model:value="formData.matterTime" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />
<a-date-picker
placeholder="请选择会议时间"
v-model:value="formData.matterTime"
value-format="YYYY-MM-DD"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -35,18 +48,20 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="24">
<a-form-item label="会议决议" v-bind="validateInfos.content" id="BgPartymatterForm-content" name="content" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="会议决议"
v-bind="validateInfos.content"
id="BgPartymatterForm-content"
name="content"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.content" :rows="4" placeholder="请输入会议决议" style="width: 100%" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="分管所领导" v-bind="validateInfos.manageSuoleader" id="BgPartymatterForm-manageSuoleader" name="manageSuoleader">
<DeptRoleUserSelectDropDown
v-model:value="formData.manageSuoleader"
:deptId="CHARGE_LEADER_DEPT_ID"
:roleId="CHARGE_LEADER_ROLE_ID"
placeholder="请选择分管所领导"
/>
<RoleUserSelectDropDown v-model:value="formData.manageSuoleader" :roleId="CHARGE_LEADER_ROLE_ID" placeholder="请选择分管所领导" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -91,7 +106,13 @@
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="要求完成日期" v-bind="validateInfos.deadline" id="BgPartymatterForm-deadline" name="deadline">
<a-date-picker placeholder="请选择要求完成日期" v-model:value="formData.deadline" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />
<a-date-picker
placeholder="请选择要求完成日期"
v-model:value="formData.deadline"
value-format="YYYY-MM-DD"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -100,12 +121,19 @@
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="需所办领导审批" v-bind="validateInfos.isNeedAppro" id="BgPartymatterForm-isNeedAppro" name="isNeedAppro" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="需所办负责人审批"
v-bind="validateInfos.isNeedAppro"
id="BgPartymatterForm-isNeedAppro"
name="isNeedAppro"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<j-switch v-model:value="formData.isNeedAppro"></j-switch>
</a-form-item>
</a-col>
<a-col v-if="showSupDeptLeader" :xs="24" :md="12">
<a-form-item label="所办领导" v-bind="validateInfos.supDeptleaderid" id="BgPartymatterForm-supDeptleaderid" name="supDeptleaderid">
<a-form-item label="所办负责人" v-bind="validateInfos.supDeptleaderid" id="BgPartymatterForm-supDeptleaderid" name="supDeptleaderid">
<!-- <j-select-user v-model:value="formData.supDeptleaderid" allow-clear />-->
<DeptRoleUserSelectRadioGroup
v-model:value="formData.supDeptleaderid"
@@ -144,7 +172,7 @@
<!-- <a-date-picker placeholder="请选择重复开始时间" v-model:value="formData.intervalStartTime" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col v-if="showFlowSubmitButton" :span="24" style="width: 100%;text-align: center;">
<a-col v-if="showFlowSubmitButton" :span="24" style="width: 100%; text-align: center">
<a-button preIcon="ant-design:check-outlined" style="width: 126px" type="primary" @click="submitForm"> </a-button>
</a-col>
</a-row>
@@ -166,21 +194,19 @@
import { saveOrUpdate } from '../BgPartymatter.api';
import { Form } from 'ant-design-vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import DeptRoleUserSelectRadioGroup from "/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue";
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
import RoleUserSelectDropDown from '@/components/semri/userComponent/RoleUserSelectDropDown.vue';
import {
SUOBAN_DEPT_ID,
MEASURE_RES_LEADER_ROLE_ID,
PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID,
CHARGE_LEADER_ROLE_ID,
} from '/@/constant/supervision';
import SzSelectDept from "@/components/Form/src/jeecg/components/SzSelectDept.vue";
import DeptRoleUserSelectDropDown
from "@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue";
import SzSelectDept from '@/components/Form/src/jeecg/components/SzSelectDept.vue';
const props = defineProps({
formDisabled: { type: Boolean, default: false },
formData: { type: Object, default: () => ({}) },
formBpm: { type: Boolean, default: true }
formBpm: { type: Boolean, default: true },
});
const useForm = Form.useForm;
const emit = defineEmits(['register', 'ok']);
@@ -216,10 +242,10 @@
meetingType: 'party',
});
const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 7 } });
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 17 } });
const wideLabelCol = { xs: { span: 24 }, sm: { span: 3 } };
const wideWrapperCol = { xs: { span: 24 }, sm: { span: 21 } };
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 8 } });
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
const wideLabelCol = { xs: { span: 24 }, sm: { span: 4 } };
const wideWrapperCol = { xs: { span: 24 }, sm: { span: 20 } };
const confirmLoading = ref<boolean>(false);
//表单验证
const validatorRules = reactive({
@@ -336,10 +362,10 @@
const showFlowSubmitButton = computed(() => {
if (props.formBpm === true) {
if (props.formData.disabled === false) {
return true
return true;
}
}
return false
return false;
});
/**
@@ -358,9 +384,9 @@
const tmpData = {};
Object.keys(formData).forEach((key) => {
if (record.hasOwnProperty(key)) {
tmpData[key] = record[key]
tmpData[key] = record[key];
}
})
});
//赋值
Object.assign(formData, tmpData);
});
@@ -414,7 +440,6 @@
});
}
defineExpose({
add,
edit,
+42 -42
View File
@@ -262,52 +262,52 @@ export const bgTakepulseFeedbackColumns: JVxeColumn[] = [
// 高级查询数据
export const superQuerySchema = {
secretLevel: {title: '密级',order: 0,view: 'list', type: 'string',dictCode: 'secret_level',},
year: {title: '年份',order: 1,view: 'list', type: 'string',dictCode: 'super_year',},
number: {title: '序号',order: 2,view: 'text', type: 'string',},
taskType: {title: '会议类型:行政线、技术线',order: 3,view: 'list', type: 'string',dictCode: 'super_takepulse_type',},
type: {title: '类别:党的建设等其他',order: 4,view: 'text', type: 'string',},
proposer: {title: '提出人',order: 5,view: 'sel_user', type: 'string',},
title: {title: '意见主题',order: 6,view: 'text', type: 'string',},
content: {title: '具体意见',order: 7,view: 'textarea', type: 'string',},
manageSuoleader: {title: '分管所领导',order: 8,view: 'sel_user', type: 'string',},
suoleader: {title: '责任领导',order: 9,view: 'sel_user', type: 'string',},
responDeptid: {title: '牵头部门',order: 10,view: 'sel_depart', type: 'string',},
assistDeptid: {title: '协办部门',order: 11,view: 'sel_depart', type: 'string',},
implementDeptid: {title: '落实部门',order: 12,view: 'text', type: 'string',},
isAdopt: {title: '是否采纳',order: 13,view: 'switch', type: 'string',},
measure: {title: '落实措施/解释说明',order: 14,view: 'textarea', type: 'string',},
measureNumber: {title: '措施数量',order: 15,view: 'number', type: 'number',},
achievement: {title: '成果形式',order: 16,view: 'textarea', type: 'string',},
deadline: {title: '要求完成日期',order: 17,view: 'date', type: 'string',},
remark: {title: '备注',order: 18,view: 'text', type: 'string',},
actualExect: {title: '执行情况',order: 19,view: 'textarea', type: 'string',},
actualTime: {title: '实际完成时间',order: 20,view: 'datetime', type: 'string',},
proposerConfirm: {title: '提出人确认',order: 21,view: 'text', type: 'string',},
bpmStatus: {title: '完成状态',order: 22,view: 'list', type: 'string',dictCode: 'super_status',},
actSt: {title: '调整落实措施及执行情况',order: 23,view: 'textarea', type: 'string',},
superviseCount: {title: '督办次数',order: 24,view: 'text', type: 'string',},
urgencyLevel: {title: '紧急程度',order: 25,view: 'text', type: 'string',},
isNeedAppro: {title: '是否需要所办领导审批',order: 26,view: 'switch', type: 'string',},
supDeptleaderid: {title: '所办领导',order: 27,view: 'sel_user', type: 'string',},
secretLevel: { title: '密级', order: 0, view: 'list', type: 'string', dictCode: 'secret_level' },
year: { title: '年份', order: 1, view: 'list', type: 'string', dictCode: 'super_year' },
number: { title: '序号', order: 2, view: 'text', type: 'string' },
taskType: { title: '会议类型:行政线、技术线', order: 3, view: 'list', type: 'string', dictCode: 'super_takepulse_type' },
type: { title: '类别:党的建设等其他', order: 4, view: 'text', type: 'string' },
proposer: { title: '提出人', order: 5, view: 'sel_user', type: 'string' },
title: { title: '意见主题', order: 6, view: 'text', type: 'string' },
content: { title: '具体意见', order: 7, view: 'textarea', type: 'string' },
manageSuoleader: { title: '分管所领导', order: 8, view: 'sel_user', type: 'string' },
suoleader: { title: '责任领导', order: 9, view: 'sel_user', type: 'string' },
responDeptid: { title: '牵头部门', order: 10, view: 'sel_depart', type: 'string' },
assistDeptid: { title: '协办部门', order: 11, view: 'sel_depart', type: 'string' },
implementDeptid: { title: '落实部门', order: 12, view: 'text', type: 'string' },
isAdopt: { title: '是否采纳', order: 13, view: 'switch', type: 'string' },
measure: { title: '落实措施/解释说明', order: 14, view: 'textarea', type: 'string' },
measureNumber: { title: '措施数量', order: 15, view: 'number', type: 'number' },
achievement: { title: '成果形式', order: 16, view: 'textarea', type: 'string' },
deadline: { title: '要求完成日期', order: 17, view: 'date', type: 'string' },
remark: { title: '备注', order: 18, view: 'text', type: 'string' },
actualExect: { title: '执行情况', order: 19, view: 'textarea', type: 'string' },
actualTime: { title: '实际完成时间', order: 20, view: 'datetime', type: 'string' },
proposerConfirm: { title: '提出人确认', order: 21, view: 'text', type: 'string' },
bpmStatus: { title: '完成状态', order: 22, view: 'list', type: 'string', dictCode: 'super_status' },
actSt: { title: '调整落实措施及执行情况', order: 23, view: 'textarea', type: 'string' },
superviseCount: { title: '督办次数', order: 24, view: 'text', type: 'string' },
urgencyLevel: { title: '紧急程度', order: 25, view: 'text', type: 'string' },
isNeedAppro: { title: '是否需要所办负责人审批', order: 26, view: 'switch', type: 'string' },
supDeptleaderid: { title: '所办负责人', order: 27, view: 'sel_user', type: 'string' },
//子表高级查询
bgTakepulseFeedback: {
title: '执行情况反馈',
view: 'table',
fields: {
responDeptid: {title: '责任部门id',order: 0,view: 'text', type: 'string',},
responDeptname: {title: '责任部门名称',order: 1,view: 'text', type: 'string',},
responPersonid: {title: '反馈人id',order: 2,view: 'text', type: 'string',},
responPersonname: {title: '反馈人姓名',order: 3,view: 'text', type: 'string',},
planExect: {title: '计划完成目标',order: 4,view: 'textarea', type: 'string',},
planTime: {title: '计划完成日期',order: 5,view: 'date', type: 'string',},
actualExect: {title: '实际执行情况',order: 6,view: 'textarea', type: 'string',},
actualTime: {title: '实际完成日期',order: 7,view: 'date', type: 'string',},
actSt: {title: '调整落实措施及执行情况',order: 8,view: 'textarea', type: 'string',},
bpmStatus: {title: '完成状态',order: 9,view: 'text', type: 'string',},
proposerConfirm: {title: '提出人确认',order: 10,view: 'text', type: 'string',},
bpmProcessId: {title: '流程实例id',order: 11,view: 'text', type: 'string',},
mainId: {title: '外键',order: 12,view: 'text', type: 'string',},
}
responDeptid: { title: '责任部门id', order: 0, view: 'text', type: 'string' },
responDeptname: { title: '责任部门名称', order: 1, view: 'text', type: 'string' },
responPersonid: { title: '反馈人id', order: 2, view: 'text', type: 'string' },
responPersonname: { title: '反馈人姓名', order: 3, view: 'text', type: 'string' },
planExect: { title: '计划完成目标', order: 4, view: 'textarea', type: 'string' },
planTime: { title: '计划完成日期', order: 5, view: 'date', type: 'string' },
actualExect: { title: '实际执行情况', order: 6, view: 'textarea', type: 'string' },
actualTime: { title: '实际完成日期', order: 7, view: 'date', type: 'string' },
actSt: { title: '调整落实措施及执行情况', order: 8, view: 'textarea', type: 'string' },
bpmStatus: { title: '完成状态', order: 9, view: 'text', type: 'string' },
proposerConfirm: { title: '提出人确认', order: 10, view: 'text', type: 'string' },
bpmProcessId: { title: '流程实例id', order: 11, view: 'text', type: 'string' },
mainId: { title: '外键', order: 12, view: 'text', type: 'string' },
},
},
};
+2 -2
View File
@@ -35,9 +35,8 @@
<a-tooltip title="按所党委分管所领导筛选">分管所领导</a-tooltip>
</template>
<a-tooltip title="按所党委分管所领导筛选"
><DeptRoleUserSelectDropDown
><RoleUserSelectDropDown
v-model:value="queryParam.manageSuoleader"
:deptId="PARTY_COMMITTEE_DEPT_ID"
:roleId="CHARGE_LEADER_ROLE_ID"
placeholder="请选择分管所领导"
allow-clear
@@ -251,6 +250,7 @@
import BusinessProcessListModal from '/src/components/semri/process/BusinessProcessListModal.vue';
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
import { batchDelete } from '@/views/bg/bqtakepulse/BgTakepulse.api';
import RoleUserSelectDropDown from '@/components/semri/userComponent/RoleUserSelectDropDown.vue';
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
const FLOW_CODE = 'dev_task_task_001';
@@ -6,7 +6,14 @@
<a-row class="form-content-row" :gutter="[12, 4]">
<a-col :xs="24" :md="12">
<a-form-item label="年份" v-bind="validateInfos.year" id="BgTakepulseForm-year" name="year">
<a-date-picker v-model:value="formData.year" picker="year" value-format="YYYY" placeholder="请选择年份" style="width: 100%" allow-clear />
<a-date-picker
v-model:value="formData.year"
picker="year"
value-format="YYYY"
placeholder="请选择年份"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -21,7 +28,12 @@
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="会议类型" v-bind="validateInfos.taskType" id="BgTakepulseForm-taskType" name="taskType">
<j-dict-select-tag v-model:value="formData.taskType" dictCode="super_takepulse_type" placeholder="请选择会议类型:行政线、技术线" allow-clear />
<j-dict-select-tag
v-model:value="formData.taskType"
dictCode="super_takepulse_type"
placeholder="请选择会议类型:行政线、技术线"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -32,9 +44,7 @@
<a-col :xs="24" :md="12">
<a-form-item label="提出人" v-bind="validateInfos.proposer" id="BgTakepulseForm-proposer" name="proposer">
<!-- <j-select-user v-model:value="formData.proposer" allow-clear />-->
<sz-dept-user-modal
v-model:value="formData.proposer"
/>
<sz-dept-user-modal v-model:value="formData.proposer" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -49,19 +59,12 @@
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="分管所领导" v-bind="validateInfos.manageSuoleader" id="BgTakepulseForm-manageSuoleader" name="manageSuoleader">
<DeptRoleUserSelectDropDown
v-model:value="formData.manageSuoleader"
:deptId="CHARGE_LEADER_DEPT_ID"
:roleId="CHARGE_LEADER_ROLE_ID"
placeholder="请选择分管所领导"
/>
<RoleUserSelectDropDown v-model:value="formData.manageSuoleader" :roleId="CHARGE_LEADER_ROLE_ID" placeholder="请选择分管所领导" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="责任领导" v-bind="validateInfos.suoleader" id="BgTakepulseForm-suoleader" name="suoleader">
<sz-dept-user-modal
v-model:value="formData.suoleader"
/>
<sz-dept-user-modal v-model:value="formData.suoleader" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -85,7 +88,14 @@
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="落实措施/解释说明" v-bind="validateInfos.measure" id="BgTakepulseForm-measure" name="measure" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="落实措施/解释说明"
v-bind="validateInfos.measure"
id="BgTakepulseForm-measure"
name="measure"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.measure" :rows="4" placeholder="请输入落实措施/解释说明" />
</a-form-item>
</a-col>
@@ -95,13 +105,26 @@
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="成果形式" v-bind="validateInfos.achievement" id="BgTakepulseForm-achievement" name="achievement" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="成果形式"
v-bind="validateInfos.achievement"
id="BgTakepulseForm-achievement"
name="achievement"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.achievement" :rows="4" placeholder="请输入成果形式" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="要求完成日期" v-bind="validateInfos.deadline" id="BgTakepulseForm-deadline" name="deadline">
<a-date-picker placeholder="请选择要求完成日期" v-model:value="formData.deadline" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />
<a-date-picker
placeholder="请选择要求完成日期"
v-model:value="formData.deadline"
value-format="YYYY-MM-DD"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -116,7 +139,14 @@
<!-- </a-col>-->
<a-col :xs="24" :md="12">
<a-form-item label="实际完成时间" v-bind="validateInfos.actualTime" id="BgTakepulseForm-actualTime" name="actualTime">
<a-date-picker placeholder="请选择实际完成时间" v-model:value="formData.actualTime" showTime value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" allow-clear />
<a-date-picker
placeholder="请选择实际完成时间"
v-model:value="formData.actualTime"
showTime
value-format="YYYY-MM-DD HH:mm:ss"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -145,17 +175,13 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="是否需要所办领导审批" v-bind="validateInfos.isNeedAppro" id="BgTakepulseForm-isNeedAppro" name="isNeedAppro">
<a-form-item label="是否需要所办负责人审批" v-bind="validateInfos.isNeedAppro" id="BgTakepulseForm-isNeedAppro" name="isNeedAppro">
<j-switch v-model:value="formData.isNeedAppro"></j-switch>
</a-form-item>
</a-col>
<a-col v-if="showSupDeptLeader" :xs="24" :md="12">
<a-form-item label="所办领导" v-bind="validateInfos.supDeptleaderid" id="BgTakepulseForm-supDeptleaderid" name="supDeptleaderid">
<DeptRoleUserSelectRadioGroup
v-model:value="formData.supDeptleaderid"
:deptId="SUP_LEADER_DEPT_ID"
:roleId="SUP_LEADER_ROLE_ID"
/>
<a-form-item label="所办负责人" v-bind="validateInfos.supDeptleaderid" id="BgTakepulseForm-supDeptleaderid" name="supDeptleaderid">
<DeptRoleUserSelectRadioGroup v-model:value="formData.supDeptleaderid" :deptId="SUP_LEADER_DEPT_ID" :roleId="SUP_LEADER_ROLE_ID" />
</a-form-item>
</a-col>
</a-row>
@@ -180,21 +206,22 @@
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import { Form } from 'ant-design-vue';
import DeptRoleUserSelectRadioGroup
from "@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue";
import SzDeptUserModal from "@/components/semri/deptUserComponent/SzDeptUserModal.vue";
import DeptRoleUserSelectDropDown from "@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue";
import DeptRoleUserSelectRadioGroup from '@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
import SzDeptUserModal from '@/components/semri/deptUserComponent/SzDeptUserModal.vue';
import DeptRoleUserSelectDropDown from '@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue';
import {
SUOBAN_DEPT_ID,
MEASURE_RES_LEADER_ROLE_ID,
PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID,
CHARGE_LEADER_ROLE_ID,
} from '/@/constant/supervision';
import RoleUserSelectDropDown from '@/components/semri/userComponent/RoleUserSelectDropDown.vue';
const useForm = Form.useForm;
export default defineComponent({
name: "BgTakepulseForm",
name: 'BgTakepulseForm',
components: {
RoleUserSelectDropDown,
SzDeptUserModal,
DeptRoleUserSelectDropDown,
DeptRoleUserSelectRadioGroup,
@@ -207,10 +234,10 @@
props: {
formDisabled: {
type: Boolean,
default: false
default: false,
},
formData: { type: Object, default: () => {} },
formBpm: { type: Boolean, default: true }
formBpm: { type: Boolean, default: true },
},
emits: ['success'],
setup(props, { emit }) {
@@ -322,7 +349,7 @@
let params = { id: props.formData.dataId };
const row = await defHttp.get({ url: queryByIdUrl, params });
//设置表单的值
Object.keys(row).map(k => {
Object.keys(row).map((k) => {
formData[k] = row[k];
});
clearSupDeptLeaderIfNotNeeded();
@@ -332,13 +359,12 @@
const showFlowSubmitButton = computed(() => {
if (props.formBpm === true) {
if (props.formData.disabled === false) {
return true
return true;
}
}
return false
return false;
});
function add() {
resetFields();
}
@@ -353,9 +379,9 @@
const tmpData = {};
Object.keys(formData).forEach((key) => {
if (row.hasOwnProperty(key)) {
tmpData[key] = row[key]
tmpData[key] = row[key];
}
})
});
//赋值
Object.assign(formData, tmpData);
clearSupDeptLeaderIfNotNeeded();
@@ -374,7 +400,7 @@
}
return Promise.reject(errorFields);
}
return normalizeMainFormData(toRaw(formData))
return normalizeMainFormData(toRaw(formData));
}
function normalizeMainFormData(data) {
@@ -394,8 +420,8 @@
async function submitForm() {
const mainData = await getFormData();
const values = Object.assign({}, dbData, mainData);
console.log('表单提交数据', values)
const isUpdate = values.id ? true : false
console.log('表单提交数据', values);
const isUpdate = values.id ? true : false;
await saveOrUpdate(values, isUpdate);
createMessage.success('保存成功');
//关闭弹窗
@@ -404,7 +430,7 @@
function setFieldsValue(values) {
if (values) {
Object.keys(values).map(k=>{
Object.keys(values).map((k) => {
formData[k] = values[k];
});
clearSupDeptLeaderIfNotNeeded();
@@ -420,7 +446,6 @@
formData[key] = value;
}
return {
validatorRules,
validateInfos,
@@ -443,8 +468,8 @@
add,
edit,
formRef,
}
}
};
},
});
</script>
@@ -15,7 +15,12 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="定点联系所领导" v-bind="validateInfos.contactLeader" id="FixedContact20260730Form-contactLeader" name="contactLeader">
<a-form-item
label="定点联系所领导"
v-bind="validateInfos.contactLeader"
id="FixedContact20260730Form-contactLeader"
name="contactLeader"
>
<DeptRoleUserSelectDropDown
v-model:value="formData.contactLeader"
:deptId="PARTY_COMMITTEE_DEPT_ID"
@@ -31,7 +36,13 @@
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="联系时间" v-bind="validateInfos.contactTime" id="FixedContact20260730Form-contactTime" name="contactTime">
<a-date-picker v-model:value="formData.contactTime" value-format="YYYY-MM-DD" placeholder="请选择联系时间" style="width: 100%" allow-clear />
<a-date-picker
v-model:value="formData.contactTime"
value-format="YYYY-MM-DD"
placeholder="请选择联系时间"
style="width: 100%"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
@@ -40,22 +51,48 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="24">
<a-form-item label="联系点建议诉求摘要" v-bind="validateInfos.suggestionSummary" id="FixedContact20260730Form-suggestionSummary" name="suggestionSummary" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="联系点建议诉求摘要"
v-bind="validateInfos.suggestionSummary"
id="FixedContact20260730Form-suggestionSummary"
name="suggestionSummary"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.suggestionSummary" :rows="4" placeholder="请输入联系点建议诉求摘要" style="width: 100%" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="24">
<a-form-item label="定点联系所领导审批意见" v-bind="validateInfos.leaderOpinion" id="FixedContact20260730Form-leaderOpinion" name="leaderOpinion" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="定点联系所领导审批意见"
v-bind="validateInfos.leaderOpinion"
id="FixedContact20260730Form-leaderOpinion"
name="leaderOpinion"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.leaderOpinion" :rows="4" placeholder="请输入定点联系所领导审批意见" style="width: 100%" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="24">
<a-form-item label="相关分管所领导批示意见" v-bind="validateInfos.relatedLeaderOpinion" id="FixedContact20260730Form-relatedLeaderOpinion" name="relatedLeaderOpinion" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
<a-form-item
label="相关分管所领导批示意见"
v-bind="validateInfos.relatedLeaderOpinion"
id="FixedContact20260730Form-relatedLeaderOpinion"
name="relatedLeaderOpinion"
:labelCol="wideLabelCol"
:wrapperCol="wideWrapperCol"
>
<a-textarea v-model:value="formData.relatedLeaderOpinion" :rows="4" placeholder="请输入相关分管所领导批示意见" style="width: 100%" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="相关分管所领导" v-bind="validateInfos.relatedLeader" id="FixedContact20260730Form-relatedLeader" name="relatedLeader">
<a-form-item
label="相关分管所领导"
v-bind="validateInfos.relatedLeader"
id="FixedContact20260730Form-relatedLeader"
name="relatedLeader"
>
<DeptRoleUserSelectDropDown
v-model:value="formData.relatedLeader"
:deptId="PARTY_COMMITTEE_DEPT_ID"
@@ -80,7 +117,7 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="是否所办领导审批" id="FixedContact20260730Form-isNeedAppro" name="isNeedAppro">
<a-form-item label="是否所办负责人审批" id="FixedContact20260730Form-isNeedAppro" name="isNeedAppro">
<a-radio-group v-model:value="formData.isNeedAppro">
<a-radio value="1"></a-radio>
<a-radio value="0"></a-radio>
@@ -88,13 +125,18 @@
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="所办领导" v-bind="validateInfos.supDeptleaderid" id="FixedContact20260730Form-supDeptleaderid" name="supDeptleaderid">
<a-form-item
label="所办负责人"
v-bind="validateInfos.supDeptleaderid"
id="FixedContact20260730Form-supDeptleaderid"
name="supDeptleaderid"
>
<DeptRoleUserSelectDropDown
v-model:value="formData.supDeptleaderid"
:deptId="SUOBAN_DEPT_ID"
:roleId="MEASURE_RES_LEADER_ROLE_ID"
:disabled="formData.isNeedAppro !== '1'"
placeholder="请选择所办领导"
placeholder="请选择所办负责人"
/>
</a-form-item>
</a-col>
@@ -34,7 +34,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
## 整改任务审批流程
### 节点: <责任部门领导接受任务并分配>
### 节点: <责任部门负责人接受任务并分配>
* taskDefKey: `<Task_1c64uvl>`
* **edit** `1` —— 基础信息可编辑
@@ -57,7 +57,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
* **showEditFeedback** `1` —— 编辑/删除操作列
* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1
---
### 节点: <责任部门领导审批>
### 节点: <责任部门负责人审批>
* taskDefKey: `<Task_0mxtg05>`
* **edit** `0` —— 基础信息只读
@@ -55,7 +55,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1
---
### 节点: <责任部门领导审批>
### 节点: <责任部门负责人审批>
* taskDefKey: `<Task_0mxtg05>`
* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1
---
@@ -65,7 +65,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showFeedbackInfo=1
---
### 节点: <责任部门领导接受任务并分配>
### 节点: <责任部门负责人接受任务并分配>
* taskDefKey: `<Task_1c64uvl>`
* dq/inspectTask/components/DqInspectTaskBPMForm?showProcessHandle=1&showSubApproveUser=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1
---
@@ -42,7 +42,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'measureResDept_dictText',
},
{
title: '措施责任领导',
title: '措施责任负责人',
align: 'center',
dataIndex: 'measureResLeader_dictText',
},
@@ -57,12 +57,12 @@ export const columns: BasicColumn[] = [
dataIndex: 'evaluationCriterion',
},
{
title: '是否需要党群领导审批',
title: '是否需要党群负责人审批',
align: 'center',
dataIndex: 'isNeedAppro_dictText',
},
{
title: '党群领导',
title: '党群负责人',
align: 'center',
dataIndex: 'supDeptleaderid_dictText',
},
@@ -177,12 +177,12 @@ export const superQuerySchema = {
improveMeasure: {title: '整改措施',order: 2,view: 'text', type: 'string',},
deadline: {title: '完成时限',order: 3,view: 'date', type: 'string',},
targetNode: {title: '目标节点',order: 4,view: 'text', type: 'string',},
measureResLeader: {title: '措施责任领导',order: 5,view: 'sel_user', type: 'string',},
measureResLeader: {title: '措施责任负责人',order: 5,view: 'sel_user', type: 'string',},
measureResDept: {title: '措施责任部门',order: 6,view: 'sel_depart', type: 'string',},
rectificationEvidence: {title: '整改交付成果',order: 7,view: 'text', type: 'string',},
evaluationCriterion: {title: '成效评价标准',order: 8,view: 'text', type: 'string',},
isNeedAppro: {title: '是否需要党群领导审批',order: 9,view: 'radio', type: 'string',dictCode: 'yn',},
supDeptleaderid: {title: '党群领导',order: 10,view: 'sel_user', type: 'string',},
isNeedAppro: {title: '是否需要党群负责人审批',order: 9,view: 'radio', type: 'string',dictCode: 'yn',},
supDeptleaderid: {title: '党群负责人',order: 10,view: 'sel_user', type: 'string',},
inspectionStatus: {title: '检查情况',order: 11,view: 'text', type: 'string',},
supervisoryOpinion: {title: '监督意见',order: 12,view: 'text', type: 'string',},
measureCount: {title: '措施数量',order: 13,view: 'number', type: 'number',},
@@ -252,7 +252,7 @@ export const ledgerColumns: BasicColumn[] = [
dataIndex: 'measureResDept_dictText'
},
{
title: '措施责任领导',
title: '措施责任负责人',
align:"center",
dataIndex: 'measureResLeader_dictText'
},
@@ -11,9 +11,8 @@
</a-col>
<a-col :xl="5" :lg="6" :md="8" :sm="12">
<a-form-item label="分管所领导" name="chargeLeaderId">
<DeptRoleUserSelectDropDown
<RoleUserSelectDropDown
v-model:value="queryParam.chargeLeaderId"
:deptId="PARTY_COMMITTEE_DEPT_ID"
:roleId="CHARGE_LEADER_ROLE_ID"
placeholder="请选择分管所领导"
allow-clear
@@ -160,7 +159,7 @@
import { useMessage } from '/@/hooks/web/useMessage';
import Icon from '/@/components/Icon/index';
import SzSelectDept from '/@/components/Form/src/jeecg/components/SzSelectDept.vue';
import DeptRoleUserSelectDropDown from '/@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue';
import RoleUserSelectDropDown from '@/components/semri/userComponent/RoleUserSelectDropDown.vue';
import { PARTY_COMMITTEE_DEPT_ID, CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
import { startProcessSchedules } from '/@/api/common/api';
import { dateUtil } from '/@/utils/dateUtil';
@@ -72,17 +72,34 @@
</a-col>
<a-col :span="12">
<a-form-item label="措施责任领导" name="measureResLeader">
<j-select-user v-model:value="mainForm.measureResLeader" :disabled="mainDisabled" allow-clear @select="selectHandler('measureResLeader')" />
<j-select-user
v-model:value="mainForm.measureResLeader"
:disabled="mainDisabled"
allow-clear
@select="selectHandler('measureResLeader')"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="措施责任部门" name="measureResDept">
<j-select-dept v-model:value="mainForm.measureResDept" :disabled="mainDisabled" :multiple="true" checkStrictly allow-clear @select="selectHandler('measureResDept')" />
<j-select-dept
v-model:value="mainForm.measureResDept"
:disabled="mainDisabled"
:multiple="true"
checkStrictly
allow-clear
@select="selectHandler('measureResDept')"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="分管所领导" name="chargeLeaderId">
<j-select-user v-model:value="mainForm.chargeLeaderId" :disabled="mainDisabled" allow-clear @select="selectHandler('chargeLeaderId')" />
<j-select-user
v-model:value="mainForm.chargeLeaderId"
:disabled="mainDisabled"
allow-clear
@select="selectHandler('chargeLeaderId')"
/>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -96,13 +113,18 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="是否需要党群领导审批" name="isNeedAppro">
<a-form-item label="是否需要党群负责人审批" name="isNeedAppro">
<j-dict-select-tag type="radio" v-model:value="mainForm.isNeedAppro" dictCode="yn" :disabled="mainDisabled" allow-clear />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="党群领导" name="supDeptleaderid">
<j-select-user v-model:value="mainForm.supDeptleaderid" :disabled="mainDisabled" allow-clear @select="selectHandler('supDeptleaderid')" />
<a-form-item label="党群负责人" name="supDeptleaderid">
<j-select-user
v-model:value="mainForm.supDeptleaderid"
:disabled="mainDisabled"
allow-clear
@select="selectHandler('supDeptleaderid')"
/>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -194,7 +216,12 @@
</a-col>
<a-col v-if="showSubApproveUserSelector" :xs="24" :md="{ span: 22, offset: 1 }">
<a-form-item label="部门经办人" :labelCol="processLabelCol" :wrapperCol="processUserWrapperCol">
<sz-dept-user-modal class="process-user-selector" v-model:value="subApproveUser" :disabled="savingSubApproveUser" @confirm="onSubApproveUserConfirm" />
<sz-dept-user-modal
class="process-user-selector"
v-model:value="subApproveUser"
:disabled="savingSubApproveUser"
@confirm="onSubApproveUserConfirm"
/>
</a-form-item>
</a-col>
</a-row>
@@ -276,8 +303,6 @@ import { buildDeptLeaderAssignReason, normalizeDeptNames } from '/@/composables/
const processWideWrapperCol = { xs: { span: 24 }, sm: { span: 20 }, md: { span: 22 } };
const processUserWrapperCol = { xs: { span: 24 }, sm: { span: 20 }, md: { span: 9 } };
const feedbackModalRef = ref();
const loading = ref(false);
const savingMain = ref(false);
@@ -392,9 +417,7 @@ import { buildDeptLeaderAssignReason, normalizeDeptNames } from '/@/composables/
const nonJiJianFieldsReadonly = computed(() => String(props.formData?.extendUrlParams?.nonJiJianFieldsReadonly ?? '') === '1');
const showSelnextUser = computed(() => String(props.formData?.extendUrlParams?.showSelnextUser ?? '') === '1');
const showSubApproveUser = computed(() => String(props.formData?.extendUrlParams?.showSubApproveUser ?? '') === '1');
const showIsNeedLeaderApprove = computed(
() => String(props.formData?.extendUrlParams?.showIsNeedLeaderApprove ?? '') === '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');
@@ -416,7 +439,7 @@ import { buildDeptLeaderAssignReason, normalizeDeptNames } from '/@/composables/
// ==================== 默认审批意见 ====================
// 仅覆盖需要动态内容(人名)的节点,其余节点走后端节点配置
const handleReasonTemplateMap: Record<string, () => string> = {
// 责任部门领导接受任务并分配
// 责任部门负责人接受任务并分配
Task_1c64uvl: () => {
if (isEnd.value === 1) return '';
return buildDeptLeaderAssignReason(normalizeDeptNames(subApproveUserNames.value));
@@ -430,7 +453,10 @@ import { buildDeptLeaderAssignReason, normalizeDeptNames } from '/@/composables/
provide('formDefaultReason', defaultHandleReason);
provide('extraVars', formScope);
provide('flowVars', computed(() => props.formData?.vars || {}));
provide(
'flowVars',
computed(() => props.formData?.vars || {})
);
provide('defaultCcUsers', defaultCcUsers);
onMounted(() => {
@@ -7,7 +7,14 @@
<a-divider orientation="left" plain>基本信息</a-divider>
<a-row :gutter="[16, 0]">
<a-col :span="24">
<a-form-item label="具体问题" v-bind="validateInfos.problemId" id="DqInspectTaskForm-problemId" name="problemId" :labelCol="{ xs: { span: 24 }, sm: { span: 4 } }" :wrapperCol="{ xs: { span: 24 }, sm: { span: 20 } }">
<a-form-item
label="具体问题"
v-bind="validateInfos.problemId"
id="DqInspectTaskForm-problemId"
name="problemId"
:labelCol="{ xs: { span: 24 }, sm: { span: 4 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 20 } }"
>
<a-tree-select
v-model:value="formData.problemId"
:tree-data="problemTreeData"
@@ -78,7 +85,7 @@
</a-col>
<a-col :span="12">
<a-form-item
label="措施责任领导"
label="措施责任负责人"
v-bind="validateInfos.measureResLeader"
id="DqInspectTaskForm-measureResLeader"
name="measureResLeader"
@@ -88,18 +95,13 @@
:deptId="measureResDeptId"
:roleId="MEASURE_RES_LEADER_ROLE_ID"
:disabled="measureResLeaderDisabled"
placeholder="请选择措施责任领导"
placeholder="请选择措施责任负责人"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="分管所领导" v-bind="validateInfos.chargeLeaderId" id="DqInspectTaskForm-chargeLeaderId" name="chargeLeaderId">
<DeptRoleUserSelectDropDown
v-model:value="formData.chargeLeaderId"
:deptId="CHARGE_LEADER_DEPT_ID"
:roleId="CHARGE_LEADER_ROLE_ID"
placeholder="请选择分管所领导"
/>
<RoleUserSelectDropDown v-model:value="formData.chargeLeaderId" :roleId="CHARGE_LEADER_ROLE_ID" placeholder="请选择分管所领导" />
</a-form-item>
</a-col>
<a-col :span="12">
@@ -123,13 +125,17 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="需党群领导审批" v-bind="validateInfos.isNeedAppro" id="DqInspectTaskForm-isNeedAppro" name="isNeedAppro">
<a-form-item label="需党群负责人审批" v-bind="validateInfos.isNeedAppro" id="DqInspectTaskForm-isNeedAppro" name="isNeedAppro">
<j-switch v-model:value="formData.isNeedAppro" />
</a-form-item>
</a-col>
<a-col v-if="formData.isNeedAppro === '1'" :span="12">
<a-form-item label="党群领导" v-bind="validateInfos.supDeptleaderid" id="DqInspectTaskForm-supDeptleaderid" name="supDeptleaderid">
<DeptRoleUserSelectRadioGroup v-model:value="formData.supDeptleaderid" :deptId="PARTY_MASSES_DEPT_ID" :roleId="MEASURE_RES_LEADER_ROLE_ID" />
<a-form-item label="党群负责人" v-bind="validateInfos.supDeptleaderid" id="DqInspectTaskForm-supDeptleaderid" name="supDeptleaderid">
<DeptRoleUserSelectRadioGroup
v-model:value="formData.supDeptleaderid"
:deptId="PARTY_MASSES_DEPT_ID"
:roleId="MEASURE_RES_LEADER_ROLE_ID"
/>
</a-form-item>
</a-col>
</a-row>
@@ -174,12 +180,19 @@ import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import { Form } from 'ant-design-vue';
import DeptRoleUserSelectDropDown from '@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue';
import { PARTY_COMMITTEE_DEPT_ID, CHARGE_LEADER_ROLE_ID as _CHARGE_LEADER_ROLE_ID, PARTY_MASSES_DEPT_ID as _PARTY_MASSES_DEPT_ID, MEASURE_RES_LEADER_ROLE_ID as _MEASURE_RES_LEADER_ROLE_ID } from '/@/constant/supervision';
import {
PARTY_COMMITTEE_DEPT_ID,
CHARGE_LEADER_ROLE_ID as _CHARGE_LEADER_ROLE_ID,
PARTY_MASSES_DEPT_ID as _PARTY_MASSES_DEPT_ID,
MEASURE_RES_LEADER_ROLE_ID as _MEASURE_RES_LEADER_ROLE_ID,
} from '/@/constant/supervision';
import RoleUserSelectDropDown from '@/components/semri/userComponent/RoleUserSelectDropDown.vue';
const useForm = Form.useForm;
export default defineComponent({
name: 'DqInspectTaskForm',
components: {
RoleUserSelectDropDown,
DeptRoleUserSelectDropDown,
JDictSelectTag,
JSwitch,
@@ -249,9 +262,9 @@ import { PARTY_COMMITTEE_DEPT_ID, CHARGE_LEADER_ROLE_ID as _CHARGE_LEADER_ROLE_I
improveMeasure: [{ required: true, message: '请输入整改措施' }],
deadline: [{ required: true, message: '请选择完成时限' }],
measureResDept: [{ required: true, message: '请选择措施责任部门' }],
measureResLeader: [{ required: true, message: '请选择措施责任领导' }],
measureResLeader: [{ required: true, message: '请选择措施责任负责人' }],
chargeLeaderId: [{ required: true, message: '请选择分管所领导' }],
isNeedAppro: [{ required: true, message: '请选择是否需要党群领导审批' }],
isNeedAppro: [{ required: true, message: '请选择是否需要党群负责人审批' }],
});
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
const dbData = {};