From faccbc53f7015db9c58fcc9a0dd781df2cab6b97 Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Mon, 20 Mar 2023 17:31:26 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E8=81=94=E5=8A=A8-=E6=89=A7=E8=A1=8C=E5=8A=A8=E4=BD=9C?= =?UTF-8?q?=E3=80=81=E8=BF=87=E6=BB=A4=E6=9D=A1=E4=BB=B6=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/scene.ts | 7 +- .../Scene/Save/Device/AddModal.vue | 26 +-- .../Scene/Save/Device/DeviceList.vue | 1 - .../rule-engine/Scene/Save/Device/index.vue | 6 +- .../rule-engine/Scene/Save/Timer/index.vue | 1 + .../Save/action/ListItem/FilterGroup.vue | 1 - .../Scene/Save/action/ListItem/Item.vue | 27 ++- .../rule-engine/Scene/Save/action/index.vue | 186 +++++++++--------- .../Terms/{Branchs.vue => Branches.vue} | 4 +- .../Save/components/Terms/ParamsItem.vue | 11 ++ .../Scene/Save/components/Terms/Terms.vue | 6 +- .../Scene/Save/components/Terms/TermsItem.vue | 37 ++++ .../Scene/Save/components/Terms/index.less | 6 +- vite.config.ts | 4 +- 14 files changed, 196 insertions(+), 127 deletions(-) rename src/views/rule-engine/Scene/Save/components/Terms/{Branchs.vue => Branches.vue} (97%) diff --git a/src/store/scene.ts b/src/store/scene.ts index a1f1d94a..1128e00a 100644 --- a/src/store/scene.ts +++ b/src/store/scene.ts @@ -33,7 +33,10 @@ export const defaultBranches = [ terms: [ { column: undefined, - value: undefined, + value: { + source: 'fixed', + value: undefined + }, termType: undefined, key: 'params_1', type: 'and', @@ -89,6 +92,8 @@ export const useSceneStore = defineStore('scene', () => { branches = cloneDeep(defaultBranches) if (triggerType === 'device') { branches.push(null) + } else { + branches[0].when.length = [] } } else { const branchesLength = branches.length; diff --git a/src/views/rule-engine/Scene/Save/Device/AddModal.vue b/src/views/rule-engine/Scene/Save/Device/AddModal.vue index c9fd3dd6..14709c0a 100644 --- a/src/views/rule-engine/Scene/Save/Device/AddModal.vue +++ b/src/views/rule-engine/Scene/Save/Device/AddModal.vue @@ -59,10 +59,12 @@ import { detail as deviceDetail } from '@/api/device/instance' import Product from './Product.vue' import DeviceSelect from './DeviceSelect.vue' import Type from './Type.vue' -import {continuousValue, handleTimerOptions, timeUnitEnum} from '@/views/rule-engine/Scene/Save/components/Timer/util' +import { handleTimerOptions } from '@/views/rule-engine/Scene/Save/components/Timer/util' +import { Form } from 'jetlinks-ui-components' type Emit = { (e: 'cancel'): void + (e: 'change', data: TriggerDevice): void (e: 'save', data: TriggerDevice, options: Record): void } @@ -76,6 +78,7 @@ interface AddModelType extends Omit { metadata: metadataType, operator: TriggerDeviceOptions } +const formItemContext = Form.useInjectFormItemContext(); const emit = defineEmits() const typeRef = ref() @@ -165,26 +168,6 @@ const handleOptions = (data: TriggerDeviceOptions) => { _options.when = when; _options.time = time; _options.extraTime = extraTime; - // if (_timer.trigger === 'cron') { - // _options.time = _timer.cron; - // } else { - // // console.log('continuousValue', continuousValue(_timer.when! || [], _timer!.trigger)) - // let whenStr = '每天'; - // if (_timer.when!.length) { - // whenStr = _timer!.trigger === 'week' ? '每周' : '每月'; - // const whenStrArr = continuousValue(_timer.when! || [], _timer!.trigger); - // const whenStrArr3 = whenStrArr.splice(0, 3); - // whenStr += whenStrArr3.join('、'); - // whenStr += `等${_timer.when!.length}天`; - // } - // _options.when = whenStr; - // if (_timer.once) { - // _options.time = _timer.once.time + ' 执行1次'; - // } else if (_timer.period) { - // _options.time = _timer.period.from + '-' + _timer.period.to; - // _options.extraTime = `每${_timer.period.every}${timeUnitEnum[_timer.period.unit]}执行1次`; - // } - // } } if (data.operator === 'online') { @@ -263,6 +246,7 @@ const save = async (step?: number) => { productId: addModel.productId } emit('save', data, _options) + formItemContext.onFieldChange() } } } diff --git a/src/views/rule-engine/Scene/Save/Device/DeviceList.vue b/src/views/rule-engine/Scene/Save/Device/DeviceList.vue index 2d04b220..106a6584 100644 --- a/src/views/rule-engine/Scene/Save/Device/DeviceList.vue +++ b/src/views/rule-engine/Scene/Save/Device/DeviceList.vue @@ -75,7 +75,6 @@ type Emit = { } const params = ref({}) -const context = inject('SceneDeviceAddModel') const props = defineProps({ rowKeys: { type: Array as PropType, diff --git a/src/views/rule-engine/Scene/Save/Device/index.vue b/src/views/rule-engine/Scene/Save/Device/index.vue index cfbebdd3..bae159be 100644 --- a/src/views/rule-engine/Scene/Save/Device/index.vue +++ b/src/views/rule-engine/Scene/Save/Device/index.vue @@ -2,7 +2,7 @@