Commit a3c5f2fb0b9c0b9cc7449a4b4b0fd3777cecce34

Authored by xp.Huang
2 parents ff6045b5 13280e0a

Merge branch 'ft-dev' into 'main'

feat:设备配置新增清除报警,wip:设备配置键名筛选器待修改预览

See merge request huang/yun-teng-iot-front!51
... ... @@ -19,13 +19,13 @@
19 19 <DeviceProfileStep1
20 20 ref="DeviceProfileStep1Ref"
21 21 @next="handleStepNext1"
22   - v-if="current === 0"
  22 + v-show="current === 0"
23 23 />
24 24 <DeviceProfileStep2
25 25 ref="DeviceProfileStep2Ref"
26 26 @prev="handleStepPrev"
27 27 @next="handleStep2Next"
28   - v-if="current === 1"
  28 + v-show="current === 1"
29 29 />
30 30 <DeviceProfileStep3
31 31 ref="DeviceProfileStep3Ref"
... ... @@ -34,7 +34,11 @@
34 34 @redo="handleRedo"
35 35 v-if="current === 2"
36 36 />
37   - <DeviceProfileStep4 ref="DeviceProfileStep4Ref" @prev="handleStepPrev" v-if="current === 3" />
  37 + <DeviceProfileStep4
  38 + ref="DeviceProfileStep4Ref"
  39 + @prev="handleStepPrev"
  40 + v-show="current === 3"
  41 + />
38 42 </div>
39 43 </BasicModal>
40 44 </template>
... ... @@ -87,20 +91,20 @@
87 91 isUpdate.value = !!data?.isUpdate;
88 92 if (!unref(isUpdate)) {
89 93 current.value = 0;
90   - // switch (current.value) {
91   - // case 0:
92   - // proxy.$refs.DeviceProfileStep1Ref.customResetFunc();
93   - // break;
94   - // case 1:
95   - // proxy.$refs.DeviceProfileStep2Ref.customResetAndFunc();
96   - // break;
97   - // case 2:
98   - // // proxy.$refs.DeviceProfileStep3Ref.customResetFunc();
99   - // // break;
100   - // case 3:
101   - // proxy.$refs.DeviceProfileStep4Ref.customResetAndFunc();
102   - // break;
103   - // }
  94 + switch (current.value) {
  95 + case 0:
  96 + proxy.$refs.DeviceProfileStep1Ref.customResetFunc();
  97 + break;
  98 + case 1:
  99 + proxy.$refs.DeviceProfileStep2Ref.customResetAndFunc();
  100 + break;
  101 + case 2:
  102 + // proxy.$refs.DeviceProfileStep3Ref.customResetFunc();
  103 + // break;
  104 + case 3:
  105 + proxy.$refs.DeviceProfileStep4Ref.customResetAndFunc();
  106 + break;
  107 + }
104 108 }
105 109 if (unref(isUpdate)) {
106 110 current.value = 0;
... ...
... ... @@ -8,7 +8,7 @@
8 8 @register="register"
9 9 :title="getTitle"
10 10 >
11   - <Tabs v-model:activeKey="activeKey">
  11 + <Tabs @change="handleChange" v-model:activeKey="activeKey">
12 12 <TabPane key="1" tab="详情">
13 13 <BasicForm
14 14 :showSubmitButton="false"
... ... @@ -94,26 +94,6 @@
94 94 const isUpdate = ref(true);
95 95 const descInfo: any = ref(null);
96 96 const dataInfo: any = ref('');
97   - watch(
98   - () => activeKey.value,
99   - (v) => {
100   - dataInfo.value = v;
101   - // switch (dataInfo.value) {
102   - // case '1':
103   - // console.log(1);
104   - // break;
105   - // case '2':
106   - // console.log(2);
107   - // break;
108   - // case '3':
109   - // console.log(3);
110   - // break;
111   - // case '4':
112   - // console.log(4);
113   - // break;
114   - // }
115   - }
116   - );
117 97 const [registerDetail, { setFieldsValue: setRegisterDetail }] = useForm({
118 98 schemas: step1Schemas,
119 99 actionColOptions: {
... ... @@ -182,24 +162,92 @@
182 162 descInfo.value = await deviceConfigGetDetail(data.record.id);
183 163 try {
184 164 await setRegisterDetail({ ...descInfo.value });
185   - await setRegisterTrans({ ...descInfo.value });
186   - await setRegisterStep3Schemas({ ...descInfo.value });
187   - await setRegisterStep3HighSetting({ ...descInfo.value });
188   - await setRegisterStep3CreateAlarm({ ...descInfo.value });
189   - await setRegisterStep3RuleAlarm({ ...descInfo.value });
190   - await setRegisterContact({ ...descInfo.value });
191   - await setRegisterStep3Condition({ ...descInfo.value });
192   - await setRegisterStep3Enable({ ...descInfo.value });
193   - await setRegisterStep3TemplateDetail({ ...descInfo.value });
  165 + // await setRegisterTrans({
  166 + // transportType: descInfo.value.profileData.transportConfiguration.type,
  167 + // });
  168 + // await setRegisterStep3Schemas({
  169 + // alarmType: descInfo.value.profileData.alarms[0].alarmType,
  170 + // });
  171 + // await setRegisterStep3HighSetting({
  172 + // propagate: descInfo.value.profileData.alarms[0].propagate,
  173 + // propagateRelationTypes: descInfo.value.profileData.alarms[0].propagateRelationTypes[0],
  174 + // });
  175 + // await setRegisterStep3CreateAlarm({ ...descInfo.value });
  176 + // await setRegisterStep3RuleAlarm({ ...descInfo.value });
  177 + // await setRegisterContact({ ...descInfo.value });
  178 + // await setRegisterStep3Condition({ ...descInfo.value });
  179 + // await setRegisterStep3Enable({ ...descInfo.value });
  180 + // await setRegisterStep3TemplateDetail({ ...descInfo.value });
194 181 } catch (e) {
195 182 return e;
196 183 }
197 184 });
  185 + const handleChange = (v) => {
  186 + switch (v) {
  187 + case '1':
  188 + setRegisterDetail({ ...descInfo.value });
  189 + break;
  190 + case '2':
  191 + setRegisterTrans({
  192 + transportType: descInfo.value.profileData.transportConfiguration.type,
  193 + });
  194 + break;
  195 + case '3':
  196 + setRegisterStep3Schemas({
  197 + alarmType: descInfo.value.profileData.alarms[0].alarmType,
  198 + });
  199 + setRegisterStep3HighSetting({
  200 + propagate: descInfo.value.profileData.alarms[0].propagate,
  201 + propagateRelationTypes:
  202 + descInfo.value.profileData.alarms[0].propagateRelationTypes[0],
  203 + });
  204 + const getKey = Object.keys(descInfo.value.profileData.alarms[0].createRules);
  205 + console.log(descInfo.value.profileData.alarms[0].createRules[getKey[0]]);
  206 + // console.log(descInfo.value.profileData.alarms[0].createRules.MAJOR);
  207 + // console.log(descInfo.value.profileData.alarms[0].createRules['MAJOR']);
  208 + setRegisterStep3CreateAlarm({
  209 + MAJOR: descInfo.value.profileData.alarms[0].createRules[getKey[0]] + '',
  210 + });
  211 + setRegisterStep3RuleAlarm({
  212 + type: descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.condition
  213 + .key.type,
  214 + key: descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.condition
  215 + .key.key,
  216 + valueType:
  217 + descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.condition
  218 + .valueType,
  219 + });
  220 + setRegisterStep3Condition({
  221 + conditionType:
  222 + descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.spec.type,
  223 + });
  224 + setRegisterStep3Enable({
  225 + schedule: descInfo.value.profileData.alarms[0].createRules[getKey[0]].schedule,
  226 + });
  227 + setRegisterStep3TemplateDetail({
  228 + alarmDetails: descInfo.value.profileData.alarms[0].createRules,
  229 + });
  230 + break;
  231 + case '4':
  232 + setRegisterContact({
  233 + alarmContactId: descInfo.value.alarmProfile.alarmContactId,
  234 + messageMode: descInfo.value.alarmProfile.messageMode,
  235 + });
  236 + break;
  237 + }
  238 + };
  239 + watch(
  240 + () => activeKey.value,
  241 + (v) => {
  242 + dataInfo.value = v;
  243 + }
  244 + );
198 245 const getTitle = computed(() => {
199 246 return '设备配置详情';
200 247 });
201 248
202 249 return {
  250 + handleChange,
203 251 registerStep3TemplateDetail,
204 252 registerStep3Enable,
205 253 registerStep3Condition,
... ...
... ... @@ -45,7 +45,7 @@
45 45 const customResetFunc = async () => {
46 46 await resetFields();
47 47 };
48   - return { register, customResetFunc, resetFieldsFunc };
  48 + return { register, resetFieldsFunc, customResetFunc };
49 49 },
50 50 });
51 51 </script>
... ...
... ... @@ -70,30 +70,33 @@
70 70 >
71 71 <div style="height: 20px"></div>
72 72 <p>清除报警规则</p>
73   - <template v-for="(childItem, createIndex) in item.alarms" :key="childItem.id">
  73 + <template v-for="(childItem, createIndex) in item.clearAlarms" :key="childItem.id">
74 74 <div class="aic mb-4" style="border: 1px solid #bfbfbf">
75 75 <div class="w-3/4">
76 76 <div style="margin-left: 5px">
77 77 <p style="color: #f5594e" class="mt-4 ml-4"
78 78 >请添加报警规则条件
79 79 <PlusOutlined
80   - @click="handleOpenAlaramRuleConditions"
  80 + @click="handleOpenClearAlaramRuleConditions"
81 81 class="cursor-pointer ml-4"
82 82 style="font-size: 20px"
83   - /></p>
  83 + />{{ ruleClearTemplateData }}</p
  84 + >
84 85 <p class="mt-4 ml-4"
85 86 >启用规则:始终启用
86 87 <EditOutlined
87   - @click="handleOpenEnableRule"
  88 + @click="handleOpenClearEnableRule"
88 89 class="cursor-pointer ml-4"
89 90 style="font-size: 20px"
90   - /></p>
  91 + />{{ enableClearTemplateData }}</p
  92 + >
91 93 <p class="mt-4 ml-4"
92 94 >详情模板:<EditOutlined
93   - @click="handleOpenDetailTemplate"
  95 + @click="handleOpenClearDetailTemplate"
94 96 class="cursor-pointer ml-4"
95 97 style="font-size: 20px"
96   - /></p>
  98 + />{{ detailClearTemplateData }}</p
  99 + >
97 100 <div style="margin-left: 16px">
98 101 <BasicForm @register="dashboardForm" />
99 102 </div>
... ... @@ -104,13 +107,13 @@
104 107 <MinusCircleOutlined
105 108 style="font-size: 25px; color: #305680"
106 109 class="cursor-pointer"
107   - @click="deleteCondition(index, createIndex)"
  110 + @click="deleteClearCondition(index, createIndex)"
108 111 />
109 112 </Tooltip>
110 113 </div>
111 114 </div>
112 115 </template>
113   - <a-button class="mt-5" @click="addCreateRole(index)"
  116 + <a-button class="mt-5" @click="addClearRole(index)"
114 117 ><PlusCircleOutlined />添加清除条件</a-button
115 118 >
116 119 </CollapseContainer>
... ... @@ -141,6 +144,28 @@
141 144 @getAllFieldsRule="getAllFieldsRuleFunc"
142 145 @register="registerModal3"
143 146 />
  147 +
  148 + <!-- 清除条件的 -->
  149 + <!-- 详情模板 -->
  150 + <DetailTemplate
  151 + v-if="isRuleAlarmRuleConditions == 4"
  152 + @getAllFields="getAllClearFieldsFunc"
  153 + @register="registerModal4"
  154 + />
  155 + <!-- 启用规则 -->
  156 + <EnableRule
  157 + v-if="isRuleAlarmRuleConditions == 5"
  158 + ref="getChildData2"
  159 + @getAllFieldsEnab="getAllClearFieldsEnabFunc"
  160 + @register="registerModal5"
  161 + />
  162 + <!-- 报警规则条件 -->
  163 + <AlarmRuleConditions
  164 + v-if="isRuleAlarmRuleConditions == 6"
  165 + ref="getChildData3"
  166 + @getAllFieldsRule="getAllClearFieldsRuleFunc"
  167 + @register="registerModal6"
  168 + />
144 169 </template>
145 170
146 171 <script lang="ts">
... ... @@ -202,6 +227,9 @@
202 227 const ruleTemplateData: any = ref(null);
203 228 const enableTemplateData: any = ref(null);
204 229 const detailTemplateData: any = ref(null);
  230 + const ruleClearTemplateData: any = ref(null);
  231 + const enableClearTemplateData: any = ref(null);
  232 + const detailClearTemplateData: any = ref(null);
205 233 //告警列表
206 234 let profileData = ref<alarmListItem[]>([]);
207 235 const log = (e) => {
... ... @@ -232,6 +260,15 @@
232 260 propagateRelationTypes: [''],
233 261 },
234 262 ],
  263 + clearAlarms: [
  264 + {
  265 + id: Date.now() + Math.random(),
  266 + alarmType: '',
  267 + clearRules: {},
  268 + propagate: true,
  269 + propagateRelationTypes: [''],
  270 + },
  271 + ],
235 272 });
236 273 };
237 274 //Mobile dashboard:
... ... @@ -248,7 +285,6 @@
248 285 showResetButton: false,
249 286 showSubmitButton: false,
250 287 });
251   -
252 288 // 高级设置
253 289 const [registerFormHighSetting, { validate: validateRegisterFormHighSetting }] = useForm({
254 290 labelWidth: 120,
... ... @@ -259,7 +295,6 @@
259 295 span: 24,
260 296 },
261 297 });
262   -
263 298 // 添加创建条件表单
264 299 const [registerFormCreateAlarm, { validate: validateRegisterFormCreateAlarm }] = useForm({
265 300 labelWidth: 120,
... ... @@ -270,7 +305,6 @@
270 305 span: 24,
271 306 },
272 307 });
273   -
274 308 // 添加‘创建条件’
275 309 const addCreateRole = (index: number) => {
276 310 unref(profileData)[index].alarms.push({
... ... @@ -286,6 +320,21 @@
286 320 const deleteCondition = (index: number, createIndex: number) => {
287 321 profileData.value[index].alarms.splice(createIndex, 1);
288 322 };
  323 + // 添加‘清除条件’
  324 + const addClearRole = (index: number) => {
  325 + unref(profileData)[index].clearAlarms.push({
  326 + id: Date.now() + Math.random(),
  327 + alarmVisible: false,
  328 + addKeyFilterVisible: false,
  329 + detailVisible: false,
  330 + detail: '',
  331 + filterList: [],
  332 + });
  333 + };
  334 + // 删除‘清除条件’
  335 + const deleteClearCondition = (index: number, createIndex: number) => {
  336 + profileData.value[index].clearAlarms.splice(createIndex, 1);
  337 + };
289 338 watch(isWhereType, (nV) => {
290 339 isWhereTypeValue.value = nV;
291 340 });
... ... @@ -368,6 +417,125 @@
368 417 ruleTemplateData.value = `
369 418 键名:${v.key}...操作:${findRuleByValue?.label}...值:${v.value1}
370 419 `;
  420 +
  421 + ruleLastObj.value = v1;
  422 + const predicate = {
  423 + operation: ruleObj.value.operation,
  424 + value: {
  425 + defaultValue: Number(ruleObj.value.value1),
  426 + },
  427 + type: ruleObj.value.type1,
  428 + };
  429 + const spec1 = {
  430 + type: ruleLastObj.value.conditionType,
  431 + // unit: ruleLastObj.value.unit,
  432 + // predicate: {
  433 + // defaultValue: Number(ruleLastObj.value.defaultValue),
  434 + // dynamicValue: {
  435 + // sourceType: ruleLastObj.value.sourceType,
  436 + // sourceAttribute: ruleLastObj.value.sourceAttribute,
  437 + // inherit: ruleLastObj.value.inherit,
  438 + // },
  439 + // },
  440 + };
  441 + const getCondition = {
  442 + condition: [
  443 + {
  444 + key: {
  445 + type: ruleObj.value?.type,
  446 + key: ruleObj.value?.key,
  447 + },
  448 + valueType: ruleObj.value.type1,
  449 + predicate,
  450 + },
  451 + ],
  452 + spec: spec1,
  453 + };
  454 + const getValueConditon = {
  455 + condition: getCondition,
  456 + };
  457 + Object.assign(additionalObj.value, getValueConditon);
  458 + };
  459 + //清除条件
  460 + //详情模板
  461 + const getAllClearFieldsFunc = (v) => {
  462 + detailObj.value = v;
  463 + detailClearTemplateData.value = `
  464 + 报警详细信息:${v.alarmDetails}
  465 + `;
  466 + };
  467 + //启用规则
  468 + const getAllClearFieldsEnabFunc = (v) => {
  469 + enableObj.value = v;
  470 + const findDay = [
  471 + {
  472 + label: '星期一',
  473 + value: '1',
  474 + },
  475 + {
  476 + label: '星期二',
  477 + value: '2',
  478 + },
  479 + {
  480 + label: '星期三',
  481 + value: '3',
  482 + },
  483 + {
  484 + label: '星期四',
  485 + value: '4',
  486 + },
  487 + {
  488 + label: '星期五',
  489 + value: '5',
  490 + },
  491 + {
  492 + label: '星期六',
  493 + value: '6',
  494 + },
  495 + {
  496 + label: '星期七',
  497 + value: '7',
  498 + },
  499 + ];
  500 + const findDayByValue = findDay.map((f, i) => {
  501 + try {
  502 + if (f.value == v.daysOfWeek[i]) {
  503 + return f.label;
  504 + }
  505 + } catch (e) {
  506 + console.log(e);
  507 + }
  508 + });
  509 + enableClearTemplateData.value = `
  510 + 开始时间:${v.startsOn}结束时间:${v.endsOn}天数:${findDayByValue}
  511 + `;
  512 + };
  513 + //规则条件
  514 + const getAllClearFieldsRuleFunc = (v, v1) => {
  515 + ruleObj.value = v;
  516 + const findDay = [
  517 + { label: '等于', value: 'EQUAL' },
  518 + { label: '不等于', value: 'NOT_EQUAL' },
  519 + { label: '开始于', value: 'STARTS_WITH' },
  520 + { label: '结束于', value: 'ENDS_WITH' },
  521 + { label: '包含', value: 'CONTAINS' },
  522 + { label: '不包含', value: 'NOT_CONTAINS' },
  523 + { label: '等于', value: 'EQUAL' },
  524 + { label: '不等于', value: 'NOT_EQUAL' },
  525 + { label: '大于', value: 'GREATER' },
  526 + { label: '小于', value: 'LESS' },
  527 + { label: '大于或等于', value: 'GREATER_OR_EQUAL' },
  528 + { label: '小于或等于', value: 'LESS_OR_EQUAL' },
  529 + ];
  530 + const findRuleByValue = findDay.find((f) => {
  531 + if (f.value == v.operation) {
  532 + return f.label;
  533 + }
  534 + });
  535 + ruleClearTemplateData.value = `
  536 + 键名:${v.key}...操作:${findRuleByValue?.label}...值:${v.value1}
  537 + `;
  538 +
371 539 ruleLastObj.value = v1;
372 540 const predicate = {
373 541 operation: ruleObj.value.operation,
... ... @@ -425,6 +593,11 @@
425 593 getAdditionalProp,
426 594 additionalObj.value
427 595 );
  596 + const getScheduleAndClearAlarmDetails = Object.assign(
  597 + {},
  598 + getAdditionalProp,
  599 + additionalObj.value
  600 + );
428 601 const getIsWhereTypeValue: any = isWhereTypeValue.value;
429 602 const getAdditionalPropObj = {
430 603 [getIsWhereTypeValue]: getScheduleAndAlarmDetails,
... ... @@ -432,23 +605,25 @@
432 605 const getCreateRulesAllObj = {
433 606 createRules: getAdditionalPropObj,
434 607 };
  608 + const getClearRulesAllObj = {
  609 + clearRule: getScheduleAndClearAlarmDetails,
  610 + };
435 611 const valueRegisterForm = await validateRegisterForm();
436 612 const valueRegisterFormAndId = {
437 613 alarmType: Object.values(valueRegisterForm)[0],
438 614 };
439   -
440 615 const valueRegisterFormHighSetting = await validateRegisterFormHighSetting();
441 616 // const valueRegisterFormCreateAlarm = await validateRegisterFormCreateAlarm();
442 617 const getValueRegisterFormHighSetting = {
443 618 propagate: valueRegisterFormHighSetting?.propagate,
444 619 propagateRelationTypes: [valueRegisterFormHighSetting?.propagateRelationTypes],
445 620 };
446   -
447 621 Object.assign(
448 622 emptyObj.value,
449 623 valueRegisterFormAndId,
450 624 getValueRegisterFormHighSetting,
451   - getCreateRulesAllObj
  625 + getCreateRulesAllObj,
  626 + getClearRulesAllObj
452 627 );
453 628 alarmss.value.push(emptyObj.value);
454 629 const getAlarms = {
... ... @@ -458,35 +633,70 @@
458 633 emit('next', getAllFormData.value);
459 634 } catch (error) {}
460 635 };
461   -
462 636 const [registerModal1, { openModal: openModal1 }] = useModal();
463 637 const [registerModal2, { openModal: openModal2 }] = useModal();
464 638 const [registerModal3, { openModal: openModal3 }] = useModal();
465   -
  639 + const [registerModal4, { openModal: openModal4 }] = useModal();
  640 + const [registerModal5, { openModal: openModal5 }] = useModal();
  641 + const [registerModal6, { openModal: openModal6 }] = useModal();
466 642 const handleOpenDetailTemplate = () => {
467 643 isRuleAlarmRuleConditions.value = 1;
468 644 setTimeout(() => {
469 645 openModal1(true);
  646 + proxy.$refs.getChildData1.resetDataFunc();
470 647 }, 50);
471 648 };
472 649 const handleOpenEnableRule = () => {
473 650 isRuleAlarmRuleConditions.value = 2;
474 651 setTimeout(() => {
475 652 openModal2(true);
  653 + proxy.$refs.getChildData2.resetDataFunc();
476 654 }, 50);
477 655 };
478 656 const handleOpenAlaramRuleConditions = () => {
479 657 isRuleAlarmRuleConditions.value = 3;
480 658 setTimeout(() => {
481 659 openModal3(true);
  660 + proxy.$refs.getChildData3.resetDataFunc();
  661 + }, 50);
  662 + };
  663 + const handleOpenClearDetailTemplate = () => {
  664 + isRuleAlarmRuleConditions.value = 4;
  665 + setTimeout(() => {
  666 + openModal4(true);
  667 + proxy.$refs.getChildData1.resetDataFunc();
  668 + }, 50);
  669 + };
  670 + const handleOpenClearEnableRule = () => {
  671 + isRuleAlarmRuleConditions.value = 5;
  672 + setTimeout(() => {
  673 + openModal5(true);
  674 + proxy.$refs.getChildData2.resetDataFunc();
  675 + }, 50);
  676 + };
  677 + const handleOpenClearAlaramRuleConditions = () => {
  678 + isRuleAlarmRuleConditions.value = 6;
  679 + setTimeout(() => {
  680 + openModal6(true);
  681 + proxy.$refs.getChildData3.resetDataFunc();
482 682 }, 50);
483 683 };
484   -
485 684 return {
  685 + ruleClearTemplateData,
  686 + enableClearTemplateData,
  687 + detailClearTemplateData,
  688 + handleOpenClearDetailTemplate,
  689 + handleOpenClearEnableRule,
  690 + handleOpenClearAlaramRuleConditions,
  691 + addClearRole,
  692 + deleteClearCondition,
486 693 detailTemplateData,
487 694 enableTemplateData,
488 695 ruleTemplateData,
489 696 dashboardForm,
  697 + getAllClearFieldsRuleFunc,
  698 + getAllClearFieldsEnabFunc,
  699 + getAllClearFieldsFunc,
490 700 getAllFieldsRuleFunc,
491 701 getAllFieldsEnabFunc,
492 702 getAllFieldsFunc,
... ... @@ -497,6 +707,9 @@
497 707 registerModal1,
498 708 registerModal2,
499 709 registerModal3,
  710 + registerModal4,
  711 + registerModal5,
  712 + registerModal6,
500 713 handleOpenEnableRule,
501 714 handleOpenAlaramRuleConditions,
502 715 handleOpenDetailTemplate,
... ...
... ... @@ -60,16 +60,16 @@ export const formSchema: FormSchema[] = [
60 60 field: 'key',
61 61 label: '键名',
62 62 colProps: { span: 24 },
63   - component: 'Select',
  63 + component: 'Input',
64 64 componentProps: {
65   - placeholder: '请选择键名',
66   - options: [
67   - { label: 'active', value: 'active' },
68   - { label: 'inactivityAlarmTime', value: 'inactivityAlarmTime' },
69   - { label: 'lastActivityTime', value: 'lastActivityTime' },
70   - { label: 'lastConnectTime', value: 'lastConnectTime' },
71   - { label: 'lastDisconnectTime', value: 'lastDisconnectTime' },
72   - ],
  65 + placeholder: '请输入键名',
  66 + // options: [
  67 + // { label: 'active', value: 'active' },
  68 + // { label: 'inactivityAlarmTime', value: 'inactivityAlarmTime' },
  69 + // { label: 'lastActivityTime', value: 'lastActivityTime' },
  70 + // { label: 'lastConnectTime', value: 'lastConnectTime' },
  71 + // { label: 'lastDisconnectTime', value: 'lastDisconnectTime' },
  72 + // ],
73 73 },
74 74 ifShow: ({ values }) => isShiDu(Reflect.get(values, 'type')),
75 75 },
... ... @@ -77,14 +77,14 @@ export const formSchema: FormSchema[] = [
77 77 field: 'key',
78 78 label: '键名',
79 79 colProps: { span: 24 },
80   - component: 'Select',
  80 + component: 'Input',
81 81 componentProps: {
82   - placeholder: '请选择键名',
83   - options: [
84   - { label: 'CO2', value: 'CO2' },
85   - { label: 'temp', value: 'temp' },
86   - { label: 'wet', value: 'wet' },
87   - ],
  82 + placeholder: '请输入键名',
  83 + // options: [
  84 + // { label: 'CO2', value: 'CO2' },
  85 + // { label: 'temp', value: 'temp' },
  86 + // { label: 'wet', value: 'wet' },
  87 + // ],
88 88 },
89 89 ifShow: ({ values }) => isWenDu(Reflect.get(values, 'type')),
90 90 },
... ...
... ... @@ -30,12 +30,15 @@
30 30 });
31 31 const [register, { closeModal }] = useModalInner(async (data) => {
32 32 isUpdate.value = !!data?.isUpdate;
  33 + if (!unref(isUpdate)) {
  34 + console.log('新增键名筛选器');
  35 + resetFields();
  36 + }
33 37 if (unref(isUpdate)) {
34   - await setFieldsValue({
  38 + console.log('编辑键名筛选器');
  39 + setFieldsValue({
35 40 ...data.record,
36 41 });
37   - } else {
38   - await resetFields();
39 42 }
40 43 });
41 44
... ...
... ... @@ -72,7 +72,7 @@
72 72 const receiveData: any = ref(null);
73 73 const lastValues: any = ref(null);
74 74 const isUpdate = ref(true);
75   - const [registerForm, { getFieldsValue }] = useForm({
  75 + const [registerForm, { getFieldsValue, resetFields }] = useForm({
76 76 labelWidth: 120,
77 77 schemas: formSchema,
78 78 });
... ... @@ -105,6 +105,13 @@
105 105 emit('getAllFieldsRule', receiveData.value, lastValues.value);
106 106 closeModal();
107 107 };
  108 + const resetDataFunc = () => {
  109 + getTableApiData.value = [];
  110 + getTableApiData.value.length = 0;
  111 + detailData.value = [];
  112 + detailData.value.length = 0;
  113 + resetFields();
  114 + };
108 115 const handleAddKey = () => {
109 116 openModal(true, {
110 117 isUpdate: false,
... ... @@ -133,6 +140,7 @@
133 140 detailData.value.push(receiveData.value);
134 141 };
135 142 return {
  143 + resetDataFunc,
136 144 columnsView,
137 145 DescDetailSchema,
138 146 detailData,
... ...
... ... @@ -25,7 +25,7 @@
25 25 setup(_, { emit }) {
26 26 // const getValueData: any = ref({});
27 27 const isUpdate = ref(true);
28   - const [registerForm, { getFieldsValue }] = useForm({
  28 + const [registerForm, { getFieldsValue, resetFields }] = useForm({
29 29 labelWidth: 120,
30 30 schemas: formSchema,
31 31 });
... ... @@ -33,6 +33,9 @@
33 33 const [register, { closeModal }] = useModalInner((data) => {
34 34 isUpdate.value = !!data?.isUpdate;
35 35 });
  36 + const resetDataFunc = () => {
  37 + resetFields();
  38 + };
36 39 const handleSubmit = () => {
37 40 const values = getFieldsValue();
38 41 emit('getAllFields', values);
... ... @@ -47,6 +50,7 @@
47 50 // return getV;
48 51 // }
49 52 return {
  53 + resetDataFunc,
50 54 // getAllFields,
51 55 registerForm,
52 56 handleSubmit,
... ...
... ... @@ -25,7 +25,7 @@
25 25 setup(_, { emit }) {
26 26 // const getValueData: any = ref({});
27 27 const isUpdate = ref(true);
28   - const [registerForm, { getFieldsValue }] = useForm({
  28 + const [registerForm, { getFieldsValue, resetFields }] = useForm({
29 29 labelWidth: 120,
30 30 schemas: formSchema,
31 31 });
... ... @@ -33,6 +33,9 @@
33 33 const [register, { closeModal }] = useModalInner((data) => {
34 34 isUpdate.value = !!data?.isUpdate;
35 35 });
  36 + const resetDataFunc = () => {
  37 + resetFields();
  38 + };
36 39 const handleSubmit = () => {
37 40 const values = getFieldsValue();
38 41 emit('getAllFieldsEnab', values);
... ... @@ -47,6 +50,7 @@
47 50 // return getV;
48 51 // }
49 52 return {
  53 + resetDataFunc,
50 54 // getAllFieldsEnab,
51 55 registerForm,
52 56 handleSubmit,
... ...
... ... @@ -73,6 +73,7 @@ export const step2Schemas: FormSchema[] = [
73 73 field: 'transportType',
74 74 component: 'Select',
75 75 label: '传输方式',
  76 + defaultValue: 'CoAP',
76 77 componentProps: {
77 78 options: [
78 79 { label: 'MQTT', value: 'MQTT' },
... ... @@ -125,7 +126,7 @@ export const isWhereType = ref(null);
125 126
126 127 export const step3CreateAlarm: FormSchema[] = [
127 128 {
128   - field: '',
  129 + field: 'MAJOR',
129 130 component: 'Select',
130 131 label: '严重程度',
131 132 colProps: {
... ...
... ... @@ -26,6 +26,13 @@ interface IAddAlarms {
26 26 propagate: true;
27 27 propagateRelationTypes: string[];
28 28 }
  29 +interface IAddClearAlarms {
  30 + id: number;
  31 + alarmType: string;
  32 + clearRules: object;
  33 + propagate: true;
  34 + propagateRelationTypes: string[];
  35 +}
29 36
30 37 export interface alarmListItem {
31 38 configuration?: object;
... ... @@ -33,6 +40,7 @@ export interface alarmListItem {
33 40 provisionConfiguration?: provisionConfigurationD;
34 41 // id?: number;
35 42 alarms?: IAddAlarms[];
  43 + clearAlarms?: IAddClearAlarms[];
36 44 // alarmType?: string;
37 45 // messageMode?: string;
38 46 // createRule?: createRule[];
... ...