Commit da5f43409a793f532f84781cc40025991c82971f

Authored by xp.Huang
2 parents e889730e cf9214e6

Merge branch 'ft-dev' into 'main'

refractor:重构设备配置,fix:修复设备配置部分编辑问题

See merge request huang/yun-teng-iot-front!159
@@ -103,7 +103,6 @@ @@ -103,7 +103,6 @@
103 const postDeviceConfogData: any = ref({}); 103 const postDeviceConfogData: any = ref({});
104 let getStepOneData: any = reactive({}); 104 let getStepOneData: any = reactive({});
105 let getStepTwoData: any = reactive({}); 105 let getStepTwoData: any = reactive({});
106 - const getStepThreeData = ref([]);  
107 const editData: any = ref({}); 106 const editData: any = ref({});
108 let getStepFourData: any = reactive({}); 107 let getStepFourData: any = reactive({});
109 const alarmProfileData = reactive({ 108 const alarmProfileData = reactive({
@@ -155,6 +154,7 @@ @@ -155,6 +154,7 @@
155 defaultRuleChainId: editData.value.defaultRuleChainId, 154 defaultRuleChainId: editData.value.defaultRuleChainId,
156 defaultQueueName: editData.value.defaultQueueName, 155 defaultQueueName: editData.value.defaultQueueName,
157 description: editData.value.description, 156 description: editData.value.description,
  157 + image: editData.value.image,
158 }); 158 });
159 } else if (isUpdate.value == 3) { 159 } else if (isUpdate.value == 3) {
160 handleCancel(); 160 handleCancel();
@@ -168,6 +168,7 @@ @@ -168,6 +168,7 @@
168 defaultRuleChainId: editData.value.defaultRuleChainId, 168 defaultRuleChainId: editData.value.defaultRuleChainId,
169 defaultQueueName: editData.value.defaultQueueName, 169 defaultQueueName: editData.value.defaultQueueName,
170 description: editData.value.description, 170 description: editData.value.description,
  171 + image: editData.value.image,
171 }); 172 });
172 } 173 }
173 }); 174 });
@@ -222,12 +223,19 @@ @@ -222,12 +223,19 @@
222 } 223 }
223 } 224 }
224 //第三步 225 //第三步
225 - function handleStep3Next(v, v1) { 226 + async function handleStep3Next(_, v1) {
226 try { 227 try {
227 isNextStatus.value = true; 228 isNextStatus.value = true;
228 isEditAndChange.value = v1; 229 isEditAndChange.value = v1;
229 current.value++; 230 current.value++;
230 - getStepThreeData.value = v; 231 + let step3NextVal = await proxy.$refs.DeviceProfileStep3Ref?.getStep3AllDataFunc(
  232 + isUpdate.value
  233 + );
  234 + if (step3NextVal.length === 0) {
  235 + isGetStepThreeData.profileData.alarms = null;
  236 + } else {
  237 + isGetStepThreeData.profileData.alarms = step3NextVal;
  238 + }
231 proxy.$refs.DeviceProfileStep4Ref?.step3LinkStep4DefalutClose(); 239 proxy.$refs.DeviceProfileStep4Ref?.step3LinkStep4DefalutClose();
232 if (isUpdate.value == 2) { 240 if (isUpdate.value == 2) {
233 if ( 241 if (
@@ -277,7 +285,9 @@ @@ -277,7 +285,9 @@
277 }; 285 };
278 Object.assign(getStepOneData, getStep1Obj.key); 286 Object.assign(getStepOneData, getStep1Obj.key);
279 } 287 }
280 - let step3Val = await proxy.$refs.DeviceProfileStep3Ref?.getStep3AllDataFunc(); 288 + let step3Val = await proxy.$refs.DeviceProfileStep3Ref?.getStep3AllDataFunc(
  289 + isUpdate.value
  290 + );
281 if (step3Val.length === 0) { 291 if (step3Val.length === 0) {
282 isGetStepThreeData.profileData.alarms = null; 292 isGetStepThreeData.profileData.alarms = null;
283 } else { 293 } else {
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 > 15 >
16 <img 16 <img
17 v-if="peresonalPic" 17 v-if="peresonalPic"
18 - :src="peresonalPic ? peresonalPic : echoPic" 18 + :src="peresonalPic !== '' ? peresonalPic : echoPic"
19 alt="avatar" 19 alt="avatar"
20 style="width: 6.25rem; height: 6.25rem" 20 style="width: 6.25rem; height: 6.25rem"
21 /> 21 />
@@ -70,11 +70,12 @@ @@ -70,11 +70,12 @@
70 //回显数据 70 //回显数据
71 const setStepOneFieldsValueFunc = (v) => { 71 const setStepOneFieldsValueFunc = (v) => {
72 setFieldsValue(v); 72 setFieldsValue(v);
  73 + console.log(v);
73 if (v.image !== null) { 74 if (v.image !== null) {
74 echoPic.value = v.image; 75 echoPic.value = v.image;
75 } 76 }
76 }; 77 };
77 - const peresonalPic = ref(); 78 + const peresonalPic = ref('');
78 79
79 const resetIconFunc = () => { 80 const resetIconFunc = () => {
80 peresonalPic.value = ''; 81 peresonalPic.value = '';
@@ -11,10 +11,7 @@ @@ -11,10 +11,7 @@
11 <template 11 <template
12 v-for="(item, index) in !getIsEchoEditStatus ? alarmsData : echoEditData" 12 v-for="(item, index) in !getIsEchoEditStatus ? alarmsData : echoEditData"
13 :key="index" 13 :key="index"
14 - :ref="item"  
15 > 14 >
16 - <span style="display: none">{{ item }}</span>  
17 - <span style="display: none">{{ index }}</span>  
18 <div class="cursor-pointer" style="position: relative; top: 3.5vh; right: -41.6vw"> 15 <div class="cursor-pointer" style="position: relative; top: 3.5vh; right: -41.6vw">
19 <img 16 <img
20 style="cursor: pointer" 17 style="cursor: pointer"
@@ -34,7 +31,7 @@ @@ -34,7 +31,7 @@
34 " 31 "
35 > 32 >
36 <CommonCpns 33 <CommonCpns
37 - ref="commonCpnsRef" 34 + :ref="`commonCpnsRef${index}`"
38 :step3FatherEmitCpnData="!getIsEchoEditStatus ? 1 : item" 35 :step3FatherEmitCpnData="!getIsEchoEditStatus ? 1 : item"
39 :step3FatherEmitCpnStatus=" 36 :step3FatherEmitCpnStatus="
40 !getIsEchoEditStatus ? !getIsEchoEditStatus : getIsEchoEditStatus 37 !getIsEchoEditStatus ? !getIsEchoEditStatus : getIsEchoEditStatus
@@ -75,44 +72,55 @@ @@ -75,44 +72,55 @@
75 const { proxy } = getCurrentInstance() as any; 72 const { proxy } = getCurrentInstance() as any;
76 const commonCpnsRef = ref(null); 73 const commonCpnsRef = ref(null);
77 const alarmsData: any = ref([]); 74 const alarmsData: any = ref([]);
78 - let profileData: any = reactive({});  
79 const echoEditData: any = ref([]); 75 const echoEditData: any = ref([]);
80 const getIsEchoEditStatus = ref(false); 76 const getIsEchoEditStatus = ref(false);
81 const btnClose = ref(true); 77 const btnClose = ref(true);
82 - let getO = reactive({}); 78 + let editObj = reactive({});
  79 + let addObj = reactive({});
  80 +
83 const prevStepFunc = () => { 81 const prevStepFunc = () => {
84 emit('prev'); 82 emit('prev');
85 }; 83 };
86 const nextStepFunc = async () => { 84 const nextStepFunc = async () => {
87 - profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc();  
88 - alarmsData.value.push(profileData);  
89 emit('next', { 85 emit('next', {
90 alarms: alarmsData.value, 86 alarms: alarmsData.value,
91 }); 87 });
92 }; 88 };
93 - const getStep3AllDataFunc = async () => {  
94 - profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc();  
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); 89 + const getStep3AllDataFunc = async (e) => {
  90 + try {
  91 + if (e == 1) {
  92 + for (let i = 0; i < alarmsData.value.length; i++) {
  93 + const ii = i;
  94 + addObj = await proxy.$refs['commonCpnsRef' + ii].getStep3AllDataFunc(e);
  95 + alarmsData.value.push(addObj);
  96 + alarmsData.value.shift();
  97 + }
  98 + } else {
  99 + if (getIsEchoEditStatus.value) {
  100 + /**
  101 + * 编辑
  102 + */
  103 + for (let i = 0; i < echoEditData.value.length; i++) {
  104 + const ii = i;
  105 + editObj = await proxy.$refs['commonCpnsRef' + ii].getStep3AllDataFunc(e);
  106 + alarmsData.value.push(editObj);
  107 + }
  108 + }
101 } 109 }
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; 110 + /**
  111 + * 过滤null和重复对象和1
  112 + */
  113 + alarmsData.value = alarmsData.value.filter((i) => i);
  114 + alarmsData.value = deteleObject(alarmsData.value);
  115 + alarmsData.value = alarmsData.value.filter((f) => f !== 1);
  116 + return alarmsData.value;
  117 + } catch {}
108 }; 118 };
109 const clickAddAlaramRuleFunc = async () => { 119 const clickAddAlaramRuleFunc = async () => {
110 try { 120 try {
111 - profileData = await proxy.$refs.commonCpnsRef?.getStep3AllDataFunc();  
112 - alarmsData.value.push(profileData); 121 + alarmsData.value.push(1);
113 if (getIsEchoEditStatus.value) { 122 if (getIsEchoEditStatus.value) {
114 - echoEditData.value.push(profileData);  
115 - // proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); 123 + echoEditData.value.push(1);
116 } 124 }
117 } catch {} 125 } catch {}
118 }; 126 };
@@ -120,6 +128,11 @@ @@ -120,6 +128,11 @@
120 const key = alarmsData.value.indexOf(e); 128 const key = alarmsData.value.indexOf(e);
121 console.log(i); 129 console.log(i);
122 alarmsData.value.splice(key, 1); 130 alarmsData.value.splice(key, 1);
  131 + if (getIsEchoEditStatus.value) {
  132 + const key1 = echoEditData.value.indexOf(e);
  133 + console.log(i);
  134 + echoEditData.value.splice(key1, 1);
  135 + }
123 }; 136 };
124 /** 137 /**
125 * 清空数据 138 * 清空数据
@@ -128,10 +141,8 @@ @@ -128,10 +141,8 @@
128 try { 141 try {
129 alarmsData.value.length = 0; 142 alarmsData.value.length = 0;
130 echoEditData.value.length = 0; 143 echoEditData.value.length = 0;
131 - // profileData = {};  
132 proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc(); 144 proxy.$refs.commonCpnsRef?.clearStep3CpnDataFunc();
133 getIsEchoEditStatus.value = false; 145 getIsEchoEditStatus.value = false;
134 - getO = {};  
135 } catch {} 146 } catch {}
136 }; 147 };
137 /** 148 /**
@@ -27,20 +27,17 @@ @@ -27,20 +27,17 @@
27 style="text-align: center; font-size: large" 27 style="text-align: center; font-size: large"
28 >请添加创建报警规则</p 28 >请添加创建报警规则</p
29 > 29 >
30 - <div v-if="createAlarmRuleData.length > 0"> 30 + <div v-if="createAlarmRuleData.length > 0 || createEditAlarmRuleData.length > 0">
31 <template 31 <template
32 v-for="(item, index) in !isStep3FatherAddOrEditStatus 32 v-for="(item, index) in !isStep3FatherAddOrEditStatus
33 ? createAlarmRuleData 33 ? createAlarmRuleData
34 : createEditAlarmRuleData" 34 : createEditAlarmRuleData"
35 :key="index" 35 :key="index"
36 - :ref="item"  
37 > 36 >
38 - <span style="display: none">{{ item }}</span>  
39 - <span style="display: none">{{ index }}</span>  
40 <div class="cursor-pointer" style="position: relative; top: 15.5vh; right: -40.8vw"> 37 <div class="cursor-pointer" style="position: relative; top: 15.5vh; right: -40.8vw">
41 <img 38 <img
42 style="cursor: pointer" 39 style="cursor: pointer"
43 - @click="removeAddCreateRuleFunc(index)" 40 + @click="removeAddCreateRuleFunc(item, index)"
44 alt="移除" 41 alt="移除"
45 src="../../../../../../src/assets/images/close.png" 42 src="../../../../../../src/assets/images/close.png"
46 /> 43 />
@@ -48,20 +45,20 @@ @@ -48,20 +45,20 @@
48 <div style="width: 38vw; height: 30vh; border: 1px solid grey; border-radius: 4px"> 45 <div style="width: 38vw; height: 30vh; border: 1px solid grey; border-radius: 4px">
49 <div style="margin-top: 1vh"> 46 <div style="margin-top: 1vh">
50 <AlarmSeverityCpn 47 <AlarmSeverityCpn
51 - ref="AlarmSeverityRef" 48 + :ref="`AlarmSeverityRef${index}`"
52 :AlarmSeverityCpnData="!isStep3FatherAddOrEditStatus ? 1 : item" 49 :AlarmSeverityCpnData="!isStep3FatherAddOrEditStatus ? 1 : item"
53 /> 50 />
54 <DetailTemplateCpn 51 <DetailTemplateCpn
55 - ref="DetailTemplateRef" 52 + :ref="`DetailTemplateRef${index}`"
56 :DetailTemplateCpnData="!isStep3FatherAddOrEditStatus ? 1 : item" 53 :DetailTemplateCpnData="!isStep3FatherAddOrEditStatus ? 1 : item"
57 /> 54 />
58 <AlarmRuleConditionsCpn 55 <AlarmRuleConditionsCpn
59 - ref="AlarmRuleConditionsRef" 56 + :ref="`AlarmRuleConditionsRef${index}`"
60 @register="registerAlarmRuleConditionsModal" 57 @register="registerAlarmRuleConditionsModal"
61 @getAllFieldsRule="getAlarmRuleConditionsValFunc" 58 @getAllFieldsRule="getAlarmRuleConditionsValFunc"
62 /> 59 />
63 <EnableRuleCpn 60 <EnableRuleCpn
64 - ref="EnableRuleRef" 61 + :ref="`EnableRuleRef${index}`"
65 @register="registerEnableRuleModal" 62 @register="registerEnableRuleModal"
66 @getAllFieldsEnab="getEnableRuleFunc" 63 @getAllFieldsEnab="getEnableRuleFunc"
67 /> 64 />
@@ -70,7 +67,7 @@ @@ -70,7 +67,7 @@
70 <a-button 67 <a-button
71 style="border-radius: 10px" 68 style="border-radius: 10px"
72 class="mt-5" 69 class="mt-5"
73 - @click="clickAddAlarmRuleConditionsFunc" 70 + @click="clickAddAlarmRuleConditionsFunc(isStep3FatherAddOrEditStatus, index)"
74 ><PlusCircleOutlined 71 ><PlusCircleOutlined
75 /></a-button> 72 /></a-button>
76 <div> 73 <div>
@@ -81,14 +78,30 @@ @@ -81,14 +78,30 @@
81 : []" 78 : []"
82 :key="index1" 79 :key="index1"
83 > 80 >
84 - <p v-if="index1 == index"> 81 + <p v-if="index1 == index && !isStep3FatherAddOrEditStatus">
85 报警规则条件:{{ formatAlarmRuleConditionsFunc(item1) }} 82 报警规则条件:{{ formatAlarmRuleConditionsFunc(item1) }}
86 </p> 83 </p>
87 </template> 84 </template>
88 </div> 85 </div>
89 - <div v-if="isStep3FatherAddOrEditStatus"> 86 + <div v-if="isStep3FatherAddOrEditStatus && formatEditRuleData.length == 0">
90 <p> 报警规则条件:{{ formatAlarmRuleConditionsDataFunc(item) }} </p> 87 <p> 报警规则条件:{{ formatAlarmRuleConditionsDataFunc(item) }} </p>
91 </div> 88 </div>
  89 + <template
  90 + v-for="(item11, index11) in !isStep3FatherAddOrEditStatus
  91 + ? []
  92 + : formatEditRuleData"
  93 + :key="index11"
  94 + >
  95 + <div
  96 + v-if="
  97 + index11 == index &&
  98 + isStep3FatherAddOrEditStatus &&
  99 + formatEditRuleData.length > 0
  100 + "
  101 + >
  102 + <p> 报警规则条件:{{ formatEditRuleDataFunc(item11) }} </p>
  103 + </div>
  104 + </template>
92 </div> 105 </div>
93 </div> 106 </div>
94 <div style="margin-left: 0.5vw"> 107 <div style="margin-left: 0.5vw">
@@ -110,9 +123,25 @@ @@ -110,9 +123,25 @@
110 <p v-if="index2 == index"> 启用规则:{{ formatEnableRuleFunc(item2) }} </p> 123 <p v-if="index2 == index"> 启用规则:{{ formatEnableRuleFunc(item2) }} </p>
111 </template> 124 </template>
112 </div> 125 </div>
113 - <div v-if="isStep3FatherAddOrEditStatus"> 126 + <div v-if="isStep3FatherAddOrEditStatus && formatEditEnableData.length == 0">
114 <p> 启用规则:{{ formatEnableRuleFuncData(item) }} </p> 127 <p> 启用规则:{{ formatEnableRuleFuncData(item) }} </p>
115 </div> 128 </div>
  129 + <template
  130 + v-for="(item111, index111) in !isStep3FatherAddOrEditStatus
  131 + ? []
  132 + : formatEditEnableData"
  133 + :key="index111"
  134 + >
  135 + <div
  136 + v-if="
  137 + index111 == index &&
  138 + isStep3FatherAddOrEditStatus &&
  139 + formatEditEnableData.length > 0
  140 + "
  141 + >
  142 + <p> 启用规则:{{ formatEditEnableRuleFunc(item111) }} </p>
  143 + </div>
  144 + </template>
116 </div> 145 </div>
117 </div> 146 </div>
118 <div></div> 147 <div></div>
@@ -150,12 +179,12 @@ @@ -150,12 +179,12 @@
150 <BasicForm @register="registerFormChangeClearDetail" /> 179 <BasicForm @register="registerFormChangeClearDetail" />
151 </div> 180 </div>
152 <AlarmRuleConditionsCpn 181 <AlarmRuleConditionsCpn
153 - ref="AlarmRuleConditionsRef" 182 + ref="AlarmClearRuleConditionsRef"
154 @register="registerClearAlarmRuleConditionsModal" 183 @register="registerClearAlarmRuleConditionsModal"
155 @getAllFieldsRule="getClearAlarmRuleConditionsValFunc" 184 @getAllFieldsRule="getClearAlarmRuleConditionsValFunc"
156 /> 185 />
157 <EnableRuleCpn 186 <EnableRuleCpn
158 - ref="EnableRuleRef" 187 + ref="EnableClearRuleRef"
159 @register="registerClearEnableRuleModal" 188 @register="registerClearEnableRuleModal"
160 @getAllFieldsEnab="getClearEnableRuleFunc" 189 @getAllFieldsEnab="getClearEnableRuleFunc"
161 /> 190 />
@@ -240,6 +269,7 @@ @@ -240,6 +269,7 @@
240 import EnableRuleCpn from '../cpns/enablerule/index.vue'; 269 import EnableRuleCpn from '../cpns/enablerule/index.vue';
241 import { useModal } from '/@/components/Modal'; 270 import { useModal } from '/@/components/Modal';
242 import { generateUUID } from '/@/hooks/web/useGenerateUUID'; 271 import { generateUUID } from '/@/hooks/web/useGenerateUUID';
  272 +
243 import { 273 import {
244 formatAlarmRuleConditionsData, 274 formatAlarmRuleConditionsData,
245 formatEnableRuleData, 275 formatEnableRuleData,
@@ -263,6 +293,8 @@ @@ -263,6 +293,8 @@
263 const createEditAlarmRuleData: any = ref([]); 293 const createEditAlarmRuleData: any = ref([]);
264 const AlarmRuleConditionsRef = ref(null); 294 const AlarmRuleConditionsRef = ref(null);
265 const EnableRuleRef = ref(null); 295 const EnableRuleRef = ref(null);
  296 + const AlarmClearRuleConditionsRef = ref(null);
  297 + const EnableClearRuleRef = ref(null);
266 const formatAlarmRuleConditions: any = ref([]); 298 const formatAlarmRuleConditions: any = ref([]);
267 const formatClearAlarmRuleConditions: any = ref([]); 299 const formatClearAlarmRuleConditions: any = ref([]);
268 const formatEditClearAlarmRuleConditions: any = ref([]); 300 const formatEditClearAlarmRuleConditions: any = ref([]);
@@ -282,6 +314,14 @@ @@ -282,6 +314,14 @@
282 const tempDetailTemplateData: any = ref([]); 314 const tempDetailTemplateData: any = ref([]);
283 const isClearStatus = ref(false); 315 const isClearStatus = ref(false);
284 const isStep3FatherAddOrEditStatus = ref(false); 316 const isStep3FatherAddOrEditStatus = ref(false);
  317 + let val4: any = reactive({});
  318 + let val5: any = reactive({});
  319 + let val6: any = ref([]);
  320 + let val7 = ref(null);
  321 + let val9: any = ref([]);
  322 + let val10: any = ref(null);
  323 + const formatEditRuleData: any = ref([]);
  324 + const formatEditEnableData: any = ref([]);
285 325
286 const [registerAlarmRuleConditionsModal, { openModal: openModalAlarmRuleConditions }] = 326 const [registerAlarmRuleConditionsModal, { openModal: openModalAlarmRuleConditions }] =
287 useModal(); 327 useModal();
@@ -337,80 +377,53 @@ @@ -337,80 +377,53 @@
337 }, 377 },
338 }); 378 });
339 const clickAddCreateRuleFunc = () => { 379 const clickAddCreateRuleFunc = () => {
  380 + let i = 1;
  381 + i++;
  382 + console.log(i);
340 createAlarmRuleData.value.push(1); 383 createAlarmRuleData.value.push(1);
341 - getAddCreateRuleFunc(); 384 + nextTick(() => {
  385 + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc();
  386 + });
342 if (isStep3FatherAddOrEditStatus.value) { 387 if (isStep3FatherAddOrEditStatus.value) {
343 createEditAlarmRuleData.value.push(1); 388 createEditAlarmRuleData.value.push(1);
344 - getAddCreateRuleFunc();  
345 } 389 }
346 }; 390 };
347 /** 391 /**
348 - * 获取创建报警规则数据  
349 - */  
350 - const getAddCreateRuleFunc = () => {  
351 - const val4 = proxy.$refs.AlarmSeverityRef?.getFieldsValueFunc();  
352 - const val5 = proxy.$refs.DetailTemplateRef?.getFieldsValueFunc();  
353 - let kongDetail = {};  
354 - let kongRule = {};  
355 - let kongEnable = {};  
356 - tempDetailTemplateData.value.push(val5 as never);  
357 - tempDetailTemplateData.value.forEach((f) => {  
358 - kongDetail = f;  
359 - });  
360 - formatAlarmRuleConditions.value.forEach((f) => {  
361 - kongRule = f;  
362 - });  
363 - formatEnableRule.value.forEach((f) => {  
364 - kongEnable = f;  
365 - });  
366 - alaramsObj.createRules[val4?.default] = {  
367 - ...kongDetail,  
368 - ...{ condition: Object.keys(kongRule).length == 0 ? null : kongRule },  
369 - ...{ schedule: Object.keys(kongEnable).length == 0 ? null : kongEnable },  
370 - };  
371 - };  
372 - /**  
373 * 获取清除报警规则数据 392 * 获取清除报警规则数据
374 */ 393 */
375 const clickAddClearRuleFunc = () => { 394 const clickAddClearRuleFunc = () => {
376 isClearStatus.value = true; 395 isClearStatus.value = true;
377 - const val6 = getRegisterFormClearChangeDetailFunc();  
378 - let kongClearRule = {};  
379 - let kongClearEnable = {};  
380 - formatClearAlarmRuleConditions.value.forEach((f) => {  
381 - kongClearRule = f;  
382 - });  
383 - formatClearEnableRule.value.forEach((f) => {  
384 - kongClearEnable = f;  
385 - });  
386 - alaramsObj.clearRule = {  
387 - ...val6,  
388 - ...{  
389 - schedule: formatClearEnableRule.value.length == 0 ? null : kongClearEnable,  
390 - },  
391 - ...{  
392 - condition: formatClearAlarmRuleConditions.value.length == 0 ? null : kongClearRule,  
393 - },  
394 - };  
395 }; 396 };
396 const removeAddClearRuleFunc = () => { 397 const removeAddClearRuleFunc = () => {
397 isClearStatus.value = false; 398 isClearStatus.value = false;
398 alaramsObj.clearRule = null; 399 alaramsObj.clearRule = null;
399 }; 400 };
400 - const removeAddCreateRuleFunc = (i) => {  
401 - let delI = i;  
402 - createAlarmRuleData.value.splice(delI, 1);  
403 - for (let i1 in alaramsObj.createRules) {  
404 - if (delI) { 401 + const removeAddCreateRuleFunc = (e, i) => {
  402 + const key = createAlarmRuleData.value.indexOf(e);
  403 + createAlarmRuleData.value.splice(key, 1);
  404 + console.log(i);
  405 + Object.keys(alaramsObj.createRules).forEach((i1, e) => {
  406 + if (e == i) {
405 delete alaramsObj.createRules[i1]; 407 delete alaramsObj.createRules[i1];
406 } 408 }
  409 + });
  410 + if (isStep3FatherAddOrEditStatus.value) {
  411 + const key1 = createEditAlarmRuleData.value.indexOf(e);
  412 + createEditAlarmRuleData.value.splice(key1, 1);
407 } 413 }
408 }; 414 };
409 - const clickAddAlarmRuleConditionsFunc = () => {  
410 - nextTick(() => {  
411 - openModalAlarmRuleConditions(true);  
412 - proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc();  
413 - }); 415 + const clickAddAlarmRuleConditionsFunc = (e, i) => {
  416 + openModalAlarmRuleConditions(true);
  417 + console.log(i);
  418 + if (e === true) {
  419 + nextTick(() => {
  420 + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc();
  421 + });
  422 + } else {
  423 + nextTick(() => {
  424 + proxy.$refs.AlarmRuleConditionsRef?.resetDataFunc();
  425 + });
  426 + }
414 }; 427 };
415 const clickAddEnableRuleFunc = () => { 428 const clickAddEnableRuleFunc = () => {
416 nextTick(() => { 429 nextTick(() => {
@@ -434,6 +447,9 @@ @@ -434,6 +447,9 @@
434 formatAlarmRuleConditions.value.push({ 447 formatAlarmRuleConditions.value.push({
435 condition: e, 448 condition: e,
436 } as never); 449 } as never);
  450 + formatEditRuleData.value.push({
  451 + condition: e,
  452 + } as never);
437 }; 453 };
438 const getClearAlarmRuleConditionsValFunc = (e) => { 454 const getClearAlarmRuleConditionsValFunc = (e) => {
439 formatClearAlarmRuleConditions.value.push({ 455 formatClearAlarmRuleConditions.value.push({
@@ -444,12 +460,17 @@ @@ -444,12 +460,17 @@
444 let formatMap = e.condition.map((f: any) => formatAlarmRuleConditionsData(f)); 460 let formatMap = e.condition.map((f: any) => formatAlarmRuleConditionsData(f));
445 return formatMap; 461 return formatMap;
446 }; 462 };
  463 + const formatEditRuleDataFunc = (e) => {
  464 + let formatMap = e.condition.map((f: any) => formatAlarmRuleConditionsData(f));
  465 + return formatMap;
  466 + };
447 const formatClearAlarmRuleConditionsFunc = (e) => { 467 const formatClearAlarmRuleConditionsFunc = (e) => {
448 let formatMap = e.condition.map((f: any) => formatAlarmRuleConditionsData(f)); 468 let formatMap = e.condition.map((f: any) => formatAlarmRuleConditionsData(f));
449 return formatMap; 469 return formatMap;
450 }; 470 };
451 const getEnableRuleFunc = (e) => { 471 const getEnableRuleFunc = (e) => {
452 formatEnableRule.value.push(e); 472 formatEnableRule.value.push(e);
  473 + formatEditEnableData.value.push(e);
453 }; 474 };
454 const getClearEnableRuleFunc = (e) => { 475 const getClearEnableRuleFunc = (e) => {
455 formatClearEnableRule.value.push(e); 476 formatClearEnableRule.value.push(e);
@@ -458,30 +479,96 @@ @@ -458,30 +479,96 @@
458 let formatMap = formatEnableRuleData(e); 479 let formatMap = formatEnableRuleData(e);
459 return formatMap; 480 return formatMap;
460 }; 481 };
  482 + const formatEditEnableRuleFunc = (e) => {
  483 + let formatMap = formatEnableRuleData(e);
  484 + return formatMap;
  485 + };
  486 +
461 const formatClearEnableRuleFunc = (e) => { 487 const formatClearEnableRuleFunc = (e) => {
462 let formatMap = formatEnableRuleData(e); 488 let formatMap = formatEnableRuleData(e);
463 return formatMap; 489 return formatMap;
464 }; 490 };
465 - const getStep3AllDataFunc = async () => {  
466 - const val1 = await getAlarmTypeValFunc();  
467 - const val2 = getDeliverAlertsValFunc();  
468 - const val3 = [];  
469 - val3.push(val2.propagateRelationTypes as never);  
470 - alaramsObj.alarmType = val1.alarmType;  
471 - alaramsObj.propagate = val2.propagate;  
472 - alaramsObj.id = generateUUID();  
473 - if (val2.propagateRelationTypes == undefined) {  
474 - alaramsObj.propagateRelationTypes = null;  
475 - } else {  
476 - alaramsObj.propagateRelationTypes = val3;  
477 - }  
478 - getAddCreateRuleFunc();  
479 - clickAddClearRuleFunc();  
480 - if (alaramsObj.clearRule.condition == null || alaramsObj.clearRule.schedule == null) {  
481 - isClearStatus.value = false;  
482 - alaramsObj.clearRule = null; 491 + /**
  492 + * 获取第三步所有的数据
  493 + */
  494 + const getStep3AllDataFunc = async (e) => {
  495 + try {
  496 + const UUID = generateUUID();
  497 + const val1 = await getAlarmTypeValFunc();
  498 + const val2 = getDeliverAlertsValFunc();
  499 + const val3 = [];
  500 + val3.push(val2.propagateRelationTypes as never);
  501 + alaramsObj.alarmType = val1.alarmType;
  502 + alaramsObj.propagate = val2.propagate;
  503 + alaramsObj.id = UUID;
  504 + if (val2.propagateRelationTypes == undefined) {
  505 + alaramsObj.propagateRelationTypes = null;
  506 + } else {
  507 + alaramsObj.propagateRelationTypes = val3;
  508 + }
  509 + const val8 = getRegisterFormClearChangeDetailFunc();
  510 + val9.value = proxy.$refs['AlarmClearRuleConditionsRef']?.getFieldsValueFunc();
  511 + val10.value = proxy.$refs['EnableClearRuleRef']?.getFieldsValueFunc();
  512 + if (val9.value == undefined || val10.value == undefined) {
  513 + alaramsObj.clearRule = null;
  514 + isClearStatus.value = false;
  515 + } else {
  516 + alaramsObj.clearRule = {
  517 + ...val8,
  518 + ...{
  519 + schedule: val10.value == undefined ? undefined : val10.value,
  520 + },
  521 + ...{
  522 + condition: {
  523 + condition: val9.value == undefined ? undefined : val9.value,
  524 + },
  525 + },
  526 + };
  527 + }
  528 + if (e == 1) {
  529 + for (let i = 0; i < createAlarmRuleData.value.length; i++) {
  530 + const iii = i;
  531 + val4 = proxy.$refs['AlarmSeverityRef' + iii].getFieldsValueFunc();
  532 + val5 = proxy.$refs['DetailTemplateRef' + iii].getFieldsValueFunc();
  533 + val6.value = proxy.$refs['AlarmRuleConditionsRef' + iii].getFieldsValueFunc();
  534 + val7.value = proxy.$refs['EnableRuleRef' + iii].getFieldsValueFunc();
  535 + alaramsObj.createRules[val4?.default] = {
  536 + ...val5,
  537 + ...{
  538 + schedule: val7.value == undefined ? undefined : val7.value,
  539 + },
  540 + ...{
  541 + condition: {
  542 + condition: val6.value == undefined ? undefined : val6.value,
  543 + },
  544 + },
  545 + };
  546 + }
  547 + } else {
  548 + for (let i = 0; i < createEditAlarmRuleData.value.length; i++) {
  549 + const iiii = i;
  550 + val4 = proxy.$refs['AlarmSeverityRef' + iiii].getFieldsValueFunc();
  551 + val5 = proxy.$refs['DetailTemplateRef' + iiii].getFieldsValueFunc();
  552 + val6.value = proxy.$refs['AlarmRuleConditionsRef' + iiii].getFieldsValueFunc();
  553 + val7.value = proxy.$refs['EnableRuleRef' + iiii].getFieldsValueFunc();
  554 + console.log(val6.value);
  555 + alaramsObj.createRules[val4?.default] = {
  556 + ...val5,
  557 + ...{
  558 + schedule: val7.value,
  559 + },
  560 + ...{
  561 + condition: {
  562 + condition: val6.value,
  563 + },
  564 + },
  565 + };
  566 + }
  567 + }
  568 + return alaramsObj;
  569 + } catch (e) {
  570 + console.log(e);
483 } 571 }
484 - return alaramsObj;  
485 }; 572 };
486 /** 573 /**
487 * 清空第三步数据 574 * 清空第三步数据
@@ -509,6 +596,8 @@ @@ -509,6 +596,8 @@
509 alaramsObj.clearRule = {}; 596 alaramsObj.clearRule = {};
510 alaramsObj.createRules = {}; 597 alaramsObj.createRules = {};
511 alaramsObj.id = ''; 598 alaramsObj.id = '';
  599 + formatEditRuleData.value.length = 0;
  600 + formatEditEnableData.value.length = 0;
512 } catch {} 601 } catch {}
513 }; 602 };
514 /** 603 /**
@@ -621,6 +710,12 @@ @@ -621,6 +710,12 @@
621 createEditAlarmRuleData, 710 createEditAlarmRuleData,
622 formatAlarmRuleConditionsDataFunc, 711 formatAlarmRuleConditionsDataFunc,
623 formatEnableRuleFuncData, 712 formatEnableRuleFuncData,
  713 + AlarmClearRuleConditionsRef,
  714 + EnableClearRuleRef,
  715 + formatEditRuleData,
  716 + formatEditRuleDataFunc,
  717 + formatEditEnableData,
  718 + formatEditEnableRuleFunc,
624 }; 719 };
625 }, 720 },
626 }); 721 });
@@ -160,11 +160,16 @@ @@ -160,11 +160,16 @@
160 emit('getAllFieldsRule', getKeyAndValueChildData.value, lastValues.value); 160 emit('getAllFieldsRule', getKeyAndValueChildData.value, lastValues.value);
161 closeModal(); 161 closeModal();
162 }; 162 };
  163 +
  164 + const getFieldsValueFunc = () => {
  165 + return getKeyAndValueChildData.value;
  166 + };
163 const resetDataFunc = () => { 167 const resetDataFunc = () => {
164 getTableApiData.value = []; 168 getTableApiData.value = [];
165 getTableApiData.value.length = 0; 169 getTableApiData.value.length = 0;
166 detailData.value = []; 170 detailData.value = [];
167 detailData.value.length = 0; 171 detailData.value.length = 0;
  172 + getKeyAndValueChildData.value.length = 0;
168 resetFields(); 173 resetFields();
169 }; 174 };
170 175
@@ -221,6 +226,7 @@ @@ -221,6 +226,7 @@
221 handleSubmit, 226 handleSubmit,
222 register, 227 register,
223 getTitle, 228 getTitle,
  229 + getFieldsValueFunc,
224 }; 230 };
225 }, 231 },
226 }); 232 });
@@ -40,12 +40,17 @@ @@ -40,12 +40,17 @@
40 emit('getAllFieldsEnab', values); 40 emit('getAllFieldsEnab', values);
41 closeModal(); 41 closeModal();
42 }; 42 };
  43 + const getFieldsValueFunc = () => {
  44 + const val = getFieldsValue();
  45 + return val;
  46 + };
43 return { 47 return {
44 resetDataFunc, 48 resetDataFunc,
45 registerForm, 49 registerForm,
46 handleSubmit, 50 handleSubmit,
47 register, 51 register,
48 getTitle, 52 getTitle,
  53 + getFieldsValueFunc,
49 }; 54 };
50 }, 55 },
51 }); 56 });