Commit 7f06695db9e9c59be2c3a66e07b48e927649c966
1 parent
a66b7372
fix:修复场景联动新增数据重复问题,fix:场景联动编辑数据重复问题
Showing
1 changed file
with
61 additions
and
33 deletions
@@ -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 = () => { |