Commit 7f06695db9e9c59be2c3a66e07b48e927649c966
1 parent
a66b7372
fix:修复场景联动新增数据重复问题,fix:场景联动编辑数据重复问题
Showing
1 changed file
with
61 additions
and
33 deletions
... | ... | @@ -200,28 +200,6 @@ |
200 | 200 | compare: '', |
201 | 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 | 203 | const addConditionData = reactive<IAddCondition>({ |
226 | 204 | triggerType: '', |
227 | 205 | entityId: '', |
... | ... | @@ -278,6 +256,7 @@ |
278 | 256 | doActions: [], |
279 | 257 | }; |
280 | 258 | let optionsItemArray = ref<[]>([]); |
259 | + const isNoChange = ref(false); | |
281 | 260 | |
282 | 261 | const [registerForm, { resetFields, setFieldsValue, validateFields }] = useForm({ |
283 | 262 | labelWidth: 120, |
... | ... | @@ -335,6 +314,8 @@ |
335 | 314 | } |
336 | 315 | } else { |
337 | 316 | try { |
317 | + pushEditArray.value = []; | |
318 | + pushEditArray.value.length = 0; | |
338 | 319 | newFilterMap.value = []; |
339 | 320 | newConditionFilterMap.value = []; |
340 | 321 | newActionFilterMap.value = []; |
... | ... | @@ -352,6 +333,7 @@ |
352 | 333 | ...data.record, |
353 | 334 | }); |
354 | 335 | editTriggerPushData.value = data.record.triggers; |
336 | + isNoChange.value = true; | |
355 | 337 | editConditionPushData.value = data.record.doConditions; |
356 | 338 | editActionPushData.value = data.record.doActions; |
357 | 339 | const options = await screenLinkPageByDeptIdGetDevice({ |
... | ... | @@ -501,15 +483,19 @@ |
501 | 483 | }; |
502 | 484 | Object.assign(getAllFormData, triggersObj, conditionsObj, actionsObj); |
503 | 485 | } else { |
486 | + let kongTriggerObj = {}; | |
487 | + editTriggerPushData.value.forEach((f) => { | |
488 | + kongTriggerObj = f; | |
489 | + pushEditArray.value.push(kongTriggerObj); | |
490 | + }); | |
504 | 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 | 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 | 499 | // conditionsObj = { |
514 | 500 | // doConditions: newConditionArray, |
515 | 501 | // }; |
... | ... | @@ -537,10 +523,12 @@ |
537 | 523 | Object.assign(getAllFormData, getValuesFormData); |
538 | 524 | getAllFormData.id = getId.value; |
539 | 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 | 572 | return e; |
585 | 573 | } |
586 | 574 | } else { |
587 | - refTriggerChildDataFunc(); | |
575 | + isNoChange.value = false; | |
588 | 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 | 619 | const removeTrigger = () => { | ... | ... |