fix: bug#10198
This commit is contained in:
parent
15c31a449b
commit
f3620e5e07
|
@ -336,23 +336,9 @@ watch(
|
||||||
route.params.id !== ':id'
|
route.params.id !== ':id'
|
||||||
? formData.value.provider
|
? formData.value.provider
|
||||||
: msgType.value[0].value;
|
: msgType.value[0].value;
|
||||||
|
|
||||||
// formData.value.configuration =
|
|
||||||
// CONFIG_FIELD_MAP[val][formData.value.provider];
|
|
||||||
|
|
||||||
// clearValid();
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// watch(
|
|
||||||
// () => formData.value.provider,
|
|
||||||
// (val) => {
|
|
||||||
// // formData.value.configuration =
|
|
||||||
// // CONFIG_FIELD_MAP[formData.value.type][val];
|
|
||||||
// // clearValid();
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
|
|
||||||
// 验证规则
|
// 验证规则
|
||||||
const formRules = ref({
|
const formRules = ref({
|
||||||
type: [{ required: true, message: '请选择通知方式' }],
|
type: [{ required: true, message: '请选择通知方式' }],
|
||||||
|
@ -421,12 +407,6 @@ const { resetFields, validate, validateInfos, clearValidate } = useForm(
|
||||||
formRules.value,
|
formRules.value,
|
||||||
);
|
);
|
||||||
|
|
||||||
const clearValid = () => {
|
|
||||||
setTimeout(() => {
|
|
||||||
clearValidate();
|
|
||||||
}, 200);
|
|
||||||
};
|
|
||||||
|
|
||||||
const getDetail = async () => {
|
const getDetail = async () => {
|
||||||
if (route.params.id === ':id') return;
|
if (route.params.id === ':id') return;
|
||||||
const res = await configApi.detail(route.params.id as string);
|
const res = await configApi.detail(route.params.id as string);
|
||||||
|
@ -444,7 +424,7 @@ const handleTypeChange = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
formData.value.configuration =
|
formData.value.configuration =
|
||||||
CONFIG_FIELD_MAP[formData.value.type][formData.value.provider];
|
CONFIG_FIELD_MAP[formData.value.type][formData.value.provider];
|
||||||
// resetPublicFiles();
|
resetPublicFiles();
|
||||||
}, 0);
|
}, 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -454,7 +434,48 @@ const handleTypeChange = () => {
|
||||||
const handleProviderChange = () => {
|
const handleProviderChange = () => {
|
||||||
formData.value.configuration =
|
formData.value.configuration =
|
||||||
CONFIG_FIELD_MAP[formData.value.type][formData.value.provider];
|
CONFIG_FIELD_MAP[formData.value.type][formData.value.provider];
|
||||||
// resetPublicFiles();
|
resetPublicFiles();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置字段值
|
||||||
|
*/
|
||||||
|
const resetPublicFiles = () => {
|
||||||
|
switch (formData.value.provider) {
|
||||||
|
case 'dingTalkMessage':
|
||||||
|
formData.value.configuration.appKey = '';
|
||||||
|
formData.value.configuration.appSecret = '';
|
||||||
|
break;
|
||||||
|
case 'dingTalkRobotWebHook':
|
||||||
|
formData.value.configuration.url = '';
|
||||||
|
break;
|
||||||
|
case 'corpMessage':
|
||||||
|
formData.value.configuration.corpId = '';
|
||||||
|
formData.value.configuration.corpSecret = '';
|
||||||
|
break;
|
||||||
|
case 'embedded':
|
||||||
|
formData.value.configuration.host = '';
|
||||||
|
formData.value.configuration.port = 25;
|
||||||
|
formData.value.configuration.ssl = false;
|
||||||
|
formData.value.configuration.sender = '';
|
||||||
|
formData.value.configuration.username = '';
|
||||||
|
formData.value.configuration.password = '';
|
||||||
|
break;
|
||||||
|
case 'aliyun':
|
||||||
|
formData.value.configuration.regionId = '';
|
||||||
|
formData.value.configuration.accessKeyId = '';
|
||||||
|
formData.value.configuration.secret = '';
|
||||||
|
break;
|
||||||
|
case 'aliyunSms':
|
||||||
|
formData.value.configuration.regionId = '';
|
||||||
|
formData.value.configuration.accessKeyId = '';
|
||||||
|
formData.value.configuration.secret = '';
|
||||||
|
break;
|
||||||
|
case 'http':
|
||||||
|
formData.value.configuration.url = undefined;
|
||||||
|
formData.value.configuration.headers = [];
|
||||||
|
break;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -106,7 +106,8 @@
|
||||||
<a-form-item label="收信部门">
|
<a-form-item label="收信部门">
|
||||||
<ToOrg
|
<ToOrg
|
||||||
v-model:toParty="
|
v-model:toParty="
|
||||||
formData.template.toParty
|
formData.template
|
||||||
|
.departmentIdList
|
||||||
"
|
"
|
||||||
:type="formData.type"
|
:type="formData.type"
|
||||||
:config-id="formData.configId"
|
:config-id="formData.configId"
|
||||||
|
@ -132,7 +133,7 @@
|
||||||
</template>
|
</template>
|
||||||
<ToUser
|
<ToUser
|
||||||
v-model:toUser="
|
v-model:toUser="
|
||||||
formData.template.toUser
|
formData.template.userIdList
|
||||||
"
|
"
|
||||||
:type="formData.type"
|
:type="formData.type"
|
||||||
:config-id="formData.configId"
|
:config-id="formData.configId"
|
||||||
|
@ -800,25 +801,56 @@ const formData = ref<TemplateFormData>({
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重置公用字段值
|
* 重置字段值
|
||||||
*/
|
*/
|
||||||
const resetPublicFiles = () => {
|
const resetPublicFiles = () => {
|
||||||
if (
|
switch (formData.value.provider) {
|
||||||
formData.value.provider === 'dingTalkMessage' ||
|
case 'dingTalkMessage':
|
||||||
formData.value.type === 'weixin'
|
formData.value.template.agentId = '';
|
||||||
) {
|
formData.value.template.message = '';
|
||||||
formData.value.template.toTag = undefined;
|
formData.value.template.departmentIdList = '';
|
||||||
formData.value.template.toUser = undefined;
|
formData.value.template.userIdList = '';
|
||||||
formData.value.template.agentId = undefined;
|
break;
|
||||||
|
case 'dingTalkRobotWebHook':
|
||||||
|
formData.value.template.message = '';
|
||||||
|
formData.value.template.messageType = 'markdown';
|
||||||
|
formData.value.template.markdown = { text: '', title: '' };
|
||||||
|
break;
|
||||||
|
case 'corpMessage':
|
||||||
|
formData.value.template.agentId = '';
|
||||||
|
formData.value.template.message = '';
|
||||||
|
formData.value.template.toParty = '';
|
||||||
|
formData.value.template.toUser = '';
|
||||||
|
formData.value.template.toTag = '';
|
||||||
|
break;
|
||||||
|
case 'embedded':
|
||||||
|
formData.value.template.subject = '';
|
||||||
|
formData.value.template.message = '';
|
||||||
|
formData.value.template.text = '';
|
||||||
|
formData.value.template.sendTo = [];
|
||||||
|
formData.value.template.attachments = [];
|
||||||
|
break;
|
||||||
|
case 'aliyun':
|
||||||
|
formData.value.template.templateType = 'tts';
|
||||||
|
formData.value.template.templateCode = '';
|
||||||
|
formData.value.template.ttsCode = '';
|
||||||
|
formData.value.template.message = '';
|
||||||
|
formData.value.template.playTimes = 1;
|
||||||
|
formData.value.template.calledShowNumbers = '';
|
||||||
|
formData.value.template.calledNumber = '';
|
||||||
|
break;
|
||||||
|
case 'aliyunSms':
|
||||||
|
formData.value.template.code = '';
|
||||||
|
formData.value.template.message = '';
|
||||||
|
formData.value.template.phoneNumber = '';
|
||||||
|
formData.value.template.signName = '';
|
||||||
|
break;
|
||||||
|
case 'http':
|
||||||
|
formData.value.template.contextAsBody = true;
|
||||||
|
formData.value.template.body = '';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (formData.value.type === 'weixin')
|
|
||||||
formData.value.template.toParty = undefined;
|
|
||||||
if (formData.value.type === 'email')
|
|
||||||
formData.value.template.toParty = undefined;
|
|
||||||
// formData.value.description = '';
|
|
||||||
|
|
||||||
formData.value.template.messageType = 'markdown';
|
|
||||||
formData.value.template.message = '';
|
|
||||||
formData.value.configId = undefined;
|
formData.value.configId = undefined;
|
||||||
formData.value.variableDefinitions = [];
|
formData.value.variableDefinitions = [];
|
||||||
handleMessageTypeChange();
|
handleMessageTypeChange();
|
||||||
|
@ -833,15 +865,8 @@ watch(
|
||||||
route.params.id !== ':id'
|
route.params.id !== ':id'
|
||||||
? formData.value.provider
|
? formData.value.provider
|
||||||
: msgType.value[0].value;
|
: msgType.value[0].value;
|
||||||
// formData.value.provider = formData.value.provider || msgType.value[0].value;
|
|
||||||
// console.log('formData.value.template: ', formData.value.template);
|
|
||||||
|
|
||||||
// formData.value.template =
|
|
||||||
// TEMPLATE_FIELD_MAP[val][formData.value.provider];
|
|
||||||
|
|
||||||
if (val !== 'email') getConfigList();
|
if (val !== 'email') getConfigList();
|
||||||
// clearValid();
|
|
||||||
// console.log('formData.value: ', formData.value);
|
|
||||||
|
|
||||||
if (val === 'sms') {
|
if (val === 'sms') {
|
||||||
getTemplateList();
|
getTemplateList();
|
||||||
|
@ -850,15 +875,6 @@ watch(
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// watch(
|
|
||||||
// () => formData.value.provider,
|
|
||||||
// (val) => {
|
|
||||||
// formData.value.template = TEMPLATE_FIELD_MAP[formData.value.type][val];
|
|
||||||
|
|
||||||
// clearValid();
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
|
|
||||||
// 验证规则
|
// 验证规则
|
||||||
const formRules = ref({
|
const formRules = ref({
|
||||||
type: [{ required: true, message: '请选择通知方式' }],
|
type: [{ required: true, message: '请选择通知方式' }],
|
||||||
|
@ -1069,6 +1085,7 @@ const handleTypeChange = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
formData.value.template =
|
formData.value.template =
|
||||||
TEMPLATE_FIELD_MAP[formData.value.type][formData.value.provider];
|
TEMPLATE_FIELD_MAP[formData.value.type][formData.value.provider];
|
||||||
|
// console.log('formData.value.template: ', formData.value.template);
|
||||||
resetPublicFiles();
|
resetPublicFiles();
|
||||||
}, 0);
|
}, 0);
|
||||||
};
|
};
|
||||||
|
@ -1146,8 +1163,9 @@ const handleSubmit = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
validate()
|
validate()
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
formData.value.template.ttsCode =
|
if (formData.value.provider === 'ttsCode')
|
||||||
formData.value.template.templateCode;
|
formData.value.template.ttsCode =
|
||||||
|
formData.value.template.templateCode;
|
||||||
btnLoading.value = true;
|
btnLoading.value = true;
|
||||||
let res;
|
let res;
|
||||||
if (!formData.value.id) {
|
if (!formData.value.id) {
|
||||||
|
|
|
@ -36,6 +36,8 @@ export type TemplateFormData = {
|
||||||
// 钉钉消息
|
// 钉钉消息
|
||||||
agentId?: string;
|
agentId?: string;
|
||||||
message?: string;
|
message?: string;
|
||||||
|
departmentIdList?: string;
|
||||||
|
userIdList?: string;
|
||||||
// 钉钉机器人
|
// 钉钉机器人
|
||||||
messageType?: string;
|
messageType?: string;
|
||||||
markdown?: IMarkDown;
|
markdown?: IMarkDown;
|
||||||
|
|
|
@ -147,10 +147,12 @@ export const TEMPLATE_FIELD_MAP = {
|
||||||
dingTalkMessage: {
|
dingTalkMessage: {
|
||||||
agentId: '',
|
agentId: '',
|
||||||
message: '',
|
message: '',
|
||||||
|
departmentIdList: '',
|
||||||
|
userIdList: ''
|
||||||
},
|
},
|
||||||
dingTalkRobotWebHook: {
|
dingTalkRobotWebHook: {
|
||||||
message: '',
|
message: '',
|
||||||
messageType: '',
|
messageType: 'markdown',
|
||||||
markdown: {
|
markdown: {
|
||||||
text: '',
|
text: '',
|
||||||
title: '',
|
title: '',
|
||||||
|
|
Loading…
Reference in New Issue