Commit 0a7382fe466abe8190354f211fb6b4cb9a709bbb

Authored by fengistao
1 parent a3c5f2fb

修改设备配置

@@ -145,7 +145,7 @@ @@ -145,7 +145,7 @@
145 @register="registerModal3" 145 @register="registerModal3"
146 /> 146 />
147 147
148 - <!-- 清除条件 --> 148 + <!-- 清除条件 -->
149 <!-- 详情模板 --> 149 <!-- 详情模板 -->
150 <DetailTemplate 150 <DetailTemplate
151 v-if="isRuleAlarmRuleConditions == 4" 151 v-if="isRuleAlarmRuleConditions == 4"
@@ -222,7 +222,9 @@ @@ -222,7 +222,9 @@
222 const ruleObj: any = ref({}); 222 const ruleObj: any = ref({});
223 const ruleLastObj: any = ref({}); 223 const ruleLastObj: any = ref({});
224 const enableObj: any = ref({}); 224 const enableObj: any = ref({});
  225 + const enableClearObj: any = ref({});
225 const additionalObj: any = ref({}); 226 const additionalObj: any = ref({});
  227 + const addClearitionalObj: any = ref({});
226 const isWhereTypeValue = ref(null); 228 const isWhereTypeValue = ref(null);
227 const ruleTemplateData: any = ref(null); 229 const ruleTemplateData: any = ref(null);
228 const enableTemplateData: any = ref(null); 230 const enableTemplateData: any = ref(null);
@@ -415,7 +417,7 @@ @@ -415,7 +417,7 @@
415 } 417 }
416 }); 418 });
417 ruleTemplateData.value = ` 419 ruleTemplateData.value = `
418 - 键名:${v.key}...操作:${findRuleByValue?.label}...值:${v.value1} 420 + 键名:${v.key1}...操作:${findRuleByValue?.label}...值:${v.value1}
419 `; 421 `;
420 422
421 ruleLastObj.value = v1; 423 ruleLastObj.value = v1;
@@ -443,7 +445,7 @@ @@ -443,7 +445,7 @@
443 { 445 {
444 key: { 446 key: {
445 type: ruleObj.value?.type, 447 type: ruleObj.value?.type,
446 - key: ruleObj.value?.key, 448 + key: ruleObj.value?.key1,
447 }, 449 },
448 valueType: ruleObj.value.type1, 450 valueType: ruleObj.value.type1,
449 predicate, 451 predicate,
@@ -466,7 +468,7 @@ @@ -466,7 +468,7 @@
466 }; 468 };
467 //启用规则 469 //启用规则
468 const getAllClearFieldsEnabFunc = (v) => { 470 const getAllClearFieldsEnabFunc = (v) => {
469 - enableObj.value = v; 471 + enableClearObj.value = v;
470 const findDay = [ 472 const findDay = [
471 { 473 {
472 label: '星期一', 474 label: '星期一',
@@ -533,7 +535,7 @@ @@ -533,7 +535,7 @@
533 } 535 }
534 }); 536 });
535 ruleClearTemplateData.value = ` 537 ruleClearTemplateData.value = `
536 - 键名:${v.key}...操作:${findRuleByValue?.label}...值:${v.value1} 538 + 键名:${v.key1}...操作:${findRuleByValue?.label}...值:${v.value1}
537 `; 539 `;
538 540
539 ruleLastObj.value = v1; 541 ruleLastObj.value = v1;
@@ -561,7 +563,7 @@ @@ -561,7 +563,7 @@
561 { 563 {
562 key: { 564 key: {
563 type: ruleObj.value?.type, 565 type: ruleObj.value?.type,
564 - key: ruleObj.value?.key, 566 + key: ruleObj.value?.key1,
565 }, 567 },
566 valueType: ruleObj.value.type1, 568 valueType: ruleObj.value.type1,
567 predicate, 569 predicate,
@@ -572,11 +574,21 @@ @@ -572,11 +574,21 @@
572 const getValueConditon = { 574 const getValueConditon = {
573 condition: getCondition, 575 condition: getCondition,
574 }; 576 };
575 - Object.assign(additionalObj.value, getValueConditon); 577 + Object.assign(addClearitionalObj.value, getValueConditon);
576 }; 578 };
577 -  
578 const handleFormStep3toStep4Next = async () => { 579 const handleFormStep3toStep4Next = async () => {
579 try { 580 try {
  581 + const scheduleClearValue = {
  582 + type: enableClearObj.value.schedule,
  583 + daysOfWeek: enableClearObj.value.daysOfWeek,
  584 + // endsOn: enableClearObj.value.endsOn,
  585 + // startsOn: enableClearObj.value.startOn,
  586 + timezone: enableClearObj.value.timezone,
  587 + };
  588 + const getClearSchedule = {
  589 + schedule: scheduleClearValue,
  590 + };
  591 + const getClearAdditionalProp = Object.assign({}, detailObj.value, getClearSchedule);
580 const scheduleValue = { 592 const scheduleValue = {
581 type: enableObj.value.schedule, 593 type: enableObj.value.schedule,
582 daysOfWeek: enableObj.value.daysOfWeek, 594 daysOfWeek: enableObj.value.daysOfWeek,
@@ -595,8 +607,8 @@ @@ -595,8 +607,8 @@
595 ); 607 );
596 const getScheduleAndClearAlarmDetails = Object.assign( 608 const getScheduleAndClearAlarmDetails = Object.assign(
597 {}, 609 {},
598 - getAdditionalProp,  
599 - additionalObj.value 610 + getClearAdditionalProp,
  611 + addClearitionalObj.value
600 ); 612 );
601 const getIsWhereTypeValue: any = isWhereTypeValue.value; 613 const getIsWhereTypeValue: any = isWhereTypeValue.value;
602 const getAdditionalPropObj = { 614 const getAdditionalPropObj = {
@@ -30,10 +30,10 @@ export const isTimeAll = (type: string) => { @@ -30,10 +30,10 @@ export const isTimeAll = (type: string) => {
30 return type === TriggerEnum.IS_SCENE_ACT; 30 return type === TriggerEnum.IS_SCENE_ACT;
31 }; 31 };
32 32
33 -export const columns: BasicColumn[] = [ 33 +export const keyColumns: BasicColumn[] = [
34 { 34 {
35 title: '键名', 35 title: '键名',
36 - dataIndex: 'key', 36 + dataIndex: 'key1',
37 width: 200, 37 width: 200,
38 }, 38 },
39 { 39 {
@@ -45,19 +45,48 @@ export const columns: BasicColumn[] = [ @@ -45,19 +45,48 @@ export const columns: BasicColumn[] = [
45 export const columnsView: BasicColumn[] = [ 45 export const columnsView: BasicColumn[] = [
46 { 46 {
47 title: '键名', 47 title: '键名',
48 - dataIndex: 'key', 48 + dataIndex: 'key1',
49 width: 200, 49 width: 200,
50 }, 50 },
51 { 51 {
52 - title: '键类型',  
53 - dataIndex: 'type', 52 + title: '操作',
  53 + dataIndex: 'operation',
  54 + width: 200,
  55 + format: (text: string, record: Recordable) => {
  56 + const findDay = [
  57 + { label: '等于', value: 'EQUAL' },
  58 + { label: '不等于', value: 'NOT_EQUAL' },
  59 + { label: '开始于', value: 'STARTS_WITH' },
  60 + { label: '结束于', value: 'ENDS_WITH' },
  61 + { label: '包含', value: 'CONTAINS' },
  62 + { label: '不包含', value: 'NOT_CONTAINS' },
  63 + { label: '等于', value: 'EQUAL' },
  64 + { label: '不等于', value: 'NOT_EQUAL' },
  65 + { label: '大于', value: 'GREATER' },
  66 + { label: '小于', value: 'LESS' },
  67 + { label: '大于或等于', value: 'GREATER_OR_EQUAL' },
  68 + { label: '小于或等于', value: 'LESS_OR_EQUAL' },
  69 + ];
  70 + const findRuleByValue = findDay.find((f) => {
  71 + if (f.value == record.operation) {
  72 + return f.label;
  73 + }
  74 + });
  75 + if (findRuleByValue) {
  76 + return findRuleByValue.label;
  77 + }
  78 + },
  79 + },
  80 + {
  81 + title: '值',
  82 + dataIndex: 'value1',
54 width: 200, 83 width: 200,
55 }, 84 },
56 ]; 85 ];
57 86
58 export const DescDetailSchema: DescItem[] = [ 87 export const DescDetailSchema: DescItem[] = [
59 { 88 {
60 - field: 'key', 89 + field: 'key1',
61 label: '键名', 90 label: '键名',
62 }, 91 },
63 { 92 {
@@ -57,7 +57,7 @@ export const formSchema: FormSchema[] = [ @@ -57,7 +57,7 @@ export const formSchema: FormSchema[] = [
57 }, 57 },
58 }, 58 },
59 { 59 {
60 - field: 'key', 60 + field: 'key1',
61 label: '键名', 61 label: '键名',
62 colProps: { span: 24 }, 62 colProps: { span: 24 },
63 component: 'Input', 63 component: 'Input',
@@ -74,7 +74,7 @@ export const formSchema: FormSchema[] = [ @@ -74,7 +74,7 @@ export const formSchema: FormSchema[] = [
74 ifShow: ({ values }) => isShiDu(Reflect.get(values, 'type')), 74 ifShow: ({ values }) => isShiDu(Reflect.get(values, 'type')),
75 }, 75 },
76 { 76 {
77 - field: 'key', 77 + field: 'key1',
78 label: '键名', 78 label: '键名',
79 colProps: { span: 24 }, 79 colProps: { span: 24 },
80 component: 'Input', 80 component: 'Input',
@@ -89,7 +89,7 @@ export const formSchema: FormSchema[] = [ @@ -89,7 +89,7 @@ export const formSchema: FormSchema[] = [
89 ifShow: ({ values }) => isWenDu(Reflect.get(values, 'type')), 89 ifShow: ({ values }) => isWenDu(Reflect.get(values, 'type')),
90 }, 90 },
91 { 91 {
92 - field: 'key', 92 + field: 'key1',
93 label: '键名', 93 label: '键名',
94 colProps: { span: 24 }, 94 colProps: { span: 24 },
95 component: 'Input', 95 component: 'Input',
@@ -22,7 +22,8 @@ @@ -22,7 +22,8 @@
22 emits: ['success', 'register'], 22 emits: ['success', 'register'],
23 setup(_, { emit }) { 23 setup(_, { emit }) {
24 const isUpdate = ref(true); 24 const isUpdate = ref(true);
25 - const getValue: any = ref(null); 25 + const getValue: any = ref({});
  26 + const setId: any = ref(1);
26 const getTitle = computed(() => (!unref(isUpdate) ? '新增键名筛选器' : '编辑键名筛选器')); 27 const getTitle = computed(() => (!unref(isUpdate) ? '新增键名筛选器' : '编辑键名筛选器'));
27 const [registerForm, { getFieldsValue, setFieldsValue, resetFields }] = useForm({ 28 const [registerForm, { getFieldsValue, setFieldsValue, resetFields }] = useForm({
28 labelWidth: 120, 29 labelWidth: 120,
@@ -31,11 +32,9 @@ @@ -31,11 +32,9 @@
31 const [register, { closeModal }] = useModalInner(async (data) => { 32 const [register, { closeModal }] = useModalInner(async (data) => {
32 isUpdate.value = !!data?.isUpdate; 33 isUpdate.value = !!data?.isUpdate;
33 if (!unref(isUpdate)) { 34 if (!unref(isUpdate)) {
34 - console.log('新增键名筛选器');  
35 resetFields(); 35 resetFields();
36 } 36 }
37 if (unref(isUpdate)) { 37 if (unref(isUpdate)) {
38 - console.log('编辑键名筛选器');  
39 setFieldsValue({ 38 setFieldsValue({
40 ...data.record, 39 ...data.record,
41 }); 40 });
@@ -44,8 +43,23 @@ @@ -44,8 +43,23 @@
44 43
45 const handleSubmit = () => { 44 const handleSubmit = () => {
46 getValue.value = getFieldsValue(); 45 getValue.value = getFieldsValue();
  46 + setId.value += 1;
  47 + getValue.value.id = setId.value;
47 emit('success', getValue.value); 48 emit('success', getValue.value);
48 closeModal(); 49 closeModal();
  50 + // if (!unref(isUpdate)) {
  51 + // getValue.value = getFieldsValue();
  52 + // console.log(getValue.value);
  53 + // }
  54 + // if (unref(isUpdate)) {
  55 + // getValue.value = getFieldsValue();
  56 + // console.log(getValue.value);
  57 + // }
  58 + // setTimeout(() => {
  59 + // emit('success', getValue.value);
  60 + // closeModal();
  61 + // }, 20);
  62 + // // getValue.value = getFieldsValue();
49 }; 63 };
50 const handleCancel = () => { 64 const handleCancel = () => {
51 return; 65 return;
@@ -7,7 +7,13 @@ @@ -7,7 +7,13 @@
7 @ok="handleSubmit" 7 @ok="handleSubmit"
8 > 8 >
9 <CollapseContainer title="键名筛选器" class="border mb-8"> 9 <CollapseContainer title="键名筛选器" class="border mb-8">
10 - <BasicTable :resizeHeightOffset="200" @register="registerTable" :dataSource="getTableApiData"> 10 + <BasicTable
  11 + :showIndexColumn="false"
  12 + :resizeHeightOffset="200"
  13 + @register="registerTable"
  14 + :dataSource="getTableApiData"
  15 + >
  16 + >
11 <template #toolbar> 17 <template #toolbar>
12 <a-button type="primary" @click="handleAddKey"> 新增键名筛选器 </a-button> 18 <a-button type="primary" @click="handleAddKey"> 新增键名筛选器 </a-button>
13 </template> 19 </template>
@@ -39,6 +45,7 @@ @@ -39,6 +45,7 @@
39 :columns="columnsView" 45 :columns="columnsView"
40 :dataSource="detailData" 46 :dataSource="detailData"
41 :pagination="false" 47 :pagination="false"
  48 + :showIndexColumn="false"
42 /> 49 />
43 </CollapseContainer> 50 </CollapseContainer>
44 <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" /> 51 <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" />
@@ -46,10 +53,10 @@ @@ -46,10 +53,10 @@
46 <KeyValueModal @register="registerModal" @success="handleSuccess" /> 53 <KeyValueModal @register="registerModal" @success="handleSuccess" />
47 </template> 54 </template>
48 <script lang="ts"> 55 <script lang="ts">
49 - import { defineComponent, ref, computed, unref } from 'vue'; 56 + import { defineComponent, ref, computed, unref, getCurrentInstance } from 'vue';
50 import { BasicModal, useModalInner } from '/@/components/Modal'; 57 import { BasicModal, useModalInner } from '/@/components/Modal';
51 import { BasicForm, useForm } from '/@/components/Form'; 58 import { BasicForm, useForm } from '/@/components/Form';
52 - import { formSchema, columns, DescDetailSchema, columnsView } from './config'; 59 + import { formSchema, keyColumns, DescDetailSchema, columnsView } from './config';
53 import { CollapseContainer } from '/@/components/Container/index'; 60 import { CollapseContainer } from '/@/components/Container/index';
54 import { BasicTable, useTable, TableAction } from '/@/components/Table'; 61 import { BasicTable, useTable, TableAction } from '/@/components/Table';
55 import { useModal } from '/@/components/Modal'; 62 import { useModal } from '/@/components/Modal';
@@ -67,10 +74,12 @@ @@ -67,10 +74,12 @@
67 }, 74 },
68 emits: ['success', 'register', 'getAllFieldsRule', 'getLastAllFieldsRule'], 75 emits: ['success', 'register', 'getAllFieldsRule', 'getLastAllFieldsRule'],
69 setup(_, { emit }) { 76 setup(_, { emit }) {
  77 + const { proxy } = getCurrentInstance();
70 const getTableApiData: any = ref([]); 78 const getTableApiData: any = ref([]);
71 const detailData: any = ref([]); 79 const detailData: any = ref([]);
72 const receiveData: any = ref(null); 80 const receiveData: any = ref(null);
73 const lastValues: any = ref(null); 81 const lastValues: any = ref(null);
  82 + const addOrUpdateData: any = ref(null);
74 const isUpdate = ref(true); 83 const isUpdate = ref(true);
75 const [registerForm, { getFieldsValue, resetFields }] = useForm({ 84 const [registerForm, { getFieldsValue, resetFields }] = useForm({
76 labelWidth: 120, 85 labelWidth: 120,
@@ -83,10 +92,11 @@ @@ -83,10 +92,11 @@
83 }); 92 });
84 const [registerTable, { reload }] = useTable({ 93 const [registerTable, { reload }] = useTable({
85 title: '键名筛选器', 94 title: '键名筛选器',
86 - columns, 95 + columns: keyColumns,
87 bordered: true, 96 bordered: true,
88 showIndexColumn: false, 97 showIndexColumn: false,
89 pagination: false, 98 pagination: false,
  99 + autoCreateKey: true,
90 actionColumn: { 100 actionColumn: {
91 width: 180, 101 width: 180,
92 title: '操作', 102 title: '操作',
@@ -94,12 +104,11 @@ @@ -94,12 +104,11 @@
94 slots: { customRender: 'action' }, 104 slots: { customRender: 'action' },
95 }, 105 },
96 }); 106 });
97 -  
98 const handleSubmit = () => { 107 const handleSubmit = () => {
99 - if (unref(isUpdate.value)) {  
100 - const values = getFieldsValue();  
101 - getTableApiData.value.push(values);  
102 - detailData.value.push(values); 108 + if (!unref(isUpdate)) {
  109 + addOrUpdateData.value = getFieldsValue();
  110 + getTableApiData.value.push(addOrUpdateData.value);
  111 + detailData.value.push(addOrUpdateData.value);
103 } 112 }
104 lastValues.value = getFieldsValue(); 113 lastValues.value = getFieldsValue();
105 emit('getAllFieldsRule', receiveData.value, lastValues.value); 114 emit('getAllFieldsRule', receiveData.value, lastValues.value);
@@ -125,15 +134,48 @@ @@ -125,15 +134,48 @@
125 }; 134 };
126 const handleDelete = (record: Recordable) => { 135 const handleDelete = (record: Recordable) => {
127 console.log(record); 136 console.log(record);
128 - getTableApiData.value.splice(0, 1);  
129 - detailData.value.splice(0, 1); 137 + console.log(getTableApiData.value);
  138 + // const getIndex = getTableApiData.value.indexOf((i) => {
  139 + // return i.key;
  140 + // });
  141 + const newFilterArray = getTableApiData.value.filter((item) => item.id !== record.id);
  142 + getTableApiData.value = newFilterArray;
  143 + // getTableApiData.value.splice(getIndex, 1);
  144 +
  145 + // console.log(getTableApiData.value);
  146 + // delete getTableApiData.value[findByKeyDel];
  147 + // getTableApiData.value.slice(0, getTableApiData.value.length - 1);
  148 + // detailData.value.slice(0, detailData.value.length - 1);
  149 + // if (record) {
  150 + // getTableApiData.value = getTableApiData.value.length - 1;
  151 + // detailData.value = detailData.value.length - 1;
  152 + // }
130 reload(); 153 reload();
131 }; 154 };
132 const handleSuccess = (v) => { 155 const handleSuccess = (v) => {
133 receiveData.value = v; 156 receiveData.value = v;
134 setTimeout(() => { 157 setTimeout(() => {
135 doFunc(); 158 doFunc();
136 - }, 10); 159 + }, 20);
  160 + // if (!unref(isUpdate)) {
  161 + // console.log(v);
  162 + // // receiveData.value = v;
  163 + // setTimeout(() => {
  164 + // // doFunc();
  165 + // getTableApiData.value.push(v);
  166 + // detailData.value.push(v);
  167 + // }, 10);
  168 + // }
  169 + // if (unref(isUpdate)) {
  170 + // console.log(v);
  171 + // // receiveData.value = v;
  172 + // setTimeout(() => {
  173 + // // doFunc();
  174 + // getTableApiData.value.push(v);
  175 + // updateTableDataRecord(v.key, v);
  176 + // detailData.value.push(v);
  177 + // }, 10);
  178 + // }
137 }; 179 };
138 const doFunc = () => { 180 const doFunc = () => {
139 getTableApiData.value.push(receiveData.value); 181 getTableApiData.value.push(receiveData.value);
1 -{  
2 - "name": "设备测试3",  
3 - "defaultRuleChainId": "354c7210-5d97-11ec-8ac9-f38ed935ea2a",  
4 - "description": "设备测试3",  
5 - "transportType": "CoAP",  
6 - "profileData": {  
7 - "alarms": [  
8 - {  
9 - "alarmType": "设备测试3",  
10 - "propagate": true,  
11 - "propagateRelationTypes": [  
12 - "设备测试3"  
13 - ],  
14 - "createRules": {  
15 - "MAJOR": {  
16 - "alarmDetails": "设备测试3",  
17 - "schedule": {  
18 - "type": "ANY_TIME"  
19 - },  
20 - "condition": {  
21 - "condition": [  
22 - {  
23 - "key": {  
24 - "type": "TIME_SERIES",  
25 - "key": "CO2"  
26 - },  
27 - "valueType": "COMPLEX",  
28 - "predicate": {  
29 - "operation": "LESS_OR_EQUAL",  
30 - "value": {  
31 - "defaultValue": 2  
32 - },  
33 - "type": "COMPLEX"  
34 - }  
35 - }  
36 - ],  
37 - "spec": {  
38 - "type": "DURATION"  
39 - }  
40 - }  
41 - }  
42 - }  
43 - }  
44 - ]  
45 - },  
46 - "alarmProfile": {  
47 - "alarmContactId": "a3004ddd-db8f-487c-aea0-4f6f3efc59a9",  
48 - "messageMode": "PHONE_MESSAGE"  
49 - }  
50 -}