!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
+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,164 +6,190 @@
<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">
<a-form-item label="密级" v-bind="validateInfos.secretLevel" id="BgTakepulseForm-secretLevel" name="secretLevel">
<j-dict-select-tag v-model:value="formData.secretLevel" dictCode="secret_level" placeholder="请选择密级" allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="序号" v-bind="validateInfos.number" id="BgTakepulseForm-number" name="number">
<a-input v-model:value="formData.number" placeholder="请输入序号" allow-clear ></a-input>
</a-form-item>
</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 />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="类别" v-bind="validateInfos.type" id="BgTakepulseForm-type" name="type">
<a-input v-model:value="formData.type" placeholder="请输入类别:如党的建设" allow-clear ></a-input>
</a-form-item>
</a-col>
<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"
<a-col :xs="24" :md="12">
<a-form-item label="密级" v-bind="validateInfos.secretLevel" id="BgTakepulseForm-secretLevel" name="secretLevel">
<j-dict-select-tag v-model:value="formData.secretLevel" dictCode="secret_level" placeholder="请选择密级" allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="序号" v-bind="validateInfos.number" id="BgTakepulseForm-number" name="number">
<a-input v-model:value="formData.number" placeholder="请输入序号" allow-clear></a-input>
</a-form-item>
</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
/>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="意见主题" v-bind="validateInfos.title" id="BgTakepulseForm-title" name="title">
<a-input v-model:value="formData.title" placeholder="请输入意见主题" allow-clear ></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="具体意见" v-bind="validateInfos.content" id="BgTakepulseForm-content" name="content">
<a-textarea v-model:value="formData.content" :rows="4" placeholder="请输入具体意见" />
</a-form-item>
</a-col>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="类别" v-bind="validateInfos.type" id="BgTakepulseForm-type" name="type">
<a-input v-model:value="formData.type" placeholder="请输入类别:如党的建设" allow-clear></a-input>
</a-form-item>
</a-col>
<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" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="意见主题" v-bind="validateInfos.title" id="BgTakepulseForm-title" name="title">
<a-input v-model:value="formData.title" placeholder="请输入意见主题" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="具体意见" v-bind="validateInfos.content" id="BgTakepulseForm-content" name="content">
<a-textarea v-model:value="formData.content" :rows="4" placeholder="请输入具体意见" />
</a-form-item>
</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" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="牵头部门" v-bind="validateInfos.responDeptid" id="BgTakepulseForm-responDeptid" name="responDeptid">
<sz-select-dept v-model:value="formData.responDeptid" :multiple="true" :checkable="false" checkStrictly allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="协办部门" v-bind="validateInfos.assistDeptid" id="BgTakepulseForm-assistDeptid" name="assistDeptid">
<sz-select-dept v-model:value="formData.assistDeptid" :multiple="true" :checkable="false" checkStrictly allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="落实部门" v-bind="validateInfos.implementDeptid" id="BgTakepulseForm-implementDeptid" name="implementDeptid">
<a-input v-model:value="formData.implementDeptid" placeholder="请输入落实部门" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="是否采纳" v-bind="validateInfos.isAdopt" id="BgTakepulseForm-isAdopt" name="isAdopt">
<j-switch v-model:value="formData.isAdopt"></j-switch>
</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-textarea v-model:value="formData.measure" :rows="4" placeholder="请输入落实措施/解释说明" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="措施数量" v-bind="validateInfos.measureNumber" id="BgTakepulseForm-measureNumber" name="measureNumber">
<a-input-number v-model:value="formData.measureNumber" placeholder="请输入措施数量" style="width: 100%" />
</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-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-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"
<a-col :xs="24" :md="12">
<a-form-item label="备注" v-bind="validateInfos.remark" id="BgTakepulseForm-remark" name="remark">
<a-input v-model:value="formData.remark" placeholder="请输入备注" allow-clear></a-input>
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="执行情况" v-bind="validateInfos.actualExect" id="BgTakepulseForm-actualExect" name="actualExect">-->
<!-- <a-textarea v-model:value="formData.actualExect" :rows="4" placeholder="请输入执行情况" />-->
<!-- </a-form-item>-->
<!-- </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-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="牵头部门" v-bind="validateInfos.responDeptid" id="BgTakepulseForm-responDeptid" name="responDeptid">
<sz-select-dept v-model:value="formData.responDeptid" :multiple="true" :checkable="false" checkStrictly allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="协办部门" v-bind="validateInfos.assistDeptid" id="BgTakepulseForm-assistDeptid" name="assistDeptid">
<sz-select-dept v-model:value="formData.assistDeptid" :multiple="true" :checkable="false" checkStrictly allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="落实部门" v-bind="validateInfos.implementDeptid" id="BgTakepulseForm-implementDeptid" name="implementDeptid">
<a-input v-model:value="formData.implementDeptid" placeholder="请输入落实部门" allow-clear ></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="是否采纳" v-bind="validateInfos.isAdopt" id="BgTakepulseForm-isAdopt" name="isAdopt">
<j-switch v-model:value="formData.isAdopt" ></j-switch>
</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-textarea v-model:value="formData.measure" :rows="4" placeholder="请输入落实措施/解释说明" />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="措施数量" v-bind="validateInfos.measureNumber" id="BgTakepulseForm-measureNumber" name="measureNumber">
<a-input-number v-model:value="formData.measureNumber" placeholder="请输入措施数量" style="width: 100%" />
</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-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-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="备注" v-bind="validateInfos.remark" id="BgTakepulseForm-remark" name="remark">
<a-input v-model:value="formData.remark" placeholder="请输入备注" allow-clear ></a-input>
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="执行情况" v-bind="validateInfos.actualExect" id="BgTakepulseForm-actualExect" name="actualExect">-->
<!-- <a-textarea v-model:value="formData.actualExect" :rows="4" placeholder="请输入执行情况" />-->
<!-- </a-form-item>-->
<!-- </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-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="提出人确认" v-bind="validateInfos.proposerConfirm" id="BgTakepulseForm-proposerConfirm" name="proposerConfirm">
<a-input v-model:value="formData.proposerConfirm" placeholder="请输入提出人确认" allow-clear ></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="完成状态" v-bind="validateInfos.bpmStatus" id="BgTakepulseForm-bpmStatus" name="bpmStatus">
<j-dict-select-tag v-model:value="formData.bpmStatus" dictCode="super_status" placeholder="请选择完成状态" allow-clear />
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="调整落实措施及执行情况" v-bind="validateInfos.actSt" id="BgTakepulseForm-actSt" name="actSt">-->
<!-- <a-textarea v-model:value="formData.actSt" :rows="4" placeholder="请输入调整落实措施及执行情况" />-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :xs="24" :md="12">
<a-form-item label="督办次数" v-bind="validateInfos.superviseCount" id="BgTakepulseForm-superviseCount" name="superviseCount">
<a-input v-model:value="formData.superviseCount" placeholder="请输入督办次数" allow-clear ></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="提出人确认" v-bind="validateInfos.proposerConfirm" id="BgTakepulseForm-proposerConfirm" name="proposerConfirm">
<a-input v-model:value="formData.proposerConfirm" placeholder="请输入提出人确认" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="完成状态" v-bind="validateInfos.bpmStatus" id="BgTakepulseForm-bpmStatus" name="bpmStatus">
<j-dict-select-tag v-model:value="formData.bpmStatus" dictCode="super_status" placeholder="请选择完成状态" allow-clear />
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="调整落实措施及执行情况" v-bind="validateInfos.actSt" id="BgTakepulseForm-actSt" name="actSt">-->
<!-- <a-textarea v-model:value="formData.actSt" :rows="4" placeholder="请输入调整落实措施及执行情况" />-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :xs="24" :md="12">
<a-form-item label="督办次数" v-bind="validateInfos.superviseCount" id="BgTakepulseForm-superviseCount" name="superviseCount">
<a-input v-model:value="formData.superviseCount" placeholder="请输入督办次数" allow-clear></a-input>
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<a-form-item label="是否急件" v-bind="validateInfos.urgencyLevel" id="BgTakepulseForm-urgencyLevel" name="urgencyLevel">
<j-dict-select-tag v-model:value="formData.urgencyLevel" dictCode="yn" placeholder="请选择是否急件" allow-clear />
</a-form-item>
</a-col>
<a-col :xs="24" :md="12">
<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>
</a-col>
</a-col>
<a-col :xs="24" :md="12">
<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>
</a-col>
</a-row>
</a-form>
</template>
</JFormContainer>
<div v-if="showFlowSubmitButton" :span="24" style="width: 100%;text-align: center;margin-top: 10px">
<div v-if="showFlowSubmitButton" :span="24" style="width: 100%; text-align: center; margin-top: 10px">
<a-button preIcon="ant-design:check-outlined" style="width: 126px" type="primary" @click="submitForm"> </a-button>
</div>
</a-spin>
@@ -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",
components:{
name: 'BgTakepulseForm',
components: {
RoleUserSelectDropDown,
SzDeptUserModal,
DeptRoleUserSelectDropDown,
DeptRoleUserSelectRadioGroup,
@@ -202,18 +229,18 @@
JSwitch,
SzSelectDept,
JSelectUser,
JFormContainer,
JFormContainer,
},
props:{
formDisabled:{
props: {
formDisabled: {
type: Boolean,
default: false
default: false,
},
formData: { type: Object, default: ()=>{} },
formBpm: { type: Boolean, default: true }
formData: { type: Object, default: () => {} },
formBpm: { type: Boolean, default: true },
},
emits:['success'],
setup(props, {emit}) {
emits: ['success'],
setup(props, { emit }) {
const SUP_LEADER_DEPT_ID = SUOBAN_DEPT_ID;
const SUP_LEADER_ROLE_ID = MEASURE_RES_LEADER_ROLE_ID;
const { createMessage } = useMessage();
@@ -281,21 +308,21 @@
},
],
});
const {resetFields, validate, validateInfos, clearValidate} = useForm(formData, validatorRules, {immediate: false});
const { resetFields, validate, validateInfos, clearValidate } = useForm(formData, validatorRules, { immediate: false });
const dbData = {};
const formItemLayout = {
labelCol: {xs: {span: 24}, sm: {span: 7}},
wrapperCol: {xs: {span: 24}, sm: {span: 17}},
labelCol: { xs: { span: 24 }, sm: { span: 7 } },
wrapperCol: { xs: { span: 24 }, sm: { span: 17 } },
};
const wideLabelCol = { xs: { span: 24 }, sm: { span: 3 } };
const wideWrapperCol = { xs: { span: 24 }, sm: { span: 21 } };
// 表单禁用
const disabled = computed(()=>{
if(props.formBpm === true){
if(props.formData.disabled === false){
const disabled = computed(() => {
if (props.formBpm === true) {
if (props.formData.disabled === false) {
return false;
}else{
} else {
return true;
}
}
@@ -312,33 +339,32 @@
watch(() => formData.isNeedAppro, clearSupDeptLeaderIfNotNeeded);
onMounted(()=>{
onMounted(() => {
initFormData();
});
//渲染流程表单数据
const queryByIdUrl = '/bqtakepulse/bgTakepulse/queryById';
async function initFormData(){
if(props.formBpm === true){
let params = {id: props.formData.dataId};
const row = await defHttp.get({url: queryByIdUrl, params});
async function initFormData() {
if (props.formBpm === true) {
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();
}
}
// 是否显示提交按钮
const showFlowSubmitButton = computed(()=>{
if(props.formBpm === true){
if(props.formData.disabled === false){
return true
const showFlowSubmitButton = computed(() => {
if (props.formBpm === true) {
if (props.formData.disabled === false) {
return true;
}
}
return false
return false;
});
function add() {
resetFields();
}
@@ -352,12 +378,12 @@
resetFields();
const tmpData = {};
Object.keys(formData).forEach((key) => {
if(row.hasOwnProperty(key)){
tmpData[key] = row[key]
if (row.hasOwnProperty(key)) {
tmpData[key] = row[key];
}
})
});
//赋值
Object.assign(formData,tmpData);
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('保存成功');
//关闭弹窗
@@ -403,8 +429,8 @@
}
function setFieldsValue(values) {
if(values){
Object.keys(values).map(k=>{
if (values) {
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>