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 | 53 | </div> |
54 | 54 | </template> |
55 | 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 | 65 | import { BasicModal, useModalInner } from '/@/components/Modal'; |
58 | 66 | import DeviceProfileStep1 from '/@/views/device/profiles/step/DeviceProfileStep1.vue'; |
59 | 67 | import DeviceProfileStep2 from '/@/views/device/profiles/step/DeviceProfileStep2.vue'; |
... | ... | @@ -93,8 +101,8 @@ |
93 | 101 | const DeviceProfileStep4Ref = ref(null); |
94 | 102 | const { createMessage } = useMessage(); |
95 | 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 | 106 | const getStepThreeData = ref([]); |
99 | 107 | const editData: any = ref({}); |
100 | 108 | let getStepFourData: any = reactive({}); |
... | ... | @@ -104,7 +112,11 @@ |
104 | 112 | messageMode: '', |
105 | 113 | }, |
106 | 114 | }); |
107 | - let isGetStepThreeData = reactive({}); | |
115 | + let isGetStepThreeData: any = reactive({ | |
116 | + profileData: { | |
117 | + alarms: [], | |
118 | + }, | |
119 | + }); | |
108 | 120 | const postEditId = ref(''); |
109 | 121 | const current = ref(0); |
110 | 122 | const isUpdate = ref(0); |
... | ... | @@ -115,6 +127,7 @@ |
115 | 127 | const isShowRule = ref(true); |
116 | 128 | const isEditAndChange = ref(true); |
117 | 129 | const isEchoEditStatus = ref(false); |
130 | + const isNextStatus = ref(false); | |
118 | 131 | |
119 | 132 | const getTitle = computed(() => |
120 | 133 | isUpdate.value == 1 ? '新增设备配置' : isUpdate.value == 2 ? '编辑设备配置' : '设备配置详情' |
... | ... | @@ -123,56 +136,39 @@ |
123 | 136 | const [register, { closeModal }] = useModalInner(async (data) => { |
124 | 137 | isUpdate.value = data.isUpdate; |
125 | 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 | 140 | isShowRule.value = true; |
134 | 141 | isShowOkBtnFalse.value = true; |
135 | 142 | current.value = 0; |
136 | 143 | isStatus.value = !data.isUpdate; |
137 | 144 | isEchoEditStatus.value = false; |
138 | 145 | } else if (isUpdate.value == 2) { |
146 | + handleCancel(); | |
139 | 147 | isShowRule.value = true; |
140 | 148 | isShowOkBtnFalse.value = true; |
149 | + isEchoEditStatus.value = true; | |
141 | 150 | current.value = 0; |
142 | 151 | postEditId.value = data.record.id; |
143 | 152 | editData.value = await deviceConfigGetDetail(postEditId.value); |
144 | - // proxy.$refs.DeviceProfileStep3Ref.isAddRuleStatusFunc(true); | |
145 | - // isStatus.value = data.isUpdate; | |
146 | - //回显第一步数据 | |
147 | 153 | proxy.$refs.DeviceProfileStep1Ref.setStepOneFieldsValueFunc({ |
148 | 154 | name: editData.value.name, |
149 | 155 | defaultRuleChainId: editData.value.defaultRuleChainId, |
150 | 156 | defaultQueueName: editData.value.defaultQueueName, |
151 | 157 | description: editData.value.description, |
152 | 158 | }); |
153 | - // proxy.$refs.DeviceProfileStep3Ref.clearProfileDataFunc(); | |
154 | - // proxy.$refs.DeviceProfileStep3Ref.addAlarmRule(); | |
155 | - emit('success'); | |
156 | 159 | } else if (isUpdate.value == 3) { |
160 | + handleCancel(); | |
157 | 161 | isShowRule.value = false; |
158 | 162 | isShowOkBtnFalse.value = false; |
159 | 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 | 174 | function handleStepPrev() { |
... | ... | @@ -180,11 +176,15 @@ |
180 | 176 | } |
181 | 177 | //第一步 |
182 | 178 | function handleStepNext1(v, v1) { |
179 | + isNextStatus.value = true; | |
180 | + if (isNextStatus.value) { | |
181 | + getStepOneData = { | |
182 | + ...v, | |
183 | + ...{ icon: v1 }, | |
184 | + }; | |
185 | + } | |
183 | 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 | 188 | proxy.$refs.DeviceProfileStep2Ref?.setStepTwoFieldsValueFunc({ |
189 | 189 | transportType: editData.value?.profileData.transportConfiguration.type, |
190 | 190 | }); |
... | ... | @@ -196,97 +196,93 @@ |
196 | 196 | } |
197 | 197 | //第二步 |
198 | 198 | function handleStep2Next(v) { |
199 | + isNextStatus.value = true; | |
200 | + if ((isNextStatus.value = true)) { | |
201 | + getStepTwoData = { | |
202 | + ...v, | |
203 | + }; | |
204 | + } | |
199 | 205 | current.value++; |
200 | - getStepTwoData.value = v; | |
201 | - if (isUpdate.value == 1) { | |
202 | - } else if (isUpdate.value == 2) { | |
206 | + if (isUpdate.value == 2) { | |
203 | 207 | try { |
204 | 208 | isEchoEditStatus.value = true; |
205 | 209 | proxy.$refs.DeviceProfileStep3Ref?.echoStep3DataFunc( |
206 | 210 | editData.value.profileData.alarms, |
207 | 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 | 213 | } catch {} |
234 | 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 | 225 | function handleStep3Next(v, v1) { |
262 | 226 | try { |
227 | + isNextStatus.value = true; | |
263 | 228 | isEditAndChange.value = v1; |
264 | 229 | current.value++; |
265 | 230 | getStepThreeData.value = v; |
266 | 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 | 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 | 263 | } catch {} |
280 | 264 | } |
281 | 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 | 286 | try { |
291 | 287 | getStepFourData = await proxy.$refs.DeviceProfileStep4Ref?.getAllFields(); |
292 | 288 | const getJoinAlarmContactIdData = getStepFourData.alarmContactId.join(','); |
... | ... | @@ -296,51 +292,51 @@ |
296 | 292 | alarmProfileData.alarmProfile.alarmContactId = getAlarmContactId.value; |
297 | 293 | alarmProfileData.alarmProfile.messageMode = getMessageMode.value; |
298 | 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 | 326 | const handleCancel = () => { |
337 | - closeModal(); | |
338 | 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 | 340 | } catch {} |
345 | 341 | }; |
346 | 342 | function handleRedo() { | ... | ... |
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | > |
16 | 16 | <img |
17 | 17 | v-if="peresonalPic" |
18 | - :src="peresonalPic" | |
18 | + :src="peresonalPic ? peresonalPic : echoPic" | |
19 | 19 | alt="avatar" |
20 | 20 | style="width: 6.25rem; height: 6.25rem" |
21 | 21 | /> |
... | ... | @@ -54,6 +54,7 @@ |
54 | 54 | emits: ['next', 'resetFunc', 'register'], |
55 | 55 | setup(_, { emit }) { |
56 | 56 | const { createMessage } = useMessage(); |
57 | + const echoPic = ref(''); | |
57 | 58 | const [register, { validate, setFieldsValue, resetFields }] = useForm({ |
58 | 59 | labelWidth: 100, |
59 | 60 | schemas: step1Schemas, |
... | ... | @@ -69,6 +70,9 @@ |
69 | 70 | //回显数据 |
70 | 71 | const setStepOneFieldsValueFunc = (v) => { |
71 | 72 | setFieldsValue(v); |
73 | + if (v.image !== null) { | |
74 | + echoPic.value = v.image; | |
75 | + } | |
72 | 76 | }; |
73 | 77 | const peresonalPic = ref(); |
74 | 78 | |
... | ... | @@ -115,7 +119,11 @@ |
115 | 119 | }; |
116 | 120 | const getStep1Func = async () => { |
117 | 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 | 128 | return { |
121 | 129 | editIconFunc, |
... | ... | @@ -128,6 +136,7 @@ |
128 | 136 | beforeUploadqrcodePic, |
129 | 137 | customUploadqrcodePic, |
130 | 138 | getStep1Func, |
139 | + echoPic, | |
131 | 140 | }; |
132 | 141 | }, |
133 | 142 | }); | ... | ... |
... | ... | @@ -41,7 +41,7 @@ |
41 | 41 | }, |
42 | 42 | emits: ['next', 'prev', 'register'], |
43 | 43 | setup(_, { emit }) { |
44 | - const [register, { validate, setFieldsValue, resetFields }] = useForm({ | |
44 | + const [register, { getFieldsValue, validate, setFieldsValue, resetFields }] = useForm({ | |
45 | 45 | labelWidth: 80, |
46 | 46 | schemas: step2Schemas, |
47 | 47 | actionColOptions: { |
... | ... | @@ -66,12 +66,18 @@ |
66 | 66 | } finally { |
67 | 67 | } |
68 | 68 | } |
69 | + | |
70 | + const getStep2DataFunc = () => { | |
71 | + const val = getFieldsValue(); | |
72 | + return val; | |
73 | + }; | |
69 | 74 | return { |
70 | 75 | customResetFunc, |
71 | 76 | customSubmitFunc, |
72 | 77 | register, |
73 | 78 | setStepTwoFieldsValueFunc, |
74 | 79 | customClearStepTwoValueFunc, |
80 | + getStep2DataFunc, | |
75 | 81 | }; |
76 | 82 | }, |
77 | 83 | }); | ... | ... |
1 | 1 | <template> |
2 | 2 | <div> |
3 | 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 | 8 | <p style="font-size: large">未配置报警规则</p> |
6 | 9 | </div> |
7 | 10 | <div> |
8 | 11 | <template |
9 | 12 | v-for="(item, index) in !getIsEchoEditStatus ? alarmsData : echoEditData" |
10 | 13 | :key="index" |
14 | + :ref="item" | |
11 | 15 | > |
12 | 16 | <span style="display: none">{{ item }}</span> |
13 | 17 | <span style="display: none">{{ index }}</span> |
14 | 18 | <div class="cursor-pointer" style="position: relative; top: 3.5vh; right: -41.6vw"> |
15 | 19 | <img |
16 | 20 | style="cursor: pointer" |
17 | - @click="removeAlarmRule(index, item)" | |
21 | + @click="removeAlarmRule(item, index)" | |
18 | 22 | alt="移除" |
19 | 23 | src="../../../../assets/images/delete.png" |
20 | 24 | /> |
... | ... | @@ -44,7 +48,11 @@ |
44 | 48 | <div style="margin-left: 14.5vw; margin-top: 2vh"> |
45 | 49 | <a-button class="mr-5" @click="prevStepFunc">上一步</a-button> |
46 | 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 | 56 | >添加报警规则</a-button |
49 | 57 | > |
50 | 58 | </div> |
... | ... | @@ -53,40 +61,65 @@ |
53 | 61 | </template> |
54 | 62 | |
55 | 63 | <script lang="ts"> |
56 | - import { defineComponent, ref, getCurrentInstance, reactive } from 'vue'; | |
64 | + import { defineComponent, ref, getCurrentInstance, reactive, watch } from 'vue'; | |
57 | 65 | import CommonCpns from './common/index.vue'; |
66 | + import { deteleObject } from '/@/hooks/web/useFilter'; | |
58 | 67 | |
59 | 68 | export default defineComponent({ |
60 | 69 | components: { |
61 | 70 | CommonCpns, |
62 | 71 | }, |
72 | + props: ['isShowAddRule'], | |
63 | 73 | emits: ['next', 'prev'], |
64 | - setup(_, { emit }) { | |
74 | + setup(props, { emit }) { | |
65 | 75 | const { proxy } = getCurrentInstance() as any; |
66 | 76 | const commonCpnsRef = ref(null); |
67 | 77 | const alarmsData: any = ref([]); |
68 | 78 | let profileData: any = reactive({}); |
69 | 79 | const echoEditData: any = ref([]); |
70 | 80 | const getIsEchoEditStatus = ref(false); |
81 | + const btnClose = ref(true); | |
82 | + let getO = reactive({}); | |
71 | 83 | const prevStepFunc = () => { |
72 | 84 | emit('prev'); |
73 | 85 | }; |
74 | 86 | const nextStepFunc = async () => { |
75 | 87 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); |
76 | 88 | alarmsData.value.push(profileData); |
77 | - alarmsData.value.shift(); | |
78 | 89 | emit('next', { |
79 | 90 | alarms: alarmsData.value, |
80 | 91 | }); |
81 | 92 | }; |
82 | - const clickAddAlaramRuleFunc = async () => { | |
93 | + const getStep3AllDataFunc = async () => { | |
83 | 94 | profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc(); |
84 | 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 | 127 | const clearStep3DataFunc = () => { |
95 | 128 | try { |
96 | 129 | alarmsData.value.length = 0; |
97 | - profileData = {}; | |
130 | + echoEditData.value.length = 0; | |
131 | + // profileData = {}; | |
98 | 132 | proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); |
133 | + getIsEchoEditStatus.value = false; | |
134 | + getO = {}; | |
99 | 135 | } catch {} |
100 | 136 | }; |
101 | 137 | /** |
... | ... | @@ -106,10 +142,18 @@ |
106 | 142 | getIsEchoEditStatus.value = s; |
107 | 143 | if (getIsEchoEditStatus.value === true) { |
108 | 144 | echoEditData.value = e; |
145 | + if (echoEditData.value == null) { | |
146 | + echoEditData.value = []; | |
147 | + } | |
109 | 148 | } |
110 | 149 | } catch {} |
111 | 150 | }; |
112 | - | |
151 | + watch( | |
152 | + () => props.isShowAddRule, | |
153 | + (v) => { | |
154 | + btnClose.value = v; | |
155 | + } | |
156 | + ); | |
113 | 157 | return { |
114 | 158 | clickAddAlaramRuleFunc, |
115 | 159 | prevStepFunc, |
... | ... | @@ -121,6 +165,8 @@ |
121 | 165 | echoStep3DataFunc, |
122 | 166 | echoEditData, |
123 | 167 | getIsEchoEditStatus, |
168 | + getStep3AllDataFunc, | |
169 | + btnClose, | |
124 | 170 | }; |
125 | 171 | }, |
126 | 172 | }); | ... | ... |
... | ... | @@ -15,17 +15,17 @@ |
15 | 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 | 19 | <Button type="primary" style="border-radius: 2px" class="mt-5" @click="prevStep4" |
20 | 20 | >上一步</Button |
21 | 21 | > |
22 | 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 | 24 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="addStep4"> |
25 | 25 | 打开告警通知</Button |
26 | 26 | > |
27 | 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 | 29 | <Button type="default" style="border-radius: 2px" class="mt-5" @click="closeStep4"> |
30 | 30 | 关闭</Button |
31 | 31 | > |
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | </div> |
35 | 35 | </template> |
36 | 36 | <script lang="ts"> |
37 | - import { defineComponent, ref } from 'vue'; | |
37 | + import { defineComponent, ref, nextTick } from 'vue'; | |
38 | 38 | import { BasicForm, useForm } from '/@/components/Form/index'; |
39 | 39 | import { alertContactsSchemas } from './data'; |
40 | 40 | import { Button } from '/@/components/Button'; |
... | ... | @@ -58,7 +58,11 @@ |
58 | 58 | setFieldsValue(v); |
59 | 59 | }; |
60 | 60 | const clearAlaramContactAndNoticeMethodFunc = () => { |
61 | - resetFields(); | |
61 | + try { | |
62 | + nextTick(() => { | |
63 | + // resetFields(); | |
64 | + }); | |
65 | + } catch {} | |
62 | 66 | }; |
63 | 67 | const getAllFields = async (getV) => { |
64 | 68 | const values = await validate(); | ... | ... |
1 | 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 | 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 | 22 | <!-- 创建报警规则 --> |
23 | 23 | <div style="margin-top: -6vh"> |
24 | 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 | 28 | >请添加创建报警规则</p |
27 | 29 | > |
28 | 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 | 38 | <span style="display: none">{{ item }}</span> |
31 | 39 | <span style="display: none">{{ index }}</span> |
32 | 40 | <div class="cursor-pointer" style="position: relative; top: 15.5vh; right: -40.8vw"> |
... | ... | @@ -39,8 +47,14 @@ |
39 | 47 | </div> |
40 | 48 | <div style="width: 38vw; height: 30vh; border: 1px solid grey; border-radius: 4px"> |
41 | 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 | 58 | <AlarmRuleConditionsCpn |
45 | 59 | ref="AlarmRuleConditionsRef" |
46 | 60 | @register="registerAlarmRuleConditionsModal" |
... | ... | @@ -61,21 +75,19 @@ |
61 | 75 | /></a-button> |
62 | 76 | <div> |
63 | 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 | 84 | <p v-if="index1 == index"> |
66 | 85 | 报警规则条件:{{ formatAlarmRuleConditionsFunc(item1) }} |
67 | 86 | </p> |
68 | 87 | </template> |
69 | 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 | 91 | </div> |
80 | 92 | </div> |
81 | 93 | </div> |
... | ... | @@ -85,18 +97,21 @@ |
85 | 97 | ><PlusCircleOutlined |
86 | 98 | /></a-button> |
87 | 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 | 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 | 110 | <p v-if="index2 == index"> 启用规则:{{ formatEnableRuleFunc(item2) }} </p> |
94 | 111 | </template> |
95 | 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 | 115 | </div> |
101 | 116 | </div> |
102 | 117 | </div> |
... | ... | @@ -176,7 +191,9 @@ |
176 | 191 | ><PlusCircleOutlined |
177 | 192 | /></a-button> |
178 | 193 | <div> |
179 | - <p v-if="formatEnableRule.length == 0">始终启用</p> | |
194 | + <p v-if="formatEnableRule.length == 0 && !isStep3FatherAddOrEditStatus" | |
195 | + >启用规则:始终启用</p | |
196 | + > | |
180 | 197 | <div> |
181 | 198 | <template v-for="(item4, index4) in formatClearEnableRule" :key="index4"> |
182 | 199 | <span style="display: none">{{ index4 }}</span> |
... | ... | @@ -184,9 +201,14 @@ |
184 | 201 | </template> |
185 | 202 | </div> |
186 | 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 | 210 | <span style="display: none">{{ index44 }}</span> |
189 | - <p> 启用规则:{{ formatClearEnableRuleFunc(item44) }} </p> | |
211 | + <p> 启用规则:{{ formatEnableRuleData(item44) }} </p> | |
190 | 212 | </template> |
191 | 213 | </div> |
192 | 214 | </div> |
... | ... | @@ -207,7 +229,7 @@ |
207 | 229 | </div> |
208 | 230 | </template> |
209 | 231 | <script lang="ts"> |
210 | - import { defineComponent, ref, nextTick, getCurrentInstance, reactive } from 'vue'; | |
232 | + import { defineComponent, ref, nextTick, getCurrentInstance, reactive, watch } from 'vue'; | |
211 | 233 | import { BasicForm, useForm } from '/@/components/Form'; |
212 | 234 | import { step3Schemas, step3HighSetting, formChangeDetailSchema } from '../data'; |
213 | 235 | import { Checkbox } from 'ant-design-vue'; |
... | ... | @@ -218,7 +240,11 @@ |
218 | 240 | import EnableRuleCpn from '../cpns/enablerule/index.vue'; |
219 | 241 | import { useModal } from '/@/components/Modal'; |
220 | 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 | 249 | export default defineComponent({ |
224 | 250 | components: { |
... | ... | @@ -234,14 +260,13 @@ |
234 | 260 | setup(props) { |
235 | 261 | const { proxy } = getCurrentInstance() as any; |
236 | 262 | const createAlarmRuleData: any = ref([1]); |
263 | + const createEditAlarmRuleData: any = ref([]); | |
237 | 264 | const AlarmRuleConditionsRef = ref(null); |
238 | 265 | const EnableRuleRef = ref(null); |
239 | 266 | const formatAlarmRuleConditions: any = ref([]); |
240 | - const formatEditAlarmRuleConditions: any = ref([]); | |
241 | 267 | const formatClearAlarmRuleConditions: any = ref([]); |
242 | 268 | const formatEditClearAlarmRuleConditions: any = ref([]); |
243 | 269 | const formatEnableRule: any = ref([]); |
244 | - const formatEditEnableRule: any = ref([]); | |
245 | 270 | const formatClearEnableRule: any = ref([]); |
246 | 271 | const formatEditClearEnableRule: any = ref([]); |
247 | 272 | let alaramsObj: any = reactive({ |
... | ... | @@ -314,6 +339,10 @@ |
314 | 339 | const clickAddCreateRuleFunc = () => { |
315 | 340 | createAlarmRuleData.value.push(1); |
316 | 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 | 369 | ...{ schedule: Object.keys(kongEnable).length == 0 ? null : kongEnable }, |
341 | 370 | }; |
342 | 371 | }; |
372 | + /** | |
373 | + * 获取清除报警规则数据 | |
374 | + */ | |
343 | 375 | const clickAddClearRuleFunc = () => { |
344 | 376 | isClearStatus.value = true; |
345 | 377 | const val6 = getRegisterFormClearChangeDetailFunc(); |
... | ... | @@ -377,21 +409,25 @@ |
377 | 409 | const clickAddAlarmRuleConditionsFunc = () => { |
378 | 410 | nextTick(() => { |
379 | 411 | openModalAlarmRuleConditions(true); |
412 | + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc(); | |
380 | 413 | }); |
381 | 414 | }; |
382 | 415 | const clickAddEnableRuleFunc = () => { |
383 | 416 | nextTick(() => { |
384 | 417 | openModalEnableRule(true); |
418 | + proxy.$refs.DetailTemplateRef?.resetDataFunc(); | |
385 | 419 | }); |
386 | 420 | }; |
387 | 421 | const clickClearAlarmRuleConditionsFunc = () => { |
388 | 422 | nextTick(() => { |
389 | 423 | openModalClearAlarmRuleConditions(true); |
424 | + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc(); | |
390 | 425 | }); |
391 | 426 | }; |
392 | 427 | const clickClearEnableRuleFunc = () => { |
393 | 428 | nextTick(() => { |
394 | 429 | openModalClearEnableRule(true); |
430 | + proxy.$refs.DetailTemplateRef?.resetDataFunc(); | |
395 | 431 | }); |
396 | 432 | }; |
397 | 433 | const getAlarmRuleConditionsValFunc = (e) => { |
... | ... | @@ -441,8 +477,9 @@ |
441 | 477 | } |
442 | 478 | getAddCreateRuleFunc(); |
443 | 479 | clickAddClearRuleFunc(); |
444 | - if (alaramsObj.clearRule.condition == null) { | |
480 | + if (alaramsObj.clearRule.condition == null || alaramsObj.clearRule.schedule == null) { | |
445 | 481 | isClearStatus.value = false; |
482 | + alaramsObj.clearRule = null; | |
446 | 483 | } |
447 | 484 | return alaramsObj; |
448 | 485 | }; |
... | ... | @@ -463,24 +500,46 @@ |
463 | 500 | formatEnableRule.value.length = 0; |
464 | 501 | formatClearEnableRule.value.length = 0; |
465 | 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 | 512 | } catch {} |
467 | 513 | }; |
468 | 514 | /** |
469 | 515 | * 回显第三步数据 |
470 | 516 | */ |
517 | + watch( | |
518 | + () => props.step3FatherEmitCpnData, | |
519 | + (v) => { | |
520 | + console.log(v); | |
521 | + } | |
522 | + ); | |
471 | 523 | const echoStep3DataCpnFunc = () => { |
472 | 524 | try { |
473 | 525 | if (props.step3FatherEmitCpnData !== 1) { |
474 | - console.log(props.step3FatherEmitCpnData); | |
526 | + if (props.step3FatherEmitCpnData == undefined) return; | |
475 | 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 | 533 | nextTick(() => { |
477 | 534 | setAlarmTypeValFunc({ |
478 | 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 | 543 | if (props.step3FatherEmitCpnData?.clearRule?.alarmDetails !== '') { |
485 | 544 | isClearStatus.value = true; |
486 | 545 | nextTick(() => { |
... | ... | @@ -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 | 551 | formatEditClearAlarmRuleConditions.value = |
514 | 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 | 567 | } catch {} |
518 | 568 | }; |
519 | 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 | 579 | return { |
521 | 580 | registerForm, |
522 | 581 | registerFormHighSetting, |
... | ... | @@ -554,13 +613,14 @@ |
554 | 613 | registerFormChangeClearDetail, |
555 | 614 | clearStep3CpnDataFunc, |
556 | 615 | echoStep3DataCpnFunc, |
557 | - formatEditAlarmRuleConditions, | |
558 | 616 | isStep3FatherAddOrEditStatus, |
559 | 617 | formatAlarmRuleConditionsData, |
560 | 618 | formatEditClearAlarmRuleConditions, |
561 | - formatEditEnableRule, | |
562 | 619 | formatEnableRuleData, |
563 | 620 | formatEditClearEnableRule, |
621 | + createEditAlarmRuleData, | |
622 | + formatAlarmRuleConditionsDataFunc, | |
623 | + formatEnableRuleFuncData, | |
564 | 624 | }; |
565 | 625 | }, |
566 | 626 | }); | ... | ... |
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | components: { |
14 | 14 | BasicForm, |
15 | 15 | }, |
16 | - props: ['alarmSeverityInfo'], | |
16 | + props: ['AlarmSeverityCpnData'], | |
17 | 17 | emits: ['success', 'register', 'getAllFields'], |
18 | 18 | setup(props) { |
19 | 19 | const fieldValue: any = ref({}); |
... | ... | @@ -26,12 +26,10 @@ |
26 | 26 | const resetFieldsFunc = () => { |
27 | 27 | resetFields(); |
28 | 28 | }; |
29 | - | |
30 | 29 | const getFieldsValueFunc = () => { |
31 | 30 | fieldValue.value = getFieldsValue(); |
32 | 31 | return fieldValue.value; |
33 | 32 | }; |
34 | - | |
35 | 33 | const item = [ |
36 | 34 | { |
37 | 35 | value: 'CRITICAL', |
... | ... | @@ -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 | 86 | return { |
85 | 87 | resetFieldsFunc, |
86 | 88 | updateSchemaSelectDisableFunc, |
87 | 89 | getFieldsValueFunc, |
88 | 90 | registerForm, |
91 | + setFieldsValueFunc, | |
89 | 92 | }; |
90 | 93 | }, |
91 | 94 | }); | ... | ... |
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | components: { |
14 | 14 | BasicForm, |
15 | 15 | }, |
16 | - props: ['detailTemplateInfo'], | |
16 | + props: ['DetailTemplateCpnData'], | |
17 | 17 | emits: ['success', 'register', 'getAllFields'], |
18 | 18 | setup(props) { |
19 | 19 | const fieldValue: any = ref({}); |
... | ... | @@ -21,17 +21,29 @@ |
21 | 21 | labelWidth: 120, |
22 | 22 | schemas: formSchema, |
23 | 23 | }); |
24 | - | |
25 | 24 | const getFieldsValueFunc = () => { |
26 | 25 | fieldValue.value = getFieldsValue(); |
27 | 26 | return fieldValue.value; |
28 | 27 | }; |
29 | 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 | 44 | setTimeout(() => { |
33 | 45 | setFieldsValue({ |
34 | - alarmDetails: props.detailTemplateInfo, | |
46 | + alarmDetails: openEditRuleConditObj?.alarmDetails, | |
35 | 47 | }); |
36 | 48 | }, 10); |
37 | 49 | } |
... | ... | @@ -45,6 +57,7 @@ |
45 | 57 | resetFieldsFunc, |
46 | 58 | getFieldsValueFunc, |
47 | 59 | registerForm, |
60 | + setFieldsValueFunc, | |
48 | 61 | }; |
49 | 62 | }, |
50 | 63 | }); | ... | ... |