!159 fix(bqtakepulse): 筛选条件文案改为意见类型
* fix(bqtakepulse): 筛选条件文案改为意见类型 * fix(bgpartymatter): 反馈弹窗字段对齐 * fix(inspectProblem): 上级问题字段按问题种类动态显示必填星号 * fix(bqtakepulse): 督办次数改为数字输入 * fix(bqtakepulse): 反馈弹窗字段对齐并支持长label换行 * feat(bpm): 各流程表单默认抄送改用角色查询接口 * fix(bgpartymatter): 所办负责人审批改为单选并调整编辑表单布局 * fix(modal): 详情弹窗支持点击遮罩关闭
This commit is contained in:
@@ -45,8 +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" />
|
<a-radio-group v-model:value="formData.isNeedAppro">
|
||||||
|
<a-radio value="1">是</a-radio>
|
||||||
|
<a-radio value="0">否</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="所办负责人">
|
<a-form-item label="所办负责人">
|
||||||
@@ -100,7 +103,6 @@
|
|||||||
import { reactive, ref, watch } from 'vue';
|
import { reactive, ref, watch } from 'vue';
|
||||||
import JModal from '/src/components/Modal/src/JModal/JModal.vue';
|
import JModal from '/src/components/Modal/src/JModal/JModal.vue';
|
||||||
import JDictSelectTag from '/src/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
import JDictSelectTag from '/src/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||||
import JSwitch from '/src/components/Form/src/jeecg/components/JSwitch.vue';
|
|
||||||
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
|
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
|
||||||
import { SUOBAN_DEPT_ID, MEASURE_RES_LEADER_ROLE_ID } from '/@/constant/supervision';
|
import { SUOBAN_DEPT_ID, MEASURE_RES_LEADER_ROLE_ID } from '/@/constant/supervision';
|
||||||
import { useMessage } from '/src/hooks/web/useMessage';
|
import { useMessage } from '/src/hooks/web/useMessage';
|
||||||
|
|||||||
@@ -46,20 +46,20 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
||||||
<a-form-item label="计划完成日期" name="planTime">
|
<a-form-item label="计划完成日期" name="planTime" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<a-date-picker v-model:value="formData.planTime" value-format="YYYY-MM-DD" style="width: 100%" :disabled="isEdit" allow-clear />
|
<a-date-picker v-model:value="formData.planTime" value-format="YYYY-MM-DD" style="width: 100%" :disabled="isEdit" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-form-item label="完成状态" name="bpmStatus">
|
<a-form-item label="完成状态" name="bpmStatus" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<JDictSelectTag v-model:value="formData.bpmStatus" dictCode="feedback_status" placeholder="请选择完成状态" allow-clear />
|
<JDictSelectTag v-model:value="formData.bpmStatus" dictCode="feedback_status" placeholder="请选择完成状态" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-form-item label="实际完成日期" name="actualTime">
|
<a-form-item label="实际完成日期" name="actualTime" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<a-date-picker v-model:value="formData.actualTime" value-format="YYYY-MM-DD" placeholder="请选择实际完成日期" style="width: 100%" :disabled="isEdit" allow-clear />
|
<a-date-picker v-model:value="formData.actualTime" value-format="YYYY-MM-DD" placeholder="请选择实际完成日期" style="width: 100%" :disabled="isEdit" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|||||||
@@ -300,11 +300,7 @@
|
|||||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.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 { PARTY_COMMITTEE_DEPT_ID, PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID, CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
|
||||||
PARTY_COMMITTEE_DEPT_ID,
|
|
||||||
PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID,
|
|
||||||
CHARGE_LEADER_ROLE_ID,
|
|
||||||
} from '/@/constant/supervision';
|
|
||||||
const { initBpmFormData } = usePermission();
|
const { initBpmFormData } = usePermission();
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -509,7 +505,7 @@
|
|||||||
try {
|
try {
|
||||||
// 默认抄送按分管所领导角色跨部门查询,与台账分管所领导下拉逻辑一致
|
// 默认抄送按分管所领导角色跨部门查询,与台账分管所领导下拉逻辑一致
|
||||||
const res = await defHttp.get({
|
const res = await defHttp.get({
|
||||||
url: '/sys/user/queryUserRoleComponentData',
|
url: '/sys/user/queryUserByRoleId',
|
||||||
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
||||||
});
|
});
|
||||||
const records = res?.records || res?.result?.records || [];
|
const records = res?.records || res?.result?.records || [];
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
:width="width"
|
:width="width"
|
||||||
centered
|
centered
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:maskClosable="false"
|
:maskClosable="true"
|
||||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
||||||
wrapClassName="partymatter-detail-modal"
|
wrapClassName="partymatter-detail-modal"
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
|
|||||||
@@ -124,20 +124,16 @@
|
|||||||
</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.urgencyLevel" id="BgPartymatterForm-urgencyLevel" name="urgencyLevel">
|
|
||||||
<j-dict-select-tag v-model:value="formData.urgencyLevel" dictCode="yn" placeholder="请选择是否急件" allow-clear />
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="24">
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="需所办负责人审批"
|
label="需所办负责人审批"
|
||||||
v-bind="validateInfos.isNeedAppro"
|
v-bind="validateInfos.isNeedAppro"
|
||||||
id="BgPartymatterForm-isNeedAppro"
|
id="BgPartymatterForm-isNeedAppro"
|
||||||
name="isNeedAppro"
|
name="isNeedAppro"
|
||||||
:labelCol="wideLabelCol"
|
|
||||||
:wrapperCol="wideWrapperCol"
|
|
||||||
>
|
>
|
||||||
<j-switch v-model:value="formData.isNeedAppro"></j-switch>
|
<a-radio-group v-model:value="formData.isNeedAppro">
|
||||||
|
<a-radio value="1">是</a-radio>
|
||||||
|
<a-radio value="0">否</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
</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">
|
||||||
@@ -150,6 +146,11 @@
|
|||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :xs="24" :md="12">
|
||||||
|
<a-form-item label="是否急件" v-bind="validateInfos.urgencyLevel" id="BgPartymatterForm-urgencyLevel" name="urgencyLevel">
|
||||||
|
<j-dict-select-tag v-model:value="formData.urgencyLevel" dictCode="yn" placeholder="请选择是否急件" allow-clear />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
<!-- <a-col :span="12">-->
|
<!-- <a-col :span="12">-->
|
||||||
<!-- <a-form-item label="是否抄送所领导" v-bind="validateInfos.isNeedSuoleader" id="BgPartymatterForm-isNeedSuoleader" name="isNeedSuoleader">-->
|
<!-- <a-form-item label="是否抄送所领导" v-bind="validateInfos.isNeedSuoleader" id="BgPartymatterForm-isNeedSuoleader" name="isNeedSuoleader">-->
|
||||||
<!-- <j-switch v-model:value="formData.isNeedSuoleader" ></j-switch>-->
|
<!-- <j-switch v-model:value="formData.isNeedSuoleader" ></j-switch>-->
|
||||||
@@ -194,7 +195,6 @@
|
|||||||
import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted, watch } from 'vue';
|
import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted, watch } from 'vue';
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
import { useMessage } from '/@/hooks/web/useMessage';
|
import { useMessage } from '/@/hooks/web/useMessage';
|
||||||
import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
|
|
||||||
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
|
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
|
||||||
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
|
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
|
||||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||||
|
|||||||
@@ -17,13 +17,13 @@
|
|||||||
<a-col :xl="3" :lg="6" :md="8" :sm="12">
|
<a-col :xl="3" :lg="6" :md="8" :sm="12">
|
||||||
<a-form-item name="taskType">
|
<a-form-item name="taskType">
|
||||||
<template #label>
|
<template #label>
|
||||||
<a-tooltip title="按会议类型筛选">会议类型</a-tooltip>
|
<a-tooltip title="按意见类型筛选">意见类型</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-tooltip title="按会议类型筛选"
|
<a-tooltip title="按意见类型筛选"
|
||||||
><JDictSelectTag
|
><JDictSelectTag
|
||||||
v-model:value="queryParam.taskType"
|
v-model:value="queryParam.taskType"
|
||||||
dictCode="super_takepulse_type"
|
dictCode="super_takepulse_type"
|
||||||
placeholder="请选择会议类型"
|
placeholder="请选择意见类型"
|
||||||
allow-clear
|
allow-clear
|
||||||
@change="searchQuery"
|
@change="searchQuery"
|
||||||
/></a-tooltip>
|
/></a-tooltip>
|
||||||
@@ -116,12 +116,7 @@
|
|||||||
@click="handleImportByTemplate"
|
@click="handleImportByTemplate"
|
||||||
>模板导入</j-upload-button
|
>模板导入</j-upload-button
|
||||||
>
|
>
|
||||||
<a-button
|
<a-button v-if="selectedRowKeys.length > 0" v-auth="'bqtakepulse:bg_takepulse:deleteBatch'" danger @click="batchHandleDelete">
|
||||||
v-if="selectedRowKeys.length > 0"
|
|
||||||
v-auth="'bqtakepulse:bg_takepulse:deleteBatch'"
|
|
||||||
danger
|
|
||||||
@click="batchHandleDelete"
|
|
||||||
>
|
|
||||||
<Icon icon="ant-design:delete-outlined"></Icon>
|
<Icon icon="ant-design:delete-outlined"></Icon>
|
||||||
删除
|
删除
|
||||||
</a-button>
|
</a-button>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
>
|
>
|
||||||
<a-alert v-if="!isEdit" message="可以多次添加反馈信息" type="info" showIcon style="margin-bottom: 12px" />
|
<a-alert v-if="!isEdit" message="可以多次添加反馈信息" type="info" showIcon style="margin-bottom: 12px" />
|
||||||
<a-form ref="formRef" class="bpm-feedback-modal-form" :model="formData" :rules="formRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form ref="formRef" class="bpm-feedback-modal-form" :model="formData" :rules="formRules" :labelCol="labelCol" :wrapperCol="wrapperCol" labelWrap>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
||||||
@@ -19,20 +19,20 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
<a-tooltip :title="isEdit ? '' : '该信息后续不可编辑,请谨慎填写'">
|
||||||
<a-form-item label="计划完成日期" name="planTime">
|
<a-form-item label="计划完成日期" name="planTime" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<a-date-picker v-model:value="formData.planTime" value-format="YYYY-MM-DD" style="width: 100%" :disabled="isEdit" allow-clear />
|
<a-date-picker v-model:value="formData.planTime" value-format="YYYY-MM-DD" style="width: 100%" :disabled="isEdit" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-form-item label="完成状态" name="bpmStatus">
|
<a-form-item label="完成状态" name="bpmStatus" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<JDictSelectTag v-model:value="formData.bpmStatus" dictCode="feedback_status" placeholder="请选择完成状态" allow-clear />
|
<JDictSelectTag v-model:value="formData.bpmStatus" dictCode="feedback_status" placeholder="请选择完成状态" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="24">
|
||||||
<a-form-item label="实际完成日期" name="actualTime">
|
<a-form-item label="实际完成日期" name="actualTime" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||||
<a-date-picker v-model:value="formData.actualTime" value-format="YYYY-MM-DD" placeholder="请选择实际完成日期" style="width: 100%" :disabled="isEdit" allow-clear />
|
<a-date-picker v-model:value="formData.actualTime" value-format="YYYY-MM-DD" placeholder="请选择实际完成日期" style="width: 100%" :disabled="isEdit" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|||||||
@@ -1,7 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-spin :spinning="loading">
|
<a-spin :spinning="loading">
|
||||||
<div class="bg-takepulse-bpm-form">
|
<div class="bg-takepulse-bpm-form">
|
||||||
<a-form class="main-form" :class="{ 'main-form-readonly': mainDisabled }" labelAlign="left" :labelCol="labelCol" :wrapperCol="wrapperCol" :model="mainForm">
|
<a-form
|
||||||
|
class="main-form"
|
||||||
|
:class="{ 'main-form-readonly': mainDisabled }"
|
||||||
|
labelAlign="left"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
:model="mainForm"
|
||||||
|
>
|
||||||
<div class="base-info-header section-toolbar">
|
<div class="base-info-header section-toolbar">
|
||||||
<div class="section-title">基础信息</div>
|
<div class="section-title">基础信息</div>
|
||||||
<a-space class="section-actions">
|
<a-space class="section-actions">
|
||||||
@@ -9,7 +16,12 @@
|
|||||||
<Icon icon="ant-design:save-outlined" />
|
<Icon icon="ant-design:save-outlined" />
|
||||||
保存
|
保存
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button class="section-action-button" :type="showBaseInfoDetail ? 'default' : 'link'" size="small" @click="showBaseInfoDetail = !showBaseInfoDetail">
|
<a-button
|
||||||
|
class="section-action-button"
|
||||||
|
:type="showBaseInfoDetail ? 'default' : 'link'"
|
||||||
|
size="small"
|
||||||
|
@click="showBaseInfoDetail = !showBaseInfoDetail"
|
||||||
|
>
|
||||||
<Icon :icon="showBaseInfoDetail ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
|
<Icon :icon="showBaseInfoDetail ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
|
||||||
{{ showBaseInfoDetail ? '收起基础信息' : '展开全部信息' }}
|
{{ showBaseInfoDetail ? '收起基础信息' : '展开全部信息' }}
|
||||||
</a-button>
|
</a-button>
|
||||||
@@ -30,7 +42,15 @@
|
|||||||
<a-divider />
|
<a-divider />
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="年份" name="year">
|
<a-form-item label="年份" name="year">
|
||||||
<a-date-picker v-model:value="mainForm.year" picker="year" value-format="YYYY" :disabled="mainDisabled" placeholder="请选择年份" style="width: 100%" allow-clear />
|
<a-date-picker
|
||||||
|
v-model:value="mainForm.year"
|
||||||
|
picker="year"
|
||||||
|
value-format="YYYY"
|
||||||
|
:disabled="mainDisabled"
|
||||||
|
placeholder="请选择年份"
|
||||||
|
style="width: 100%"
|
||||||
|
allow-clear
|
||||||
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -133,7 +153,14 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="实际完成时间" name="actualTime">
|
<a-form-item label="实际完成时间" name="actualTime">
|
||||||
<a-date-picker v-model:value="mainForm.actualTime" showTime value-format="YYYY-MM-DD HH:mm:ss" :disabled="mainDisabled" style="width: 100%" allow-clear />
|
<a-date-picker
|
||||||
|
v-model:value="mainForm.actualTime"
|
||||||
|
showTime
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
:disabled="mainDisabled"
|
||||||
|
style="width: 100%"
|
||||||
|
allow-clear
|
||||||
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -143,7 +170,15 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="督办次数" name="superviseCount">
|
<a-form-item label="督办次数" name="superviseCount">
|
||||||
<a-input v-model:value="mainForm.superviseCount" :disabled="mainDisabled" allow-clear />
|
<a-input-number
|
||||||
|
v-model:value="mainForm.superviseCount"
|
||||||
|
:disabled="mainDisabled"
|
||||||
|
:min="0"
|
||||||
|
:precision="0"
|
||||||
|
:step="1"
|
||||||
|
style="width: 100%"
|
||||||
|
allow-clear
|
||||||
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -239,11 +274,7 @@
|
|||||||
</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
|
<sz-dept-user-modal class="process-user-selector" v-model:value="subApproveUser" :disabled="savingSubApproveUser" />
|
||||||
class="process-user-selector"
|
|
||||||
v-model:value="subApproveUser"
|
|
||||||
:disabled="savingSubApproveUser"
|
|
||||||
/>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -289,13 +320,9 @@
|
|||||||
import TaskHandleInnerContent from '/@/views/super/bpm/process/personalOffice/myHandleTask/content/TaskHandleInnerContent.vue';
|
import TaskHandleInnerContent from '/@/views/super/bpm/process/personalOffice/myHandleTask/content/TaskHandleInnerContent.vue';
|
||||||
import BgTakepulseBPMFeedbackModal from './BgTakepulseBPMFeedbackModal.vue';
|
import BgTakepulseBPMFeedbackModal from './BgTakepulseBPMFeedbackModal.vue';
|
||||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.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 { PARTY_COMMITTEE_DEPT_ID, PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID, CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
|
||||||
PARTY_COMMITTEE_DEPT_ID,
|
|
||||||
PARTY_COMMITTEE_DEPT_ID as CHARGE_LEADER_DEPT_ID,
|
|
||||||
CHARGE_LEADER_ROLE_ID,
|
|
||||||
} from '/@/constant/supervision';
|
|
||||||
|
|
||||||
const { initBpmFormData } = usePermission();
|
const { initBpmFormData } = usePermission();
|
||||||
|
|
||||||
@@ -374,7 +401,7 @@
|
|||||||
proposerConfirm: '',
|
proposerConfirm: '',
|
||||||
bpmStatus: '',
|
bpmStatus: '',
|
||||||
actSt: '',
|
actSt: '',
|
||||||
superviseCount: '',
|
superviseCount: null,
|
||||||
urgencyLevel: '',
|
urgencyLevel: '',
|
||||||
isNeedAppro: '',
|
isNeedAppro: '',
|
||||||
supDeptleaderid: '',
|
supDeptleaderid: '',
|
||||||
@@ -393,9 +420,21 @@
|
|||||||
customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)),
|
customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)),
|
||||||
},
|
},
|
||||||
{ title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 },
|
{ title: '实际执行情况', dataIndex: 'actualExect', align: 'left', width: 280 },
|
||||||
{ title: '实际完成日期', dataIndex: 'actualTime', align: 'center', width: 155, customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)) },
|
{
|
||||||
|
title: '实际完成日期',
|
||||||
|
dataIndex: 'actualTime',
|
||||||
|
align: 'center',
|
||||||
|
width: 155,
|
||||||
|
customRender: ({ text }) => (!text ? '' : String(text).slice(0, 10)),
|
||||||
|
},
|
||||||
{ title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 },
|
{ title: '调整落实措施及执行情况', dataIndex: 'actSt', align: 'left', width: 260 },
|
||||||
{ title: '完成状态', dataIndex: 'bpmStatus', align: 'center', width: 95, customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus },
|
{
|
||||||
|
title: '完成状态',
|
||||||
|
dataIndex: 'bpmStatus',
|
||||||
|
align: 'center',
|
||||||
|
width: 95,
|
||||||
|
customRender: ({ record }) => record?.bpmStatus_dictText || record?.bpmStatus,
|
||||||
|
},
|
||||||
{ title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 340 },
|
{ title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 340 },
|
||||||
];
|
];
|
||||||
const feedbackActionColumn = { title: '操作', dataIndex: 'action', key: 'action', align: 'center', width: 120, fixed: 'right' };
|
const feedbackActionColumn = { title: '操作', dataIndex: 'action', key: 'action', align: 'center', width: 120, fixed: 'right' };
|
||||||
@@ -458,7 +497,7 @@
|
|||||||
try {
|
try {
|
||||||
// 默认抄送按分管所领导角色跨部门查询,与台账分管所领导下拉逻辑一致
|
// 默认抄送按分管所领导角色跨部门查询,与台账分管所领导下拉逻辑一致
|
||||||
const res = await defHttp.get({
|
const res = await defHttp.get({
|
||||||
url: '/sys/user/queryUserRoleComponentData',
|
url: '/sys/user/queryUserByRoleId',
|
||||||
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
||||||
});
|
});
|
||||||
const records = res?.records || res?.result?.records || [];
|
const records = res?.records || res?.result?.records || [];
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
:width="width"
|
:width="width"
|
||||||
centered
|
centered
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:maskClosable="false"
|
:maskClosable="true"
|
||||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
||||||
wrapClassName="takepulse-detail-modal"
|
wrapClassName="takepulse-detail-modal"
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
|
|||||||
@@ -184,7 +184,15 @@
|
|||||||
<!-- </a-col>-->
|
<!-- </a-col>-->
|
||||||
<a-col :xs="24" :md="12">
|
<a-col :xs="24" :md="12">
|
||||||
<a-form-item label="督办次数" v-bind="validateInfos.superviseCount" id="BgTakepulseForm-superviseCount" name="superviseCount">
|
<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-input-number
|
||||||
|
v-model:value="formData.superviseCount"
|
||||||
|
placeholder="请输入督办次数"
|
||||||
|
:min="0"
|
||||||
|
:precision="0"
|
||||||
|
:step="1"
|
||||||
|
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">
|
||||||
@@ -290,7 +298,7 @@
|
|||||||
proposerConfirm: '',
|
proposerConfirm: '',
|
||||||
bpmStatus: '1',
|
bpmStatus: '1',
|
||||||
actSt: '',
|
actSt: '',
|
||||||
superviseCount: '',
|
superviseCount: null,
|
||||||
urgencyLevel: '',
|
urgencyLevel: '',
|
||||||
isNeedAppro: '',
|
isNeedAppro: '',
|
||||||
supDeptleaderid: '',
|
supDeptleaderid: '',
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
<!-- </a-col>-->
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="是否需要督办领导" name="needSdwApproval">
|
<a-form-item label="是否需要督办负责人" name="needSdwApproval">
|
||||||
<a-radio-group v-model:value="mainForm.needSdwApproval" :disabled="mainDisabled">
|
<a-radio-group v-model:value="mainForm.needSdwApproval" :disabled="mainDisabled">
|
||||||
<a-radio :value="1">是</a-radio>
|
<a-radio :value="1">是</a-radio>
|
||||||
<a-radio :value="0">否</a-radio>
|
<a-radio :value="0">否</a-radio>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col v-if="mainForm.needSdwApproval === 1" :span="12">
|
<a-col v-if="mainForm.needSdwApproval === 1" :span="12">
|
||||||
<a-form-item label="督导领导列表" name="sdwLeaderList">
|
<a-form-item label="督导负责人列表" name="sdwLeaderList">
|
||||||
<DeptRoleUserSelectRadioGroup
|
<DeptRoleUserSelectRadioGroup
|
||||||
v-model:value="mainForm.sdwLeaderList"
|
v-model:value="mainForm.sdwLeaderList"
|
||||||
:deptId="PARTY_COMMITTEE_DEPT_ID"
|
:deptId="PARTY_COMMITTEE_DEPT_ID"
|
||||||
@@ -213,7 +213,9 @@
|
|||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'feedbackAction'">
|
<template v-if="column.key === 'feedbackAction'">
|
||||||
<a-button type="link" size="small" @click="handleEditFeedback(record)">{{ showJiJianFields && nonJiJianFieldsReadonly ? '督察' : '编辑' }}</a-button>
|
<a-button type="link" size="small" @click="handleEditFeedback(record)">{{
|
||||||
|
showJiJianFields && nonJiJianFieldsReadonly ? '督察' : '编辑'
|
||||||
|
}}</a-button>
|
||||||
<a-popconfirm title="确定删除该反馈吗?" @confirm="handleDeleteFeedback(record)">
|
<a-popconfirm title="确定删除该反馈吗?" @confirm="handleDeleteFeedback(record)">
|
||||||
<a-button type="link" size="small" danger>删除</a-button>
|
<a-button type="link" size="small" danger>删除</a-button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
@@ -246,7 +248,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="setDisplayNames" />
|
<sz-dept-user-modal
|
||||||
|
class="process-user-selector"
|
||||||
|
v-model:value="subApproveUser"
|
||||||
|
:disabled="savingSubApproveUser"
|
||||||
|
@confirm="setDisplayNames"
|
||||||
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -285,17 +292,17 @@
|
|||||||
import BgXiSpeakBPMFeedbackModal from './BgXiSpeakBPMFeedbackModal.vue';
|
import BgXiSpeakBPMFeedbackModal from './BgXiSpeakBPMFeedbackModal.vue';
|
||||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
||||||
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
|
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
|
||||||
import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID, CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
|
import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID, CHARGE_LEADER_ROLE_ID } from '/@/constant/supervision';
|
||||||
import {
|
import {
|
||||||
buildApproveReason,
|
buildApproveReason,
|
||||||
buildDeptHandlerFeedbackReason,
|
buildDeptHandlerFeedbackReason,
|
||||||
buildDeptLeaderAssignReason,
|
buildDeptLeaderAssignReason,
|
||||||
buildDeptLeaderDirectFeedbackReason,
|
buildDeptLeaderDirectFeedbackReason,
|
||||||
buildSuperviseConfirmAllReason,
|
buildSuperviseConfirmAllReason,
|
||||||
buildSuperviseCheckReason,
|
buildSuperviseCheckReason,
|
||||||
buildJiJianCheckReason,
|
buildJiJianCheckReason,
|
||||||
normalizeDeptNames,
|
normalizeDeptNames,
|
||||||
} from '/@/composables/useDefaultApprovalReason';
|
} from '/@/composables/useDefaultApprovalReason';
|
||||||
|
|
||||||
const { isDisabledAuth, hasPermission, initBpmFormData } = usePermission();
|
const { isDisabledAuth, hasPermission, initBpmFormData } = usePermission();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
@@ -500,7 +507,10 @@ import {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
provide('extraVars', formScope);
|
provide('extraVars', formScope);
|
||||||
provide('flowVars', computed(() => props.formData?.vars || {}));
|
provide(
|
||||||
|
'flowVars',
|
||||||
|
computed(() => props.formData?.vars || {})
|
||||||
|
);
|
||||||
provide('formDefaultReason', defaultHandleReason);
|
provide('formDefaultReason', defaultHandleReason);
|
||||||
provide('defaultCcUsers', defaultCcUsers);
|
provide('defaultCcUsers', defaultCcUsers);
|
||||||
|
|
||||||
@@ -542,7 +552,7 @@ import {
|
|||||||
try {
|
try {
|
||||||
// 默认抄送按分管所领导角色跨部门查询,与 bgpartymatter/bqtakepulse 保持一致
|
// 默认抄送按分管所领导角色跨部门查询,与 bgpartymatter/bqtakepulse 保持一致
|
||||||
const res = await defHttp.get({
|
const res = await defHttp.get({
|
||||||
url: '/sys/user/queryUserRoleComponentData',
|
url: '/sys/user/queryUserByRoleId',
|
||||||
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
params: { roleId: CHARGE_LEADER_ROLE_ID, searchSecurityLevel: 5, pageNo: 1, pageSize: 999 },
|
||||||
});
|
});
|
||||||
const records = res?.records || res?.result?.records || [];
|
const records = res?.records || res?.result?.records || [];
|
||||||
@@ -601,7 +611,10 @@ import {
|
|||||||
const res = await getProcessVariable({ taskId, key: 'impl_dept_id', isLocal: true });
|
const res = await getProcessVariable({ taskId, key: 'impl_dept_id', isLocal: true });
|
||||||
const value = res?.result?.value ?? res?.value;
|
const value = res?.result?.value ?? res?.value;
|
||||||
if (value) {
|
if (value) {
|
||||||
const result = String(value).split(',').map((s: string) => s.trim()).filter(Boolean);
|
const result = String(value)
|
||||||
|
.split(',')
|
||||||
|
.map((s: string) => s.trim())
|
||||||
|
.filter(Boolean);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -614,12 +627,18 @@ import {
|
|||||||
if (value) {
|
if (value) {
|
||||||
const result = Array.isArray(value)
|
const result = Array.isArray(value)
|
||||||
? value.map((v: any) => String(v).trim()).filter(Boolean)
|
? value.map((v: any) => String(v).trim()).filter(Boolean)
|
||||||
: String(value).split(',').map((s: string) => s.trim()).filter(Boolean);
|
: String(value)
|
||||||
|
.split(',')
|
||||||
|
.map((s: string) => s.trim())
|
||||||
|
.filter(Boolean);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
// 最终 fallback 到主表已保存的牵头部门
|
// 最终 fallback 到主表已保存的牵头部门
|
||||||
if (mainForm.implDept) {
|
if (mainForm.implDept) {
|
||||||
const result = String(mainForm.implDept).split(',').map((s: string) => s.trim()).filter(Boolean);
|
const result = String(mainForm.implDept)
|
||||||
|
.split(',')
|
||||||
|
.map((s: string) => s.trim())
|
||||||
|
.filter(Boolean);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
@@ -793,7 +812,6 @@ import {
|
|||||||
.join(',');
|
.join(',');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function handleProcessSuccess() {
|
function handleProcessSuccess() {
|
||||||
emit('success');
|
emit('success');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
:width="width"
|
:width="width"
|
||||||
centered
|
centered
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:maskClosable="false"
|
:maskClosable="true"
|
||||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -128,14 +128,7 @@
|
|||||||
nodeType: [{ required: true, message: '请选择问题种类' }],
|
nodeType: [{ required: true, message: '请选择问题种类' }],
|
||||||
problemName: [{ required: true, message: '请输入问题名称' }],
|
problemName: [{ required: true, message: '请输入问题名称' }],
|
||||||
pid: [
|
pid: [
|
||||||
{
|
{ required: true, message: '请选择上一级问题' },
|
||||||
validator: async (_rule, value) => {
|
|
||||||
if (showParentSelect.value && !value) {
|
|
||||||
return Promise.reject('请选择上一级问题');
|
|
||||||
}
|
|
||||||
return Promise.resolve();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
:width="width"
|
:width="width"
|
||||||
centered
|
centered
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:maskClosable="false"
|
:maskClosable="true"
|
||||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user