update: 组件更换测试

This commit is contained in:
JiangQiming 2023-03-13 17:47:01 +08:00
parent f693ba926e
commit f202e16401
6 changed files with 88 additions and 24 deletions

View File

@ -7,28 +7,36 @@
@mousedown="emit('onMouseDown', 'UP')" @mousedown="emit('onMouseDown', 'UP')"
@mouseup="emit('onMouseUp', 'UP')" @mouseup="emit('onMouseUp', 'UP')"
> >
<AIcon class="direction-icon" type="CaretUpOutlined" /> <div class="direction-icon">
<AIcon type="CaretUpOutlined" />
</div>
</div> </div>
<div <div
class="direction-item right" class="direction-item right"
@mousedown="emit('onMouseDown', 'RIGHT')" @mousedown="emit('onMouseDown', 'RIGHT')"
@mouseup="emit('onMouseUp', 'RIGHT')" @mouseup="emit('onMouseUp', 'RIGHT')"
> >
<AIcon class="direction-icon" type="CaretRightOutlined" /> <div class="direction-icon">
<AIcon type="CaretRightOutlined" />
</div>
</div> </div>
<div <div
class="direction-item left" class="direction-item left"
@mousedown="emit('onMouseDown', 'LEFT')" @mousedown="emit('onMouseDown', 'LEFT')"
@mouseup="emit('onMouseUp', 'LEFT')" @mouseup="emit('onMouseUp', 'LEFT')"
> >
<AIcon class="direction-icon" type="CaretLeftOutlined" /> <div class="direction-icon">
<AIcon type="CaretLeftOutlined" />
</div>
</div> </div>
<div <div
class="direction-item down" class="direction-item down"
@mousedown="emit('onMouseDown', 'DOWN')" @mousedown="emit('onMouseDown', 'DOWN')"
@mouseup="emit('onMouseUp', 'DOWN')" @mouseup="emit('onMouseUp', 'DOWN')"
> >
<AIcon class="direction-icon" type="CaretDownOutlined" /> <div class="direction-icon">
<AIcon type="CaretDownOutlined" />
</div>
</div> </div>
<div class="direction-audio"> <div class="direction-audio">
<!-- <AIcon type="AudioOutlined" /> --> <!-- <AIcon type="AudioOutlined" /> -->

View File

@ -62,7 +62,7 @@
:showUploadList="false" :showUploadList="false"
@change="handleFileChange" @change="handleFileChange"
> >
<AIcon type="CloudUploadOutlined" /> <AIcon type="UploadOutlined" />
</j-upload> </j-upload>
</template> </template>
</j-input> </j-input>

View File

@ -12,7 +12,7 @@
<j-form-item <j-form-item
label="通知配置" label="通知配置"
name="configId" name="configId"
:rules="{ required: true, message: '该字段为必填字段' }" :rules="{ required: true, message: '请选择通知配置' }"
> >
<j-select <j-select
v-model:value="formData.configId" v-model:value="formData.configId"

View File

@ -6,7 +6,7 @@
v-for="(item, index) in fileList" v-for="(item, index) in fileList"
:key="index" :key="index"
> >
<j-input v-model:value="item.name"> <j-input v-model:value="item.name" @change="emitEvents">
<template #addonAfter> <template #addonAfter>
<a-upload <a-upload
name="file" name="file"

View File

@ -55,7 +55,7 @@
yyyy-MM-dd yyyy-MM-dd
</j-select-option> </j-select-option>
<j-select-option value="yyyy-MM-dd HH:mm:ss"> <j-select-option value="yyyy-MM-dd HH:mm:ss">
yyyy-MM-dd HH:mm:ss <Ellipsis>yyyy-MM-dd HH:mm:ss</Ellipsis>
</j-select-option> </j-select-option>
</j-select> </j-select>
<j-input <j-input
@ -143,7 +143,7 @@ const handleTypeChange = (record: IVariable) => {
record.format = 'timestamp'; record.format = 'timestamp';
break; break;
case 'double': case 'double':
record.format = '%.0f'; record.format = '%.xf';
break; break;
} }
}; };

View File

@ -353,7 +353,9 @@
placeholder="请输入标题" placeholder="请输入标题"
/> />
</j-form-item> </j-form-item>
<j-form-item> <j-form-item
v-bind="validateInfos['template.sendTo']"
>
<template #label> <template #label>
<span> <span>
收件人 收件人
@ -369,9 +371,8 @@
</template> </template>
<j-select <j-select
mode="tags" mode="tags"
:options="[]"
v-model:value="formData.template.sendTo" v-model:value="formData.template.sendTo"
placeholder="请选择收件人" placeholder="请输入收件人邮箱,多个收件人用换行分隔"
/> />
</j-form-item> </j-form-item>
<j-form-item> <j-form-item>
@ -459,7 +460,13 @@
</j-form-item> </j-form-item>
</j-col> </j-col>
<j-col :span="12"> <j-col :span="12">
<j-form-item> <j-form-item
v-bind="
validateInfos[
'template.calledNumber'
]
"
>
<template #label> <template #label>
<span> <span>
被叫号码 被叫号码
@ -507,7 +514,9 @@
placeholder="请输入被叫显号" placeholder="请输入被叫显号"
/> />
</j-form-item> </j-form-item>
<j-form-item> <j-form-item
v-bind="validateInfos['template.playTimes']"
>
<template #label> <template #label>
<span> <span>
播放次数 播放次数
@ -519,9 +528,10 @@
</j-tooltip> </j-tooltip>
</span> </span>
</template> </template>
<j-input <j-input-number
v-model:value="formData.template.playTimes" v-model:value="formData.template.playTimes"
placeholder="请输入播放次数" placeholder="请输入播放次数"
style="width: 100%"
/> />
</j-form-item> </j-form-item>
<j-form-item <j-form-item
@ -694,7 +704,6 @@
</template> </template>
<j-textarea <j-textarea
v-model:value="formData.template.message" v-model:value="formData.template.message"
:maxlength="200"
:rows="5" :rows="5"
:disabled="formData.type === 'sms'" :disabled="formData.type === 'sms'"
placeholder="变量格式:${name}; placeholder="变量格式:${name};
@ -896,22 +905,48 @@ const formRules = ref({
'template.agentId': [{ required: true, message: '请输入agentId' }], 'template.agentId': [{ required: true, message: '请输入agentId' }],
'template.messageType': [{ required: true, message: '请选择消息类型' }], 'template.messageType': [{ required: true, message: '请选择消息类型' }],
'template.markdown.title': [ 'template.markdown.title': [
{ required: true, message: '请输入标题' }, { required: true, message: '请输入标题', trigger: 'change' },
{ max: 64, message: '最多可输入64个字符' }, { max: 64, message: '最多可输入64个字符', trigger: 'change' },
], ],
'template.link.title': [ 'template.link.title': [
{ required: true, message: '请输入标题' }, { required: true, message: '请输入标题', trigger: 'change' },
{ max: 64, message: '最多可输入64个字符' }, { max: 64, message: '最多可输入64个字符', trigger: 'change' },
], ],
// 'template.url': [{ required: true, message: 'WebHook' }], // 'template.url': [{ required: true, message: 'WebHook' }],
// //
// 'template.agentId': [{ required: true, message: 'agentId' }], // 'template.agentId': [{ required: true, message: 'agentId' }],
// //
'template.subject': [{ required: true, message: '请输入标题' }], 'template.subject': [
{ required: true, message: '请输入标题' },
{ max: 64, message: '最多可输入64个字符', trigger: 'change' },
],
'template.sendTo': [
{
trigger: 'change',
validator(_rule: Rule, value: string[]) {
const regEmail =
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
let error;
if (value) {
value.some((item: string) => {
if (!regEmail.test(item)) {
error = item;
return true;
}
return false;
});
}
if (error)
return Promise.reject(error ? `${error}邮件格式错误` : '');
else return Promise.resolve();
},
},
],
// //
'template.templateType': [{ required: true, message: '请选择类型' }], 'template.templateType': [{ required: true, message: '请选择类型' }],
'template.templateCode': [{ required: true, message: '请输入模板ID' }], 'template.templateCode': [{ required: true, message: '请输入模板ID' }],
'template.calledShowNumbers': [ 'template.calledNumber': [
{ max: 64, message: '最多可输入64个字符', trigger: 'change' },
{ {
trigger: 'change', trigger: 'change',
validator(_rule: Rule, value: string) { validator(_rule: Rule, value: string) {
@ -921,6 +956,27 @@ const formRules = ref({
}, },
}, },
], ],
'template.calledShowNumbers': [
{ max: 64, message: '最多可输入64个字符', trigger: 'change' },
{
trigger: 'change',
validator(_rule: Rule, value: string) {
if (!value) return Promise.resolve();
if (!phoneRegEx(value)) return Promise.reject('请输入有效号码');
return Promise.resolve();
},
},
],
'template.playTimes': [
{
trigger: 'change',
validator(_rule: Rule, value: number) {
if (value < 1 || value > 3)
return Promise.reject('仅支持13次');
else return Promise.resolve();
},
},
],
// //
'template.code': [{ required: true, message: '请选择模板' }], 'template.code': [{ required: true, message: '请选择模板' }],
'template.signName': [{ required: true, message: '请输入签名' }], 'template.signName': [{ required: true, message: '请输入签名' }],
@ -929,9 +985,9 @@ const formRules = ref({
'template.message': [ 'template.message': [
{ {
required: true, required: true,
message: '请输入', message: '请输入模板内容',
}, },
{ max: 500, message: '最多可输入500个字符' }, { max: 500, message: '最多可输入500个字符', trigger: 'change' },
], ],
'template.ttsmessage': [{ max: 500, message: '最多可输入500个字符' }], 'template.ttsmessage': [{ max: 500, message: '最多可输入500个字符' }],
}); });