Commit 2b86ed7df57e32161f92eca9c039848ef51b19b1
Merge branch 'ft-dev' into 'main'
refractor:重构设备配置,fix:待修复设备配置编辑bug See merge request huang/yun-teng-iot-front!156
Showing
11 changed files
with
441 additions
and
260 deletions
src/hooks/web/useFilter.ts
0 → 100644
| 1 | +export const deteleObject = (obj) => { | ||
| 2 | + let uniques = []; | ||
| 3 | + const stringify = {}; | ||
| 4 | + for (let i = 0; i < obj.length; i++) { | ||
| 5 | + const keys = Object.keys(obj[i]); | ||
| 6 | + keys.sort(function (a, b) { | ||
| 7 | + return Number(a) - Number(b); | ||
| 8 | + }); | ||
| 9 | + let str = ''; | ||
| 10 | + for (let j = 0; j < keys.length; j++) { | ||
| 11 | + str += JSON.stringify(keys[j]); | ||
| 12 | + str += JSON.stringify(obj[i][keys[j]]); | ||
| 13 | + } | ||
| 14 | + if (!stringify.hasOwnProperty(str)) { | ||
| 15 | + uniques.push(obj[i] as never); | ||
| 16 | + stringify[str] = true; | ||
| 17 | + } | ||
| 18 | + } | ||
| 19 | + uniques = uniques; | ||
| 20 | + return uniques; | ||
| 21 | +}; |
| @@ -53,7 +53,15 @@ | @@ -53,7 +53,15 @@ | ||
| 53 | </div> | 53 | </div> |
| 54 | </template> | 54 | </template> |
| 55 | <script lang="ts"> | 55 | <script lang="ts"> |
| 56 | - import { defineComponent, ref, computed, unref, getCurrentInstance, reactive } from 'vue'; | 56 | + import { |
| 57 | + defineComponent, | ||
| 58 | + nextTick, | ||
| 59 | + ref, | ||
| 60 | + computed, | ||
| 61 | + unref, | ||
| 62 | + getCurrentInstance, | ||
| 63 | + reactive, | ||
| 64 | + } from 'vue'; | ||
| 57 | import { BasicModal, useModalInner } from '/@/components/Modal'; | 65 | import { BasicModal, useModalInner } from '/@/components/Modal'; |
| 58 | import DeviceProfileStep1 from '/@/views/device/profiles/step/DeviceProfileStep1.vue'; | 66 | import DeviceProfileStep1 from '/@/views/device/profiles/step/DeviceProfileStep1.vue'; |
| 59 | import DeviceProfileStep2 from '/@/views/device/profiles/step/DeviceProfileStep2.vue'; | 67 | import DeviceProfileStep2 from '/@/views/device/profiles/step/DeviceProfileStep2.vue'; |
| @@ -93,8 +101,8 @@ | @@ -93,8 +101,8 @@ | ||
| 93 | const DeviceProfileStep4Ref = ref(null); | 101 | const DeviceProfileStep4Ref = ref(null); |
| 94 | const { createMessage } = useMessage(); | 102 | const { createMessage } = useMessage(); |
| 95 | const postDeviceConfogData: any = ref({}); | 103 | const postDeviceConfogData: any = ref({}); |
| 96 | - const getStepOneData: any = ref({}); | ||
| 97 | - const getStepTwoData: any = ref({}); | 104 | + let getStepOneData: any = reactive({}); |
| 105 | + let getStepTwoData: any = reactive({}); | ||
| 98 | const getStepThreeData = ref([]); | 106 | const getStepThreeData = ref([]); |
| 99 | const editData: any = ref({}); | 107 | const editData: any = ref({}); |
| 100 | let getStepFourData: any = reactive({}); | 108 | let getStepFourData: any = reactive({}); |
| @@ -104,7 +112,11 @@ | @@ -104,7 +112,11 @@ | ||
| 104 | messageMode: '', | 112 | messageMode: '', |
| 105 | }, | 113 | }, |
| 106 | }); | 114 | }); |
| 107 | - let isGetStepThreeData = reactive({}); | 115 | + let isGetStepThreeData: any = reactive({ |
| 116 | + profileData: { | ||
| 117 | + alarms: [], | ||
| 118 | + }, | ||
| 119 | + }); | ||
| 108 | const postEditId = ref(''); | 120 | const postEditId = ref(''); |
| 109 | const current = ref(0); | 121 | const current = ref(0); |
| 110 | const isUpdate = ref(0); | 122 | const isUpdate = ref(0); |
| @@ -115,6 +127,7 @@ | @@ -115,6 +127,7 @@ | ||
| 115 | const isShowRule = ref(true); | 127 | const isShowRule = ref(true); |
| 116 | const isEditAndChange = ref(true); | 128 | const isEditAndChange = ref(true); |
| 117 | const isEchoEditStatus = ref(false); | 129 | const isEchoEditStatus = ref(false); |
| 130 | + const isNextStatus = ref(false); | ||
| 118 | 131 | ||
| 119 | const getTitle = computed(() => | 132 | const getTitle = computed(() => |
| 120 | isUpdate.value == 1 ? '新增设备配置' : isUpdate.value == 2 ? '编辑设备配置' : '设备配置详情' | 133 | isUpdate.value == 1 ? '新增设备配置' : isUpdate.value == 2 ? '编辑设备配置' : '设备配置详情' |
| @@ -123,56 +136,39 @@ | @@ -123,56 +136,39 @@ | ||
| 123 | const [register, { closeModal }] = useModalInner(async (data) => { | 136 | const [register, { closeModal }] = useModalInner(async (data) => { |
| 124 | isUpdate.value = data.isUpdate; | 137 | isUpdate.value = data.isUpdate; |
| 125 | if (isUpdate.value == 1) { | 138 | if (isUpdate.value == 1) { |
| 126 | - try { | ||
| 127 | - proxy.$refs.DeviceProfileStep1Ref?.customResetStepOneFunc(); | ||
| 128 | - proxy.$refs.DeviceProfileStep1Ref?.resetIconFunc(); | ||
| 129 | - proxy.$refs.DeviceProfileStep2Ref?.customClearStepTwoValueFunc(); | ||
| 130 | - proxy.$refs.DeviceProfileStep3Ref?.clearStep3DataFunc(); | ||
| 131 | - proxy.$refs.DeviceProfileStep4Ref?.clearAlaramContactAndNoticeMethodFunc(); | ||
| 132 | - } catch {} | 139 | + handleCancel(); |
| 133 | isShowRule.value = true; | 140 | isShowRule.value = true; |
| 134 | isShowOkBtnFalse.value = true; | 141 | isShowOkBtnFalse.value = true; |
| 135 | current.value = 0; | 142 | current.value = 0; |
| 136 | isStatus.value = !data.isUpdate; | 143 | isStatus.value = !data.isUpdate; |
| 137 | isEchoEditStatus.value = false; | 144 | isEchoEditStatus.value = false; |
| 138 | } else if (isUpdate.value == 2) { | 145 | } else if (isUpdate.value == 2) { |
| 146 | + handleCancel(); | ||
| 139 | isShowRule.value = true; | 147 | isShowRule.value = true; |
| 140 | isShowOkBtnFalse.value = true; | 148 | isShowOkBtnFalse.value = true; |
| 149 | + isEchoEditStatus.value = true; | ||
| 141 | current.value = 0; | 150 | current.value = 0; |
| 142 | postEditId.value = data.record.id; | 151 | postEditId.value = data.record.id; |
| 143 | editData.value = await deviceConfigGetDetail(postEditId.value); | 152 | editData.value = await deviceConfigGetDetail(postEditId.value); |
| 144 | - // proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(true); | ||
| 145 | - // isStatus.value = data.isUpdate; | ||
| 146 | - //回显第一步数据 | ||
| 147 | proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ | 153 | proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ |
| 148 | name: editData.value.name, | 154 | name: editData.value.name, |
| 149 | defaultRuleChainId: editData.value.defaultRuleChainId, | 155 | defaultRuleChainId: editData.value.defaultRuleChainId, |
| 150 | defaultQueueName: editData.value.defaultQueueName, | 156 | defaultQueueName: editData.value.defaultQueueName, |
| 151 | description: editData.value.description, | 157 | description: editData.value.description, |
| 152 | }); | 158 | }); |
| 153 | - // proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc(); | ||
| 154 | - // proxy.$refs.DeviceProfileStep3Ref.addAlarmRule(); | ||
| 155 | - emit('success'); | ||
| 156 | } else if (isUpdate.value == 3) { | 159 | } else if (isUpdate.value == 3) { |
| 160 | + handleCancel(); | ||
| 157 | isShowRule.value = false; | 161 | isShowRule.value = false; |
| 158 | isShowOkBtnFalse.value = false; | 162 | isShowOkBtnFalse.value = false; |
| 159 | current.value = 0; | 163 | current.value = 0; |
| 160 | - // postEditId.value = data.record.id; | ||
| 161 | - // getBackendData = await deviceConfigGetDetail(postEditId.value); | ||
| 162 | - // editData.value = getBackendData; | ||
| 163 | - // proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(false); | ||
| 164 | - // isStatus.value = data.isUpdate; | ||
| 165 | - // //清空第一步数据 | ||
| 166 | - // proxy.$refs.DeviceProfileStep1Ref.customResetStepOneFunc(); | ||
| 167 | - // //回显第一步数据 | ||
| 168 | - // proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ | ||
| 169 | - // name: editData.value.name, | ||
| 170 | - // defaultRuleChainId: editData.value.defaultRuleChainId, | ||
| 171 | - // defaultQueueName: editData.value.defaultQueueName, | ||
| 172 | - // description: editData.value.description, | ||
| 173 | - // }); | ||
| 174 | - // proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc(); | ||
| 175 | - // proxy.$refs.DeviceProfileStep3Ref.addAlarmRule(); | 164 | + postEditId.value = data.record.id; |
| 165 | + editData.value = await deviceConfigGetDetail(postEditId.value); | ||
| 166 | + proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ | ||
| 167 | + name: editData.value.name, | ||
| 168 | + defaultRuleChainId: editData.value.defaultRuleChainId, | ||
| 169 | + defaultQueueName: editData.value.defaultQueueName, | ||
| 170 | + description: editData.value.description, | ||
| 171 | + }); | ||
| 176 | } | 172 | } |
| 177 | }); | 173 | }); |
| 178 | function handleStepPrev() { | 174 | function handleStepPrev() { |
| @@ -180,11 +176,15 @@ | @@ -180,11 +176,15 @@ | ||
| 180 | } | 176 | } |
| 181 | //第一步 | 177 | //第一步 |
| 182 | function handleStepNext1(v, v1) { | 178 | function handleStepNext1(v, v1) { |
| 179 | + isNextStatus.value = true; | ||
| 180 | + if (isNextStatus.value) { | ||
| 181 | + getStepOneData = { | ||
| 182 | + ...v, | ||
| 183 | + ...{ icon: v1 }, | ||
| 184 | + }; | ||
| 185 | + } | ||
| 183 | current.value++; | 186 | current.value++; |
| 184 | - getStepOneData.value = v; | ||
| 185 | - getStepOneData.value.icon = v1; | ||
| 186 | - if (isUpdate.value == 1) { | ||
| 187 | - } else if (isUpdate.value == 2) { | 187 | + if (isUpdate.value == 2) { |
| 188 | proxy.$refs.DeviceProfileStep2Ref?.setStepTwoFieldsValueFunc({ | 188 | proxy.$refs.DeviceProfileStep2Ref?.setStepTwoFieldsValueFunc({ |
| 189 | transportType: editData.value?.profileData.transportConfiguration.type, | 189 | transportType: editData.value?.profileData.transportConfiguration.type, |
| 190 | }); | 190 | }); |
| @@ -196,97 +196,93 @@ | @@ -196,97 +196,93 @@ | ||
| 196 | } | 196 | } |
| 197 | //第二步 | 197 | //第二步 |
| 198 | function handleStep2Next(v) { | 198 | function handleStep2Next(v) { |
| 199 | + isNextStatus.value = true; | ||
| 200 | + if ((isNextStatus.value = true)) { | ||
| 201 | + getStepTwoData = { | ||
| 202 | + ...v, | ||
| 203 | + }; | ||
| 204 | + } | ||
| 199 | current.value++; | 205 | current.value++; |
| 200 | - getStepTwoData.value = v; | ||
| 201 | - if (isUpdate.value == 1) { | ||
| 202 | - } else if (isUpdate.value == 2) { | 206 | + if (isUpdate.value == 2) { |
| 203 | try { | 207 | try { |
| 204 | isEchoEditStatus.value = true; | 208 | isEchoEditStatus.value = true; |
| 205 | proxy.$refs.DeviceProfileStep3Ref?.echoStep3DataFunc( | 209 | proxy.$refs.DeviceProfileStep3Ref?.echoStep3DataFunc( |
| 206 | editData.value.profileData.alarms, | 210 | editData.value.profileData.alarms, |
| 207 | isEchoEditStatus.value | 211 | isEchoEditStatus.value |
| 208 | ); | 212 | ); |
| 209 | - // proxy.$refs.DeviceProfileStep3Ref.setAlaramTypeFormFunc({ | ||
| 210 | - // alarmType: editData.value?.profileData.alarms[0].alarmType, | ||
| 211 | - // }); | ||
| 212 | - // proxy.$refs.DeviceProfileStep3Ref.setTransmitAlarmFormFunc({ | ||
| 213 | - // propagate: editData.value?.profileData.alarms[0].propagate, | ||
| 214 | - // propagateRelationTypes: | ||
| 215 | - // editData.value?.profileData.alarms[0].propagateRelationTypes[0], | ||
| 216 | - // }); | ||
| 217 | - // //回显报警详细信息 | ||
| 218 | - // proxy.$refs.DeviceProfileStep3Ref.setRegisterFormChangeDetailFunc({ | ||
| 219 | - // isEditStatus: true, | ||
| 220 | - // stepThreeData: editData.value?.profileData.alarms[0].createRules, | ||
| 221 | - // stepThreeClearData: editData.value?.profileData.alarms[0].clearRule, | ||
| 222 | - // }); | ||
| 223 | - // proxy.$refs.DeviceProfileStep3Ref.setCreateRegisterFormChangeDetailFunc( | ||
| 224 | - // editData.value?.profileData.alarms[0].createRules | ||
| 225 | - // ); | ||
| 226 | - // proxy.$refs.DeviceProfileStep3Ref.setRegisterFormClearChangeDetailFunc({ | ||
| 227 | - // alarmDetails: editData.value?.profileData.alarms[0].clearRule.alarmDetails, | ||
| 228 | - // }); | ||
| 229 | - // proxy.$refs.DeviceProfileStep3Ref.setRegisterFormCreateAlarmFunc({ | ||
| 230 | - // default: editData.value?.profileData.alarms[0].createRules, | ||
| 231 | - // }); | ||
| 232 | - // //回显创建报警规则和清除报警规则 | ||
| 233 | } catch {} | 213 | } catch {} |
| 234 | } else if (isUpdate.value == 3) { | 214 | } else if (isUpdate.value == 3) { |
| 235 | - // try { | ||
| 236 | - // proxy.$refs.DeviceProfileStep3Ref.setAlaramTypeFormFunc({ | ||
| 237 | - // alarmType: editData.value?.profileData.alarms[0].alarmType, | ||
| 238 | - // }); | ||
| 239 | - // proxy.$refs.DeviceProfileStep3Ref.setTransmitAlarmFormFunc({ | ||
| 240 | - // propagate: editData.value?.profileData.alarms[0].propagate, | ||
| 241 | - // propagateRelationTypes: | ||
| 242 | - // editData.value?.profileData.alarms[0].propagateRelationTypes[0], | ||
| 243 | - // }); | ||
| 244 | - // //回显报警详细信息 | ||
| 245 | - // proxy.$refs.DeviceProfileStep3Ref.setRegisterFormChangeDetailFunc({ | ||
| 246 | - // isEditStatus: true, | ||
| 247 | - // stepThreeData: editData.value?.profileData.alarms[0].createRules, | ||
| 248 | - // stepThreeClearData: editData.value?.profileData.alarms[0].clearRule, | ||
| 249 | - // }); | ||
| 250 | - // proxy.$refs.DeviceProfileStep3Ref.setCreateRegisterFormChangeDetailFunc( | ||
| 251 | - // editData.value?.profileData.alarms[0].createRules | ||
| 252 | - // ); | ||
| 253 | - // proxy.$refs.DeviceProfileStep3Ref.setRegisterFormClearChangeDetailFunc({ | ||
| 254 | - // alarmDetails: editData.value?.profileData.alarms[0].clearRule.alarmDetails, | ||
| 255 | - // }); | ||
| 256 | - // //回显创建报警规则和清除报警规则 | ||
| 257 | - // } catch {} | 215 | + try { |
| 216 | + isEchoEditStatus.value = true; | ||
| 217 | + proxy.$refs.DeviceProfileStep3Ref?.echoStep3DataFunc( | ||
| 218 | + editData.value.profileData.alarms, | ||
| 219 | + isEchoEditStatus.value | ||
| 220 | + ); | ||
| 221 | + } catch {} | ||
| 258 | } | 222 | } |
| 259 | } | 223 | } |
| 260 | //第三步 | 224 | //第三步 |
| 261 | function handleStep3Next(v, v1) { | 225 | function handleStep3Next(v, v1) { |
| 262 | try { | 226 | try { |
| 227 | + isNextStatus.value = true; | ||
| 263 | isEditAndChange.value = v1; | 228 | isEditAndChange.value = v1; |
| 264 | current.value++; | 229 | current.value++; |
| 265 | getStepThreeData.value = v; | 230 | getStepThreeData.value = v; |
| 266 | proxy.$refs.DeviceProfileStep4Ref?.step3LinkStep4DefalutClose(); | 231 | proxy.$refs.DeviceProfileStep4Ref?.step3LinkStep4DefalutClose(); |
| 267 | - if (isUpdate.value == 1) { | ||
| 268 | - } else if (isUpdate.value == 2) { | ||
| 269 | - proxy.$refs.DeviceProfileStep4Ref?.setAlaramContactAndNoticeMethodFunc({ | ||
| 270 | - alarmContactId: editData.value?.alarmProfile.alarmContactId.split(','), | ||
| 271 | - messageMode: editData.value?.alarmProfile.messageMode.split(','), | 232 | + if (isUpdate.value == 2) { |
| 233 | + if ( | ||
| 234 | + editData.value?.alarmProfile.messageMode !== null || | ||
| 235 | + editData.value?.alarmProfile.alarmContactId !== null | ||
| 236 | + ) { | ||
| 237 | + proxy.$refs.DeviceProfileStep4Ref?.addStep4(); | ||
| 238 | + } else { | ||
| 239 | + proxy.$refs.DeviceProfileStep4Ref?.closeStep4(); | ||
| 240 | + } | ||
| 241 | + nextTick(() => { | ||
| 242 | + proxy.$refs.DeviceProfileStep4Ref?.setAlaramContactAndNoticeMethodFunc({ | ||
| 243 | + alarmContactId: editData.value?.alarmProfile.alarmContactId.split(','), | ||
| 244 | + messageMode: editData.value?.alarmProfile.messageMode.split(','), | ||
| 245 | + }); | ||
| 272 | }); | 246 | }); |
| 273 | } else if (isUpdate.value == 3) { | 247 | } else if (isUpdate.value == 3) { |
| 274 | - proxy.$refs.DeviceProfileStep4Ref?.setAlaramContactAndNoticeMethodFunc({ | ||
| 275 | - alarmContactId: editData.value?.alarmProfile.alarmContactId.split(','), | ||
| 276 | - messageMode: editData.value?.alarmProfile.messageMode.split(','), | 248 | + if ( |
| 249 | + editData.value?.alarmProfile.messageMode !== null || | ||
| 250 | + editData.value?.alarmProfile.alarmContactId !== null | ||
| 251 | + ) { | ||
| 252 | + proxy.$refs.DeviceProfileStep4Ref?.addStep4(); | ||
| 253 | + } else { | ||
| 254 | + proxy.$refs.DeviceProfileStep4Ref?.closeStep4(); | ||
| 255 | + } | ||
| 256 | + nextTick(() => { | ||
| 257 | + proxy.$refs.DeviceProfileStep4Ref?.setAlaramContactAndNoticeMethodFunc({ | ||
| 258 | + alarmContactId: editData.value?.alarmProfile.alarmContactId.split(','), | ||
| 259 | + messageMode: editData.value?.alarmProfile.messageMode.split(','), | ||
| 260 | + }); | ||
| 277 | }); | 261 | }); |
| 278 | } | 262 | } |
| 279 | } catch {} | 263 | } catch {} |
| 280 | } | 264 | } |
| 281 | const handleSubmit = async () => { | 265 | const handleSubmit = async () => { |
| 282 | - const step1Val = await proxy.$refs.DeviceProfileStep1Ref?.getStep1Func(); | ||
| 283 | - if (isUpdate.value == 1) { | ||
| 284 | - isGetStepThreeData = { | ||
| 285 | - ...{ | ||
| 286 | - profileData: | ||
| 287 | - getStepThreeData.value.length == 0 ? { alarms: null } : getStepThreeData.value, | ||
| 288 | - }, | ||
| 289 | - }; | 266 | + let getPic = null; |
| 267 | + let getStep2Obj = proxy.$refs.DeviceProfileStep2Ref?.getStep2DataFunc(); | ||
| 268 | + Object.assign(getStepTwoData, getStep2Obj); | ||
| 269 | + try { | ||
| 270 | + //没有点击下一步 | ||
| 271 | + if (!isNextStatus.value) { | ||
| 272 | + const getStep1Obj = await proxy.$refs.DeviceProfileStep1Ref?.getStep1Func(); | ||
| 273 | + getPic = getStep1Obj.icon; | ||
| 274 | + getStepOneData = { | ||
| 275 | + ...getStep1Obj.key, | ||
| 276 | + ...{ image: getPic }, | ||
| 277 | + }; | ||
| 278 | + Object.assign(getStepOneData, getStep1Obj.key); | ||
| 279 | + } | ||
| 280 | + let step3Val = await proxy.$refs.DeviceProfileStep3Ref?.getStep3AllDataFunc(); | ||
| 281 | + if (step3Val.length === 0) { | ||
| 282 | + isGetStepThreeData.profileData.alarms = null; | ||
| 283 | + } else { | ||
| 284 | + isGetStepThreeData.profileData.alarms = step3Val; | ||
| 285 | + } | ||
| 290 | try { | 286 | try { |
| 291 | getStepFourData = await proxy.$refs.DeviceProfileStep4Ref?.getAllFields(); | 287 | getStepFourData = await proxy.$refs.DeviceProfileStep4Ref?.getAllFields(); |
| 292 | const getJoinAlarmContactIdData = getStepFourData.alarmContactId.join(','); | 288 | const getJoinAlarmContactIdData = getStepFourData.alarmContactId.join(','); |
| @@ -296,51 +292,51 @@ | @@ -296,51 +292,51 @@ | ||
| 296 | alarmProfileData.alarmProfile.alarmContactId = getAlarmContactId.value; | 292 | alarmProfileData.alarmProfile.alarmContactId = getAlarmContactId.value; |
| 297 | alarmProfileData.alarmProfile.messageMode = getMessageMode.value; | 293 | alarmProfileData.alarmProfile.messageMode = getMessageMode.value; |
| 298 | } catch {} | 294 | } catch {} |
| 299 | - Object.assign( | ||
| 300 | - postDeviceConfogData.value, | ||
| 301 | - step1Val, | ||
| 302 | - getStepTwoData.value, | ||
| 303 | - isGetStepThreeData, | ||
| 304 | - alarmProfileData.alarmProfile.alarmContactId == '' ? null : alarmProfileData | ||
| 305 | - ); | ||
| 306 | - await deviceConfigAddOrEdit(postDeviceConfogData.value); | ||
| 307 | - createMessage.success('新增成功'); | ||
| 308 | - closeModal(); | ||
| 309 | - emit('success'); | ||
| 310 | - } else if (isUpdate.value == 2) { | ||
| 311 | - // isGetStepThreeData.profileData.alarms = | ||
| 312 | - // isEditAndChange.value == true | ||
| 313 | - // ? editData.value.profileData.alarms | ||
| 314 | - // : getStepThreeData.value; | ||
| 315 | - // postDeviceConfogData.value.id = postEditId.value; | ||
| 316 | - // getStepFourData = await proxy.$refs.DeviceProfileStep4Ref.getAllFields(); | ||
| 317 | - // const getJoinAlarmContactIdData = getStepFourData.alarmContactId.join(','); | ||
| 318 | - // const getJoinMessageModeData = getStepFourData.messageMode.join(','); | ||
| 319 | - // getAlarmContactId.value = getJoinAlarmContactIdData; | ||
| 320 | - // getMessageMode.value = getJoinMessageModeData; | ||
| 321 | - // alarmProfileData.alarmProfile.alarmContactId = getAlarmContactId.value; | ||
| 322 | - // alarmProfileData.alarmProfile.messageMode = getMessageMode.value; | ||
| 323 | - // Object.assign( | ||
| 324 | - // postDeviceConfogData.value, | ||
| 325 | - // getStepOneData.value, | ||
| 326 | - // getStepTwoData.value, | ||
| 327 | - // isGetStepThreeData, | ||
| 328 | - // alarmProfileData | ||
| 329 | - // ); | ||
| 330 | - // await deviceConfigAddOrEdit(postDeviceConfogData.value); | ||
| 331 | - // createMessage.success('编辑成功'); | ||
| 332 | - // closeModal(); | ||
| 333 | - // emit('success'); | ||
| 334 | - } | 295 | + if (isUpdate.value == 1) { |
| 296 | + Object.assign( | ||
| 297 | + postDeviceConfogData.value, | ||
| 298 | + getStepOneData, | ||
| 299 | + getStepTwoData, | ||
| 300 | + isGetStepThreeData, | ||
| 301 | + alarmProfileData.alarmProfile.alarmContactId == '' ? null : alarmProfileData | ||
| 302 | + ); | ||
| 303 | + await deviceConfigAddOrEdit(postDeviceConfogData.value); | ||
| 304 | + createMessage.success('新增成功'); | ||
| 305 | + closeModal(); | ||
| 306 | + emit('success'); | ||
| 307 | + } else if (isUpdate.value == 2) { | ||
| 308 | + const id = { | ||
| 309 | + id: postEditId, | ||
| 310 | + }; | ||
| 311 | + Object.assign( | ||
| 312 | + postDeviceConfogData.value, | ||
| 313 | + getStepOneData, | ||
| 314 | + getStepTwoData, | ||
| 315 | + isGetStepThreeData, | ||
| 316 | + id, | ||
| 317 | + alarmProfileData.alarmProfile.alarmContactId == '' ? null : alarmProfileData | ||
| 318 | + ); | ||
| 319 | + await deviceConfigAddOrEdit(postDeviceConfogData.value); | ||
| 320 | + createMessage.success('编辑成功'); | ||
| 321 | + closeModal(); | ||
| 322 | + emit('success'); | ||
| 323 | + } | ||
| 324 | + } catch {} | ||
| 335 | }; | 325 | }; |
| 336 | const handleCancel = () => { | 326 | const handleCancel = () => { |
| 337 | - closeModal(); | ||
| 338 | try { | 327 | try { |
| 339 | - proxy.$refs.DeviceProfileStep1Ref?.customResetStepOneFunc(); | ||
| 340 | - proxy.$refs.DeviceProfileStep1Ref?.resetIconFunc(); | ||
| 341 | - proxy.$refs.DeviceProfileStep2Ref?.customClearStepTwoValueFunc(); | ||
| 342 | - proxy.$refs.DeviceProfileStep3Ref?.clearStep3DataFunc(); | ||
| 343 | - proxy.$refs.DeviceProfileStep4Ref?.clearAlaramContactAndNoticeMethodFunc(); | 328 | + nextTick(() => { |
| 329 | + proxy.$refs.DeviceProfileStep1Ref?.customResetStepOneFunc(); | ||
| 330 | + proxy.$refs.DeviceProfileStep1Ref?.resetIconFunc(); | ||
| 331 | + proxy.$refs.DeviceProfileStep2Ref?.customClearStepTwoValueFunc(); | ||
| 332 | + proxy.$refs.DeviceProfileStep3Ref?.clearStep3DataFunc(); | ||
| 333 | + proxy.$refs.DeviceProfileStep4Ref?.clearAlaramContactAndNoticeMethodFunc(); | ||
| 334 | + getStepOneData = {}; | ||
| 335 | + getStepTwoData = {}; | ||
| 336 | + isGetStepThreeData.profileData.alarms.length = 0; | ||
| 337 | + alarmProfileData.alarmProfile.alarmContactId = ''; | ||
| 338 | + alarmProfileData.alarmProfile.messageMode = ''; | ||
| 339 | + }); | ||
| 344 | } catch {} | 340 | } catch {} |
| 345 | }; | 341 | }; |
| 346 | function handleRedo() { | 342 | function handleRedo() { |
| @@ -201,6 +201,7 @@ | @@ -201,6 +201,7 @@ | ||
| 201 | await deviceConfigDelete(selectedRowKeys); | 201 | await deviceConfigDelete(selectedRowKeys); |
| 202 | createMessage.success('删除成功'); | 202 | createMessage.success('删除成功'); |
| 203 | handleSuccess(); | 203 | handleSuccess(); |
| 204 | + selectedRowKeys.length = 0; | ||
| 204 | } | 205 | } |
| 205 | 206 | ||
| 206 | function handleDelete(record: Recordable) { | 207 | function handleDelete(record: Recordable) { |
| @@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
| 15 | > | 15 | > |
| 16 | <img | 16 | <img |
| 17 | v-if="peresonalPic" | 17 | v-if="peresonalPic" |
| 18 | - :src="peresonalPic" | 18 | + :src="peresonalPic ? peresonalPic : echoPic" |
| 19 | alt="avatar" | 19 | alt="avatar" |
| 20 | style="width: 6.25rem; height: 6.25rem" | 20 | style="width: 6.25rem; height: 6.25rem" |
| 21 | /> | 21 | /> |
| @@ -54,6 +54,7 @@ | @@ -54,6 +54,7 @@ | ||
| 54 | emits: ['next', 'resetFunc', 'register'], | 54 | emits: ['next', 'resetFunc', 'register'], |
| 55 | setup(_, { emit }) { | 55 | setup(_, { emit }) { |
| 56 | const { createMessage } = useMessage(); | 56 | const { createMessage } = useMessage(); |
| 57 | + const echoPic = ref(''); | ||
| 57 | const [register, { validate, setFieldsValue, resetFields }] = useForm({ | 58 | const [register, { validate, setFieldsValue, resetFields }] = useForm({ |
| 58 | labelWidth: 100, | 59 | labelWidth: 100, |
| 59 | schemas: step1Schemas, | 60 | schemas: step1Schemas, |
| @@ -69,6 +70,9 @@ | @@ -69,6 +70,9 @@ | ||
| 69 | //回显数据 | 70 | //回显数据 |
| 70 | const setStepOneFieldsValueFunc = (v) => { | 71 | const setStepOneFieldsValueFunc = (v) => { |
| 71 | setFieldsValue(v); | 72 | setFieldsValue(v); |
| 73 | + if (v.image !== null) { | ||
| 74 | + echoPic.value = v.image; | ||
| 75 | + } | ||
| 72 | }; | 76 | }; |
| 73 | const peresonalPic = ref(); | 77 | const peresonalPic = ref(); |
| 74 | 78 | ||
| @@ -115,7 +119,11 @@ | @@ -115,7 +119,11 @@ | ||
| 115 | }; | 119 | }; |
| 116 | const getStep1Func = async () => { | 120 | const getStep1Func = async () => { |
| 117 | const valueStep1 = await validate(); | 121 | const valueStep1 = await validate(); |
| 118 | - return valueStep1; | 122 | + const pic = peresonalPic.value; |
| 123 | + return { | ||
| 124 | + key: valueStep1, | ||
| 125 | + icon: pic, | ||
| 126 | + }; | ||
| 119 | }; | 127 | }; |
| 120 | return { | 128 | return { |
| 121 | editIconFunc, | 129 | editIconFunc, |
| @@ -128,6 +136,7 @@ | @@ -128,6 +136,7 @@ | ||
| 128 | beforeUploadqrcodePic, | 136 | beforeUploadqrcodePic, |
| 129 | customUploadqrcodePic, | 137 | customUploadqrcodePic, |
| 130 | getStep1Func, | 138 | getStep1Func, |
| 139 | + echoPic, | ||
| 131 | }; | 140 | }; |
| 132 | }, | 141 | }, |
| 133 | }); | 142 | }); |
| @@ -41,7 +41,7 @@ | @@ -41,7 +41,7 @@ | ||
| 41 | }, | 41 | }, |
| 42 | emits: ['next', 'prev', 'register'], | 42 | emits: ['next', 'prev', 'register'], |
| 43 | setup(_, { emit }) { | 43 | setup(_, { emit }) { |
| 44 | - const [register, { validate, setFieldsValue, resetFields }] = useForm({ | 44 | + const [register, { getFieldsValue, validate, setFieldsValue, resetFields }] = useForm({ |
| 45 | labelWidth: 80, | 45 | labelWidth: 80, |
| 46 | schemas: step2Schemas, | 46 | schemas: step2Schemas, |
| 47 | actionColOptions: { | 47 | actionColOptions: { |
| @@ -66,12 +66,18 @@ | @@ -66,12 +66,18 @@ | ||
| 66 | } finally { | 66 | } finally { |
| 67 | } | 67 | } |
| 68 | } | 68 | } |
| 69 | + | ||
| 70 | + const getStep2DataFunc = () => { | ||
| 71 | + const val = getFieldsValue(); | ||
| 72 | + return val; | ||
| 73 | + }; | ||
| 69 | return { | 74 | return { |
| 70 | customResetFunc, | 75 | customResetFunc, |
| 71 | customSubmitFunc, | 76 | customSubmitFunc, |
| 72 | register, | 77 | register, |
| 73 | setStepTwoFieldsValueFunc, | 78 | setStepTwoFieldsValueFunc, |
| 74 | customClearStepTwoValueFunc, | 79 | customClearStepTwoValueFunc, |
| 80 | + getStep2DataFunc, | ||
| 75 | }; | 81 | }; |
| 76 | }, | 82 | }, |
| 77 | }); | 83 | }); |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | <div> | 3 | <div> |
| 4 | - <div v-if="alarmsData.length === 0" style="text-align: center"> | 4 | + <div |
| 5 | + v-if="!getIsEchoEditStatus ? alarmsData.length == 0 : echoEditData.length == 0" | ||
| 6 | + style="text-align: center" | ||
| 7 | + > | ||
| 5 | <p style="font-size: large">未配置报警规则</p> | 8 | <p style="font-size: large">未配置报警规则</p> |
| 6 | </div> | 9 | </div> |
| 7 | <div> | 10 | <div> |
| 8 | <template | 11 | <template |
| 9 | v-for="(item, index) in !getIsEchoEditStatus ? alarmsData : echoEditData" | 12 | v-for="(item, index) in !getIsEchoEditStatus ? alarmsData : echoEditData" |
| 10 | :key="index" | 13 | :key="index" |
| 14 | + :ref="item" | ||
| 11 | > | 15 | > |
| 12 | <span style="display: none">{{ item }}</span> | 16 | <span style="display: none">{{ item }}</span> |
| 13 | <span style="display: none">{{ index }}</span> | 17 | <span style="display: none">{{ index }}</span> |
| 14 | <div class="cursor-pointer" style="position: relative; top: 3.5vh; right: -41.6vw"> | 18 | <div class="cursor-pointer" style="position: relative; top: 3.5vh; right: -41.6vw"> |
| 15 | <img | 19 | <img |
| 16 | style="cursor: pointer" | 20 | style="cursor: pointer" |
| 17 | - @click="removeAlarmRule(index, item)" | 21 | + @click="removeAlarmRule(item, index)" |
| 18 | alt="移除" | 22 | alt="移除" |
| 19 | src="../../../../assets/images/delete.png" | 23 | src="../../../../assets/images/delete.png" |
| 20 | /> | 24 | /> |
| @@ -44,7 +48,11 @@ | @@ -44,7 +48,11 @@ | ||
| 44 | <div style="margin-left: 14.5vw; margin-top: 2vh"> | 48 | <div style="margin-left: 14.5vw; margin-top: 2vh"> |
| 45 | <a-button class="mr-5" @click="prevStepFunc">上一步</a-button> | 49 | <a-button class="mr-5" @click="prevStepFunc">上一步</a-button> |
| 46 | <a-button @click="nextStepFunc">下一步</a-button> | 50 | <a-button @click="nextStepFunc">下一步</a-button> |
| 47 | - <a-button style="margin-left: 20px" type="primary" @click="clickAddAlaramRuleFunc" | 51 | + <a-button |
| 52 | + v-if="btnClose" | ||
| 53 | + style="margin-left: 20px" | ||
| 54 | + type="primary" | ||
| 55 | + @click="clickAddAlaramRuleFunc" | ||
| 48 | >添加报警规则</a-button | 56 | >添加报警规则</a-button |
| 49 | > | 57 | > |
| 50 | </div> | 58 | </div> |
| @@ -53,40 +61,65 @@ | @@ -53,40 +61,65 @@ | ||
| 53 | </template> | 61 | </template> |
| 54 | 62 | ||
| 55 | <script lang="ts"> | 63 | <script lang="ts"> |
| 56 | - import { defineComponent, ref, getCurrentInstance, reactive } from 'vue'; | 64 | + import { defineComponent, ref, getCurrentInstance, reactive, watch } from 'vue'; |
| 57 | import CommonCpns from './common/index.vue'; | 65 | import CommonCpns from './common/index.vue'; |
| 66 | + import { deteleObject } from '/@/hooks/web/useFilter'; | ||
| 58 | 67 | ||
| 59 | export default defineComponent({ | 68 | export default defineComponent({ |
| 60 | components: { | 69 | components: { |
| 61 | CommonCpns, | 70 | CommonCpns, |
| 62 | }, | 71 | }, |
| 72 | + props: ['isShowAddRule'], | ||
| 63 | emits: ['next', 'prev'], | 73 | emits: ['next', 'prev'], |
| 64 | - setup(_, { emit }) { | 74 | + setup(props, { emit }) { |
| 65 | const { proxy } = getCurrentInstance() as any; | 75 | const { proxy } = getCurrentInstance() as any; |
| 66 | const commonCpnsRef = ref(null); | 76 | const commonCpnsRef = ref(null); |
| 67 | const alarmsData: any = ref([]); | 77 | const alarmsData: any = ref([]); |
| 68 | let profileData: any = reactive({}); | 78 | let profileData: any = reactive({}); |
| 69 | const echoEditData: any = ref([]); | 79 | const echoEditData: any = ref([]); |
| 70 | const getIsEchoEditStatus = ref(false); | 80 | const getIsEchoEditStatus = ref(false); |
| 81 | + const btnClose = ref(true); | ||
| 82 | + let getO = reactive({}); | ||
| 71 | const prevStepFunc = () => { | 83 | const prevStepFunc = () => { |
| 72 | emit('prev'); | 84 | emit('prev'); |
| 73 | }; | 85 | }; |
| 74 | const nextStepFunc = async () => { | 86 | const nextStepFunc = async () => { |
| 75 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); | 87 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); |
| 76 | alarmsData.value.push(profileData); | 88 | alarmsData.value.push(profileData); |
| 77 | - alarmsData.value.shift(); | ||
| 78 | emit('next', { | 89 | emit('next', { |
| 79 | alarms: alarmsData.value, | 90 | alarms: alarmsData.value, |
| 80 | }); | 91 | }); |
| 81 | }; | 92 | }; |
| 82 | - const clickAddAlaramRuleFunc = async () => { | 93 | + const getStep3AllDataFunc = async () => { |
| 83 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); | 94 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); |
| 84 | alarmsData.value.push(profileData); | 95 | alarmsData.value.push(profileData); |
| 96 | + console.log(await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc()); | ||
| 97 | + if (getIsEchoEditStatus.value) { | ||
| 98 | + for (let i = 0; i < echoEditData.value.length; i++) { | ||
| 99 | + getO = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); | ||
| 100 | + alarmsData.value.push(getO); | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + console.log(alarmsData.value); | ||
| 104 | + alarmsData.value = alarmsData.value.filter((i) => i); | ||
| 105 | + alarmsData.value = deteleObject(alarmsData.value); | ||
| 106 | + console.log(alarmsData.value); | ||
| 107 | + return alarmsData.value; | ||
| 85 | }; | 108 | }; |
| 86 | - const removeAlarmRule = (i, e) => { | ||
| 87 | - console.log(e); | ||
| 88 | - let delI = i; | ||
| 89 | - alarmsData.value.splice(delI, 1); | 109 | + const clickAddAlaramRuleFunc = async () => { |
| 110 | + try { | ||
| 111 | + profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); | ||
| 112 | + alarmsData.value.push(profileData); | ||
| 113 | + if (getIsEchoEditStatus.value) { | ||
| 114 | + echoEditData.value.push(profileData); | ||
| 115 | + // proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); | ||
| 116 | + } | ||
| 117 | + } catch {} | ||
| 118 | + }; | ||
| 119 | + const removeAlarmRule = (e, i) => { | ||
| 120 | + const key = alarmsData.value.indexOf(e); | ||
| 121 | + console.log(i); | ||
| 122 | + alarmsData.value.splice(key, 1); | ||
| 90 | }; | 123 | }; |
| 91 | /** | 124 | /** |
| 92 | * 清空数据 | 125 | * 清空数据 |
| @@ -94,8 +127,11 @@ | @@ -94,8 +127,11 @@ | ||
| 94 | const clearStep3DataFunc = () => { | 127 | const clearStep3DataFunc = () => { |
| 95 | try { | 128 | try { |
| 96 | alarmsData.value.length = 0; | 129 | alarmsData.value.length = 0; |
| 97 | - profileData = {}; | 130 | + echoEditData.value.length = 0; |
| 131 | + // profileData = {}; | ||
| 98 | proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); | 132 | proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); |
| 133 | + getIsEchoEditStatus.value = false; | ||
| 134 | + getO = {}; | ||
| 99 | } catch {} | 135 | } catch {} |
| 100 | }; | 136 | }; |
| 101 | /** | 137 | /** |
| @@ -106,10 +142,18 @@ | @@ -106,10 +142,18 @@ | ||
| 106 | getIsEchoEditStatus.value = s; | 142 | getIsEchoEditStatus.value = s; |
| 107 | if (getIsEchoEditStatus.value === true) { | 143 | if (getIsEchoEditStatus.value === true) { |
| 108 | echoEditData.value = e; | 144 | echoEditData.value = e; |
| 145 | + if (echoEditData.value == null) { | ||
| 146 | + echoEditData.value = []; | ||
| 147 | + } | ||
| 109 | } | 148 | } |
| 110 | } catch {} | 149 | } catch {} |
| 111 | }; | 150 | }; |
| 112 | - | 151 | + watch( |
| 152 | + () => props.isShowAddRule, | ||
| 153 | + (v) => { | ||
| 154 | + btnClose.value = v; | ||
| 155 | + } | ||
| 156 | + ); | ||
| 113 | return { | 157 | return { |
| 114 | clickAddAlaramRuleFunc, | 158 | clickAddAlaramRuleFunc, |
| 115 | prevStepFunc, | 159 | prevStepFunc, |
| @@ -121,6 +165,8 @@ | @@ -121,6 +165,8 @@ | ||
| 121 | echoStep3DataFunc, | 165 | echoStep3DataFunc, |
| 122 | echoEditData, | 166 | echoEditData, |
| 123 | getIsEchoEditStatus, | 167 | getIsEchoEditStatus, |
| 168 | + getStep3AllDataFunc, | ||
| 169 | + btnClose, | ||
| 124 | }; | 170 | }; |
| 125 | }, | 171 | }, |
| 126 | }); | 172 | }); |
| @@ -15,17 +15,17 @@ | @@ -15,17 +15,17 @@ | ||
| 15 | margin-top: -1.2vh; | 15 | margin-top: -1.2vh; |
| 16 | " | 16 | " |
| 17 | > | 17 | > |
| 18 | - <div style="width: 5vw; height: 4vh; margin-top: -3.5vh"> | 18 | + <div style="width: 5vw; height: 4vh; margin-top: -3.6vh"> |
| 19 | <Button type="primary" style="border-radius: 2px" class="mt-5" @click="prevStep4" | 19 | <Button type="primary" style="border-radius: 2px" class="mt-5" @click="prevStep4" |
| 20 | >上一步</Button | 20 | >上一步</Button |
| 21 | > | 21 | > |
| 22 | </div> | 22 | </div> |
| 23 | - <div style="width: 5vw; height: 4vh; margin-top: -3.5vh"> | 23 | + <div style="width: 5vw; height: 4vh; margin-top: -3.6vh"> |
| 24 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="addStep4"> | 24 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="addStep4"> |
| 25 | 打开告警通知</Button | 25 | 打开告警通知</Button |
| 26 | > | 26 | > |
| 27 | </div> | 27 | </div> |
| 28 | - <div style="width: 5vw; height: 4vh; margin-top: -3.5vh; margin-left: 2.2vw"> | 28 | + <div style="width: 5vw; height: 4vh; margin-top: -3.6vh; margin-left: 2.2vw"> |
| 29 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="closeStep4"> | 29 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="closeStep4"> |
| 30 | 关闭</Button | 30 | 关闭</Button |
| 31 | > | 31 | > |
| @@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
| 34 | </div> | 34 | </div> |
| 35 | </template> | 35 | </template> |
| 36 | <script lang="ts"> | 36 | <script lang="ts"> |
| 37 | - import { defineComponent, ref } from 'vue'; | 37 | + import { defineComponent, ref, nextTick } from 'vue'; |
| 38 | import { BasicForm, useForm } from '/@/components/Form/index'; | 38 | import { BasicForm, useForm } from '/@/components/Form/index'; |
| 39 | import { alertContactsSchemas } from './data'; | 39 | import { alertContactsSchemas } from './data'; |
| 40 | import { Button } from '/@/components/Button'; | 40 | import { Button } from '/@/components/Button'; |
| @@ -58,7 +58,11 @@ | @@ -58,7 +58,11 @@ | ||
| 58 | setFieldsValue(v); | 58 | setFieldsValue(v); |
| 59 | }; | 59 | }; |
| 60 | const clearAlaramContactAndNoticeMethodFunc = () => { | 60 | const clearAlaramContactAndNoticeMethodFunc = () => { |
| 61 | - resetFields(); | 61 | + try { |
| 62 | + nextTick(() => { | ||
| 63 | + // resetFields(); | ||
| 64 | + }); | ||
| 65 | + } catch {} | ||
| 62 | }; | 66 | }; |
| 63 | const getAllFields = async (getV) => { | 67 | const getAllFields = async (getV) => { |
| 64 | const values = await validate(); | 68 | const values = await validate(); |
| 1 | export const formatAlarmRuleConditionsData = (f) => { | 1 | export const formatAlarmRuleConditionsData = (f) => { |
| 2 | - return f.predicate.operation == 'EQUAL' | ||
| 3 | - ? f.key.key + '等于' + f.predicate.value.defaultValue | ||
| 4 | - : f.predicate.operation == 'STARTS_WITH' | ||
| 5 | - ? f.key.key + '开始于' + f.predicate.value.defaultValue | ||
| 6 | - : f.predicate.operation == 'ENDS_WITH' | ||
| 7 | - ? f.key.key + '结束于' + f.predicate.value.defaultValue | ||
| 8 | - : f.predicate.operation == 'NOT_CONTAINS' | ||
| 9 | - ? f.key.key + '不包含' + f.predicate.value.defaultValue | ||
| 10 | - : f.predicate.operation == 'NOT_EQUAL' | ||
| 11 | - ? f.key.key + '不等于' + f.predicate.value.defaultValue | ||
| 12 | - : f.predicate.operation == 'GREATER' | ||
| 13 | - ? f.key.key + '大于' + f.predicate.value.defaultValue | ||
| 14 | - : f.predicate.operation == 'LESS' | ||
| 15 | - ? f.key.key + '小于' + f.predicate.value.defaultValue | ||
| 16 | - : f.predicate.operation == 'GREATER_OR_EQUAL' | ||
| 17 | - ? f.key.key + '大于或等于' + f.predicate.value.defaultValue | ||
| 18 | - : f.key.key + '小于或等于' + f.predicate.value.defaultValue; | 2 | + return f?.predicate.operation == 'EQUAL' |
| 3 | + ? f?.key.key + '等于' + f?.predicate.value.defaultValue | ||
| 4 | + : f?.predicate.operation == 'STARTS_WITH' | ||
| 5 | + ? f?.key.key + '开始于' + f?.predicate.value.defaultValue | ||
| 6 | + : f?.predicate.operation == 'ENDS_WITH' | ||
| 7 | + ? f?.key.key + '结束于' + f?.predicate.value.defaultValue | ||
| 8 | + : f?.predicate.operation == 'NOT_CONTAINS' | ||
| 9 | + ? f?.key.key + '不包含' + f?.predicate.value.defaultValue | ||
| 10 | + : f?.predicate.operation == 'NOT_EQUAL' | ||
| 11 | + ? f?.key.key + '不等于' + f?.predicate.value.defaultValue | ||
| 12 | + : f?.predicate.operation == 'GREATER' | ||
| 13 | + ? f?.key.key + '大于' + f?.predicate.value.defaultValue | ||
| 14 | + : f?.predicate.operation == 'LESS' | ||
| 15 | + ? f?.key.key + '小于' + f?.predicate.value.defaultValue | ||
| 16 | + : f?.predicate.operation == 'GREATER_OR_EQUAL' | ||
| 17 | + ? f?.key.key + '大于或等于' + f?.predicate.value.defaultValue | ||
| 18 | + : f?.key.key + '小于或等于' + f?.predicate.value.defaultValue; | ||
| 19 | }; | 19 | }; |
| 20 | 20 | ||
| 21 | export const formatEnableRuleData = (f) => { | 21 | export const formatEnableRuleData = (f) => { |
| 22 | - return f.type == 'ANY_TIME' ? '始终启用' : f.type == 'SPECIFIC_TIME' ? '定时启用' : '自定义启用'; | 22 | + return f?.type == 'ANY_TIME' |
| 23 | + ? '始终启用' | ||
| 24 | + : f?.type == 'SPECIFIC_TIME' | ||
| 25 | + ? '定时启用' | ||
| 26 | + : '自定义启用'; | ||
| 27 | +}; | ||
| 28 | + | ||
| 29 | +export const formatAlarmRuleConditionsData1 = (v) => { | ||
| 30 | + let openEditRuleConditObj: any = {}; | ||
| 31 | + for (const i in v) { | ||
| 32 | + if (i == 'CRITICAL') { | ||
| 33 | + openEditRuleConditObj = v[i]; | ||
| 34 | + } else if (i == 'MAJOR') { | ||
| 35 | + openEditRuleConditObj = v[i]; | ||
| 36 | + } else if (i == 'MINOR') { | ||
| 37 | + openEditRuleConditObj = v[i]; | ||
| 38 | + } else if (i == 'WARNING') { | ||
| 39 | + openEditRuleConditObj = v[i]; | ||
| 40 | + } else if (i == 'INDETERMINATE') { | ||
| 41 | + openEditRuleConditObj = v[i]; | ||
| 42 | + } | ||
| 43 | + } | ||
| 44 | + return openEditRuleConditObj; | ||
| 23 | }; | 45 | }; |
| @@ -22,11 +22,19 @@ | @@ -22,11 +22,19 @@ | ||
| 22 | <!-- 创建报警规则 --> | 22 | <!-- 创建报警规则 --> |
| 23 | <div style="margin-top: -6vh"> | 23 | <div style="margin-top: -6vh"> |
| 24 | <p style="margin-left: 10px; font-size: medium">创建报警规则</p> | 24 | <p style="margin-left: 10px; font-size: medium">创建报警规则</p> |
| 25 | - <p v-if="createAlarmRuleData.length === 0" style="text-align: center; font-size: large" | 25 | + <p |
| 26 | + v-if="createAlarmRuleData.length === 0 && createEditAlarmRuleData.length == 0" | ||
| 27 | + style="text-align: center; font-size: large" | ||
| 26 | >请添加创建报警规则</p | 28 | >请添加创建报警规则</p |
| 27 | > | 29 | > |
| 28 | <div v-if="createAlarmRuleData.length > 0"> | 30 | <div v-if="createAlarmRuleData.length > 0"> |
| 29 | - <template v-for="(item, index) in createAlarmRuleData" :key="index"> | 31 | + <template |
| 32 | + v-for="(item, index) in !isStep3FatherAddOrEditStatus | ||
| 33 | + ? createAlarmRuleData | ||
| 34 | + : createEditAlarmRuleData" | ||
| 35 | + :key="index" | ||
| 36 | + :ref="item" | ||
| 37 | + > | ||
| 30 | <span style="display: none">{{ item }}</span> | 38 | <span style="display: none">{{ item }}</span> |
| 31 | <span style="display: none">{{ index }}</span> | 39 | <span style="display: none">{{ index }}</span> |
| 32 | <div class="cursor-pointer" style="position: relative; top: 15.5vh; right: -40.8vw"> | 40 | <div class="cursor-pointer" style="position: relative; top: 15.5vh; right: -40.8vw"> |
| @@ -39,8 +47,14 @@ | @@ -39,8 +47,14 @@ | ||
| 39 | </div> | 47 | </div> |
| 40 | <div style="width: 38vw; height: 30vh; border: 1px solid grey; border-radius: 4px"> | 48 | <div style="width: 38vw; height: 30vh; border: 1px solid grey; border-radius: 4px"> |
| 41 | <div style="margin-top: 1vh"> | 49 | <div style="margin-top: 1vh"> |
| 42 | - <AlarmSeverityCpn ref="AlarmSeverityRef" /> | ||
| 43 | - <DetailTemplateCpn ref="DetailTemplateRef" /> | 50 | + <AlarmSeverityCpn |
| 51 | + ref="AlarmSeverityRef" | ||
| 52 | + :AlarmSeverityCpnData="!isStep3FatherAddOrEditStatus ? 1 : item" | ||
| 53 | + /> | ||
| 54 | + <DetailTemplateCpn | ||
| 55 | + ref="DetailTemplateRef" | ||
| 56 | + :DetailTemplateCpnData="!isStep3FatherAddOrEditStatus ? 1 : item" | ||
| 57 | + /> | ||
| 44 | <AlarmRuleConditionsCpn | 58 | <AlarmRuleConditionsCpn |
| 45 | ref="AlarmRuleConditionsRef" | 59 | ref="AlarmRuleConditionsRef" |
| 46 | @register="registerAlarmRuleConditionsModal" | 60 | @register="registerAlarmRuleConditionsModal" |
| @@ -61,21 +75,19 @@ | @@ -61,21 +75,19 @@ | ||
| 61 | /></a-button> | 75 | /></a-button> |
| 62 | <div> | 76 | <div> |
| 63 | <div> | 77 | <div> |
| 64 | - <template v-for="(item1, index1) in formatAlarmRuleConditions" :key="index1"> | 78 | + <template |
| 79 | + v-for="(item1, index1) in !isStep3FatherAddOrEditStatus | ||
| 80 | + ? formatAlarmRuleConditions | ||
| 81 | + : []" | ||
| 82 | + :key="index1" | ||
| 83 | + > | ||
| 65 | <p v-if="index1 == index"> | 84 | <p v-if="index1 == index"> |
| 66 | 报警规则条件:{{ formatAlarmRuleConditionsFunc(item1) }} | 85 | 报警规则条件:{{ formatAlarmRuleConditionsFunc(item1) }} |
| 67 | </p> | 86 | </p> |
| 68 | </template> | 87 | </template> |
| 69 | </div> | 88 | </div> |
| 70 | - <div> | ||
| 71 | - <template | ||
| 72 | - v-for="(item11, index11) in formatEditAlarmRuleConditions" | ||
| 73 | - :key="index11" | ||
| 74 | - > | ||
| 75 | - <p v-if="index11 == index"> | ||
| 76 | - 报警规则条件:{{ formatAlarmRuleConditionsData(item11) }} | ||
| 77 | - </p> | ||
| 78 | - </template> | 89 | + <div v-if="isStep3FatherAddOrEditStatus"> |
| 90 | + <p> 报警规则条件:{{ formatAlarmRuleConditionsDataFunc(item) }} </p> | ||
| 79 | </div> | 91 | </div> |
| 80 | </div> | 92 | </div> |
| 81 | </div> | 93 | </div> |
| @@ -85,18 +97,21 @@ | @@ -85,18 +97,21 @@ | ||
| 85 | ><PlusCircleOutlined | 97 | ><PlusCircleOutlined |
| 86 | /></a-button> | 98 | /></a-button> |
| 87 | <div> | 99 | <div> |
| 88 | - <p v-if="formatEnableRule.length == 0 && formatEditEnableRule.length == 0" | ||
| 89 | - >始终启用</p | 100 | + <p v-if="formatEnableRule.length == 0 && !isStep3FatherAddOrEditStatus" |
| 101 | + >启用规则:始终启用</p | ||
| 90 | > | 102 | > |
| 91 | <div> | 103 | <div> |
| 92 | - <template v-for="(item2, index2) in formatEnableRule" :key="index2"> | 104 | + <template |
| 105 | + v-for="(item2, index2) in !isStep3FatherAddOrEditStatus | ||
| 106 | + ? formatEnableRule | ||
| 107 | + : []" | ||
| 108 | + :key="index2" | ||
| 109 | + > | ||
| 93 | <p v-if="index2 == index"> 启用规则:{{ formatEnableRuleFunc(item2) }} </p> | 110 | <p v-if="index2 == index"> 启用规则:{{ formatEnableRuleFunc(item2) }} </p> |
| 94 | </template> | 111 | </template> |
| 95 | </div> | 112 | </div> |
| 96 | - <div> | ||
| 97 | - <template v-for="(item22, index22) in formatEditEnableRule" :key="index22"> | ||
| 98 | - <p v-if="index22 == index"> 启用规则:{{ formatEnableRuleData(item22) }} </p> | ||
| 99 | - </template> | 113 | + <div v-if="isStep3FatherAddOrEditStatus"> |
| 114 | + <p> 启用规则:{{ formatEnableRuleFuncData(item) }} </p> | ||
| 100 | </div> | 115 | </div> |
| 101 | </div> | 116 | </div> |
| 102 | </div> | 117 | </div> |
| @@ -176,7 +191,9 @@ | @@ -176,7 +191,9 @@ | ||
| 176 | ><PlusCircleOutlined | 191 | ><PlusCircleOutlined |
| 177 | /></a-button> | 192 | /></a-button> |
| 178 | <div> | 193 | <div> |
| 179 | - <p v-if="formatEnableRule.length == 0">始终启用</p> | 194 | + <p v-if="formatEnableRule.length == 0 && !isStep3FatherAddOrEditStatus" |
| 195 | + >启用规则:始终启用</p | ||
| 196 | + > | ||
| 180 | <div> | 197 | <div> |
| 181 | <template v-for="(item4, index4) in formatClearEnableRule" :key="index4"> | 198 | <template v-for="(item4, index4) in formatClearEnableRule" :key="index4"> |
| 182 | <span style="display: none">{{ index4 }}</span> | 199 | <span style="display: none">{{ index4 }}</span> |
| @@ -184,9 +201,14 @@ | @@ -184,9 +201,14 @@ | ||
| 184 | </template> | 201 | </template> |
| 185 | </div> | 202 | </div> |
| 186 | <div> | 203 | <div> |
| 187 | - <template v-for="(item44, index44) in formatEditClearEnableRule" :key="index44"> | 204 | + <template |
| 205 | + v-for="(item44, index44) in isStep3FatherAddOrEditStatus | ||
| 206 | + ? formatEditClearEnableRule | ||
| 207 | + : []" | ||
| 208 | + :key="index44" | ||
| 209 | + > | ||
| 188 | <span style="display: none">{{ index44 }}</span> | 210 | <span style="display: none">{{ index44 }}</span> |
| 189 | - <p> 启用规则:{{ formatClearEnableRuleFunc(item44) }} </p> | 211 | + <p> 启用规则:{{ formatEnableRuleData(item44) }} </p> |
| 190 | </template> | 212 | </template> |
| 191 | </div> | 213 | </div> |
| 192 | </div> | 214 | </div> |
| @@ -207,7 +229,7 @@ | @@ -207,7 +229,7 @@ | ||
| 207 | </div> | 229 | </div> |
| 208 | </template> | 230 | </template> |
| 209 | <script lang="ts"> | 231 | <script lang="ts"> |
| 210 | - import { defineComponent, ref, nextTick, getCurrentInstance, reactive } from 'vue'; | 232 | + import { defineComponent, ref, nextTick, getCurrentInstance, reactive, watch } from 'vue'; |
| 211 | import { BasicForm, useForm } from '/@/components/Form'; | 233 | import { BasicForm, useForm } from '/@/components/Form'; |
| 212 | import { step3Schemas, step3HighSetting, formChangeDetailSchema } from '../data'; | 234 | import { step3Schemas, step3HighSetting, formChangeDetailSchema } from '../data'; |
| 213 | import { Checkbox } from 'ant-design-vue'; | 235 | import { Checkbox } from 'ant-design-vue'; |
| @@ -218,7 +240,11 @@ | @@ -218,7 +240,11 @@ | ||
| 218 | import EnableRuleCpn from '../cpns/enablerule/index.vue'; | 240 | import EnableRuleCpn from '../cpns/enablerule/index.vue'; |
| 219 | import { useModal } from '/@/components/Modal'; | 241 | import { useModal } from '/@/components/Modal'; |
| 220 | import { generateUUID } from '/@/hooks/web/useGenerateUUID'; | 242 | import { generateUUID } from '/@/hooks/web/useGenerateUUID'; |
| 221 | - import { formatAlarmRuleConditionsData, formatEnableRuleData } from '../common/format-data/index'; | 243 | + import { |
| 244 | + formatAlarmRuleConditionsData, | ||
| 245 | + formatEnableRuleData, | ||
| 246 | + formatAlarmRuleConditionsData1, | ||
| 247 | + } from '../common/format-data/index'; | ||
| 222 | 248 | ||
| 223 | export default defineComponent({ | 249 | export default defineComponent({ |
| 224 | components: { | 250 | components: { |
| @@ -234,14 +260,13 @@ | @@ -234,14 +260,13 @@ | ||
| 234 | setup(props) { | 260 | setup(props) { |
| 235 | const { proxy } = getCurrentInstance() as any; | 261 | const { proxy } = getCurrentInstance() as any; |
| 236 | const createAlarmRuleData: any = ref([1]); | 262 | const createAlarmRuleData: any = ref([1]); |
| 263 | + const createEditAlarmRuleData: any = ref([]); | ||
| 237 | const AlarmRuleConditionsRef = ref(null); | 264 | const AlarmRuleConditionsRef = ref(null); |
| 238 | const EnableRuleRef = ref(null); | 265 | const EnableRuleRef = ref(null); |
| 239 | const formatAlarmRuleConditions: any = ref([]); | 266 | const formatAlarmRuleConditions: any = ref([]); |
| 240 | - const formatEditAlarmRuleConditions: any = ref([]); | ||
| 241 | const formatClearAlarmRuleConditions: any = ref([]); | 267 | const formatClearAlarmRuleConditions: any = ref([]); |
| 242 | const formatEditClearAlarmRuleConditions: any = ref([]); | 268 | const formatEditClearAlarmRuleConditions: any = ref([]); |
| 243 | const formatEnableRule: any = ref([]); | 269 | const formatEnableRule: any = ref([]); |
| 244 | - const formatEditEnableRule: any = ref([]); | ||
| 245 | const formatClearEnableRule: any = ref([]); | 270 | const formatClearEnableRule: any = ref([]); |
| 246 | const formatEditClearEnableRule: any = ref([]); | 271 | const formatEditClearEnableRule: any = ref([]); |
| 247 | let alaramsObj: any = reactive({ | 272 | let alaramsObj: any = reactive({ |
| @@ -314,6 +339,10 @@ | @@ -314,6 +339,10 @@ | ||
| 314 | const clickAddCreateRuleFunc = () => { | 339 | const clickAddCreateRuleFunc = () => { |
| 315 | createAlarmRuleData.value.push(1); | 340 | createAlarmRuleData.value.push(1); |
| 316 | getAddCreateRuleFunc(); | 341 | getAddCreateRuleFunc(); |
| 342 | + if (isStep3FatherAddOrEditStatus.value) { | ||
| 343 | + createEditAlarmRuleData.value.push(1); | ||
| 344 | + getAddCreateRuleFunc(); | ||
| 345 | + } | ||
| 317 | }; | 346 | }; |
| 318 | /** | 347 | /** |
| 319 | * 获取创建报警规则数据 | 348 | * 获取创建报警规则数据 |
| @@ -340,6 +369,9 @@ | @@ -340,6 +369,9 @@ | ||
| 340 | ...{ schedule: Object.keys(kongEnable).length == 0 ? null : kongEnable }, | 369 | ...{ schedule: Object.keys(kongEnable).length == 0 ? null : kongEnable }, |
| 341 | }; | 370 | }; |
| 342 | }; | 371 | }; |
| 372 | + /** | ||
| 373 | + * 获取清除报警规则数据 | ||
| 374 | + */ | ||
| 343 | const clickAddClearRuleFunc = () => { | 375 | const clickAddClearRuleFunc = () => { |
| 344 | isClearStatus.value = true; | 376 | isClearStatus.value = true; |
| 345 | const val6 = getRegisterFormClearChangeDetailFunc(); | 377 | const val6 = getRegisterFormClearChangeDetailFunc(); |
| @@ -377,21 +409,25 @@ | @@ -377,21 +409,25 @@ | ||
| 377 | const clickAddAlarmRuleConditionsFunc = () => { | 409 | const clickAddAlarmRuleConditionsFunc = () => { |
| 378 | nextTick(() => { | 410 | nextTick(() => { |
| 379 | openModalAlarmRuleConditions(true); | 411 | openModalAlarmRuleConditions(true); |
| 412 | + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc(); | ||
| 380 | }); | 413 | }); |
| 381 | }; | 414 | }; |
| 382 | const clickAddEnableRuleFunc = () => { | 415 | const clickAddEnableRuleFunc = () => { |
| 383 | nextTick(() => { | 416 | nextTick(() => { |
| 384 | openModalEnableRule(true); | 417 | openModalEnableRule(true); |
| 418 | + proxy.$refs.DetailTemplateRef?.resetDataFunc(); | ||
| 385 | }); | 419 | }); |
| 386 | }; | 420 | }; |
| 387 | const clickClearAlarmRuleConditionsFunc = () => { | 421 | const clickClearAlarmRuleConditionsFunc = () => { |
| 388 | nextTick(() => { | 422 | nextTick(() => { |
| 389 | openModalClearAlarmRuleConditions(true); | 423 | openModalClearAlarmRuleConditions(true); |
| 424 | + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc(); | ||
| 390 | }); | 425 | }); |
| 391 | }; | 426 | }; |
| 392 | const clickClearEnableRuleFunc = () => { | 427 | const clickClearEnableRuleFunc = () => { |
| 393 | nextTick(() => { | 428 | nextTick(() => { |
| 394 | openModalClearEnableRule(true); | 429 | openModalClearEnableRule(true); |
| 430 | + proxy.$refs.DetailTemplateRef?.resetDataFunc(); | ||
| 395 | }); | 431 | }); |
| 396 | }; | 432 | }; |
| 397 | const getAlarmRuleConditionsValFunc = (e) => { | 433 | const getAlarmRuleConditionsValFunc = (e) => { |
| @@ -441,8 +477,9 @@ | @@ -441,8 +477,9 @@ | ||
| 441 | } | 477 | } |
| 442 | getAddCreateRuleFunc(); | 478 | getAddCreateRuleFunc(); |
| 443 | clickAddClearRuleFunc(); | 479 | clickAddClearRuleFunc(); |
| 444 | - if (alaramsObj.clearRule.condition == null) { | 480 | + if (alaramsObj.clearRule.condition == null || alaramsObj.clearRule.schedule == null) { |
| 445 | isClearStatus.value = false; | 481 | isClearStatus.value = false; |
| 482 | + alaramsObj.clearRule = null; | ||
| 446 | } | 483 | } |
| 447 | return alaramsObj; | 484 | return alaramsObj; |
| 448 | }; | 485 | }; |
| @@ -463,24 +500,46 @@ | @@ -463,24 +500,46 @@ | ||
| 463 | formatEnableRule.value.length = 0; | 500 | formatEnableRule.value.length = 0; |
| 464 | formatClearEnableRule.value.length = 0; | 501 | formatClearEnableRule.value.length = 0; |
| 465 | tempDetailTemplateData.value.length = 0; | 502 | tempDetailTemplateData.value.length = 0; |
| 503 | + formatEditClearEnableRule.value.length = 0; | ||
| 504 | + formatEditClearAlarmRuleConditions.value.length = 0; | ||
| 505 | + createEditAlarmRuleData.value.length = 0; | ||
| 506 | + alaramsObj.alarmType = null; | ||
| 507 | + alaramsObj.propagate = null; | ||
| 508 | + alaramsObj.propagateRelationTypes = null; | ||
| 509 | + alaramsObj.clearRule = {}; | ||
| 510 | + alaramsObj.createRules = {}; | ||
| 511 | + alaramsObj.id = ''; | ||
| 466 | } catch {} | 512 | } catch {} |
| 467 | }; | 513 | }; |
| 468 | /** | 514 | /** |
| 469 | * 回显第三步数据 | 515 | * 回显第三步数据 |
| 470 | */ | 516 | */ |
| 517 | + watch( | ||
| 518 | + () => props.step3FatherEmitCpnData, | ||
| 519 | + (v) => { | ||
| 520 | + console.log(v); | ||
| 521 | + } | ||
| 522 | + ); | ||
| 471 | const echoStep3DataCpnFunc = () => { | 523 | const echoStep3DataCpnFunc = () => { |
| 472 | try { | 524 | try { |
| 473 | if (props.step3FatherEmitCpnData !== 1) { | 525 | if (props.step3FatherEmitCpnData !== 1) { |
| 474 | - console.log(props.step3FatherEmitCpnData); | 526 | + if (props.step3FatherEmitCpnData == undefined) return; |
| 475 | isStep3FatherAddOrEditStatus.value = props.step3FatherEmitCpnStatus; | 527 | isStep3FatherAddOrEditStatus.value = props.step3FatherEmitCpnStatus; |
| 528 | + for (let i in props.step3FatherEmitCpnData?.createRules) { | ||
| 529 | + createEditAlarmRuleData.value.push({ | ||
| 530 | + [i]: props.step3FatherEmitCpnData?.createRules[i], | ||
| 531 | + }); | ||
| 532 | + } | ||
| 476 | nextTick(() => { | 533 | nextTick(() => { |
| 477 | setAlarmTypeValFunc({ | 534 | setAlarmTypeValFunc({ |
| 478 | alarmType: props.step3FatherEmitCpnData?.alarmType, | 535 | alarmType: props.step3FatherEmitCpnData?.alarmType, |
| 479 | }); | 536 | }); |
| 480 | - setDeliverAlertsValFunc({ | ||
| 481 | - propagate: props.step3FatherEmitCpnData?.propagate, | ||
| 482 | - propagateRelationTypes: props.step3FatherEmitCpnData?.propagateRelationTypes[0], | ||
| 483 | - }); | 537 | + try { |
| 538 | + setDeliverAlertsValFunc({ | ||
| 539 | + propagate: props.step3FatherEmitCpnData?.propagate, | ||
| 540 | + propagateRelationTypes: props.step3FatherEmitCpnData?.propagateRelationTypes[0], | ||
| 541 | + }); | ||
| 542 | + } catch {} | ||
| 484 | if (props.step3FatherEmitCpnData?.clearRule?.alarmDetails !== '') { | 543 | if (props.step3FatherEmitCpnData?.clearRule?.alarmDetails !== '') { |
| 485 | isClearStatus.value = true; | 544 | isClearStatus.value = true; |
| 486 | nextTick(() => { | 545 | nextTick(() => { |
| @@ -489,34 +548,34 @@ | @@ -489,34 +548,34 @@ | ||
| 489 | }); | 548 | }); |
| 490 | }); | 549 | }); |
| 491 | } | 550 | } |
| 492 | - /** | ||
| 493 | - * 回显第三步创建条件和清除条件 | ||
| 494 | - */ | ||
| 495 | - if (isStep3FatherAddOrEditStatus.value == true) { | ||
| 496 | - let openEditRuleConditObj: any = {}; | ||
| 497 | - for (let i in props.step3FatherEmitCpnData?.createRules) { | ||
| 498 | - if (i == 'CRITICAL') { | ||
| 499 | - openEditRuleConditObj = props.step3FatherEmitCpnData?.createRules[i]; | ||
| 500 | - } else if (i == 'MAJOR') { | ||
| 501 | - openEditRuleConditObj = props.step3FatherEmitCpnData?.createRules[i]; | ||
| 502 | - } else if (i == 'MINOR') { | ||
| 503 | - openEditRuleConditObj = props.step3FatherEmitCpnData?.createRules[i]; | ||
| 504 | - } else if (i == 'WARNING') { | ||
| 505 | - openEditRuleConditObj = props.step3FatherEmitCpnData?.createRules[i]; | ||
| 506 | - } else if (i == 'INDETERMINATE') { | ||
| 507 | - openEditRuleConditObj = props.step3FatherEmitCpnData?.createRules[i]; | ||
| 508 | - } | ||
| 509 | - } | ||
| 510 | - formatEditAlarmRuleConditions.value = openEditRuleConditObj?.condition?.condition; | ||
| 511 | - formatEditEnableRule.value.push(openEditRuleConditObj?.schedule); | ||
| 512 | - } | ||
| 513 | formatEditClearAlarmRuleConditions.value = | 551 | formatEditClearAlarmRuleConditions.value = |
| 514 | props.step3FatherEmitCpnData?.clearRule?.condition?.condition; | 552 | props.step3FatherEmitCpnData?.clearRule?.condition?.condition; |
| 553 | + formatEditClearEnableRule.value.push( | ||
| 554 | + props.step3FatherEmitCpnData?.clearRule?.schedule | ||
| 555 | + ); | ||
| 556 | + if (props.step3FatherEmitCpnData?.clearRule == null) { | ||
| 557 | + nextTick(() => { | ||
| 558 | + return (isClearStatus.value = false); | ||
| 559 | + }); | ||
| 560 | + } else { | ||
| 561 | + nextTick(() => { | ||
| 562 | + return (isClearStatus.value = true); | ||
| 563 | + }); | ||
| 564 | + } | ||
| 515 | }); | 565 | }); |
| 516 | } | 566 | } |
| 517 | } catch {} | 567 | } catch {} |
| 518 | }; | 568 | }; |
| 519 | echoStep3DataCpnFunc(); | 569 | echoStep3DataCpnFunc(); |
| 570 | + const formatAlarmRuleConditionsDataFunc = (v) => { | ||
| 571 | + let formatMap = formatAlarmRuleConditionsData1(v)?.condition?.condition.map((f: any) => | ||
| 572 | + formatAlarmRuleConditionsData(f) | ||
| 573 | + ); | ||
| 574 | + return formatMap; | ||
| 575 | + }; | ||
| 576 | + const formatEnableRuleFuncData = (v) => { | ||
| 577 | + return formatEnableRuleData(formatAlarmRuleConditionsData1(v)?.schedule); | ||
| 578 | + }; | ||
| 520 | return { | 579 | return { |
| 521 | registerForm, | 580 | registerForm, |
| 522 | registerFormHighSetting, | 581 | registerFormHighSetting, |
| @@ -554,13 +613,14 @@ | @@ -554,13 +613,14 @@ | ||
| 554 | registerFormChangeClearDetail, | 613 | registerFormChangeClearDetail, |
| 555 | clearStep3CpnDataFunc, | 614 | clearStep3CpnDataFunc, |
| 556 | echoStep3DataCpnFunc, | 615 | echoStep3DataCpnFunc, |
| 557 | - formatEditAlarmRuleConditions, | ||
| 558 | isStep3FatherAddOrEditStatus, | 616 | isStep3FatherAddOrEditStatus, |
| 559 | formatAlarmRuleConditionsData, | 617 | formatAlarmRuleConditionsData, |
| 560 | formatEditClearAlarmRuleConditions, | 618 | formatEditClearAlarmRuleConditions, |
| 561 | - formatEditEnableRule, | ||
| 562 | formatEnableRuleData, | 619 | formatEnableRuleData, |
| 563 | formatEditClearEnableRule, | 620 | formatEditClearEnableRule, |
| 621 | + createEditAlarmRuleData, | ||
| 622 | + formatAlarmRuleConditionsDataFunc, | ||
| 623 | + formatEnableRuleFuncData, | ||
| 564 | }; | 624 | }; |
| 565 | }, | 625 | }, |
| 566 | }); | 626 | }); |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | components: { | 13 | components: { |
| 14 | BasicForm, | 14 | BasicForm, |
| 15 | }, | 15 | }, |
| 16 | - props: ['alarmSeverityInfo'], | 16 | + props: ['AlarmSeverityCpnData'], |
| 17 | emits: ['success', 'register', 'getAllFields'], | 17 | emits: ['success', 'register', 'getAllFields'], |
| 18 | setup(props) { | 18 | setup(props) { |
| 19 | const fieldValue: any = ref({}); | 19 | const fieldValue: any = ref({}); |
| @@ -26,12 +26,10 @@ | @@ -26,12 +26,10 @@ | ||
| 26 | const resetFieldsFunc = () => { | 26 | const resetFieldsFunc = () => { |
| 27 | resetFields(); | 27 | resetFields(); |
| 28 | }; | 28 | }; |
| 29 | - | ||
| 30 | const getFieldsValueFunc = () => { | 29 | const getFieldsValueFunc = () => { |
| 31 | fieldValue.value = getFieldsValue(); | 30 | fieldValue.value = getFieldsValue(); |
| 32 | return fieldValue.value; | 31 | return fieldValue.value; |
| 33 | }; | 32 | }; |
| 34 | - | ||
| 35 | const item = [ | 33 | const item = [ |
| 36 | { | 34 | { |
| 37 | value: 'CRITICAL', | 35 | value: 'CRITICAL', |
| @@ -69,23 +67,28 @@ | @@ -69,23 +67,28 @@ | ||
| 69 | }, | 67 | }, |
| 70 | }); | 68 | }); |
| 71 | }; | 69 | }; |
| 72 | - | ||
| 73 | - // const setFieldsValueFunc = () => { | ||
| 74 | - // if (props.alarmSeverityInfo != 1) { | ||
| 75 | - // let newArr = Object.keys(props.alarmSeverityInfo); | ||
| 76 | - // setTimeout(() => { | ||
| 77 | - // newArr.forEach((f) => { | ||
| 78 | - // setFieldsValue({ default: f }); | ||
| 79 | - // }); | ||
| 80 | - // }, 10); | ||
| 81 | - // } | 70 | + // const setFieldsValueFunc = (v) => { |
| 71 | + // setFieldsValue({ | ||
| 72 | + // default: v, | ||
| 73 | + // }); | ||
| 82 | // }; | 74 | // }; |
| 83 | - // setFieldsValueFunc(); | 75 | + const setFieldsValueFunc = () => { |
| 76 | + if (props.AlarmSeverityCpnData != 1) { | ||
| 77 | + let newArr = Object.keys(props.AlarmSeverityCpnData); | ||
| 78 | + setTimeout(() => { | ||
| 79 | + newArr.forEach((f) => { | ||
| 80 | + setFieldsValue({ default: f }); | ||
| 81 | + }); | ||
| 82 | + }, 10); | ||
| 83 | + } | ||
| 84 | + }; | ||
| 85 | + setFieldsValueFunc(); | ||
| 84 | return { | 86 | return { |
| 85 | resetFieldsFunc, | 87 | resetFieldsFunc, |
| 86 | updateSchemaSelectDisableFunc, | 88 | updateSchemaSelectDisableFunc, |
| 87 | getFieldsValueFunc, | 89 | getFieldsValueFunc, |
| 88 | registerForm, | 90 | registerForm, |
| 91 | + setFieldsValueFunc, | ||
| 89 | }; | 92 | }; |
| 90 | }, | 93 | }, |
| 91 | }); | 94 | }); |
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | components: { | 13 | components: { |
| 14 | BasicForm, | 14 | BasicForm, |
| 15 | }, | 15 | }, |
| 16 | - props: ['detailTemplateInfo'], | 16 | + props: ['DetailTemplateCpnData'], |
| 17 | emits: ['success', 'register', 'getAllFields'], | 17 | emits: ['success', 'register', 'getAllFields'], |
| 18 | setup(props) { | 18 | setup(props) { |
| 19 | const fieldValue: any = ref({}); | 19 | const fieldValue: any = ref({}); |
| @@ -21,17 +21,29 @@ | @@ -21,17 +21,29 @@ | ||
| 21 | labelWidth: 120, | 21 | labelWidth: 120, |
| 22 | schemas: formSchema, | 22 | schemas: formSchema, |
| 23 | }); | 23 | }); |
| 24 | - | ||
| 25 | const getFieldsValueFunc = () => { | 24 | const getFieldsValueFunc = () => { |
| 26 | fieldValue.value = getFieldsValue(); | 25 | fieldValue.value = getFieldsValue(); |
| 27 | return fieldValue.value; | 26 | return fieldValue.value; |
| 28 | }; | 27 | }; |
| 29 | const setFieldsValueFunc = () => { | 28 | const setFieldsValueFunc = () => { |
| 30 | - if (props.detailTemplateInfo != 1) { | ||
| 31 | - resetFields(); | 29 | + if (props.DetailTemplateCpnData != 1) { |
| 30 | + let openEditRuleConditObj: any = {}; | ||
| 31 | + for (let i in props.DetailTemplateCpnData) { | ||
| 32 | + if (i == 'CRITICAL') { | ||
| 33 | + openEditRuleConditObj = props.DetailTemplateCpnData[i]; | ||
| 34 | + } else if (i == 'MAJOR') { | ||
| 35 | + openEditRuleConditObj = props.DetailTemplateCpnData[i]; | ||
| 36 | + } else if (i == 'MINOR') { | ||
| 37 | + openEditRuleConditObj = props.DetailTemplateCpnData[i]; | ||
| 38 | + } else if (i == 'WARNING') { | ||
| 39 | + openEditRuleConditObj = props.DetailTemplateCpnData[i]; | ||
| 40 | + } else if (i == 'INDETERMINATE') { | ||
| 41 | + openEditRuleConditObj = props.DetailTemplateCpnData[i]; | ||
| 42 | + } | ||
| 43 | + } | ||
| 32 | setTimeout(() => { | 44 | setTimeout(() => { |
| 33 | setFieldsValue({ | 45 | setFieldsValue({ |
| 34 | - alarmDetails: props.detailTemplateInfo, | 46 | + alarmDetails: openEditRuleConditObj?.alarmDetails, |
| 35 | }); | 47 | }); |
| 36 | }, 10); | 48 | }, 10); |
| 37 | } | 49 | } |
| @@ -45,6 +57,7 @@ | @@ -45,6 +57,7 @@ | ||
| 45 | resetFieldsFunc, | 57 | resetFieldsFunc, |
| 46 | getFieldsValueFunc, | 58 | getFieldsValueFunc, |
| 47 | registerForm, | 59 | registerForm, |
| 60 | + setFieldsValueFunc, | ||
| 48 | }; | 61 | }; |
| 49 | }, | 62 | }, |
| 50 | }); | 63 | }); |