Commit 7f06695db9e9c59be2c3a66e07b48e927649c966

Authored by 1400859700@qq.com
1 parent a66b7372

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

@@ -200,28 +200,6 @@ @@ -200,28 +200,6 @@
200 compare: '', 200 compare: '',
201 value: '', 201 value: '',
202 }); 202 });
203 - let editTriggerData = reactive<IAddTrigger>({  
204 - triggerType: '',  
205 - entityId: '请选择设备',  
206 - touchWay: '请选择触发方式',  
207 - attributeChoose: '请选择属性',  
208 - compare: '',  
209 - value: '',  
210 - });  
211 - const editConditionData = reactive<IAddCondition>({  
212 - entityId: '请选择设备',  
213 - createTime: '',  
214 - updateTime: '',  
215 - triggerType: '',  
216 - compare: '',  
217 - value: '',  
218 - });  
219 - const editActionData = reactive<IAddAction>({  
220 - outTarget: '',  
221 - entityId: '请选择设备',  
222 - command: '请输入执行命令',  
223 - sceneLinkageId: '',  
224 - });  
225 const addConditionData = reactive<IAddCondition>({ 203 const addConditionData = reactive<IAddCondition>({
226 triggerType: '', 204 triggerType: '',
227 entityId: '', 205 entityId: '',
@@ -278,6 +256,7 @@ @@ -278,6 +256,7 @@
278 doActions: [], 256 doActions: [],
279 }; 257 };
280 let optionsItemArray = ref<[]>([]); 258 let optionsItemArray = ref<[]>([]);
  259 + const isNoChange = ref(false);
281 260
282 const [registerForm, { resetFields, setFieldsValue, validateFields }] = useForm({ 261 const [registerForm, { resetFields, setFieldsValue, validateFields }] = useForm({
283 labelWidth: 120, 262 labelWidth: 120,
@@ -335,6 +314,8 @@ @@ -335,6 +314,8 @@
335 } 314 }
336 } else { 315 } else {
337 try { 316 try {
  317 + pushEditArray.value = [];
  318 + pushEditArray.value.length = 0;
338 newFilterMap.value = []; 319 newFilterMap.value = [];
339 newConditionFilterMap.value = []; 320 newConditionFilterMap.value = [];
340 newActionFilterMap.value = []; 321 newActionFilterMap.value = [];
@@ -352,6 +333,7 @@ @@ -352,6 +333,7 @@
352 ...data.record, 333 ...data.record,
353 }); 334 });
354 editTriggerPushData.value = data.record.triggers; 335 editTriggerPushData.value = data.record.triggers;
  336 + isNoChange.value = true;
355 editConditionPushData.value = data.record.doConditions; 337 editConditionPushData.value = data.record.doConditions;
356 editActionPushData.value = data.record.doActions; 338 editActionPushData.value = data.record.doActions;
357 const options = await screenLinkPageByDeptIdGetDevice({ 339 const options = await screenLinkPageByDeptIdGetDevice({
@@ -501,15 +483,19 @@ @@ -501,15 +483,19 @@
501 }; 483 };
502 Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj); 484 Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj);
503 } else { 485 } else {
  486 + let kongTriggerObj = {};
  487 + editTriggerPushData.value.forEach((f) => {
  488 + kongTriggerObj = f;
  489 + pushEditArray.value.push(kongTriggerObj);
  490 + });
504 refTriggerChildDataFunc(); 491 refTriggerChildDataFunc();
505 - refTriggerChildData = {};  
506 - let newTriggerArray = editTriggerPushData.value.concat(refTriggerChildData);  
507 - newTriggerArray = newTriggerArray.filter((f) => f != {}); 492 + let newTriggerArray = pushEditArray.value.concat(refTriggerChildData);
  493 + newTriggerArray = newTriggerArray.filter((f) => Object.keys(f).length !== 0);
  494 + newTriggerArray.shift();
508 triggersObj = { 495 triggersObj = {
509 - triggers: newTriggerArray, 496 + triggers: isNoChange.value ? editTriggerPushData.value : newTriggerArray,
510 }; 497 };
511 - // newTriggerArray.pop();  
512 - console.log(newTriggerArray); 498 + console.log(triggersObj);
513 // conditionsObj = { 499 // conditionsObj = {
514 // doConditions: newConditionArray, 500 // doConditions: newConditionArray,
515 // }; 501 // };
@@ -537,10 +523,12 @@ @@ -537,10 +523,12 @@
537 Object.assign(getAllFormData, getValuesFormData); 523 Object.assign(getAllFormData, getValuesFormData);
538 getAllFormData.id = getId.value; 524 getAllFormData.id = getId.value;
539 getAllFormData.tenantId = getTenantId.value; 525 getAllFormData.tenantId = getTenantId.value;
540 - await screenLinkPageUpdateApi(getAllFormData);  
541 - createMessage.success('场景联动编辑成功');  
542 - closeDrawer();  
543 - emit('success'); 526 + refTriggerChildData = {};
  527 + pushEditArray.value.length = 0;
  528 + // await screenLinkPageUpdateApi(getAllFormData);
  529 + // createMessage.success('场景联动编辑成功');
  530 + // closeDrawer();
  531 + // emit('success');
544 } 532 }
545 }; 533 };
546 //新增触发器 534 //新增触发器
@@ -584,8 +572,48 @@ @@ -584,8 +572,48 @@
584 return e; 572 return e;
585 } 573 }
586 } else { 574 } else {
587 - refTriggerChildDataFunc(); 575 + isNoChange.value = false;
588 unref(editTriggerPushData).push(refTriggerChildData as never); 576 unref(editTriggerPushData).push(refTriggerChildData as never);
  577 + refTriggerChildDataFunc();
  578 + pushEditArray.value.push(refTriggerChildData);
  579 + pushEditArray.value = pushEditArray.value.map((m) => {
  580 + return {
  581 + triggerType: m?.triggerType,
  582 + entityId: m?.entityId || m?.entityId1 || m?.entityId2,
  583 + triggerCondition: {
  584 + condition: [
  585 + {
  586 + key: {
  587 + key: m.key1 == null ? 'CO2' : m.key1,
  588 + type: m.type1 == null ? 'TIME_SERIES' : m.type1,
  589 + },
  590 + valueType: m.type2 == null ? 'NUMERIC' : m.type2,
  591 + value: {},
  592 + predicate: {
  593 + type: m.type2 == null ? 'NUMERIC' : m.type2,
  594 + value: {
  595 + defaultValue: Number(m.value) == null ? 0 : Number(m.value),
  596 + },
  597 + operation: m.operation == null ? 'GREATER_OR_EQUAL' : m.operation,
  598 + },
  599 + },
  600 + ],
  601 + spec: {
  602 + type: 'SIMPLE',
  603 + },
  604 + },
  605 + };
  606 + });
  607 + console.log(pushEditArray.value);
  608 +
  609 + try {
  610 + setTimeout(() => {
  611 + proxy.$refs.refTriggerChild.updateFieldDeviceId(optionsItemArray.value);
  612 + }, 150);
  613 + } catch (e) {
  614 + return e;
  615 + }
  616 + refTriggerChildData = {};
589 } 617 }
590 }; 618 };
591 const removeTrigger = () => { 619 const removeTrigger = () => {