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