!37 feat(inspect): DqInspectTaskForm添加必填字段校验规则

* feat(inspect): DqInspectTaskForm添加必填字段校验规则
* refactor(form): 是否需要审批字段统一替换为j-switch组件
* feat(form): 部门经办人替换为sz-dept-user-modal组件
* feat(form): 新增部门角色用户选择组件,替换各处j-select-user
This commit is contained in:
new_new_new
2026-06-15 02:47:24 +00:00
parent f649986f4a
commit c1028224c1
8 changed files with 226 additions and 79 deletions
@@ -39,8 +39,8 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="责任人" v-bind="validateInfos.responsiblePerson" id="BgXiSpeakForm-responsiblePerson" name="responsiblePerson">
<j-select-user v-model:value="formData.responsiblePerson" placeholder="请从所党委选择责任人" allow-clear />
<a-form-item label="所党委责任人" v-bind="validateInfos.responsiblePerson" id="BgXiSpeakForm-responsiblePerson" name="responsiblePerson">
<DeptRoleUserSelectDropDown v-model:value="formData.responsiblePerson" :deptId="PARTY_COMMITTEE_DEPT_ID" :roleId="SDW_LEADER_ROLE_ID" placeholder="请从所党委选择责任人" />
</a-form-item>
</a-col>
<a-col :span="12">
@@ -60,18 +60,15 @@
</a-col>
<a-col :span="12">
<a-form-item label="是否需要所党委领导督办" v-bind="validateInfos.needSdwApproval" id="BgXiSpeakForm-needSdwApproval" name="needSdwApproval">
<a-radio-group v-model:value="formData.needSdwApproval">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
</a-radio-group>
<j-switch v-model:value="formData.needSdwApproval" />
</a-form-item>
</a-col>
<a-col v-if="formData.needSdwApproval === 1" :span="12">
<a-col v-if="formData.needSdwApproval == '1'" :span="12">
<a-form-item label="所党委领导列表" id="BgXiSpeakForm-sdwLeaderList" name="sdwLeaderList">
<DeptRoleSelectUser
<DeptRoleUserSelectRadioGroup
v-model:value="formData.sdwLeaderList"
deptId="2044677562460508161"
roleId="2044676455280570370"
:deptId="PARTY_COMMITTEE_DEPT_ID"
:roleId="SDW_LEADER_ROLE_ID"
/>
</a-form-item>
</a-col>
@@ -126,16 +123,20 @@
import { defHttp } from '/@/utils/http/axios';
import { useMessage } from '/@/hooks/web/useMessage';
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
import DeptRoleUserSelectDropDown from '/@/components/semri/userComponent/DeptRoleUserSelectDropDown.vue';
import JTreeSelect from '/@/components/Form/src/jeecg/components/JTreeSelect.vue';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import DeptRoleSelectUser from './DeptRoleSelectUser.vue';
import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue';
import { getValueType } from '/@/utils';
import { loadTreeData, saveOrUpdateDict } from '../BgXiSpeak.api';
import { Form } from 'ant-design-vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import { usePermission } from '/@/hooks/web/usePermission';
const PARTY_COMMITTEE_DEPT_ID = '2044677562460508161';
const SDW_LEADER_ROLE_ID = '2044676455280570370';
const { initBpmFormData } = usePermission();
const useForm = Form.useForm;
const formRef = ref();
@@ -154,7 +155,7 @@
status: 'x月x日召开xxxx年第x次党委会议',
secretLevel: '',
responsiblePerson: '',
needSdwApproval: 0,
needSdwApproval: '',
sdwLeaderList: '',
implPlan: '',
implMeasures: '',
@@ -268,7 +269,7 @@
const tmpData = {};
Object.keys(formData).forEach((key) => {
if (data.hasOwnProperty(key)) {
tmpData[key] = data[key] === null ? (key === 'needSdwApproval' ? 0 : '') : data[key];
tmpData[key] = data[key] === null ? (key === 'needSdwApproval' ? '0' : '') : data[key];
}
});
@@ -301,7 +302,7 @@
}
if (formData.needSdwApproval === undefined || formData.needSdwApproval === null) {
formData.needSdwApproval = 0;
formData.needSdwApproval = '0';
}
confirmLoading.value = true;