Showing
6 changed files
with
86 additions
and
49 deletions
| ... | ... | @@ -75,7 +75,7 @@ | 
| 75 | 75 | step1Schemas, | 
| 76 | 76 | step2Schemas, | 
| 77 | 77 | step3Schemas, | 
| 78 | - step3HighSetting, | |
| 78 | + step3ViewHighSetting, | |
| 79 | 79 | step3CreateAlarm, | 
| 80 | 80 | alertContactsSchemas, | 
| 81 | 81 | echoFormSchema, | 
| ... | ... | @@ -113,7 +113,7 @@ | 
| 113 | 113 | }, | 
| 114 | 114 | }); | 
| 115 | 115 | const [registerStep3HighSetting, { setFieldsValue: setRegisterStep3HighSetting }] = useForm({ | 
| 116 | - schemas: step3HighSetting, | |
| 116 | + schemas: step3ViewHighSetting, | |
| 117 | 117 | actionColOptions: { | 
| 118 | 118 | span: 24, | 
| 119 | 119 | }, | 
| ... | ... | @@ -189,43 +189,49 @@ | 
| 189 | 189 | break; | 
| 190 | 190 | case '2': | 
| 191 | 191 | setRegisterTrans({ | 
| 192 | - transportType: descInfo.value.profileData.transportConfiguration.type, | |
| 192 | + transportType: descInfo.value.profileData?.transportConfiguration.type, | |
| 193 | 193 | }); | 
| 194 | 194 | break; | 
| 195 | 195 | case '3': | 
| 196 | 196 | setRegisterStep3Schemas({ | 
| 197 | - alarmType: descInfo.value.profileData.alarms[0].alarmType, | |
| 197 | + alarmType: descInfo.value.profileData?.alarms[0].alarmType, | |
| 198 | 198 | }); | 
| 199 | 199 | setRegisterStep3HighSetting({ | 
| 200 | - propagate: descInfo.value.profileData.alarms[0].propagate, | |
| 201 | - propagateRelationTypes: | |
| 202 | - descInfo.value.profileData.alarms[0].propagateRelationTypes[0], | |
| 200 | + propagate: descInfo.value.profileData?.alarms[0].propagate, | |
| 201 | + propagateRelationTypes: descInfo.value.profileData?.alarms[0].propagateRelationTypes, | |
| 203 | 202 | }); | 
| 204 | - const getKey = Object.keys(descInfo.value.profileData.alarms[0].createRules); | |
| 205 | - console.log(descInfo.value.profileData.alarms[0].createRules[getKey[0]]); | |
| 203 | + const getKey = Object.keys(descInfo.value.profileData?.alarms[0].createRules); | |
| 204 | + console.log(descInfo.value.profileData?.alarms[0].createRules[getKey[0]]); | |
| 206 | 205 | // console.log(descInfo.value.profileData.alarms[0].createRules.MAJOR); | 
| 207 | 206 | // console.log(descInfo.value.profileData.alarms[0].createRules['MAJOR']); | 
| 208 | 207 | setRegisterStep3CreateAlarm({ | 
| 209 | - MAJOR: descInfo.value.profileData.alarms[0].createRules[getKey[0]] + '', | |
| 208 | + WARNING: descInfo.value.profileData?.alarms[0].createRules[getKey[0]], | |
| 210 | 209 | }); | 
| 211 | 210 | 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, | |
| 211 | + type: descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition | |
| 212 | + .condition[0].key.type, | |
| 213 | + key: descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition | |
| 214 | + .condition[0].key.key, | |
| 216 | 215 | valueType: | 
| 217 | - descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.condition | |
| 216 | + descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition.condition[0] | |
| 218 | 217 | .valueType, | 
| 218 | + value: | |
| 219 | + descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition.condition[0] | |
| 220 | + .value, | |
| 221 | + predicate: | |
| 222 | + descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition.condition[0] | |
| 223 | + .predicate, | |
| 219 | 224 | }); | 
| 220 | 225 | setRegisterStep3Condition({ | 
| 221 | 226 | conditionType: | 
| 222 | - descInfo.value.profileData.alarms[0].createRules[getKey[0]].condition.spec.type, | |
| 227 | + descInfo.value.profileData?.alarms[0].createRules[getKey[0]].condition.spec.type, | |
| 223 | 228 | }); | 
| 224 | 229 | setRegisterStep3Enable({ | 
| 225 | - schedule: descInfo.value.profileData.alarms[0].createRules[getKey[0]].schedule, | |
| 230 | + schedule: descInfo.value.profileData?.alarms[0].createRules[getKey[0]].schedule, | |
| 226 | 231 | }); | 
| 227 | 232 | setRegisterStep3TemplateDetail({ | 
| 228 | - alarmDetails: descInfo.value.profileData.alarms[0].createRules, | |
| 233 | + alarmDetails: | |
| 234 | + descInfo.value.profileData?.alarms[0].createRules[getKey[0]].alarmDetails, | |
| 229 | 235 | }); | 
| 230 | 236 | break; | 
| 231 | 237 | case '4': | ... | ... | 
| ... | ... | @@ -71,6 +71,7 @@ | 
| 71 | 71 | const [registerModalDetail, { openModal: openModalDetail }] = useModal(); | 
| 72 | 72 | const [registerTable, { reload, getSelectRowKeys }] = useTable({ | 
| 73 | 73 | title: '设备配置列表', | 
| 74 | + pagination: true, | |
| 74 | 75 | clickToRowSelect: false, | 
| 75 | 76 | api: deviceConfigGetQuery, | 
| 76 | 77 | columns, | ... | ... | 
| ... | ... | @@ -16,11 +16,7 @@ | 
| 16 | 16 | <p v-for="(item, index) in n" :key="index">和</p> | 
| 17 | 17 | </div> | 
| 18 | 18 | <div style="width: 45vw; height: 2vh"> | 
| 19 | - <BasicForm | |
| 20 | - :showActionButtonGroup="false" | |
| 21 | - @register="registerFilter" | |
| 22 | - @submit="handleSubmit" | |
| 23 | - > | |
| 19 | + <BasicForm :showActionButtonGroup="false" @register="registerFilter"> | |
| 24 | 20 | <template #add="{ field }"> | 
| 25 | 21 | <Button v-if="Number(field) === 0" @click="add">添加</Button> | 
| 26 | 22 | <Button v-if="Number(field) === 0" @click="handleAdd">添加复合器</Button> | 
| ... | ... | @@ -50,7 +46,7 @@ | 
| 50 | 46 | setup(_, { emit }) { | 
| 51 | 47 | const getIsWhereType: any = ref(null); | 
| 52 | 48 | const isUpdate = ref(true); | 
| 53 | - const getValue: any = ref({}); | |
| 49 | + const getValue: any = ref(null); | |
| 54 | 50 | const setId: any = ref(1); | 
| 55 | 51 | const getTitle = computed(() => (!unref(isUpdate) ? '新增键名筛选器' : '编辑键名筛选器')); | 
| 56 | 52 | const [registerForm, { getFieldsValue, setFieldsValue, resetFields }] = useForm({ | 
| ... | ... | @@ -108,9 +104,11 @@ | 
| 108 | 104 | getValue.value = getFieldsValue(); | 
| 109 | 105 | setId.value += 1; | 
| 110 | 106 | getValue.value.id = setId.value; | 
| 107 | + // emit('success', getValue.value); | |
| 108 | + // closeModal(); | |
| 111 | 109 | } else { | 
| 112 | 110 | getValue.value = getFieldsValue(); | 
| 113 | - setId.value += 1000; | |
| 111 | + setId.value += 9999; | |
| 114 | 112 | getValue.value.id = setId.value; | 
| 115 | 113 | } | 
| 116 | 114 | emit('success', getValue.value); | 
| ... | ... | @@ -182,6 +180,8 @@ | 
| 182 | 180 | case 'COMPLEX': | 
| 183 | 181 | getIsWhereType.value = v; | 
| 184 | 182 | break; | 
| 183 | + default: | |
| 184 | + getIsWhereType.value = 100; | |
| 185 | 185 | } | 
| 186 | 186 | }); | 
| 187 | 187 | const [registerModal, { openModal }] = useModal(); | ... | ... | 
| ... | ... | @@ -10,12 +10,11 @@ | 
| 10 | 10 | <BasicTable | 
| 11 | 11 | :showIndexColumn="false" | 
| 12 | 12 | :resizeHeightOffset="200" | 
| 13 | - @register="registerTable" | |
| 14 | 13 | :dataSource="getTableApiData" | 
| 14 | + @register="registerTable" | |
| 15 | 15 | > | 
| 16 | - > | |
| 17 | 16 | <template #toolbar> | 
| 18 | - <a-button type="primary" @click="handleAddKey"> 新增键名筛选器 </a-button> | |
| 17 | + <a-button type="primary" @click="handleAddKey">新增键名筛选器</a-button> | |
| 19 | 18 | </template> | 
| 20 | 19 | <template #action="{ record }"> | 
| 21 | 20 | <TableAction | 
| ... | ... | @@ -46,6 +45,7 @@ | 
| 46 | 45 | :dataSource="detailData" | 
| 47 | 46 | :pagination="false" | 
| 48 | 47 | :showIndexColumn="false" | 
| 48 | + @register="registerTable1" | |
| 49 | 49 | /> | 
| 50 | 50 | </CollapseContainer> | 
| 51 | 51 | <BasicForm :showResetButton="false" :showSubmitButton="false" @register="registerForm" /> | 
| ... | ... | @@ -75,8 +75,12 @@ | 
| 75 | 75 | emits: ['success', 'register', 'getAllFieldsRule', 'getLastAllFieldsRule'], | 
| 76 | 76 | setup(_, { emit }) { | 
| 77 | 77 | const getTableApiData: any = ref([]); | 
| 78 | + const newFilterArray: any = ref([]); | |
| 79 | + const newFilterViewArray: any = ref([]); | |
| 80 | + const newFilterKeyArray: any = ref([]); | |
| 81 | + const newFilterKeyViewArray: any = ref([]); | |
| 78 | 82 | const detailData: any = ref([]); | 
| 79 | - const receiveData: any = ref({}); | |
| 83 | + const receiveData: any = ref(null); | |
| 80 | 84 | const lastValues: any = ref(null); | 
| 81 | 85 | const addOrUpdateData: any = ref(null); | 
| 82 | 86 | const isUpdate = ref(true); | 
| ... | ... | @@ -89,10 +93,11 @@ | 
| 89 | 93 | const [register, { closeModal }] = useModalInner((data) => { | 
| 90 | 94 | isUpdate.value = !!data?.isUpdate; | 
| 91 | 95 | }); | 
| 92 | - const [registerTable, { reload }] = useTable({ | |
| 96 | + const [registerTable, { reload, setTableData: setFunc }] = useTable({ | |
| 93 | 97 | title: '键名筛选器', | 
| 94 | 98 | columns: keyColumns, | 
| 95 | 99 | bordered: true, | 
| 100 | + // api: useWaitFunc, | |
| 96 | 101 | showIndexColumn: false, | 
| 97 | 102 | pagination: false, | 
| 98 | 103 | autoCreateKey: true, | 
| ... | ... | @@ -103,6 +108,11 @@ | 
| 103 | 108 | slots: { customRender: 'action' }, | 
| 104 | 109 | }, | 
| 105 | 110 | }); | 
| 111 | + const [registerTable1, { setTableData: setFunc1 }] = useTable({ | |
| 112 | + bordered: true, | |
| 113 | + showIndexColumn: false, | |
| 114 | + pagination: false, | |
| 115 | + }); | |
| 106 | 116 | const handleSubmit = () => { | 
| 107 | 117 | if (!unref(isUpdate)) { | 
| 108 | 118 | addOrUpdateData.value = getFieldsValue(); | 
| ... | ... | @@ -130,33 +140,33 @@ | 
| 130 | 140 | isUpdate: true, | 
| 131 | 141 | record, | 
| 132 | 142 | }); | 
| 133 | - const newFilterArray = getTableApiData.value.filter((item) => item.id !== record.id); | |
| 134 | - getTableApiData.value = newFilterArray; | |
| 135 | - const newFilterViewArray = detailData.value.filter((item) => item.id !== record.id); | |
| 136 | - detailData.value = newFilterViewArray; | |
| 143 | + newFilterArray.value = getTableApiData.value.filter((item) => item.id !== record.id); | |
| 144 | + getTableApiData.value = newFilterArray.value; | |
| 145 | + newFilterViewArray.value = detailData.value.filter((item) => item.id !== record.id); | |
| 146 | + detailData.value = newFilterViewArray.value; | |
| 137 | 147 | reload(); | 
| 138 | 148 | }; | 
| 139 | 149 | const handleDelete = (record: Recordable) => { | 
| 140 | - const newFilterArray = getTableApiData.value.filter((item) => item.id !== record.id); | |
| 141 | - getTableApiData.value = newFilterArray; | |
| 142 | - const newFilterViewArray = detailData.value.filter((item) => item.id !== record.id); | |
| 143 | - detailData.value = newFilterViewArray; | |
| 150 | + newFilterKeyArray.value = getTableApiData.value.filter((item) => item.id !== record.id); | |
| 151 | + getTableApiData.value = newFilterKeyArray.value; | |
| 152 | + newFilterKeyViewArray.value = detailData.value.filter((item) => item.id !== record.id); | |
| 153 | + detailData.value = newFilterKeyViewArray.value; | |
| 144 | 154 | reload(); | 
| 145 | 155 | }; | 
| 146 | 156 | const handleSuccess = (v) => { | 
| 147 | 157 | receiveData.value = v; | 
| 148 | - setTimeout(() => { | |
| 149 | - useWaitFunc(); | |
| 150 | - }, 10); | |
| 151 | - }; | |
| 152 | - const useWaitFunc = () => { | |
| 153 | - if (unref(getTableApiData.value)) { | |
| 154 | - getTableApiData.value.push(receiveData.value); | |
| 155 | - detailData.value.push(receiveData.value); | |
| 156 | - } | |
| 158 | + getTableApiData.value.push(receiveData.value); | |
| 159 | + detailData.value.push(receiveData.value); | |
| 160 | + setFunc(getTableApiData.value); | |
| 161 | + setFunc1(detailData.value); | |
| 157 | 162 | reload(); | 
| 158 | 163 | }; | 
| 164 | + // const useWaitFunc = async (v) => { | |
| 165 | + // // detailData.value.push(v); | |
| 166 | + // return getTableApiData.value.push(v), detailData.value.push(v); | |
| 167 | + // }; | |
| 159 | 168 | return { | 
| 169 | + registerTable1, | |
| 160 | 170 | detailData, | 
| 161 | 171 | getTableApiData, | 
| 162 | 172 | resetDataFunc, | ... | ... | 
| ... | ... | @@ -101,6 +101,26 @@ export const step3Schemas: FormSchema[] = [ | 
| 101 | 101 | }, | 
| 102 | 102 | ]; | 
| 103 | 103 | |
| 104 | +export const step3ViewHighSetting: FormSchema[] = [ | |
| 105 | + { | |
| 106 | + field: 'propagate', | |
| 107 | + component: 'Checkbox', | |
| 108 | + label: '传递报警', | |
| 109 | + // renderComponentContent: '忽略大小写', | |
| 110 | + }, | |
| 111 | + { | |
| 112 | + field: 'propagateRelationTypes', | |
| 113 | + component: 'Input', | |
| 114 | + label: '关联类型', | |
| 115 | + colProps: { | |
| 116 | + span: 11, | |
| 117 | + }, | |
| 118 | + componentProps: { | |
| 119 | + placeholder: '要传递的关联类型', | |
| 120 | + }, | |
| 121 | + }, | |
| 122 | +]; | |
| 123 | + | |
| 104 | 124 | export const step3HighSetting: FormSchema[] = [ | 
| 105 | 125 | { | 
| 106 | 126 | field: 'propagate', | 
| ... | ... | @@ -126,7 +146,7 @@ export const isWhereType = ref(null); | 
| 126 | 146 | |
| 127 | 147 | export const step3CreateAlarm: FormSchema[] = [ | 
| 128 | 148 | { | 
| 129 | - field: 'MAJOR', | |
| 149 | + field: 'WARNING', | |
| 130 | 150 | component: 'Select', | 
| 131 | 151 | label: '严重程度', | 
| 132 | 152 | colProps: { | ... | ... |