From 84c743ac23895c685c0551b29ab65e3a4c8dad41 Mon Sep 17 00:00:00 2001 From: 100011797 <2642441182@qq.com> Date: Wed, 12 Jul 2023 15:43:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DuerOS/Detail/command/index.vue | 56 ++++++++++--------- .../Detail/Running/Property/Detail/Charts.vue | 2 +- src/views/media/Device/Channel/Save.vue | 4 +- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/views/Northbound/DuerOS/Detail/command/index.vue b/src/views/Northbound/DuerOS/Detail/command/index.vue index 126b970e..85f5fe83 100644 --- a/src/views/Northbound/DuerOS/Detail/command/index.vue +++ b/src/views/Northbound/DuerOS/Detail/command/index.vue @@ -123,7 +123,7 @@ placeholder="请选择功能" v-model:value="modelRef.message.functionId" show-search - @change="funcChange" + @change="(e) => funcChange(e)" > { }; const onTypeChange = () => { - modelRef.message = { - properties: undefined, - functionId: undefined, - inputs: [], - value: undefined, - }; + // 需要记住之前的选择, 所以注释了该代码 + // modelRef.message = { + // properties: undefined, + // functionId: undefined, + // inputs: [], + // value: undefined, + // }; +}; + +const funcChange = (val: string, _inputs?: any[]) => { + if (val) { + const arr = + props.metadata?.functions.find((item: any) => item.id === val) + ?.inputs || []; + const list = arr.map((item: any) => { + const _item = _inputs?.find(i => i.id === item.id) + return { + id: item.id, + name: item.name, + value: undefined, + valueType: item?.valueType?.type, + ..._item, + required: item?.expands?.required + }; + }); + modelRef.message.inputs = list; + } }; watch( @@ -232,6 +253,9 @@ watch( if (newVal?.message?.properties) { onPropertyChange(newVal?.message?.properties, true); } + if (newVal?.message?.functionId) { + funcChange(newVal?.message?.functionId, newVal?.message?.inputs); + } } }, { @@ -239,24 +263,6 @@ watch( }, ); -const funcChange = (val: string) => { - if (val) { - const arr = - props.metadata?.functions.find((item: any) => item.id === val) - ?.inputs || []; - const list = arr.map((item: any) => { - return { - id: item.id, - name: item.name, - value: undefined, - valueType: item?.valueType?.type, - required: item?.expands?.required - }; - }); - modelRef.message.inputs = list; - } -}; - const saveBtn = () => new Promise((resolve) => { formRef.value diff --git a/src/views/device/Instance/Detail/Running/Property/Detail/Charts.vue b/src/views/device/Instance/Detail/Running/Property/Detail/Charts.vue index 6b7f6571..88bd55db 100644 --- a/src/views/device/Instance/Detail/Running/Property/Detail/Charts.vue +++ b/src/views/device/Instance/Detail/Running/Property/Detail/Charts.vue @@ -72,7 +72,7 @@ const queryChartsAggList = async () => { { property: prop.data.id, alias: prop.data.id, - agg: agg.value, + agg: _type.value ? agg.value : 'COUNT', }, ], query: { diff --git a/src/views/media/Device/Channel/Save.vue b/src/views/media/Device/Channel/Save.vue index 82b7e95a..67165d94 100644 --- a/src/views/media/Device/Channel/Save.vue +++ b/src/views/media/Device/Channel/Save.vue @@ -302,8 +302,8 @@ const handleSubmit = () => { }; } const res = formData.value.id - ? await ChannelApi.update(formData.value.id, extraFormData) - : await ChannelApi.save(extraFormData); + ? await ChannelApi.update(formData.value.id, extraFormData).finally(() => {loading.value = false;}) + : await ChannelApi.save(extraFormData).finally(() => {loading.value = false;}); if (res.success) { onlyMessage('操作成功'); _vis.value = false;