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 = () => { |