Commit 55ac188581e6f450c3948e5f64554ecb6914c191
Merge branch 'ft' into 'main'
fix:修改一些验证(alarm/config,alarm/contacts),fix:修改设备管理凭证400提示(device/list/cpns/mod... See merge request huang/yun-teng-iot-front!182
Showing
12 changed files
with
63 additions
and
60 deletions
... | ... | @@ -141,19 +141,18 @@ |
141 | 141 | }; |
142 | 142 | const useSelectionChange = () => { |
143 | 143 | let getRows = getSelectRows(); |
144 | - getRows.forEach((f) => { | |
145 | - if (f.status == 1 && f.status !== 0) { | |
146 | - hasBatchDelete.value = true; | |
147 | - } else if (f.status == 0 && f.status !== 1) { | |
148 | - hasBatchDelete.value = false; | |
149 | - } else if (f.status == 0 && f.status == 1) { | |
150 | - hasBatchDelete.value = true; | |
151 | - } | |
152 | - }); | |
153 | - selectArray = getRows.filter((f) => f.status !== 1).map((m) => m.id); | |
154 | - if (selectArray.length == 0) { | |
144 | + const isJudge = getRows.map((m) => m.status); | |
145 | + if (isJudge.length === 0) { | |
155 | 146 | hasBatchDelete.value = true; |
156 | 147 | } |
148 | + if (isJudge.includes(1) && isJudge.includes(0)) { | |
149 | + hasBatchDelete.value = true; | |
150 | + } else if (isJudge.includes(1) && !isJudge.includes(0)) { | |
151 | + hasBatchDelete.value = true; | |
152 | + } else if (!isJudge.includes(1) && isJudge.includes(0)) { | |
153 | + hasBatchDelete.value = false; | |
154 | + } | |
155 | + selectArray = getRows.filter((f) => f.status !== 1).map((m) => m.id); | |
157 | 156 | }; |
158 | 157 | // 删除或批量删除 |
159 | 158 | const handleDeleteOrBatchDelete = async (record: Recordable | null) => { |
... | ... | @@ -162,9 +161,7 @@ |
162 | 161 | await deleteAlarmConfig([record.id]); |
163 | 162 | createMessage.success('删除成功'); |
164 | 163 | handleSuccess(); |
165 | - } catch (e: any) { | |
166 | - // createMessage.error(e.msg); | |
167 | - } | |
164 | + } catch (e: any) {} | |
168 | 165 | } else { |
169 | 166 | try { |
170 | 167 | await deleteAlarmConfig(selectArray); |
... | ... | @@ -172,7 +169,6 @@ |
172 | 169 | handleSuccess(); |
173 | 170 | selectArray.length = 0; |
174 | 171 | } catch (e: any) { |
175 | - // createMessage.error(e.msg); | |
176 | 172 | selectArray.length = 0; |
177 | 173 | } finally { |
178 | 174 | selectArray.length = 0; | ... | ... |
... | ... | @@ -6,17 +6,17 @@ import { DeviceTypeEnum, DeviceState } from '/@/api/device/model/deviceModel'; |
6 | 6 | // 表格列数据 |
7 | 7 | export const columns: BasicColumn[] = [ |
8 | 8 | { |
9 | - title: '设备名称', | |
10 | - dataIndex: 'name', | |
11 | - width: 120, | |
12 | - }, | |
13 | - { | |
14 | 9 | title: '设备图片', |
15 | 10 | dataIndex: 'deviceInfo.avatar', |
16 | 11 | width: 120, |
17 | 12 | slots: { customRender: 'img' }, |
18 | 13 | }, |
19 | 14 | { |
15 | + title: '设备名称', | |
16 | + dataIndex: 'name', | |
17 | + width: 120, | |
18 | + }, | |
19 | + { | |
20 | 20 | title: '设备类型', |
21 | 21 | dataIndex: 'deviceType', |
22 | 22 | width: 100, | ... | ... |
... | ... | @@ -171,6 +171,7 @@ |
171 | 171 | ]); |
172 | 172 | }; |
173 | 173 | const handleOk = async () => { |
174 | + const { createMessage } = useMessage(); | |
174 | 175 | // 验证 |
175 | 176 | const valid = await validate(); |
176 | 177 | if (!valid) return; |
... | ... | @@ -197,14 +198,17 @@ |
197 | 198 | ? field.publicKey |
198 | 199 | : null, |
199 | 200 | }; |
200 | - | |
201 | - await saveDeviceToken(editData); | |
202 | - const { createMessage } = useMessage(); | |
203 | - createMessage.success('修改设备凭证成功'); | |
204 | - | |
205 | - // 请求 | |
206 | - closeModal(); | |
207 | - handleCancel(); | |
201 | + saveDeviceToken(editData) | |
202 | + .then((res) => { | |
203 | + if (!res) return; | |
204 | + createMessage.success('修改设备凭证成功'); | |
205 | + // 请求 | |
206 | + closeModal(); | |
207 | + handleCancel(); | |
208 | + }) | |
209 | + .catch((e) => { | |
210 | + createMessage.error(e); | |
211 | + }); | |
208 | 212 | }; |
209 | 213 | return { |
210 | 214 | registerModal, | ... | ... |
... | ... | @@ -167,11 +167,17 @@ |
167 | 167 | if (isUpdate.value == 1) { |
168 | 168 | delete postDeviceConfogData.id; |
169 | 169 | } |
170 | - await deviceConfigAddOrEdit(postDeviceConfogData); | |
171 | - createMessage.success(isUpdate.value == 1 ? '新增' + '成功' : '编辑' + '成功'); | |
172 | - closeModal(); | |
173 | - emit('success'); | |
174 | - isNextStatus.value = false; | |
170 | + deviceConfigAddOrEdit(postDeviceConfogData) | |
171 | + .then((res) => { | |
172 | + if (!res) return; | |
173 | + createMessage.success(isUpdate.value == 1 ? '新增' + '成功' : '编辑' + '成功'); | |
174 | + closeModal(); | |
175 | + emit('success'); | |
176 | + isNextStatus.value = false; | |
177 | + }) | |
178 | + .catch((e) => { | |
179 | + createMessage.error(e); | |
180 | + }); | |
175 | 181 | }; |
176 | 182 | const handleCancel = () => { |
177 | 183 | nextTick(() => { | ... | ... |
... | ... | @@ -6,17 +6,17 @@ import { numberRule } from '/@/utils/rules'; |
6 | 6 | |
7 | 7 | export const columns: BasicColumn[] = [ |
8 | 8 | { |
9 | - title: '名称', | |
10 | - dataIndex: 'name', | |
11 | - width: 120, | |
12 | - }, | |
13 | - { | |
14 | 9 | title: '配置图片', //图标 |
15 | 10 | dataIndex: 'image', |
16 | 11 | width: 80, |
17 | 12 | slots: { customRender: 'img' }, |
18 | 13 | }, |
19 | 14 | { |
15 | + title: '名称', | |
16 | + dataIndex: 'name', | |
17 | + width: 120, | |
18 | + }, | |
19 | + { | |
20 | 20 | title: '配置类型', |
21 | 21 | dataIndex: 'type', |
22 | 22 | width: 90, | ... | ... |
... | ... | @@ -98,6 +98,7 @@ |
98 | 98 | const getPathUrlName = ref(''); |
99 | 99 | const disabled = ref(true); |
100 | 100 | const onCloseVal = ref(0); |
101 | + const immediateStatus = ref(false); | |
101 | 102 | |
102 | 103 | const { createMessage } = useMessage(); |
103 | 104 | const [registerModal, { openModal }] = useModal(); |
... | ... | @@ -106,6 +107,7 @@ |
106 | 107 | title: '设备配置列表', |
107 | 108 | clickToRowSelect: false, |
108 | 109 | api: deviceConfigGetQuery, |
110 | + immediate: immediateStatus.value, | |
109 | 111 | columns, |
110 | 112 | formConfig: { |
111 | 113 | labelWidth: 120, |
... | ... | @@ -162,12 +164,13 @@ |
162 | 164 | resetFields(); |
163 | 165 | } |
164 | 166 | }); |
167 | + } else { | |
168 | + setTimeout(() => { | |
169 | + reload(); | |
170 | + }, 80); | |
165 | 171 | } |
166 | 172 | }; |
167 | - setTimeout(() => { | |
168 | - setRowClassName(); | |
169 | - }, 500); | |
170 | - | |
173 | + setRowClassName(); | |
171 | 174 | onUnmounted(() => { |
172 | 175 | getPathUrlName.value = ''; |
173 | 176 | onCloseVal.value = 1; | ... | ... |
... | ... | @@ -15,7 +15,8 @@ |
15 | 15 | icon: 'ant-design:eye-outlined', |
16 | 16 | onClick: handleView.bind(null, record), |
17 | 17 | ifShow: (_action) => { |
18 | - return record.status === 1 && rolePermission == 'CUSTOMER_USER'; | |
18 | + const isCurrent = record.status === 1 && record.creator === userId; | |
19 | + return isCurrent; | |
19 | 20 | }, |
20 | 21 | }, |
21 | 22 | { |
... | ... | @@ -23,14 +24,15 @@ |
23 | 24 | icon: 'clarity:note-edit-line', |
24 | 25 | onClick: handleEdit.bind(null, record), |
25 | 26 | ifShow: (_action) => { |
26 | - return record.status === 0 && record.creator == userId; | |
27 | + const isCurrent = record.status === 0 && record.creator === userId; | |
28 | + return isCurrent; | |
27 | 29 | }, |
28 | 30 | }, |
29 | 31 | { |
30 | 32 | label: '删除', |
31 | 33 | icon: 'ant-design:delete-outlined', |
32 | 34 | color: 'error', |
33 | - ifShow: record.creator == userId, | |
35 | + ifShow: record.creator === userId, | |
34 | 36 | popConfirm: { |
35 | 37 | title: '是否确认删除', |
36 | 38 | confirm: handleDeleteOrBatchDelete.bind(null, record), |
... | ... | @@ -49,7 +51,7 @@ |
49 | 51 | </div> |
50 | 52 | </template> |
51 | 53 | <script lang="ts"> |
52 | - import { defineComponent, ref, computed } from 'vue'; | |
54 | + import { defineComponent, ref } from 'vue'; | |
53 | 55 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
54 | 56 | import { useDrawer } from '/@/components/Drawer'; |
55 | 57 | import NotifyManagerDrawer from './useDrawer.vue'; |
... | ... | @@ -59,22 +61,14 @@ |
59 | 61 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; |
60 | 62 | import { USER_INFO_KEY } from '/@/enums/cacheEnum'; |
61 | 63 | import { getAuthCache } from '/@/utils/auth'; |
62 | - import { RoleEnum } from '/@/enums/roleEnum'; | |
63 | - import { usePermission } from '/@/hooks/web/usePermission'; | |
64 | - import { useUserStore } from '/@/store/modules/user'; | |
65 | 64 | |
66 | 65 | export default defineComponent({ |
67 | 66 | name: 'Notificationmannager', |
68 | 67 | components: { BasicTable, NotifyManagerDrawer, TableAction, tableViewChild }, |
69 | 68 | setup() { |
70 | - const { hasPermission } = usePermission(); | |
71 | - const userStore = useUserStore(); | |
72 | - const isTenant = computed(() => userStore.getRoleList.includes(RoleEnum.TENANT_ADMIN)); | |
73 | - const isCustomer = computed(() => userStore.getRoleList.includes(RoleEnum.CUSTOMER_USER)); | |
74 | 69 | const userInfo: any = getAuthCache(USER_INFO_KEY); |
75 | 70 | const userId = userInfo.userId; |
76 | 71 | const tenantId = userInfo.tenantId; |
77 | - const rolePermission: string = userInfo.roles[0]; | |
78 | 72 | const [registerDrawer, { openDrawer }] = useDrawer(); |
79 | 73 | const [registerAdd, { openDrawer: openDrawerAdd }] = useDrawer(); |
80 | 74 | // 批量删除 |
... | ... | @@ -137,12 +131,8 @@ |
137 | 131 | handleSuccess, |
138 | 132 | handleDeleteOrBatchDelete, |
139 | 133 | NotifyManagerDrawerRef, |
140 | - rolePermission, | |
141 | 134 | userId, |
142 | 135 | tenantId, |
143 | - hasPermission, | |
144 | - isTenant, | |
145 | - isCustomer, | |
146 | 136 | }; |
147 | 137 | }, |
148 | 138 | }); | ... | ... |
... | ... | @@ -380,6 +380,7 @@ export const modeMqttForm: FormSchema[] = [ |
380 | 380 | component: 'Select', |
381 | 381 | label: 'type', |
382 | 382 | colProps: { span: 12 }, |
383 | + defaultValue: 'anonymous', | |
383 | 384 | componentProps: { |
384 | 385 | placeholder: '请选择Credentials', |
385 | 386 | options: [ |
... | ... | @@ -898,6 +899,7 @@ export const modeApiForm: FormSchema[] = [ |
898 | 899 | component: 'Select', |
899 | 900 | label: 'type', |
900 | 901 | colProps: { span: 12 }, |
902 | + defaultValue: 'anonymous', | |
901 | 903 | componentProps: { |
902 | 904 | placeholder: '请选择Number of acknowledgments', |
903 | 905 | options: [ | ... | ... |