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 @@