yxk-20260610-把把脉
需要所办领导审批时,增加必填校验
This commit is contained in:
@@ -134,7 +134,7 @@
|
||||
<j-switch v-model:value="formData.isNeedAppro" ></j-switch>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-col v-if="showSupDeptLeader" :span="12">
|
||||
<a-form-item label="所办领导" v-bind="validateInfos.supDeptleaderid" id="BgTakepulseForm-supDeptleaderid" name="supDeptleaderid">
|
||||
<j-select-user v-model:value="formData.supDeptleaderid" allow-clear />
|
||||
</a-form-item>
|
||||
@@ -151,7 +151,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref, reactive, computed, toRaw, onMounted } from 'vue';
|
||||
import { defineComponent, ref, reactive, computed, toRaw, onMounted, watch } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { queryDataById, saveOrUpdate } from '../BgTakepulse.api';
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
@@ -215,10 +215,22 @@
|
||||
delFlag: '',
|
||||
});
|
||||
|
||||
const showSupDeptLeader = computed(() => formData.isNeedAppro === '1');
|
||||
|
||||
//表单验证
|
||||
const validatorRules = reactive({
|
||||
supDeptleaderid: [
|
||||
{
|
||||
validator: async (_rule, value) => {
|
||||
if (showSupDeptLeader.value && !value) {
|
||||
return Promise.reject('请选择所办领导');
|
||||
}
|
||||
return Promise.resolve();
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
const {resetFields, validate, validateInfos} = 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: 5}},
|
||||
@@ -237,6 +249,16 @@
|
||||
return props.formDisabled;
|
||||
});
|
||||
|
||||
// 不需要所办领导审批时,隐藏字段不能保留历史选择或校验错误。
|
||||
function clearSupDeptLeaderIfNotNeeded() {
|
||||
if (!showSupDeptLeader.value) {
|
||||
formData.supDeptleaderid = '';
|
||||
clearValidate(['supDeptleaderid']);
|
||||
}
|
||||
}
|
||||
|
||||
watch(() => formData.isNeedAppro, clearSupDeptLeaderIfNotNeeded);
|
||||
|
||||
onMounted(()=>{
|
||||
initFormData();
|
||||
});
|
||||
@@ -250,6 +272,7 @@
|
||||
Object.keys(row).map(k => {
|
||||
formData[k] = row[k];
|
||||
});
|
||||
clearSupDeptLeaderIfNotNeeded();
|
||||
}
|
||||
}
|
||||
// 是否显示提交按钮
|
||||
@@ -282,6 +305,7 @@
|
||||
})
|
||||
//赋值
|
||||
Object.assign(formData,tmpData);
|
||||
clearSupDeptLeaderIfNotNeeded();
|
||||
}
|
||||
|
||||
async function getFormData() {
|
||||
@@ -302,6 +326,9 @@
|
||||
|
||||
function normalizeMainFormData(data) {
|
||||
if (data) {
|
||||
if (data.isNeedAppro !== '1') {
|
||||
data.supDeptleaderid = '';
|
||||
}
|
||||
Object.keys(data).forEach((key) => {
|
||||
if (Array.isArray(data[key])) {
|
||||
data[key] = data[key].join(',');
|
||||
@@ -326,6 +353,7 @@
|
||||
Object.keys(values).map(k=>{
|
||||
formData[k] = values[k];
|
||||
});
|
||||
clearSupDeptLeaderIfNotNeeded();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -348,6 +376,7 @@
|
||||
handleFormChange,
|
||||
formItemLayout,
|
||||
disabled,
|
||||
showSupDeptLeader,
|
||||
showFlowSubmitButton,
|
||||
getFormData,
|
||||
submitForm,
|
||||
|
||||
Reference in New Issue
Block a user