fix: 解决编辑回显数据错误问题

This commit is contained in:
JiangQiming 2023-02-22 20:02:56 +08:00
parent c73c43e288
commit 819fa1cae5
1 changed files with 35 additions and 20 deletions

View File

@ -13,7 +13,7 @@
v-model:value="formData.type" v-model:value="formData.type"
placeholder="请选择通知方式" placeholder="请选择通知方式"
:disabled="!!formData.id" :disabled="!!formData.id"
@change="resetPublicFiles" @change="handleTypeChange"
> >
<a-select-option <a-select-option
v-for="(item, index) in NOTICE_METHOD" v-for="(item, index) in NOTICE_METHOD"
@ -818,17 +818,19 @@ const resetPublicFiles = () => {
watch( watch(
() => formData.value.type, () => formData.value.type,
(val) => { (val) => {
// formData.value.template = TEMPLATE_FIELD_MAP[val];
msgType.value = MSG_TYPE[val]; msgType.value = MSG_TYPE[val];
formData.value.provider =
formData.value.provider = msgType.value[0].value; route.params.id !== ':id'
? formData.value.provider
: msgType.value[0].value;
// formData.value.provider = formData.value.provider || msgType.value[0].value;
// console.log('formData.value.template: ', formData.value.template); // console.log('formData.value.template: ', formData.value.template);
formData.value.template = // formData.value.template =
TEMPLATE_FIELD_MAP[val][formData.value.provider]; // TEMPLATE_FIELD_MAP[val][formData.value.provider];
if (val !== 'email') getConfigList(); if (val !== 'email') getConfigList();
clearValid(); // clearValid();
// console.log('formData.value: ', formData.value); // console.log('formData.value: ', formData.value);
if (val === 'sms') { if (val === 'sms') {
@ -838,14 +840,14 @@ watch(
}, },
); );
watch( // watch(
() => formData.value.provider, // () => formData.value.provider,
(val) => { // (val) => {
formData.value.template = TEMPLATE_FIELD_MAP[formData.value.type][val]; // formData.value.template = TEMPLATE_FIELD_MAP[formData.value.type][val];
clearValid(); // clearValid();
}, // },
); // );
// //
const formRules = ref({ const formRules = ref({
@ -908,12 +910,12 @@ watch(
{ deep: true }, { deep: true },
); );
const clearValid = () => { // const clearValid = () => {
setTimeout(() => { // setTimeout(() => {
formData.value.variableDefinitions = []; // formData.value.variableDefinitions = [];
clearValidate(); // clearValidate();
}, 200); // }, 200);
}; // };
/** /**
* 获取详情 * 获取详情
@ -941,10 +943,23 @@ const getConfigList = async () => {
configList.value = result; configList.value = result;
}; };
/**
* 通知方式改变
*/
const handleTypeChange = () => {
setTimeout(() => {
formData.value.template =
TEMPLATE_FIELD_MAP[formData.value.type][formData.value.provider];
resetPublicFiles();
}, 0);
};
/** /**
* 通知类型改变 * 通知类型改变
*/ */
const handleProviderChange = () => { const handleProviderChange = () => {
formData.value.template =
TEMPLATE_FIELD_MAP[formData.value.type][formData.value.provider];
getConfigList(); getConfigList();
resetPublicFiles(); resetPublicFiles();
}; };