Commit 2b86ed7df57e32161f92eca9c039848ef51b19b1

Authored by xp.Huang
2 parents 86c6548c c5d8baa7

Merge branch 'ft-dev' into 'main'

refractor:重构设备配置,fix:待修复设备配置编辑bug

See merge request huang/yun-teng-iot-front!156
  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() {
... ...
... ... @@ -201,6 +201,7 @@
201 201 await deviceConfigDelete(selectedRowKeys);
202 202 createMessage.success('删除成功');
203 203 handleSuccess();
  204 + selectedRowKeys.length = 0;
204 205 }
205 206
206 207 function handleDelete(record: Recordable) {
... ...
... ... @@ -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 });
... ...