Commit 2b3c6c8664e553647cd463675751c860c2505247

Authored by 黄 x
1 parent 030e8c48

fix(front): 修改设备配置BUG【待完善】

@@ -53,9 +53,7 @@ @@ -53,9 +53,7 @@
53 :DetailTemplateCpnData="!isStep3FatherAddOrEditStatus ? 1 : item" 53 :DetailTemplateCpnData="!isStep3FatherAddOrEditStatus ? 1 : item"
54 /> 54 />
55 <AlarmRuleConditionsCpn 55 <AlarmRuleConditionsCpn
56 - :getFatherData="getConditionData"  
57 - :ref="`AlarmRuleConditionsRef${index}`"  
58 - @register="registerAlarmRuleConditionsModal" 56 + :ref="conditionRefs.AlarmRuleConditionsRef"
59 @getAllFieldsRule="getAlarmRuleConditionsValFunc" 57 @getAllFieldsRule="getAlarmRuleConditionsValFunc"
60 /> 58 />
61 <EnableRuleCpn 59 <EnableRuleCpn
@@ -290,10 +288,7 @@ @@ -290,10 +288,7 @@
290 props: ['step3FatherEmitCpnData', 'step3FatherEmitCpnStatus'], 288 props: ['step3FatherEmitCpnData', 'step3FatherEmitCpnStatus'],
291 setup(props) { 289 setup(props) {
292 const getConditionData = ref([]); 290 const getConditionData = ref([]);
293 - let currentAlarmCondition: any = reactive({  
294 - key: 0,  
295 - data: {},  
296 - }); 291 + const getConditionData1 = ref([{ key: 0, data: {} }]);
297 const clickConditionData = ref([]); 292 const clickConditionData = ref([]);
298 const { proxy } = getCurrentInstance() as any; 293 const { proxy } = getCurrentInstance() as any;
299 const createAlarmRuleData: any = ref([1]); 294 const createAlarmRuleData: any = ref([1]);
@@ -308,6 +303,9 @@ @@ -308,6 +303,9 @@
308 const formatEnableRule: any = ref([]); 303 const formatEnableRule: any = ref([]);
309 const formatClearEnableRule: any = ref([]); 304 const formatClearEnableRule: any = ref([]);
310 const formatEditClearEnableRule: any = ref([]); 305 const formatEditClearEnableRule: any = ref([]);
  306 + const conditionRefs = {
  307 + AlarmRuleConditionsRef: ref([]),
  308 + };
311 let alaramsObj: any = reactive({ 309 let alaramsObj: any = reactive({
312 alarmType: null, 310 alarmType: null,
313 propagate: null, 311 propagate: null,
@@ -329,8 +327,6 @@ @@ -329,8 +327,6 @@
329 let val10: any = ref(null); 327 let val10: any = ref(null);
330 const formatEditRuleData: any = ref([]); 328 const formatEditRuleData: any = ref([]);
331 const formatEditEnableData: any = ref([]); 329 const formatEditEnableData: any = ref([]);
332 - const [registerAlarmRuleConditionsModal, { openModal: openModalAlarmRuleConditions }] =  
333 - useModal();  
334 const [registerEnableRuleModal, { openModal: openModalEnableRule }] = useModal(); 330 const [registerEnableRuleModal, { openModal: openModalEnableRule }] = useModal();
335 const [ 331 const [
336 registerClearAlarmRuleConditionsModal, 332 registerClearAlarmRuleConditionsModal,
@@ -422,23 +418,27 @@ @@ -422,23 +418,27 @@
422 } 418 }
423 }; 419 };
424 const clickAddAlarmRuleConditionsFunc = (e, i) => { 420 const clickAddAlarmRuleConditionsFunc = (e, i) => {
425 - openModalAlarmRuleConditions(true); 421 + getConditionData.value = [];
  422 +
426 //获取对应下标 423 //获取对应下标
427 - currentAlarmCondition.key = i;  
428 - currentAlarmCondition.data = clickConditionData.value;  
429 - currentAlarmCondition = clickConditionData.value;  
430 - // if (e === true) {  
431 - // nextTick(() => {  
432 - // proxy.$refs['AlarmRuleConditionsRef' + i].resetDataFunc();  
433 - // });  
434 - // } else {  
435 - // nextTick(() => {  
436 - // proxy.$refs['AlarmRuleConditionsRef' + i].resetDataFunc();  
437 - // });  
438 - // }  
439 - proxy.$refs['AlarmRuleConditionsRef' + i].resetDataFunc(); 424 + let currentAlarmCondition = { key: 0, data: {} };
  425 + let isUpdate = false;
  426 + getConditionData1.value.forEach((obj) => {
  427 + if (obj.data.length != undefined && obj.key == i) {
  428 + currentAlarmCondition.key = i;
  429 + currentAlarmCondition.data = obj.data;
  430 + isUpdate = true;
  431 + }
  432 + });
  433 + getConditionData.value.push(currentAlarmCondition);
  434 + conditionRefs.AlarmRuleConditionsRef.value.map((item, index) => {
  435 + if (i === index) {
  436 + nextTick(() => {
  437 + item.resetDataFunc(index, currentAlarmCondition, isUpdate);
  438 + });
  439 + }
  440 + });
440 }; 441 };
441 - console.log('data', currentAlarmCondition);  
442 442
443 const clickAddEnableRuleFunc = () => { 443 const clickAddEnableRuleFunc = () => {
444 nextTick(() => { 444 nextTick(() => {
@@ -462,10 +462,17 @@ @@ -462,10 +462,17 @@
462 console.log('获取condition的值', e); 462 console.log('获取condition的值', e);
463 formatAlarmRuleConditions.value.push(e); 463 formatAlarmRuleConditions.value.push(e);
464 clickConditionData.value = e; 464 clickConditionData.value = e;
465 - currentAlarmCondition = getConditionData.value;  
466 - // formatEditRuleData.value.push({  
467 - // condition: e,  
468 - // } as never); 465 + let addValue = undefined;
  466 + getConditionData1.value.forEach((obj) => {
  467 + if (obj.data.length != undefined && obj.key == e.key) {
  468 + obj.data = e.data;
  469 + } else {
  470 + addValue = e;
  471 + }
  472 + });
  473 + if (addValue != undefined) {
  474 + getConditionData1.value.push(addValue);
  475 + }
469 }; 476 };
470 const getClearAlarmRuleConditionsValFunc = (e) => { 477 const getClearAlarmRuleConditionsValFunc = (e) => {
471 formatClearAlarmRuleConditions.value.push({ 478 formatClearAlarmRuleConditions.value.push({
@@ -689,9 +696,15 @@ @@ -689,9 +696,15 @@
689 ); 696 );
690 return formatMap; 697 return formatMap;
691 }; 698 };
  699 +
692 const formatEnableRuleFuncData = (v) => { 700 const formatEnableRuleFuncData = (v) => {
693 return formatEnableRuleData(formatAlarmRuleConditionsData1(v)?.schedule); 701 return formatEnableRuleData(formatAlarmRuleConditionsData1(v)?.schedule);
694 }; 702 };
  703 +
  704 + const forMatAddConditionFunc = (e) => {
  705 + let formatMap = e.data.map((f: any) => formatAlarmRuleConditionsData(f));
  706 + return formatMap;
  707 + };
695 return { 708 return {
696 registerForm, 709 registerForm,
697 registerFormHighSetting, 710 registerFormHighSetting,
@@ -703,7 +716,6 @@ @@ -703,7 +716,6 @@
703 clickAddAlarmRuleConditionsFunc, 716 clickAddAlarmRuleConditionsFunc,
704 AlarmRuleConditionsRef, 717 AlarmRuleConditionsRef,
705 EnableRuleRef, 718 EnableRuleRef,
706 - registerAlarmRuleConditionsModal,  
707 registerEnableRuleModal, 719 registerEnableRuleModal,
708 getAlarmRuleConditionsValFunc, 720 getAlarmRuleConditionsValFunc,
709 formatAlarmRuleConditions, 721 formatAlarmRuleConditions,
@@ -745,6 +757,9 @@ @@ -745,6 +757,9 @@
745 formatEditEnableRuleFunc, 757 formatEditEnableRuleFunc,
746 updateCpnSchemaSelectEnableFunc, 758 updateCpnSchemaSelectEnableFunc,
747 getConditionData, 759 getConditionData,
  760 + getConditionData1,
  761 + forMatAddConditionFunc,
  762 + conditionRefs,
748 }; 763 };
749 }, 764 },
750 }); 765 });
@@ -34,24 +34,17 @@ export const keyColumns: BasicColumn[] = [ @@ -34,24 +34,17 @@ export const keyColumns: BasicColumn[] = [
34 { 34 {
35 title: '键名', 35 title: '键名',
36 dataIndex: 'key1', 36 dataIndex: 'key1',
37 - width: 200, 37 + width: 100,
38 }, 38 },
39 { 39 {
40 title: '键类型', 40 title: '键类型',
41 dataIndex: 'type', 41 dataIndex: 'type',
42 - width: 200,  
43 - },  
44 -];  
45 -export const columnsView: BasicColumn[] = [  
46 - {  
47 - title: '键名',  
48 - dataIndex: 'key1',  
49 - width: 200, 42 + width: 100,
50 }, 43 },
51 { 44 {
52 title: '操作', 45 title: '操作',
53 dataIndex: 'operation', 46 dataIndex: 'operation',
54 - width: 200, 47 + width: 100,
55 format: (text: string, record: Recordable) => { 48 format: (text: string, record: Recordable) => {
56 const findDay = [ 49 const findDay = [
57 { label: '等于', value: 'EQUAL' }, 50 { label: '等于', value: 'EQUAL' },
@@ -80,9 +73,50 @@ export const columnsView: BasicColumn[] = [ @@ -80,9 +73,50 @@ export const columnsView: BasicColumn[] = [
80 { 73 {
81 title: '值', 74 title: '值',
82 dataIndex: 'value1', 75 dataIndex: 'value1',
83 - width: 200, 76 + width: 80,
84 }, 77 },
85 ]; 78 ];
  79 +// export const columnsView: BasicColumn[] = [
  80 +// {
  81 +// title: '键名',
  82 +// dataIndex: 'key1',
  83 +// width: 200,
  84 +// },
  85 +// {
  86 +// title: '操作',
  87 +// dataIndex: 'operation',
  88 +// width: 200,
  89 +// format: (text: string, record: Recordable) => {
  90 +// const findDay = [
  91 +// { label: '等于', value: 'EQUAL' },
  92 +// { label: '不等于', value: 'NOT_EQUAL' },
  93 +// { label: '开始于', value: 'STARTS_WITH' },
  94 +// { label: '结束于', value: 'ENDS_WITH' },
  95 +// { label: '包含', value: 'CONTAINS' },
  96 +// { label: '不包含', value: 'NOT_CONTAINS' },
  97 +// { label: '等于', value: 'EQUAL' },
  98 +// { label: '不等于', value: 'NOT_EQUAL' },
  99 +// { label: '大于', value: 'GREATER' },
  100 +// { label: '小于', value: 'LESS' },
  101 +// { label: '大于或等于', value: 'GREATER_OR_EQUAL' },
  102 +// { label: '小于或等于', value: 'LESS_OR_EQUAL' },
  103 +// ];
  104 +// const findRuleByValue = findDay.find((f) => {
  105 +// if (f.value == record.operation) {
  106 +// return f.label;
  107 +// }
  108 +// });
  109 +// if (findRuleByValue) {
  110 +// return findRuleByValue.label;
  111 +// }
  112 +// },
  113 +// },
  114 +// {
  115 +// title: '值',
  116 +// dataIndex: 'value1',
  117 +// width: 200,
  118 +// },
  119 +// ];
86 120
87 export const DescDetailSchema: DescItem[] = [ 121 export const DescDetailSchema: DescItem[] = [
88 { 122 {
@@ -46,6 +46,12 @@ export const isComplex = (type: string) => { @@ -46,6 +46,12 @@ export const isComplex = (type: string) => {
46 46
47 export const formSchema: FormSchema[] = [ 47 export const formSchema: FormSchema[] = [
48 { 48 {
  49 + field: 'id',
  50 + label: '',
  51 + component: 'InputNumber',
  52 + ifShow: false,
  53 + },
  54 + {
49 field: 'type', 55 field: 'type',
50 label: '键类型', 56 label: '键类型',
51 colProps: { span: 13 }, 57 colProps: { span: 13 },
@@ -47,7 +47,6 @@ @@ -47,7 +47,6 @@
47 const getIsWhereType: any = ref(null); 47 const getIsWhereType: any = ref(null);
48 const isUpdate = ref(true); 48 const isUpdate = ref(true);
49 const getValue: any = ref(null); 49 const getValue: any = ref(null);
50 - const setId: any = ref(1);  
51 const getKeyAndValArr = ref<[]>([]); 50 const getKeyAndValArr = ref<[]>([]);
52 51
53 const getTitle = computed(() => (!unref(isUpdate) ? '新增键名筛选器' : '编辑键名筛选器')); 52 const getTitle = computed(() => (!unref(isUpdate) ? '新增键名筛选器' : '编辑键名筛选器'));
@@ -103,61 +102,38 @@ @@ -103,61 +102,38 @@
103 102
104 const handleSubmit = () => { 103 const handleSubmit = () => {
105 let mapGetKeyAndValArr = []; 104 let mapGetKeyAndValArr = [];
  105 + getValue.value = getFieldsValue();
106 if (!unref(isUpdate)) { 106 if (!unref(isUpdate)) {
107 - getValue.value = getFieldsValue();  
108 getKeyAndValArr.value.push(getValue.value); 107 getKeyAndValArr.value.push(getValue.value);
109 - mapGetKeyAndValArr = getKeyAndValArr.value.map((m: any) => {  
110 - return {  
111 - key: {  
112 - type: m.type,  
113 - key: m.key1,  
114 - },  
115 - valueType: m.type1,  
116 - value: m.value1,  
117 - predicate: {  
118 - type: m.type1,  
119 - operation: m.operation,  
120 - value: {  
121 - defaultValue: m.value1,  
122 - },  
123 - },  
124 - };  
125 - });  
126 -  
127 - setId.value += 1;  
128 - getValue.value.id = setId.value;  
129 - // emit('success', getValue.value);  
130 - // closeModal();  
131 - } else {  
132 - getValue.value = getFieldsValue();  
133 - getKeyAndValArr.value.push(getValue.value);  
134 - mapGetKeyAndValArr = getKeyAndValArr.value.map((m: any) => {  
135 - return {  
136 - key: {  
137 - type: m.type,  
138 - key: m.value1,  
139 - },  
140 - valueType: m.type1,  
141 - value: m.value1,  
142 - predicate: {  
143 - type: m.type1,  
144 - operation: m.operation,  
145 - value: {  
146 - defaultValue: m.value1,  
147 - }, 108 + }
  109 + mapGetKeyAndValArr = getKeyAndValArr.value.map((m: any, index) => {
  110 + return {
  111 + key: {
  112 + id: index,
  113 + type: m.type,
  114 + key: m.key1,
  115 + },
  116 + valueType: m.type1,
  117 + value: m.value1,
  118 + predicate: {
  119 + type: m.type1,
  120 + operation: m.operation,
  121 + value: {
  122 + defaultValue: m.value1,
148 }, 123 },
149 - };  
150 - });  
151 - setId.value += 9999;  
152 - getValue.value.id = setId.value; 124 + },
  125 + };
  126 + });
  127 + if (!unref(isUpdate)) {
  128 + getValue.value.id = getKeyAndValArr.value.length - 1;
153 } 129 }
154 - emit('success', mapGetKeyAndValArr, getValue.value); 130 +
  131 + emit('success', mapGetKeyAndValArr, getValue.value, unref(isUpdate));
155 closeModal(); 132 closeModal();
156 }; 133 };
157 const handleCancel = () => { 134 const handleCancel = () => {
158 return; 135 return;
159 }; 136 };
160 -  
161 const n = ref(1); 137 const n = ref(1);
162 138
163 function add() { 139 function add() {
@@ -205,6 +181,7 @@ @@ -205,6 +181,7 @@
205 removeSchemaByFiled([`field${field}a`, `field${field}b`, `${field}`]); 181 removeSchemaByFiled([`field${field}a`, `field${field}b`, `${field}`]);
206 n.value--; 182 n.value--;
207 } 183 }
  184 +
208 watch(isWhereType, (v) => { 185 watch(isWhereType, (v) => {
209 switch (v) { 186 switch (v) {
210 case 'STRING': 187 case 'STRING':
@@ -9,10 +9,12 @@ @@ -9,10 +9,12 @@
9 @cancel="handleCancel" 9 @cancel="handleCancel"
10 > 10 >
11 <CollapseContainer title="键名筛选器" class="border mb-8"> 11 <CollapseContainer title="键名筛选器" class="border mb-8">
12 - <div class="table-style"> 12 + <div class="table-style"
  13 + >{{ currentIndex }}
  14 + {{ getTableApiData.value }}
13 <BasicTable 15 <BasicTable
14 :showIndexColumn="false" 16 :showIndexColumn="false"
15 - :dataSource="getTableApiData" 17 + :dataSource="getTableApiData.value"
16 @register="registerTable" 18 @register="registerTable"
17 > 19 >
18 <template #toolbar> 20 <template #toolbar>
@@ -41,24 +43,24 @@ @@ -41,24 +43,24 @@
41 </BasicTable> 43 </BasicTable>
42 </div> 44 </div>
43 </CollapseContainer> 45 </CollapseContainer>
44 - <CollapseContainer title="筛选器预览" class="border mb-8">  
45 - <!-- <p v-for="(item, index) in detailData" :key="index">{{ item }}</p> -->  
46 - <Description  
47 - v-for="(item, index) in detailData"  
48 - :key="index"  
49 - :column="3"  
50 - :data="item"  
51 - :schema="schema"  
52 - />  
53 - </CollapseContainer> 46 + <!-- <CollapseContainer title="筛选器预览" class="border mb-8">-->
  47 + <!-- &lt;!&ndash; <p v-for="(item, index) in detailData" :key="index">{{ item }}</p> &ndash;&gt;-->
  48 + <!-- <Description-->
  49 + <!-- v-for="(item, index) in detailData"-->
  50 + <!-- :key="index"-->
  51 + <!-- :column="3"-->
  52 + <!-- :data="item"-->
  53 + <!-- :schema="schema"-->
  54 + <!-- />-->
  55 + <!-- </CollapseContainer>-->
54 <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" /> 56 <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" />
55 </BasicModal> 57 </BasicModal>
56 <KeyValueModal @register="registerModal" @success="handleSuccess" /> 58 <KeyValueModal @register="registerModal" @success="handleSuccess" />
57 </div> 59 </div>
58 </template> 60 </template>
59 <script lang="ts"> 61 <script lang="ts">
60 - import { defineComponent, ref, computed, unref, reactive, watch } from 'vue';  
61 - import { BasicModal, useModalInner } from '/@/components/Modal'; 62 + import { defineComponent, ref, computed, unref, reactive, nextTick } from 'vue';
  63 + import { BasicModal } from '/@/components/Modal';
62 import { BasicForm, useForm } from '/@/components/Form'; 64 import { BasicForm, useForm } from '/@/components/Form';
63 import { formSchema, keyColumns, DescDetailSchema } from './config'; 65 import { formSchema, keyColumns, DescDetailSchema } from './config';
64 import { CollapseContainer } from '/@/components/Container/index'; 66 import { CollapseContainer } from '/@/components/Container/index';
@@ -119,14 +121,9 @@ @@ -119,14 +121,9 @@
119 setup(props, { emit }) { 121 setup(props, { emit }) {
120 let getKeyAndValueChildData = ref<[]>([]); 122 let getKeyAndValueChildData = ref<[]>([]);
121 const getTableApiData: any = ref([]); 123 const getTableApiData: any = ref([]);
122 - const newFilterArray: any = ref([]);  
123 - const newFilterViewArray: any = ref([]);  
124 - const newFilterKeyArray: any = ref([]);  
125 - const newFilterKeyViewArray: any = ref([]);  
126 const detailData: any = ref([]); 124 const detailData: any = ref([]);
127 - const receiveData: any = ref(null); 125 + const currentIndex = ref(0);
128 const lastValues: any = ref(null); 126 const lastValues: any = ref(null);
129 - const addOrUpdateData: any = ref(null);  
130 const isUpdate = ref(true); 127 const isUpdate = ref(true);
131 const watchCurrentAlarmConditionValue = reactive({ 128 const watchCurrentAlarmConditionValue = reactive({
132 key: 0, 129 key: 0,
@@ -139,9 +136,7 @@ @@ -139,9 +136,7 @@
139 }); 136 });
140 const [registerModal, { openModal }] = useModal(); 137 const [registerModal, { openModal }] = useModal();
141 const getTitle = computed(() => (!unref(isUpdate) ? '添加报警规则条件' : '编辑报警规则条件')); 138 const getTitle = computed(() => (!unref(isUpdate) ? '添加报警规则条件' : '编辑报警规则条件'));
142 - const [register, { closeModal }] = useModalInner((data) => {  
143 - isUpdate.value = !!data?.isUpdate;  
144 - }); 139 + const [register, { closeModal, openModal: openCondition }] = useModal();
145 const [registerTable, { reload, setTableData: setFunc }] = useTable({ 140 const [registerTable, { reload, setTableData: setFunc }] = useTable({
146 title: '键名筛选器', 141 title: '键名筛选器',
147 columns: keyColumns, 142 columns: keyColumns,
@@ -157,86 +152,99 @@ @@ -157,86 +152,99 @@
157 }, 152 },
158 }); 153 });
159 const handleSubmit = () => { 154 const handleSubmit = () => {
160 - if (!unref(isUpdate)) {  
161 - addOrUpdateData.value = getFieldsValue();  
162 - getTableApiData.value.push(addOrUpdateData.value);  
163 - detailData.value.push(addOrUpdateData.value);  
164 - }  
165 lastValues.value = getFieldsValue(); 155 lastValues.value = getFieldsValue();
166 - watchCurrentAlarmConditionValue.key =  
167 - props.getFatherData?.key == undefined ? 0 : props.getFatherData?.key;  
168 - watchCurrentAlarmConditionValue.data = getKeyAndValueChildData.value; 156 + watchCurrentAlarmConditionValue.key = currentIndex.value;
  157 + let allTableDatas = [];
  158 + getTableApiData.value.forEach((tableObj) => {
  159 + let key = { type: tableObj.type, key: tableObj.key1 };
  160 + let predicate = {
  161 + operation: tableObj.operation,
  162 + type: tableObj.type1,
  163 + value: {
  164 + defaultValue: tableObj.value1,
  165 + },
  166 + };
  167 + allTableDatas.push({
  168 + key: key,
  169 + predicate: predicate,
  170 + value: tableObj.value1,
  171 + valueType: tableObj.type1,
  172 + });
  173 + });
  174 + watchCurrentAlarmConditionValue.data = allTableDatas;
169 emit('getAllFieldsRule', watchCurrentAlarmConditionValue, lastValues.value); 175 emit('getAllFieldsRule', watchCurrentAlarmConditionValue, lastValues.value);
170 closeModal(); 176 closeModal();
171 }; 177 };
172 -  
173 - // cosnt getFieldsValueFunc=()=>{  
174 - // return watchCurrentAlarmConditionValue.data  
175 - // }  
176 - const resetDataFunc = () => { 178 + const resetDataFunc = (j, currentAlarmCondition, update) => {
  179 + isUpdate.value = update;
  180 + openCondition(true);
  181 + currentIndex.value = j;
177 resetFields(); 182 resetFields();
178 getTableApiData.value = []; 183 getTableApiData.value = [];
179 getTableApiData.value.length = 0; 184 getTableApiData.value.length = 0;
180 detailData.value = []; 185 detailData.value = [];
181 detailData.value.length = 0; 186 detailData.value.length = 0;
182 - // getKeyAndValueChildData.value.length = 0;  
183 console.log('father', props.getFatherData); 187 console.log('father', props.getFatherData);
184 - let condition = {};  
185 - if (props.getFatherData.length != 0) {  
186 - for (let i in props.getFatherData.data) {  
187 - getTableApiData.value = props.getFatherData.data[i].condition.condition;  
188 - }  
189 - getTableApiData.value = getTableApiData.value.map((m) => {  
190 - return {  
191 - key1: m.key.key,  
192 - type: m.key.type, 188 + let index = 0;
  189 + if (currentAlarmCondition.data.length != undefined) {
  190 + for (let i in currentAlarmCondition.data) {
  191 + let obj = {
  192 + id: index,
  193 + key1: currentAlarmCondition.data[i].key.key,
  194 + type: currentAlarmCondition.data[i].key.type,
  195 + operation: currentAlarmCondition.data[i].predicate.operation,
  196 + value1: currentAlarmCondition.data[i].value,
193 }; 197 };
194 - }); 198 + getTableApiData.value.push(obj);
  199 + index++;
  200 + }
195 } 201 }
196 - console.log('condition', condition); 202 + nextTick(() => {
  203 + setFunc(getTableApiData.value);
  204 + });
197 }; 205 };
198 206
199 - watch(  
200 - () => props.getFatherData,  
201 - (v) => {  
202 - console.log(1);  
203 - console.log(v);  
204 - }  
205 - );  
206 -  
207 - const handleCancel = () => {  
208 - resetDataFunc();  
209 - }; 207 + const handleCancel = () => {};
210 const handleAddKey = () => { 208 const handleAddKey = () => {
211 setTimeout(() => { 209 setTimeout(() => {
212 openModal(true, { 210 openModal(true, {
213 isUpdate: false, 211 isUpdate: false,
214 }); 212 });
215 - }, 30); 213 + }, 10);
216 }; 214 };
217 const handleEdit = (record: Recordable) => { 215 const handleEdit = (record: Recordable) => {
218 openModal(true, { 216 openModal(true, {
219 isUpdate: true, 217 isUpdate: true,
220 record, 218 record,
221 }); 219 });
222 - newFilterArray.value = getTableApiData.value.filter((item) => item.id !== record.id);  
223 - getTableApiData.value = newFilterArray.value;  
224 - newFilterViewArray.value = detailData.value.filter((item) => item.id !== record.id);  
225 - detailData.value = newFilterViewArray.value;  
226 reload(); 220 reload();
227 }; 221 };
228 const handleDelete = (record: Recordable) => { 222 const handleDelete = (record: Recordable) => {
229 - newFilterKeyArray.value = getTableApiData.value.filter((item) => item.id !== record.id);  
230 - getTableApiData.value = newFilterKeyArray.value;  
231 - newFilterKeyViewArray.value = detailData.value.filter((item) => item.id !== record.id);  
232 - detailData.value = newFilterKeyViewArray.value; 223 + let newGetTableApiData = [];
  224 + getTableApiData.value.forEach((currentTable) => {
  225 + if (currentTable.id != record.id) {
  226 + newGetTableApiData.push(currentTable as never);
  227 + }
  228 + });
  229 + getTableApiData.value = newGetTableApiData;
  230 + setFunc(getTableApiData.value);
233 reload(); 231 reload();
234 }; 232 };
235 - const handleSuccess = (v, v1) => { 233 + const handleSuccess = (v, v1, isUpdate) => {
  234 + if (isUpdate) {
  235 + getTableApiData.value.forEach((tableValue) => {
  236 + if (tableValue.id == v1.id) {
  237 + tableValue.key1 = v1.key1;
  238 + tableValue.operation = v1.operation;
  239 + tableValue.type = v1.type;
  240 + tableValue.type1 = v1.type1;
  241 + tableValue.value1 = v1.value1;
  242 + }
  243 + });
  244 + } else {
  245 + getTableApiData.value.push(v1);
  246 + }
236 getKeyAndValueChildData.value = v; 247 getKeyAndValueChildData.value = v;
237 - receiveData.value = v1;  
238 - getTableApiData.value.push(receiveData.value);  
239 - detailData.value.push(receiveData.value);  
240 setFunc(getTableApiData.value); 248 setFunc(getTableApiData.value);
241 reload(); 249 reload();
242 }; 250 };
@@ -257,6 +265,7 @@ @@ -257,6 +265,7 @@
257 handleSubmit, 265 handleSubmit,
258 register, 266 register,
259 getTitle, 267 getTitle,
  268 + currentIndex,
260 }; 269 };
261 }, 270 },
262 }); 271 });