From 599311631d72d8604cdc6a5beaaa60cda79c8875 Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 15 Mar 2023 15:45:47 +0800 Subject: [PATCH 1/6] =?UTF-8?q?update:=20=E5=88=9D=E5=A7=8B=E5=80=BC?= =?UTF-8?q?=E6=94=B9=E4=B8=BAundefined,=20=E8=A7=A3=E5=86=B3placeholder?= =?UTF-8?q?=E6=97=A0=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/media/Cascade/Save/index.vue | 32 +++---- .../Template/Detail/components/ToOrg.vue | 17 ++-- .../Template/Detail/components/ToTag.vue | 16 ++-- .../Template/Detail/components/ToUser.vue | 16 ++-- src/views/notice/Template/Detail/index.vue | 50 +++++------ src/views/notice/const.ts | 90 +++++++++---------- 6 files changed, 114 insertions(+), 107 deletions(-) diff --git a/src/views/media/Cascade/Save/index.vue b/src/views/media/Cascade/Save/index.vue index a2495856..bb9d6556 100644 --- a/src/views/media/Cascade/Save/index.vue +++ b/src/views/media/Cascade/Save/index.vue @@ -566,31 +566,31 @@ const route = useRoute(); // 表单数据 const formData = ref({ id: route.query.id || undefined, - // name: '', - cascadeName: '', + // name: undefined, + cascadeName: undefined, proxyStream: false, // 以下字段, 提交时需提取到sipConfigs[{}]字段当中 - clusterNodeId: '', - name: '', - sipId: '', - domain: '', - remoteAddress: '', + clusterNodeId: undefined, + name: undefined, + sipId: undefined, + domain: undefined, + remoteAddress: undefined, remotePort: undefined, - localSipId: '', - host: '', + localSipId: undefined, + host: undefined, port: undefined, // remotePublic: { - // host: '', + // host: undefined, // port: undefined, // }, - publicHost: '', + publicHost: undefined, publicPort: undefined, transport: 'UDP', - user: '', - password: '', - manufacturer: '', - model: '', - firmware: '', + user: undefined, + password: undefined, + manufacturer: undefined, + model: undefined, + firmware: undefined, keepaliveInterval: '60', registerInterval: '3600', }); diff --git a/src/views/notice/Template/Detail/components/ToOrg.vue b/src/views/notice/Template/Detail/components/ToOrg.vue index 25840fb7..50234cf1 100644 --- a/src/views/notice/Template/Detail/components/ToOrg.vue +++ b/src/views/notice/Template/Detail/components/ToOrg.vue @@ -13,19 +13,22 @@ import templateApi from '@/api/notice/template'; type Emits = { - (e: 'update:toParty', data: string): void; + (e: 'update:toParty', data: string | undefined): void; }; + +type Props = { + toParty: string | undefined; + type: string | undefined; + configId: string | undefined; +} + const emit = defineEmits(); -const props = defineProps({ - toParty: { type: String, default: '' }, - type: { type: String, default: '' }, - configId: { type: String, default: '' }, -}); +const props = defineProps(); const _value = computed({ get: () => props.toParty, - set: (val: string) => emit('update:toParty', val), + set: (val: string | undefined) => emit('update:toParty', val), }); const typeObj = { weixin: 'wechat', diff --git a/src/views/notice/Template/Detail/components/ToTag.vue b/src/views/notice/Template/Detail/components/ToTag.vue index 49df418d..cb78b5a7 100644 --- a/src/views/notice/Template/Detail/components/ToTag.vue +++ b/src/views/notice/Template/Detail/components/ToTag.vue @@ -13,19 +13,21 @@ import templateApi from '@/api/notice/template'; type Emits = { - (e: 'update:toTag', data: string): void; + (e: 'update:toTag', data: string | undefined): void; }; +type Props = { + toTag: string | undefined; + type: string | undefined; + configId: string | undefined; +} + const emit = defineEmits(); -const props = defineProps({ - toTag: { type: String, default: '' }, - type: { type: String, default: '' }, - configId: { type: String, default: '' }, -}); +const props = defineProps(); const _value = computed({ get: () => props.toTag, - set: (val: string) => emit('update:toTag', val), + set: (val: string | undefined) => emit('update:toTag', val), }); const options = ref([]); diff --git a/src/views/notice/Template/Detail/components/ToUser.vue b/src/views/notice/Template/Detail/components/ToUser.vue index a8680528..3cb40d75 100644 --- a/src/views/notice/Template/Detail/components/ToUser.vue +++ b/src/views/notice/Template/Detail/components/ToUser.vue @@ -13,19 +13,21 @@ import templateApi from '@/api/notice/template'; type Emits = { - (e: 'update:toUser', data: string): void; + (e: 'update:toUser', data: string | undefined): void; }; +type Props = { + toUser: string | undefined; + type: string | undefined; + configId: string | undefined; +} + const emit = defineEmits(); -const props = defineProps({ - toUser: { type: String, default: '' }, - type: { type: String, default: '' }, - configId: { type: String, default: '' }, -}); +const props = defineProps(); const _value = computed({ get: () => props.toUser, - set: (val: string) => emit('update:toUser', val), + set: (val: string | undefined) => emit('update:toUser', val), }); const typeObj = { diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index 34780010..30242319 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -820,49 +820,49 @@ const resetPublicFiles = () => { formData.value.template = {}; switch (formData.value.provider) { case 'dingTalkMessage': - formData.value.template.agentId = ''; - formData.value.template.message = ''; - formData.value.template.departmentIdList = ''; - formData.value.template.userIdList = ''; + formData.value.template.agentId = undefined; + formData.value.template.message = undefined; + formData.value.template.departmentIdList = undefined; + formData.value.template.userIdList = undefined; break; case 'dingTalkRobotWebHook': - formData.value.template.message = ''; + formData.value.template.message = undefined; formData.value.template.messageType = 'markdown'; - formData.value.template.markdown = { text: '', title: '' }; + formData.value.template.markdown = { text: undefined, title: undefined }; break; case 'corpMessage': - formData.value.template.agentId = ''; - formData.value.template.message = ''; - formData.value.template.toParty = ''; - formData.value.template.toUser = ''; - formData.value.template.toTag = ''; + formData.value.template.agentId = undefined; + formData.value.template.message = undefined; + formData.value.template.toParty = undefined; + formData.value.template.toUser = undefined; + formData.value.template.toTag = undefined; break; case 'embedded': - formData.value.template.subject = ''; - formData.value.template.message = ''; - formData.value.template.text = ''; + formData.value.template.subject = undefined; + formData.value.template.message = undefined; + formData.value.template.text = undefined; 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.ttsmessage = ''; + formData.value.template.templateCode = undefined; + formData.value.template.ttsCode = undefined; + // formData.value.template.message = undefined; + formData.value.template.ttsmessage = undefined; formData.value.template.playTimes = 1; - formData.value.template.calledShowNumbers = ''; - formData.value.template.calledNumber = ''; + formData.value.template.calledShowNumbers = undefined; + formData.value.template.calledNumber = undefined; break; case 'aliyunSms': - formData.value.template.code = ''; - formData.value.template.message = ''; - formData.value.template.phoneNumber = ''; - formData.value.template.signName = ''; + formData.value.template.code = undefined; + formData.value.template.message = undefined; + formData.value.template.phoneNumber = undefined; + formData.value.template.signName = undefined; break; case 'http': formData.value.template.contextAsBody = true; - formData.value.template.body = ''; + formData.value.template.body = undefined; break; } diff --git a/src/views/notice/const.ts b/src/views/notice/const.ts index 1f662ab7..fb42d5d2 100644 --- a/src/views/notice/const.ts +++ b/src/views/notice/const.ts @@ -94,42 +94,42 @@ export const MSG_TYPE = { export const CONFIG_FIELD_MAP = { dingTalk: { dingTalkMessage: { - appKey: '', - appSecret: '', + appKey: undefined, + appSecret: undefined, }, dingTalkRobotWebHook: { - url: '', + url: undefined, } }, weixin: { corpMessage: { - corpId: '', - corpSecret: '', + corpId: undefined, + corpSecret: undefined, }, // officialMessage: {}, }, email: { embedded: { - host: '', + host: undefined, port: 25, ssl: false, - sender: '', - username: '', - password: '', + sender: undefined, + username: undefined, + password: undefined, } }, voice: { aliyun: { - regionId: '', - accessKeyId: '', - secret: '', + regionId: undefined, + accessKeyId: undefined, + secret: undefined, } }, sms: { aliyunSms: { - regionId: '', - accessKeyId: '', - secret: '', + regionId: undefined, + accessKeyId: undefined, + secret: undefined, } }, webhook: { @@ -145,69 +145,69 @@ export const CONFIG_FIELD_MAP = { export const TEMPLATE_FIELD_MAP = { dingTalk: { dingTalkMessage: { - agentId: '', - message: '', - departmentIdList: '', - userIdList: '' + agentId: undefined, + message: undefined, + departmentIdList: undefined, + userIdList: undefined }, dingTalkRobotWebHook: { - message: '', + message: undefined, messageType: 'markdown', markdown: { - text: '', - title: '', + text: undefined, + title: undefined, }, link: { - title: '', - picUrl: '', - messageUrl: '', - text: '', + title: undefined, + picUrl: undefined, + messageUrl: undefined, + text: undefined, }, } }, weixin: { corpMessage: { - agentId: '', - message: '', - toParty: '', - toUser: '', - toTag: '', + agentId: undefined, + message: undefined, + toParty: undefined, + toUser: undefined, + toTag: undefined, }, officialMessage: {}, }, email: { embedded: { - subject: '', + subject: undefined, sendTo: [], attachments: [], - message: '', - text: '', + message: undefined, + text: undefined, } }, voice: { aliyun: { templateType: 'tts', - templateCode: '', - ttsCode: '', - // message: '', - ttsmessage: '', + templateCode: undefined, + ttsCode: undefined, + // message: undefined, + ttsmessage: undefined, playTimes: 1, - calledShowNumbers: '', - calledNumber: '', + calledShowNumbers: undefined, + calledNumber: undefined, } }, sms: { aliyunSms: { - code: '', - message: '', - phoneNumber: '', - signName: '', + code: undefined, + message: undefined, + phoneNumber: undefined, + signName: undefined, } }, webhook: { http: { contextAsBody: true, - body: '' + body: undefined } }, }; From c83035764027c7ea86a3dba1914e7684ce52c2b7 Mon Sep 17 00:00:00 2001 From: leiqiaochu Date: Wed, 15 Mar 2023 15:51:55 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E8=A7=84=E5=88=99=E7=BC=96=E6=8E=92?= =?UTF-8?q?=E8=87=AA=E6=B5=8B=E4=B8=8E=E7=BB=84=E4=BB=B6=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/rule-engine/Instance/Save/index.vue | 3 +-- src/views/rule-engine/Instance/index.vue | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/rule-engine/Instance/Save/index.vue b/src/views/rule-engine/Instance/Save/index.vue index dac57c93..f7a39a04 100644 --- a/src/views/rule-engine/Instance/Save/index.vue +++ b/src/views/rule-engine/Instance/Save/index.vue @@ -53,9 +53,8 @@ const props = defineProps({ const productList = ref[]>([]); const loading = ref(false); const formRef = ref(); -let id = ref(); const modelRef = ref(); -modelRef.value = props.data +modelRef.value = {...props.data}; const rules = { name: [ { diff --git a/src/views/rule-engine/Instance/index.vue b/src/views/rule-engine/Instance/index.vue index 030c5947..16d2bfda 100644 --- a/src/views/rule-engine/Instance/index.vue +++ b/src/views/rule-engine/Instance/index.vue @@ -245,6 +245,9 @@ const getActions = ( title: '查看', }, icon: 'EyeOutlined', + onClick: () => { + openRuleEditor(data); + } }, { key: 'action', From 2f964837b93e8985512f119a049817bda219786c Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Wed, 15 Mar 2023 11:40:20 +0800 Subject: [PATCH 3/6] =?UTF-8?q?update:=20=E5=9C=BA=E6=99=AF=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E9=9B=86=E6=88=90=E6=89=A7=E8=A1=8C=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule-engine/Scene/Save/Device/index.vue | 1 - .../Scene/Save/components/Terms/Branchs.vue | 24 +++++++++++++++-- .../Scene/Save/components/Terms/Terms.vue | 26 ++++++------------- 3 files changed, 30 insertions(+), 21 deletions(-) diff --git a/src/views/rule-engine/Scene/Save/Device/index.vue b/src/views/rule-engine/Scene/Save/Device/index.vue index 2ad65263..b291d9fc 100644 --- a/src/views/rule-engine/Scene/Save/Device/index.vue +++ b/src/views/rule-engine/Scene/Save/Device/index.vue @@ -15,7 +15,6 @@ - diff --git a/src/views/rule-engine/Scene/Save/components/Terms/Branchs.vue b/src/views/rule-engine/Scene/Save/components/Terms/Branchs.vue index 1a35c083..130824ad 100644 --- a/src/views/rule-engine/Scene/Save/components/Terms/Branchs.vue +++ b/src/views/rule-engine/Scene/Save/components/Terms/Branchs.vue @@ -49,9 +49,16 @@
- + + +
- @@ -62,6 +69,7 @@ import type { ActionBranchesProps } from '@/views/rule-engine/Scene/typings' import TermsItem from './TermsItem.vue' import { storeToRefs } from 'pinia'; import { useSceneStore } from 'store/scene' +import Action from '../../action/index.vue' const sceneStore = useSceneStore() const { data: FormModel } = storeToRefs(sceneStore) @@ -149,6 +157,18 @@ const optionsClass = computed(() => { } }) +const rules = [{ + validator(_: string, value: any) { + if (!value || (value && !value.length)) { + return Promise.reject('至少配置一个执行动作') + } else { + const isActions = value.some((item: any) => item.actions && item.actions.length) + return isActions ? Promise.resolve() : Promise.reject('至少配置一个执行动作'); + } + return Promise.resolve(); + } +}] + \ No newline at end of file diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue b/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue new file mode 100644 index 00000000..d62a5062 --- /dev/null +++ b/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue b/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue index 19ad5fef..0e4d6a13 100644 --- a/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue +++ b/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue @@ -318,16 +318,26 @@