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

View File

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

View File

@ -242,7 +242,7 @@
v-else-if="data?.executor === '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;'>
<AIcon
:type="