fix: 修改场景联动

This commit is contained in:
100011797 2023-03-31 11:49:13 +08:00
parent 74c0b9fc0a
commit e510380bde
3 changed files with 7 additions and 9 deletions

View File

@ -43,14 +43,14 @@
</j-form-item> </j-form-item>
<j-form-item <j-form-item
v-else v-else
name="selectorValues" name="upperKey"
label="变量" label="变量"
:rules="[{ required: true, message: '请选择' }]" :rules="[{ required: true, message: '请选择' }]"
> >
<j-tree-select <j-tree-select
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
:tree-data="builtInList" :tree-data="builtInList"
v-model:value="modelRef.selectorValues" v-model:value="modelRef.upperKey"
placeholder="请选择参数" placeholder="请选择参数"
@select="onVariableChange" @select="onVariableChange"
:fieldNames="{ label: 'name', value: 'id' }" :fieldNames="{ label: 'name', value: 'id' }"
@ -302,7 +302,7 @@ const onVariableChange = (val: any, node: any) => {
modelRef.deviceId = val; modelRef.deviceId = val;
modelRef.source = 'upper'; modelRef.source = 'upper';
modelRef.upperKey = val; modelRef.upperKey = val;
modelRef.selectorValues = [{ value: val, name: node.description }] as any; modelRef.selectorValues = undefined // [{ value: val, name: node.description }] as any;
emits('save', unref(modelRef), { name: node.description }); emits('save', unref(modelRef), { name: node.description });
}; };
@ -366,7 +366,7 @@ const onFormSave = () => {
}); });
} }
} else { } else {
resolve(_data); resolve({..._data});
} }
}) })
.catch((err: any) => { .catch((err: any) => {

View File

@ -136,11 +136,9 @@ const onSave = (_data: any) => {
source: DeviceModel.source, source: DeviceModel.source,
selectorValues: DeviceModel.selectorValues, selectorValues: DeviceModel.selectorValues,
productId: DeviceModel.productId, productId: DeviceModel.productId,
upperKey: DeviceModel.upperKey,
message: _data.message, message: _data.message,
}; };
if (DeviceModel.selector === 'variable') {
item.selector = 'fixed';
}
if (DeviceModel.selector === 'relation') { if (DeviceModel.selector === 'relation') {
item.upperKey = 'scene.deviceId'; item.upperKey = 'scene.deviceId';
} }
@ -167,6 +165,7 @@ const onSave = (_data: any) => {
? JSON.stringify(_options?.propertiesValue) ? JSON.stringify(_options?.propertiesValue)
: _options?.propertiesValue) : _options?.propertiesValue)
} }
console.log(item)
emit('save', item, JSON.parse(JSON.stringify(_options))); emit('save', item, JSON.parse(JSON.stringify(_options)));
}; };
@ -181,7 +180,6 @@ const onProductChange = (_val: any, bol: boolean) => {
JSON.parse(_val.metadata || '{}'), JSON.parse(_val.metadata || '{}'),
DeviceModel?.message, DeviceModel?.message,
); );
console.log(flag)
if (!flag) { if (!flag) {
DeviceModel.message = { DeviceModel.message = {
messageType: 'INVOKE_FUNCTION', messageType: 'INVOKE_FUNCTION',

View File

@ -242,7 +242,7 @@
v-else-if="data?.executor === 'device'" v-else-if="data?.executor === 'device'"
@click="onType('device')" @click="onType('device')"
> >
<template v-if="data?.device?.selector === 'fixed'"> <template v-if="['fixed', 'context'].includes(data?.device?.selector)">
<div style='display: flex; align-items: center;'> <div style='display: flex; align-items: center;'>
<AIcon <AIcon
:type=" :type="