Commit d8175c884a52cfe7acd7021de5ce0b694c179a8e

Authored by xp.Huang
2 parents 69a0700e d6954312

Merge branch 'ft-dev' into 'main'

fix:修复场景联动新增数据重复问题,fix:场景联动编辑数据重复问题

See merge request huang/yun-teng-iot-front!132
@@ -105,6 +105,11 @@ export interface ScreenAddModel { @@ -105,6 +105,11 @@ export interface ScreenAddModel {
105 updateTime?: string; 105 updateTime?: string;
106 updater?: string; 106 updater?: string;
107 } 107 }
  108 +
  109 +export interface IChangeStatus {
  110 + status?: number;
  111 + id?: string;
  112 +}
108 export interface ScreenUpdateModel { 113 export interface ScreenUpdateModel {
109 createTime?: string; 114 createTime?: string;
110 creator?: string; 115 creator?: string;
@@ -5,6 +5,7 @@ import { @@ -5,6 +5,7 @@ import {
5 ScreenUpdateModel, 5 ScreenUpdateModel,
6 ScreenLinkPageQueryParam, 6 ScreenLinkPageQueryParam,
7 ScreenByDeptIdParams, 7 ScreenByDeptIdParams,
  8 + IChangeStatus,
8 } from '/@/api/ruleengine/model/ruleengineModel'; 9 } from '/@/api/ruleengine/model/ruleengineModel';
9 10
10 enum ScreenManagerApi { 11 enum ScreenManagerApi {
@@ -16,7 +17,7 @@ enum ScreenManagerApi { @@ -16,7 +17,7 @@ enum ScreenManagerApi {
16 SCREEN_DELETE_URL = '/sceneLinkage', 17 SCREEN_DELETE_URL = '/sceneLinkage',
17 SCREEN_UPDATE_URL = '/sceneLinkage/update', 18 SCREEN_UPDATE_URL = '/sceneLinkage/update',
18 SCREEN_ORGANIZATION_URL = '/organization/me/list', 19 SCREEN_ORGANIZATION_URL = '/organization/me/list',
19 - SCREEN_CHANGE_STATUS = '/sceneLinkage/updateSceneStatus', 20 + SCREEN_CHANGE_STATUS = '/convert/update/scene',
20 SCREEN_GET_BY_DEPTID = '/sceneLinkage/device/', 21 SCREEN_GET_BY_DEPTID = '/sceneLinkage/device/',
21 } 22 }
22 23
@@ -78,10 +79,13 @@ export const screenLinkPageDeleteApi = (ids: string[]) => { @@ -78,10 +79,13 @@ export const screenLinkPageDeleteApi = (ids: string[]) => {
78 79
79 /** 80 /**
80 * 改变场景联动状态 81 * 改变场景联动状态
81 - * @param params sceneLinkageId status 82 + * @param params id status
82 */ 83 */
83 -export const screenLinkPagePutApi = (sceneLinkageId: string, status: number) =>  
84 - defHttp.put({ url: ScreenManagerApi.SCREEN_CHANGE_STATUS + '/' + sceneLinkageId + '/' + status }); 84 +export const screenLinkPagePutApi = (params: IChangeStatus) =>
  85 + defHttp.post({
  86 + url: ScreenManagerApi.SCREEN_CHANGE_STATUS,
  87 + data: params,
  88 + });
85 89
86 /** 90 /**
87 * 根据部门id获取设备列表 91 * 根据部门id获取设备列表
No preview for this file type
@@ -135,6 +135,9 @@ @@ -135,6 +135,9 @@
135 stepThreeData: {}, 135 stepThreeData: {},
136 }); 136 });
137 } else if (isUpdate.value == 2) { 137 } else if (isUpdate.value == 2) {
  138 + postEditId.value = data.record.id;
  139 + getBackendData = await deviceConfigGetDetail(postEditId.value);
  140 + editData.value = getBackendData;
138 proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(true); 141 proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(true);
139 isShowRule.value = true; 142 isShowRule.value = true;
140 isShowOkBtnFalse.value = true; 143 isShowOkBtnFalse.value = true;
@@ -144,17 +147,17 @@ @@ -144,17 +147,17 @@
144 proxy.$refs.DeviceProfileStep1Ref.customResetStepOneFunc(); 147 proxy.$refs.DeviceProfileStep1Ref.customResetStepOneFunc();
145 //回显第一步数据 148 //回显第一步数据
146 proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ 149 proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({
147 - name: data.record.name,  
148 - defaultRuleChainId: data.record.defaultRuleChainId,  
149 - defaultQueueName: data.record.defaultQueueName,  
150 - description: data.record.description, 150 + name: editData.value.name,
  151 + defaultRuleChainId: editData.value.defaultRuleChainId,
  152 + defaultQueueName: editData.value.defaultQueueName,
  153 + description: editData.value.description,
151 }); 154 });
152 proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc(); 155 proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc();
153 proxy.$refs.DeviceProfileStep3Ref.addAlarmRule(); 156 proxy.$refs.DeviceProfileStep3Ref.addAlarmRule();
  157 + } else if (isUpdate.value == 3) {
154 postEditId.value = data.record.id; 158 postEditId.value = data.record.id;
155 getBackendData = await deviceConfigGetDetail(postEditId.value); 159 getBackendData = await deviceConfigGetDetail(postEditId.value);
156 editData.value = getBackendData; 160 editData.value = getBackendData;
157 - } else if (isUpdate.value == 3) {  
158 proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(false); 161 proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(false);
159 isShowRule.value = false; 162 isShowRule.value = false;
160 isShowOkBtnFalse.value = false; 163 isShowOkBtnFalse.value = false;
@@ -164,16 +167,13 @@ @@ -164,16 +167,13 @@
164 proxy.$refs.DeviceProfileStep1Ref.customResetStepOneFunc(); 167 proxy.$refs.DeviceProfileStep1Ref.customResetStepOneFunc();
165 //回显第一步数据 168 //回显第一步数据
166 proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ 169 proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({
167 - name: data.record.name,  
168 - defaultRuleChainId: data.record.defaultRuleChainId,  
169 - defaultQueueName: data.record.defaultQueueName,  
170 - description: data.record.description, 170 + name: editData.value.name,
  171 + defaultRuleChainId: editData.value.defaultRuleChainId,
  172 + defaultQueueName: editData.value.defaultQueueName,
  173 + description: editData.value.description,
171 }); 174 });
172 proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc(); 175 proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc();
173 proxy.$refs.DeviceProfileStep3Ref.addAlarmRule(); 176 proxy.$refs.DeviceProfileStep3Ref.addAlarmRule();
174 - postEditId.value = data.record.id;  
175 - getBackendData = await deviceConfigGetDetail(postEditId.value);  
176 - editData.value = getBackendData;  
177 } 177 }
178 }); 178 });
179 function handleStepPrev() { 179 function handleStepPrev() {
@@ -9,7 +9,6 @@ export const alertContactsSchemas: FormSchema[] = [ @@ -9,7 +9,6 @@ export const alertContactsSchemas: FormSchema[] = [
9 component: 'ApiSelect', 9 component: 'ApiSelect',
10 componentProps: { 10 componentProps: {
11 mode: 'multiple', 11 mode: 'multiple',
12 -  
13 api: alarmContactGetPage, 12 api: alarmContactGetPage,
14 labelField: 'username', 13 labelField: 'username',
15 valueField: 'id', 14 valueField: 'id',
@@ -26,7 +26,7 @@ export const step1Schemas: FormSchema[] = [ @@ -26,7 +26,7 @@ export const step1Schemas: FormSchema[] = [
26 //规则链(string) 26 //规则链(string)
27 { 27 {
28 field: 'defaultRuleChainId', 28 field: 'defaultRuleChainId',
29 - label: '请选择规则链', 29 + label: '规则链',
30 component: 'ApiSelect', 30 component: 'ApiSelect',
31 componentProps: { 31 componentProps: {
32 api: async () => { 32 api: async () => {
@@ -48,6 +48,21 @@ export const step1Schemas: FormSchema[] = [ @@ -48,6 +48,21 @@ export const step1Schemas: FormSchema[] = [
48 field: 'defaultQueueName', 48 field: 'defaultQueueName',
49 label: '处理队列', 49 label: '处理队列',
50 component: 'ApiSelect', 50 component: 'ApiSelect',
  51 + // componentProps: {
  52 + // api: async () => {
  53 + // const data = await findDictItemByCode({ dictCode: 'queen_execute_sequence' });
  54 + // const returnData = data.map((m) => {
  55 + // return {
  56 + // getLabelField: m.itemText,
  57 + // getValueField: m.itemValue,
  58 + // };
  59 + // });
  60 + // return returnData;
  61 + // },
  62 + // labelField: 'getLabelField',
  63 + // valueField: 'getValueField',
  64 + // immediate: true,
  65 + // },
51 componentProps: { 66 componentProps: {
52 api: findDictItemByCode, 67 api: findDictItemByCode,
53 params: { 68 params: {
@@ -55,8 +70,10 @@ export const step1Schemas: FormSchema[] = [ @@ -55,8 +70,10 @@ export const step1Schemas: FormSchema[] = [
55 }, 70 },
56 labelField: 'itemText', 71 labelField: 'itemText',
57 valueField: 'itemValue', 72 valueField: 'itemValue',
  73 + resultField: 'items',
58 }, 74 },
59 }, 75 },
  76 +
60 { 77 {
61 label: '描述', 78 label: '描述',
62 field: 'description', 79 field: 'description',
@@ -65,19 +82,6 @@ export const step1Schemas: FormSchema[] = [ @@ -65,19 +82,6 @@ export const step1Schemas: FormSchema[] = [
65 maxLength: 255, 82 maxLength: 255,
66 placeholder: '请输入描述', 83 placeholder: '请输入描述',
67 }, 84 },
68 - dynamicRules: () => {  
69 - return [  
70 - {  
71 - required: false,  
72 - validator: (_, value) => {  
73 - if (String(value).length > 255) {  
74 - return Promise.reject('字数不超过255个字');  
75 - }  
76 - return Promise.resolve();  
77 - },  
78 - },  
79 - ];  
80 - },  
81 }, 85 },
82 ]; 86 ];
83 87
@@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
59 const updateFieldDeviceId = (v) => { 59 const updateFieldDeviceId = (v) => {
60 setTimeout(() => { 60 setTimeout(() => {
61 updateSchema({ 61 updateSchema({
62 - field: 'entityId', 62 + field: 'deviceId',
63 componentProps: { 63 componentProps: {
64 options: v, 64 options: v,
65 }, 65 },
@@ -80,7 +80,7 @@ @@ -80,7 +80,7 @@
80 if (props.newActionMapFather !== 1) { 80 if (props.newActionMapFather !== 1) {
81 setTimeout(() => { 81 setTimeout(() => {
82 updateSchema({ 82 updateSchema({
83 - field: 'entityId', 83 + field: 'deviceId',
84 componentProps: { 84 componentProps: {
85 options: props.newActionMapFather, 85 options: props.newActionMapFather,
86 }, 86 },
@@ -92,7 +92,7 @@ @@ -92,7 +92,7 @@
92 //新增清空设备选择 92 //新增清空设备选择
93 const clearSelectDevice = () => { 93 const clearSelectDevice = () => {
94 updateSchema({ 94 updateSchema({
95 - field: 'entityId', 95 + field: 'deviceId',
96 componentProps: { 96 componentProps: {
97 options: [], 97 options: [],
98 }, 98 },
@@ -30,9 +30,17 @@ export enum AttributeActionEnum { @@ -30,9 +30,17 @@ export enum AttributeActionEnum {
30 30
31 export enum AttrAndWenDuEnum { 31 export enum AttrAndWenDuEnum {
32 IS_ALL_ATTR = 'ALL_ATTR', 32 IS_ALL_ATTR = 'ALL_ATTR',
33 - IS_WENDU_ACT = 'temp',  
34 - IS_SHIDU = 'temp', 33 + IS_WENDU_ACT = 'NUMERIC',
  34 + IS_SHIDU = 'NUMERIC',
  35 + IS_CONDITION_WENDU = 'NUMERIC2',
  36 + IS_CONDITION_SHIDU = 'NUMERIC1',
35 } 37 }
  38 +export const isConditionShiDu = (type: string) => {
  39 + return type === AttrAndWenDuEnum.IS_CONDITION_SHIDU;
  40 +};
  41 +export const isConditionWenDu = (type: string) => {
  42 + return type === AttrAndWenDuEnum.IS_CONDITION_WENDU;
  43 +};
36 44
37 export const isShiDu = (type: string) => { 45 export const isShiDu = (type: string) => {
38 return type === AttrAndWenDuEnum.IS_SHIDU; 46 return type === AttrAndWenDuEnum.IS_SHIDU;
@@ -43,7 +51,7 @@ export const isWenDu = (type: string) => { @@ -43,7 +51,7 @@ export const isWenDu = (type: string) => {
43 }; 51 };
44 52
45 export const isTimeAll = (type: string) => { 53 export const isTimeAll = (type: string) => {
46 - return type === TriggerEnum.IS_TIME_ALL; 54 + return type === TriggerEnum.IS_TIME_ACT;
47 }; 55 };
48 56
49 export const isMsg = (type: string) => { 57 export const isMsg = (type: string) => {
@@ -107,7 +115,7 @@ export const columns: BasicColumn[] = [ @@ -107,7 +115,7 @@ export const columns: BasicColumn[] = [
107 record.pendingStatus = true; 115 record.pendingStatus = true;
108 const newStatus = checked ? 1 : 0; 116 const newStatus = checked ? 1 : 0;
109 const { createMessage } = useMessage(); 117 const { createMessage } = useMessage();
110 - screenLinkPagePutApi(record.id, newStatus) 118 + screenLinkPagePutApi({ id: record.id, status: newStatus })
111 .then(() => { 119 .then(() => {
112 record.status = newStatus; 120 record.status = newStatus;
113 if (record.status == 1) { 121 if (record.status == 1) {
@@ -265,7 +273,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [ @@ -265,7 +273,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [
265 }, 273 },
266 }, 274 },
267 { 275 {
268 - field: 'entityIdCorn', 276 + field: 'entityId1',
269 component: 'Input', 277 component: 'Input',
270 label: '', 278 label: '',
271 componentProps: { 279 componentProps: {
@@ -275,7 +283,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [ @@ -275,7 +283,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [
275 colProps: { 283 colProps: {
276 span: 12, 284 span: 12,
277 }, 285 },
278 - ifShow: ({ values }) => isTime(Reflect.get(values, 'triggerType')), 286 + ifShow: ({ values }) => isTimeAll(Reflect.get(values, 'triggerType')),
279 }, 287 },
280 { 288 {
281 field: 'type1', 289 field: 'type1',
@@ -320,8 +328,8 @@ export const useTriggerDrawerSchema: FormSchema[] = [ @@ -320,8 +328,8 @@ export const useTriggerDrawerSchema: FormSchema[] = [
320 componentProps: { 328 componentProps: {
321 placeholder: '全部属性', 329 placeholder: '全部属性',
322 options: [ 330 options: [
323 - { label: '全部属性', value: 'All_ATTR' },  
324 - { label: 'wendu', value: 'temp' }, 331 + { label: '全部属性', value: 'STRING' },
  332 + { label: 'wendu', value: 'NUMERIC' },
325 ], 333 ],
326 }, 334 },
327 ifShow: ({ values }) => 335 ifShow: ({ values }) =>
@@ -364,7 +372,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [ @@ -364,7 +372,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [
364 372
365 ifShow: ({ values }) => 373 ifShow: ({ values }) =>
366 isWenDu(Reflect.get(values, 'type2')) && 374 isWenDu(Reflect.get(values, 'type2')) &&
367 - !isUpAndDown(Reflect.get(values, 'type')) && 375 + !isUpAndDown(Reflect.get(values, 'type1')) &&
368 !isTime(Reflect.get(values, 'triggerType')) && 376 !isTime(Reflect.get(values, 'triggerType')) &&
369 !isScene(Reflect.get(values, 'triggerType')) && 377 !isScene(Reflect.get(values, 'triggerType')) &&
370 !isHand(Reflect.get(values, 'triggerType')), 378 !isHand(Reflect.get(values, 'triggerType')),
@@ -374,7 +382,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [ @@ -374,7 +382,7 @@ export const useTriggerDrawerSchema: FormSchema[] = [
374 }, 382 },
375 383
376 { 384 {
377 - field: 'entityIdScene', 385 + field: 'entityId2',
378 label: '', 386 label: '',
379 component: 'Select', 387 component: 'Select',
380 colProps: { 388 colProps: {
@@ -456,21 +464,21 @@ export const useConditionDrawerSchema: FormSchema[] = [ @@ -456,21 +464,21 @@ export const useConditionDrawerSchema: FormSchema[] = [
456 ifShow: ({ values }) => isTimeAll(Reflect.get(values, 'triggerType')), 464 ifShow: ({ values }) => isTimeAll(Reflect.get(values, 'triggerType')),
457 }, 465 },
458 { 466 {
459 - field: 'key', 467 + field: 'type',
460 label: '', 468 label: '',
461 component: 'Select', 469 component: 'Select',
462 componentProps: { 470 componentProps: {
463 placeholder: '请选择或者输入属性', 471 placeholder: '请选择或者输入属性',
464 options: [ 472 options: [
465 - { label: 'shidu', value: 'temp' },  
466 - { label: 'wendu', value: 'temp' }, 473 + { label: 'shidu', value: 'NUMERIC1' },
  474 + { label: 'wendu', value: 'NUMERIC2' },
467 ], 475 ],
468 }, 476 },
469 ifShow: ({ values }) => !isTimeAll(Reflect.get(values, 'triggerType')), 477 ifShow: ({ values }) => !isTimeAll(Reflect.get(values, 'triggerType')),
470 colProps: { span: 12 }, 478 colProps: { span: 12 },
471 }, 479 },
472 { 480 {
473 - field: 'operation', 481 + field: 'operation1',
474 label: '', 482 label: '',
475 component: 'Select', 483 component: 'Select',
476 componentProps: { 484 componentProps: {
@@ -484,11 +492,12 @@ export const useConditionDrawerSchema: FormSchema[] = [ @@ -484,11 +492,12 @@ export const useConditionDrawerSchema: FormSchema[] = [
484 ], 492 ],
485 }, 493 },
486 ifShow: ({ values }) => 494 ifShow: ({ values }) =>
487 - isShiDu(Reflect.get(values, 'key')) && !isTimeAll(Reflect.get(values, 'triggerType')), 495 + isConditionShiDu(Reflect.get(values, 'type')) &&
  496 + !isTimeAll(Reflect.get(values, 'triggerType')),
488 colProps: { span: 12 }, 497 colProps: { span: 12 },
489 }, 498 },
490 { 499 {
491 - field: 'value', 500 + field: 'value1',
492 component: 'Input', 501 component: 'Input',
493 label: '', 502 label: '',
494 componentProps: { 503 componentProps: {
@@ -497,14 +506,15 @@ export const useConditionDrawerSchema: FormSchema[] = [ @@ -497,14 +506,15 @@ export const useConditionDrawerSchema: FormSchema[] = [
497 }, 506 },
498 507
499 ifShow: ({ values }) => 508 ifShow: ({ values }) =>
500 - isShiDu(Reflect.get(values, 'key')) && !isTimeAll(Reflect.get(values, 'triggerType')), 509 + isConditionShiDu(Reflect.get(values, 'type')) &&
  510 + !isTimeAll(Reflect.get(values, 'triggerType')),
501 colProps: { 511 colProps: {
502 span: 12, 512 span: 12,
503 }, 513 },
504 }, 514 },
505 515
506 { 516 {
507 - field: 'operation', 517 + field: 'operation2',
508 label: '', 518 label: '',
509 component: 'Select', 519 component: 'Select',
510 componentProps: { 520 componentProps: {
@@ -518,11 +528,12 @@ export const useConditionDrawerSchema: FormSchema[] = [ @@ -518,11 +528,12 @@ export const useConditionDrawerSchema: FormSchema[] = [
518 ], 528 ],
519 }, 529 },
520 ifShow: ({ values }) => 530 ifShow: ({ values }) =>
521 - isWenDu(Reflect.get(values, 'key')) && !isTimeAll(Reflect.get(values, 'triggerType')), 531 + isConditionWenDu(Reflect.get(values, 'type')) &&
  532 + !isTimeAll(Reflect.get(values, 'triggerType')),
522 colProps: { span: 12 }, 533 colProps: { span: 12 },
523 }, 534 },
524 { 535 {
525 - field: 'value', 536 + field: 'value2',
526 component: 'Input', 537 component: 'Input',
527 label: '', 538 label: '',
528 componentProps: { 539 componentProps: {
@@ -530,7 +541,8 @@ export const useConditionDrawerSchema: FormSchema[] = [ @@ -530,7 +541,8 @@ export const useConditionDrawerSchema: FormSchema[] = [
530 placeholder: '请输入比较值', 541 placeholder: '请输入比较值',
531 }, 542 },
532 ifShow: ({ values }) => 543 ifShow: ({ values }) =>
533 - isWenDu(Reflect.get(values, 'key')) && !isTimeAll(Reflect.get(values, 'triggerType')), 544 + isConditionWenDu(Reflect.get(values, 'type')) &&
  545 + !isTimeAll(Reflect.get(values, 'triggerType')),
534 colProps: { 546 colProps: {
535 span: 12, 547 span: 12,
536 }, 548 },
@@ -554,7 +566,7 @@ export const useActionDrawerSchema: FormSchema[] = [ @@ -554,7 +566,7 @@ export const useActionDrawerSchema: FormSchema[] = [
554 colProps: { span: 12 }, 566 colProps: { span: 12 },
555 }, 567 },
556 { 568 {
557 - field: 'entityId', 569 + field: 'deviceId',
558 label: '', 570 label: '',
559 component: 'Select', 571 component: 'Select',
560 componentProps: { 572 componentProps: {
@@ -606,7 +618,7 @@ export const useActionDrawerSchema: FormSchema[] = [ @@ -606,7 +618,7 @@ export const useActionDrawerSchema: FormSchema[] = [
606 ifShow: ({ values }) => isMsg(Reflect.get(values, 'outTarget')), 618 ifShow: ({ values }) => isMsg(Reflect.get(values, 'outTarget')),
607 }, 619 },
608 { 620 {
609 - field: 'sceneLinkageId', 621 + field: 'entityId',
610 label: '', 622 label: '',
611 component: 'Select', 623 component: 'Select',
612 colProps: { 624 colProps: {
1 export interface IAddTrigger { 1 export interface IAddTrigger {
2 triggerType: string; 2 triggerType: string;
3 - deviceId: string; 3 + entityId: string;
4 touchWay: string; 4 touchWay: string;
5 attributeChoose: string; 5 attributeChoose: string;
6 compare: string; 6 compare: string;
@@ -9,7 +9,7 @@ export interface IAddTrigger { @@ -9,7 +9,7 @@ export interface IAddTrigger {
9 9
10 export interface IAddCondition { 10 export interface IAddCondition {
11 triggerType: string; 11 triggerType: string;
12 - deviceId: string; 12 + entityId: string;
13 createTime: string; 13 createTime: string;
14 updateTime: string; 14 updateTime: string;
15 compare: string; 15 compare: string;
@@ -167,7 +167,7 @@ @@ -167,7 +167,7 @@
167 import AddTriggerForm from './addForm/trigger.vue'; 167 import AddTriggerForm from './addForm/trigger.vue';
168 import AddConditiForm from './addForm/condition.vue'; 168 import AddConditiForm from './addForm/condition.vue';
169 import AddActionForm from './addForm/doaction.vue'; 169 import AddActionForm from './addForm/doaction.vue';
170 - import { IAddTrigger, IAddCondition, IAddAction } from './index'; 170 + import { IAddTrigger } from './index';
171 import { Button } from '/@/components/Button'; 171 import { Button } from '/@/components/Button';
172 172
173 export default defineComponent({ 173 export default defineComponent({
@@ -184,8 +184,6 @@ @@ -184,8 +184,6 @@
184 setup(_, { emit }) { 184 setup(_, { emit }) {
185 const { proxy } = getCurrentInstance(); 185 const { proxy } = getCurrentInstance();
186 const lastEditRefTriggerChildDataArray = ref<[]>([]); 186 const lastEditRefTriggerChildDataArray = ref<[]>([]);
187 - const lastEditRefConditionChildDataArray = ref<[]>([]);  
188 - const lastEditRefActionChildDataArray = ref<[]>([]);  
189 const lastRefTriggerChildDataArray = ref<[]>([]); 187 const lastRefTriggerChildDataArray = ref<[]>([]);
190 const lastRefConditionChildDataArray = ref<[]>([]); 188 const lastRefConditionChildDataArray = ref<[]>([]);
191 const lastRefActionChildDataArray = ref<[]>([]); 189 const lastRefActionChildDataArray = ref<[]>([]);
@@ -200,42 +198,6 @@ @@ -200,42 +198,6 @@
200 compare: '', 198 compare: '',
201 value: '', 199 value: '',
202 }); 200 });
203 - const editTriggerData = reactive<IAddTrigger>({  
204 - triggerType: '',  
205 - entityId: '请选择设备',  
206 - touchWay: '请选择触发方式',  
207 - attributeChoose: '请选择属性',  
208 - compare: '',  
209 - value: '',  
210 - });  
211 - const addConditionData = reactive<IAddCondition>({  
212 - triggerType: '',  
213 - entityId: '',  
214 - createTime: '',  
215 - updateTime: '',  
216 - compare: '',  
217 - value: '',  
218 - });  
219 - const editConditionData = reactive<IAddCondition>({  
220 - entityId: '请选择设备',  
221 - createTime: '',  
222 - updateTime: '',  
223 - triggerType: '',  
224 - compare: '',  
225 - value: '',  
226 - });  
227 - const addActionData = reactive<IAddAction>({  
228 - outTarget: '',  
229 - entityId: '',  
230 - command: '',  
231 - sceneLinkageId: '',  
232 - });  
233 - const editActionData = reactive<IAddAction>({  
234 - outTarget: '',  
235 - entityId: '请选择设备',  
236 - command: '请输入执行命令',  
237 - sceneLinkageId: '',  
238 - });  
239 const addTriggerPushData = ref<[]>([]); 201 const addTriggerPushData = ref<[]>([]);
240 const addConditionPushData = ref<[]>([]); 202 const addConditionPushData = ref<[]>([]);
241 const addActionPushData = ref<[]>([]); 203 const addActionPushData = ref<[]>([]);
@@ -261,10 +223,9 @@ @@ -261,10 +223,9 @@
261 const newConditionFilterMap = ref<[]>([]); 223 const newConditionFilterMap = ref<[]>([]);
262 const newActionFilterMap = ref<[]>([]); 224 const newActionFilterMap = ref<[]>([]);
263 let filterNewConditionArr = []; 225 let filterNewConditionArr = [];
264 - let filterNewActionArr = [];  
265 - const pushEditArray = [];  
266 - const pushEditConditionArray = [];  
267 - const pushEditActionArray = []; 226 + const pushEditArray = ref<any>([{}]);
  227 + const pushEditConditionArray = ref<any>([{}]);
  228 + const pushEditActionArray = ref<any>([{}]);
268 let filterArrayTrigger = []; 229 let filterArrayTrigger = [];
269 const filterArrayCondition = ref<[]>([]); 230 const filterArrayCondition = ref<[]>([]);
270 const filterArrayAction = ref<[]>([]); 231 const filterArrayAction = ref<[]>([]);
@@ -279,6 +240,7 @@ @@ -279,6 +240,7 @@
279 doActions: [], 240 doActions: [],
280 }; 241 };
281 let optionsItemArray = ref<[]>([]); 242 let optionsItemArray = ref<[]>([]);
  243 + const isNoChange = ref(false);
282 244
283 const [registerForm, { resetFields, setFieldsValue, validateFields }] = useForm({ 245 const [registerForm, { resetFields, setFieldsValue, validateFields }] = useForm({
284 labelWidth: 120, 246 labelWidth: 120,
@@ -291,8 +253,6 @@ @@ -291,8 +253,6 @@
291 isUpdate.value = !!data?.isUpdate; 253 isUpdate.value = !!data?.isUpdate;
292 if (!unref(isUpdate)) { 254 if (!unref(isUpdate)) {
293 try { 255 try {
294 - filterNewActionArr = [];  
295 - filterNewActionArr.length = 0;  
296 refTriggerChildData = {}; 256 refTriggerChildData = {};
297 refConditionChildData = {}; 257 refConditionChildData = {};
298 refActionChildData = {}; 258 refActionChildData = {};
@@ -337,45 +297,51 @@ @@ -337,45 +297,51 @@
337 return e; 297 return e;
338 } 298 }
339 } else { 299 } else {
340 - newFilterMap.value = [];  
341 - newConditionFilterMap.value = [];  
342 - newActionFilterMap.value = [];  
343 - clearAllArrayFunc();  
344 - editTriggerPushData.value = [];  
345 - editTriggerPushData.value.length = 0;  
346 - editConditionPushData.value = [];  
347 - editConditionPushData.value.length = 0;  
348 - editActionPushData.value = [];  
349 - editActionPushData.value.length = 0;  
350 - lastEditRefTriggerChildDataArray.value = [];  
351 - getId.value = data.record.id;  
352 - getTenantId.value = data.record.tenantId;  
353 - await setFieldsValue({  
354 - ...data.record,  
355 - });  
356 - editTriggerPushData.value = data.record.triggers;  
357 - editConditionPushData.value = data.record.doConditions;  
358 - editActionPushData.value = data.record.doActions;  
359 - const options = await screenLinkPageByDeptIdGetDevice({  
360 - organizationId: data.record.organizationId,  
361 - });  
362 try { 300 try {
  301 + pushEditArray.value = [];
  302 + pushEditArray.value.length = 0;
  303 + pushEditConditionArray.value.length = 0;
  304 + pushEditConditionArray.value = [];
  305 + pushEditActionArray.value = [];
  306 + pushEditActionArray.value.length = 0;
  307 + newFilterMap.value = [];
  308 + newConditionFilterMap.value = [];
  309 + newActionFilterMap.value = [];
  310 + clearAllArrayFunc();
  311 + editTriggerPushData.value = [];
  312 + editTriggerPushData.value.length = 0;
  313 + editConditionPushData.value = [];
  314 + editConditionPushData.value.length = 0;
  315 + editActionPushData.value = [];
  316 + editActionPushData.value.length = 0;
  317 + lastEditRefTriggerChildDataArray.value = [];
  318 + getId.value = data.record.id;
  319 + getTenantId.value = data.record.tenantId;
  320 + await setFieldsValue({
  321 + ...data.record,
  322 + });
  323 + editTriggerPushData.value = data.record.triggers;
  324 + isNoChange.value = true;
  325 + editConditionPushData.value = data.record.doConditions;
  326 + editActionPushData.value = data.record.doActions;
  327 + const options = await screenLinkPageByDeptIdGetDevice({
  328 + organizationId: data.record.organizationId,
  329 + });
363 data.record.triggers.forEach((f1) => { 330 data.record.triggers.forEach((f1) => {
364 options.items?.forEach((f2) => { 331 options.items?.forEach((f2) => {
365 - if (f2.id == f1.entityId) { 332 + if (f2.tbDeviceId == f1.entityId) {
366 newFilterMap.value.push({ 333 newFilterMap.value.push({
367 - value: f2.id, 334 + value: f2.tbDeviceId,
368 label: f2.name, 335 label: f2.name,
369 }); 336 });
370 } 337 }
371 }); 338 });
372 }); 339 });
373 -  
374 data.record.doConditions.forEach((f1) => { 340 data.record.doConditions.forEach((f1) => {
375 options.items?.forEach((f2) => { 341 options.items?.forEach((f2) => {
376 - if (f2.id == f1.entityId) { 342 + if (f2.tbDeviceId == f1.entityId) {
377 newConditionFilterMap.value.push({ 343 newConditionFilterMap.value.push({
378 - value: f2.id, 344 + value: f2.tbDeviceId,
379 label: f2.name, 345 label: f2.name,
380 }); 346 });
381 } 347 }
@@ -383,20 +349,24 @@ @@ -383,20 +349,24 @@
383 }); 349 });
384 data.record.doActions.forEach((f1) => { 350 data.record.doActions.forEach((f1) => {
385 options.items?.forEach((f2) => { 351 options.items?.forEach((f2) => {
386 - if (f2.id == f1.entityId) { 352 + if (f2.tbDeviceId == f1.deviceId) {
387 newActionFilterMap.value.push({ 353 newActionFilterMap.value.push({
388 - value: f2.id, 354 + value: f2.tbDeviceId,
389 label: f2.name, 355 label: f2.name,
390 }); 356 });
391 } 357 }
392 }); 358 });
393 }); 359 });
394 - } catch (e) {} 360 + } catch (e) {
  361 + return e;
  362 + }
395 } 363 }
396 }); 364 });
397 const getTitle = computed(() => (!unref(isUpdate) ? '新增场景联动' : '编辑场景联动')); 365 const getTitle = computed(() => (!unref(isUpdate) ? '新增场景联动' : '编辑场景联动'));
398 const handleClose = () => { 366 const handleClose = () => {
399 - pushEditArray.length = 0; 367 + pushEditArray.value.length = 0;
  368 + pushEditConditionArray.value.length = 0;
  369 + pushEditActionArray.value.length = 0;
400 lastRefTriggerChildDataArray.value.length = 0; 370 lastRefTriggerChildDataArray.value.length = 0;
401 lastRefTriggerChildDataArray.value = []; 371 lastRefTriggerChildDataArray.value = [];
402 lastRefConditionChildDataArray.value.length = 0; 372 lastRefConditionChildDataArray.value.length = 0;
@@ -431,12 +401,9 @@ @@ -431,12 +401,9 @@
431 } 401 }
432 }; 402 };
433 watch(getData, async (newV) => { 403 watch(getData, async (newV) => {
434 - // getDeviceInfo.value = newV;  
435 - // getDeviceInfo1.value = newV;  
436 - // getDeviceInfo2.value = newV;  
437 const options = await screenLinkPageByDeptIdGetDevice({ organizationId: newV }); 404 const options = await screenLinkPageByDeptIdGetDevice({ organizationId: newV });
438 options.items.forEach((v) => { 405 options.items.forEach((v) => {
439 - return (v.value = v.id), (v.label = v.name); 406 + return (v.value = v.tbDeviceId), (v.label = v.name);
440 }); 407 });
441 optionsItemArray.value = options.items; 408 optionsItemArray.value = options.items;
442 updateDeviceIdFunc(optionsItemArray.value); 409 updateDeviceIdFunc(optionsItemArray.value);
@@ -457,7 +424,7 @@ @@ -457,7 +424,7 @@
457 } 424 }
458 }; 425 };
459 426
460 - //触发器方法 427 + //获取触发器方法
461 const refTriggerChildDataFunc = () => { 428 const refTriggerChildDataFunc = () => {
462 try { 429 try {
463 refTriggerChildData = proxy.$refs.refTriggerChild.getFieldsValueFunc(); 430 refTriggerChildData = proxy.$refs.refTriggerChild.getFieldsValueFunc();
@@ -465,7 +432,7 @@ @@ -465,7 +432,7 @@
465 return e; 432 return e;
466 } 433 }
467 }; 434 };
468 - //执行条件方法 435 + //获取执行条件方法
469 const refConditionChildDataFunc = () => { 436 const refConditionChildDataFunc = () => {
470 try { 437 try {
471 refConditionChildData = proxy.$refs.refConditionChild.getFieldsValueFunc(); 438 refConditionChildData = proxy.$refs.refConditionChild.getFieldsValueFunc();
@@ -473,7 +440,7 @@ @@ -473,7 +440,7 @@
473 return e; 440 return e;
474 } 441 }
475 }; 442 };
476 - //执行动作方法 443 + //获取执行动作方法
477 const refActionChildDataFunc = () => { 444 const refActionChildDataFunc = () => {
478 try { 445 try {
479 refActionChildData = proxy.$refs.refActionChild.getFieldsValueFunc(); 446 refActionChildData = proxy.$refs.refActionChild.getFieldsValueFunc();
@@ -484,101 +451,75 @@ @@ -484,101 +451,75 @@
484 451
485 const getDefaultValue = () => { 452 const getDefaultValue = () => {
486 if (!unref(isUpdate)) { 453 if (!unref(isUpdate)) {
  454 + refTriggerChildDataFunc();
  455 + refConditionChildDataFunc();
  456 + refActionChildDataFunc();
  457 + const newTriggerArray = addTriggerPushData.value.concat(refTriggerChildData);
  458 + const newConditionArray = addConditionPushData.value.concat(refConditionChildData);
  459 + const newActionArray = addActionPushData.value.concat(refActionChildData);
  460 + newTriggerArray.shift();
  461 + newConditionArray.shift();
  462 + newActionArray.shift();
487 delete getAllFormData.id; 463 delete getAllFormData.id;
488 delete getAllFormData.getTenantId; 464 delete getAllFormData.getTenantId;
489 triggersObj = { 465 triggersObj = {
490 - triggers: lastRefTriggerChildDataArray.value, 466 + triggers: newTriggerArray,
491 }; 467 };
492 conditionsObj = { 468 conditionsObj = {
493 - doConditions: lastRefConditionChildDataArray.value, 469 + doConditions: newConditionArray,
494 }; 470 };
495 actionsObj = { 471 actionsObj = {
496 - doActions: lastRefActionChildDataArray.value, 472 + doActions: newActionArray,
497 }; 473 };
498 Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj); 474 Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj);
499 } else { 475 } else {
500 - refTriggerChildDataFunc();  
501 - refConditionChildDataFunc();  
502 - refActionChildDataFunc();  
503 - pushEditArray.push(refTriggerChildData as never);  
504 - pushEditConditionArray.push(refConditionChildData as never);  
505 - pushEditActionArray.push(refActionChildData as never);  
506 - pushEditArray.forEach((f) => {  
507 - editTriggerPushData.value.push(f as never);  
508 - });  
509 - pushEditConditionArray.forEach((f) => {  
510 - editConditionPushData.value.push(f as never);  
511 - });  
512 - pushEditActionArray.forEach((f) => {  
513 - editActionPushData.value.push(f as never);  
514 - });  
515 - const filterTwoArrayTrigger = editTriggerPushData.value.filter((f) =>  
516 - f?.hasOwnProperty('id')  
517 - );  
518 -  
519 - const filterTwoArrayCondition = editConditionPushData.value.filter((f) =>  
520 - f?.hasOwnProperty('id')  
521 - );  
522 -  
523 - const filterTwoArrayAction = editActionPushData.value.filter((f) =>  
524 - f?.hasOwnProperty('id')  
525 - );  
526 -  
527 - const filterThreeArrayTrigger = editTriggerPushData.value.filter(  
528 - (f) => f?.entityId == ''  
529 - );  
530 - const filterThreeArrayCondition = editConditionPushData.value.filter(  
531 - (f) => f?.entityId == ''  
532 - );  
533 - const filterThreeArrayAction = editActionPushData.value.filter((f) => f?.entityId == '');  
534 - const filterFourArrayTrigger = filterThreeArrayTrigger.filter(  
535 - (f) => f?.triggerType !== ''  
536 - );  
537 - const filterFourArrayCondition = filterThreeArrayCondition.filter(  
538 - (f) => f?.triggerType !== ''  
539 - );  
540 -  
541 - const filterFourArrayAction = filterThreeArrayAction.filter((f) => f?.outTarget !== '');  
542 -  
543 - filterFourArrayTrigger.forEach((f) => {  
544 - filterTwoArrayTrigger.push(f); 476 + let kongTriggerObj = {};
  477 + let kongConditionObj = {};
  478 + let kongActionObj = {};
  479 + editTriggerPushData.value.forEach((f) => {
  480 + kongTriggerObj = f;
  481 + pushEditArray.value.push(kongTriggerObj);
545 }); 482 });
546 - filterFourArrayCondition.forEach((f) => {  
547 - filterTwoArrayCondition.push(f); 483 + editConditionPushData.value.forEach((f) => {
  484 + kongConditionObj = f;
  485 + pushEditConditionArray.value.push(kongConditionObj);
548 }); 486 });
549 - filterFourArrayAction.forEach((f) => {  
550 - filterTwoArrayAction.push(f); 487 + editActionPushData.value.forEach((f) => {
  488 + kongActionObj = f;
  489 + pushEditActionArray.value.push(kongActionObj);
551 }); 490 });
552 -  
553 - let editTriggersObj = {  
554 - triggers: filterTwoArrayTrigger, 491 + refTriggerChildDataFunc();
  492 + let newTriggerArray = pushEditArray.value.concat(refTriggerChildData);
  493 + newTriggerArray = newTriggerArray.filter((f) => Object.keys(f).length !== 0);
  494 + newTriggerArray.shift();
  495 + triggersObj = {
  496 + triggers: isNoChange.value ? editTriggerPushData.value : newTriggerArray,
555 }; 497 };
556 - let editConditionsObj = {  
557 - doConditions: filterTwoArrayCondition, 498 + refConditionChildDataFunc();
  499 + let newConditionArray = pushEditConditionArray.value.concat(refConditionChildData);
  500 + newConditionArray = newConditionArray.filter((f) => Object.keys(f).length !== 0);
  501 + newConditionArray.shift();
  502 + conditionsObj = {
  503 + doConditions: newConditionArray,
558 }; 504 };
559 - let editActionsObj = {  
560 - doActions: filterTwoArrayAction, 505 + refActionChildDataFunc();
  506 + let newActionArray = pushEditActionArray.value.concat(refActionChildData);
  507 + newActionArray = newActionArray.filter((f) => Object.keys(f).length !== 0);
  508 + newActionArray.shift();
  509 + actionsObj = {
  510 + doActions: newActionArray,
561 }; 511 };
562 - Object.assign(getAllFormData, editTriggersObj, editConditionsObj, editActionsObj); 512 + Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj);
563 } 513 }
564 }; 514 };
565 515
566 const handleSubmit = async () => { 516 const handleSubmit = async () => {
567 if (!unref(isUpdate)) { 517 if (!unref(isUpdate)) {
568 - addTrigger();  
569 - addCondition();  
570 - addAction();  
571 getDefaultValue(); 518 getDefaultValue();
572 getValuesFormData = await validateFields(); 519 getValuesFormData = await validateFields();
573 if (!getValuesFormData) return; 520 if (!getValuesFormData) return;
  521 + if (getAllFormData.doActions.length == 0) return createMessage.error('请填写执行动作');
574 Object.assign(getAllFormData, getValuesFormData); 522 Object.assign(getAllFormData, getValuesFormData);
575 - let kongObj = true;  
576 - lastRefActionChildDataArray.value.forEach((f) => {  
577 - if (Object.keys(f).length == 0) {  
578 - kongObj = false;  
579 - }  
580 - });  
581 - if (!kongObj) return createMessage.error('请填写执行动作');  
582 await screenLinkPageAddApi(getAllFormData); 523 await screenLinkPageAddApi(getAllFormData);
583 createMessage.success('场景联动新增成功'); 524 createMessage.success('场景联动新增成功');
584 closeDrawer(); 525 closeDrawer();
@@ -589,49 +530,41 @@ @@ -589,49 +530,41 @@
589 Object.assign(getAllFormData, getValuesFormData); 530 Object.assign(getAllFormData, getValuesFormData);
590 getAllFormData.id = getId.value; 531 getAllFormData.id = getId.value;
591 getAllFormData.tenantId = getTenantId.value; 532 getAllFormData.tenantId = getTenantId.value;
  533 + refTriggerChildData = {};
  534 + pushEditArray.value.length = 0;
  535 + pushEditConditionArray.value.length = 0;
  536 + pushEditActionArray.value.length = 0;
  537 + console.log('edit data', getAllFormData);
592 await screenLinkPageUpdateApi(getAllFormData); 538 await screenLinkPageUpdateApi(getAllFormData);
593 createMessage.success('场景联动编辑成功'); 539 createMessage.success('场景联动编辑成功');
594 closeDrawer(); 540 closeDrawer();
595 emit('success'); 541 emit('success');
596 } 542 }
597 }; 543 };
598 -  
599 - //默认添加触发器  
600 - const defaultAddTrigger = () => {  
601 - if (unref(addTriggerPushData).length == 0) {  
602 - setTimeout(() => {  
603 - addTrigger();  
604 - }, 10);  
605 - }  
606 - };  
607 //新增触发器 544 //新增触发器
608 const addTrigger = () => { 545 const addTrigger = () => {
609 if (!unref(isUpdate)) { 546 if (!unref(isUpdate)) {
610 - unref(addTriggerPushData).push(addTriggerData as never);  
611 refTriggerChildDataFunc(); 547 refTriggerChildDataFunc();
612 - filterNewTriggerArr.push(refTriggerChildData as never);  
613 - (lastRefTriggerChildDataArray.value as never[]) = filterNewTriggerArr.filter(  
614 - (v) => Object.keys(v).length !== 0  
615 - );  
616 - const newGetTriggerData = lastRefTriggerChildDataArray.value.map((m) => { 548 + unref(addTriggerPushData).push(refTriggerChildData as never);
  549 + addTriggerPushData.value = addTriggerPushData.value.map((m) => {
617 return { 550 return {
618 triggerType: m?.triggerType, 551 triggerType: m?.triggerType,
619 - entityId: m?.entityId, 552 + entityId: m?.entityId || m?.entityId1 || m?.entityId2,
620 triggerCondition: { 553 triggerCondition: {
621 condition: [ 554 condition: [
622 { 555 {
623 key: { 556 key: {
624 - key: 'CO2',  
625 - type: 'TIME_SERIES', 557 + key: m.key1 == null ? 'CO2' : m.key1,
  558 + type: m.type1 == null ? 'TIME_SERIES' : m.type1,
626 }, 559 },
627 - valueType: 'NUMERIC', 560 + valueType: m.type2 == null ? 'NUMERIC' : m.type2,
628 value: {}, 561 value: {},
629 predicate: { 562 predicate: {
630 - type: 'NUMERIC', 563 + type: m.type2 == null ? 'NUMERIC' : m.type2,
631 value: { 564 value: {
632 - defaultValue: Number(m.value), 565 + defaultValue: Number(m.value) == null ? 0 : Number(m.value),
633 }, 566 },
634 - operation: m.operation, 567 + operation: m.operation == null ? 'GREATER_OR_EQUAL' : m.operation,
635 }, 568 },
636 }, 569 },
637 ], 570 ],
@@ -641,7 +574,6 @@ @@ -641,7 +574,6 @@
641 }, 574 },
642 }; 575 };
643 }); 576 });
644 - lastRefTriggerChildDataArray.value = newGetTriggerData;  
645 try { 577 try {
646 setTimeout(() => { 578 setTimeout(() => {
647 proxy.$refs.refTriggerChild.updateFieldDeviceId(optionsItemArray.value); 579 proxy.$refs.refTriggerChild.updateFieldDeviceId(optionsItemArray.value);
@@ -650,45 +582,70 @@ @@ -650,45 +582,70 @@
650 return e; 582 return e;
651 } 583 }
652 } else { 584 } else {
  585 + isNoChange.value = false;
  586 + unref(editTriggerPushData).push(refTriggerChildData as never);
653 refTriggerChildDataFunc(); 587 refTriggerChildDataFunc();
654 - pushEditArray.push(refTriggerChildData as never);  
655 - unref(editTriggerPushData).push(addTriggerData as never); 588 + pushEditArray.value.push(refTriggerChildData);
  589 + pushEditArray.value = pushEditArray.value.map((m) => {
  590 + return {
  591 + triggerType: m?.triggerType,
  592 + entityId: m?.entityId || m?.entityId1 || m?.entityId2,
  593 + triggerCondition: {
  594 + condition: [
  595 + {
  596 + key: {
  597 + key: m.key1 == null ? 'CO2' : m.key1,
  598 + type: m.type1 == null ? 'TIME_SERIES' : m.type1,
  599 + },
  600 + valueType: m.type2 == null ? 'NUMERIC' : m.type2,
  601 + value: {},
  602 + predicate: {
  603 + type: m.type2 == null ? 'NUMERIC' : m.type2,
  604 + value: {
  605 + defaultValue: Number(m.value) == null ? 0 : Number(m.value),
  606 + },
  607 + operation: m.operation == null ? 'GREATER_OR_EQUAL' : m.operation,
  608 + },
  609 + },
  610 + ],
  611 + spec: {
  612 + type: 'SIMPLE',
  613 + },
  614 + },
  615 + };
  616 + });
  617 + try {
  618 + setTimeout(() => {
  619 + proxy.$refs.refTriggerChild.updateFieldDeviceId(optionsItemArray.value);
  620 + }, 150);
  621 + } catch (e) {
  622 + return e;
  623 + }
  624 + refTriggerChildData = {};
656 } 625 }
657 }; 626 };
658 const removeTrigger = () => { 627 const removeTrigger = () => {
659 if (!unref(isUpdate)) { 628 if (!unref(isUpdate)) {
660 try { 629 try {
661 - unref(addTriggerPushData).splice(0, 1);  
662 - lastRefTriggerChildDataArray.value.splice(0, 1); 630 + unref(addTriggerPushData).pop();
663 } catch (e) { 631 } catch (e) {
664 return e; 632 return e;
665 } 633 }
666 } else { 634 } else {
667 try { 635 try {
668 - unref(editTriggerPushData).splice(0, 1);  
669 - lastEditRefTriggerChildDataArray.value.pop(); 636 + unref(editTriggerPushData).pop();
670 } catch (e) { 637 } catch (e) {
671 return e; 638 return e;
672 } 639 }
673 } 640 }
674 }; 641 };
675 642
676 - //默认添加执行条件  
677 - const defaultAddCondition = () => {  
678 - if (unref(addConditionPushData).length == 0) {  
679 - addCondition();  
680 - }  
681 - };  
682 //新增执行条件 643 //新增执行条件
683 const addCondition = () => { 644 const addCondition = () => {
684 if (!unref(isUpdate)) { 645 if (!unref(isUpdate)) {
685 - unref(addConditionPushData).push(addConditionData as never);  
686 refConditionChildDataFunc(); 646 refConditionChildDataFunc();
687 - filterNewConditionArr.push(refConditionChildData as never);  
688 - (lastRefConditionChildDataArray.value as never[]) = filterNewConditionArr.filter(  
689 - (v) => Object.keys(v).length !== 0  
690 - );  
691 - const newGetConditionData = lastRefConditionChildDataArray.value.map((m) => { 647 + unref(addConditionPushData).push(refConditionChildData as never);
  648 + addConditionPushData.value = addConditionPushData.value.map((m) => {
692 return { 649 return {
693 triggerType: m?.triggerType, 650 triggerType: m?.triggerType,
694 entityId: m?.entityId, 651 entityId: m?.entityId,
@@ -699,14 +656,29 @@ @@ -699,14 +656,29 @@
699 type: 'TIME_SERIES', 656 type: 'TIME_SERIES',
700 key: 'CO2', 657 key: 'CO2',
701 }, 658 },
702 - valueType: 'NUMERIC', 659 + valueType:
  660 + m.type == 'NUMERIC1'
  661 + ? 'NUMERIC'
  662 + : m.type == 'NUMERIC2'
  663 + ? 'NUMERIC'
  664 + : 'NUMERIC',
703 value: {}, 665 value: {},
704 predicate: { 666 predicate: {
705 - type: 'NUMERIC', 667 + type:
  668 + m.type == 'NUMERIC1'
  669 + ? 'NUMERIC'
  670 + : m.type == 'NUMERIC2'
  671 + ? 'NUMERIC'
  672 + : 'NUMERIC',
706 value: { 673 value: {
707 - defaultValue: Number(m.value), 674 + defaultValue:
  675 + Number(m.value1) == null
  676 + ? 0
  677 + : Number(m.value1) || Number(m.value2) == null
  678 + ? 0
  679 + : Number(m.value2),
708 }, 680 },
709 - operation: m.operation, 681 + operation: m.operation1 || m.operatio2,
710 }, 682 },
711 }, 683 },
712 ], 684 ],
@@ -716,7 +688,6 @@ @@ -716,7 +688,6 @@
716 }, 688 },
717 }; 689 };
718 }); 690 });
719 - lastRefConditionChildDataArray.value = newGetConditionData;  
720 try { 691 try {
721 setTimeout(() => { 692 setTimeout(() => {
722 proxy.$refs.refConditionChild.updateFieldDeviceId(optionsItemArray.value); 693 proxy.$refs.refConditionChild.updateFieldDeviceId(optionsItemArray.value);
@@ -725,23 +696,73 @@ @@ -725,23 +696,73 @@
725 return e; 696 return e;
726 } 697 }
727 } else { 698 } else {
  699 + isNoChange.value = false;
  700 + unref(editConditionPushData).push(refConditionChildData as never);
728 refConditionChildDataFunc(); 701 refConditionChildDataFunc();
729 - pushEditConditionArray.push(refConditionChildData as never);  
730 - unref(editConditionPushData).push(addConditionData as never); 702 + pushEditConditionArray.value.push(refConditionChildData);
  703 + pushEditConditionArray.value = pushEditConditionArray.value.map((m) => {
  704 + return {
  705 + triggerType: m?.triggerType,
  706 + entityId: m?.entityId,
  707 + triggerCondition: {
  708 + condition: [
  709 + {
  710 + key: {
  711 + type: 'TIME_SERIES',
  712 + key: 'CO2',
  713 + },
  714 + valueType:
  715 + m.type == 'NUMERIC1'
  716 + ? 'NUMERIC'
  717 + : m.type == 'NUMERIC2'
  718 + ? 'NUMERIC'
  719 + : 'NUMERIC',
  720 + value: {},
  721 + predicate: {
  722 + type:
  723 + m.type == 'NUMERIC1'
  724 + ? 'NUMERIC'
  725 + : m.type == 'NUMERIC2'
  726 + ? 'NUMERIC'
  727 + : 'NUMERIC',
  728 + value: {
  729 + defaultValue:
  730 + Number(m.value1) == null
  731 + ? 0
  732 + : Number(m.value1) || Number(m.value2) == null
  733 + ? 0
  734 + : Number(m.value2),
  735 + },
  736 + operation: m.operation1 || m.operatio2,
  737 + },
  738 + },
  739 + ],
  740 + spec: {
  741 + type: 'SIMPLE',
  742 + },
  743 + },
  744 + };
  745 + });
  746 + try {
  747 + setTimeout(() => {
  748 + proxy.$refs.refConditionChild.updateFieldDeviceId(optionsItemArray.value);
  749 + }, 150);
  750 + } catch (e) {
  751 + return e;
  752 + }
  753 + refConditionChildData = {};
731 } 754 }
732 }; 755 };
733 const removeCondition = () => { 756 const removeCondition = () => {
734 if (!unref(isUpdate)) { 757 if (!unref(isUpdate)) {
735 try { 758 try {
736 - unref(addConditionPushData).splice(0, 1);  
737 - lastRefConditionChildDataArray.value.pop(); 759 + unref(addConditionPushData).pop();
738 } catch (e) { 760 } catch (e) {
739 return e; 761 return e;
740 } 762 }
741 } else { 763 } else {
742 try { 764 try {
743 unref(editConditionPushData).splice(0, 1); 765 unref(editConditionPushData).splice(0, 1);
744 - lastEditRefConditionChildDataArray.value.pop();  
745 } catch (e) { 766 } catch (e) {
746 return e; 767 return e;
747 } 768 }
@@ -757,12 +778,8 @@ @@ -757,12 +778,8 @@
757 //新增执行动作 778 //新增执行动作
758 const addAction = () => { 779 const addAction = () => {
759 if (!unref(isUpdate)) { 780 if (!unref(isUpdate)) {
760 - unref(addActionPushData).push(addActionData as never);  
761 refActionChildDataFunc(); 781 refActionChildDataFunc();
762 - filterNewActionArr.push(refActionChildData as never);  
763 - (lastRefActionChildDataArray.value as never[]) = filterNewActionArr.filter(  
764 - (v) => Object.keys(v).length !== 0  
765 - ); 782 + unref(addActionPushData).push(refActionChildData as never);
766 try { 783 try {
767 setTimeout(() => { 784 setTimeout(() => {
768 proxy.$refs.refActionChild.updateFieldDeviceId(optionsItemArray.value); 785 proxy.$refs.refActionChild.updateFieldDeviceId(optionsItemArray.value);
@@ -771,23 +788,30 @@ @@ -771,23 +788,30 @@
771 return e; 788 return e;
772 } 789 }
773 } else { 790 } else {
  791 + isNoChange.value = false;
  792 + unref(editActionPushData).push(refActionChildData as never);
774 refActionChildDataFunc(); 793 refActionChildDataFunc();
775 - pushEditActionArray.push(refActionChildData as never);  
776 - unref(editActionPushData).push(addActionData as never); 794 + pushEditActionArray.value.push(refActionChildData);
  795 + try {
  796 + setTimeout(() => {
  797 + proxy.$refs.refActionChild.updateFieldDeviceId(optionsItemArray.value);
  798 + }, 150);
  799 + } catch (e) {
  800 + return e;
  801 + }
  802 + refActionChildData = {};
777 } 803 }
778 }; 804 };
779 const removeAction = () => { 805 const removeAction = () => {
780 if (!unref(isUpdate)) { 806 if (!unref(isUpdate)) {
781 try { 807 try {
782 - unref(addActionPushData).splice(0, 1);  
783 - lastRefActionChildDataArray.value.pop(); 808 + unref(addActionPushData).pop();
784 } catch (e) { 809 } catch (e) {
785 return e; 810 return e;
786 } 811 }
787 } else { 812 } else {
788 try { 813 try {
789 unref(editActionPushData).splice(0, 1); 814 unref(editActionPushData).splice(0, 1);
790 - lastEditRefActionChildDataArray.value.pop();  
791 } catch (e) { 815 } catch (e) {
792 return e; 816 return e;
793 } 817 }
@@ -797,8 +821,6 @@ @@ -797,8 +821,6 @@
797 return { 821 return {
798 updateDeviceIdFunc, 822 updateDeviceIdFunc,
799 handleClose, 823 handleClose,
800 - defaultAddTrigger,  
801 - defaultAddCondition,  
802 newFilterMap, 824 newFilterMap,
803 newConditionFilterMap, 825 newConditionFilterMap,
804 newActionFilterMap, 826 newActionFilterMap,