Commit bdeac9846c3e3a8d010cf2b1aeb253fba2482ee0
1 parent
6000cf9a
'feat:设备分配客户,oem按钮调整,地图铆钉不显示,账号问题'
Showing
16 changed files
with
188 additions
and
28 deletions
| @@ -136,3 +136,35 @@ export const saveDeviceToken = (data) => { | @@ -136,3 +136,35 @@ export const saveDeviceToken = (data) => { | ||
| 136 | } | 136 | } |
| 137 | ); | 137 | ); |
| 138 | }; | 138 | }; |
| 139 | + | ||
| 140 | +// 获取当前租户下的客户列表 | ||
| 141 | +export const getCustomerList = (params) => { | ||
| 142 | + return defHttp.get({ | ||
| 143 | + url: '/user/customers/' + params.organizationId, | ||
| 144 | + }); | ||
| 145 | +}; | ||
| 146 | + | ||
| 147 | +// 分配客户或 | ||
| 148 | +export const dispatchCustomer = (data) => { | ||
| 149 | + const { customerId, tbDeviceId } = data; | ||
| 150 | + return defHttp.post( | ||
| 151 | + { | ||
| 152 | + url: `/customer/${customerId}/device/${tbDeviceId}`, | ||
| 153 | + }, | ||
| 154 | + { | ||
| 155 | + joinPrefix: false, | ||
| 156 | + } | ||
| 157 | + ); | ||
| 158 | +}; | ||
| 159 | +// 取消分配客户 | ||
| 160 | +export const cancelDispatchCustomer = (data) => { | ||
| 161 | + const { customerId, tbDeviceId } = data; | ||
| 162 | + return defHttp.delete( | ||
| 163 | + { | ||
| 164 | + url: `/customer/${customerId}/device/${tbDeviceId}`, | ||
| 165 | + }, | ||
| 166 | + { | ||
| 167 | + joinPrefix: false, | ||
| 168 | + } | ||
| 169 | + ); | ||
| 170 | +}; |
| @@ -12,3 +12,10 @@ export function isAdmin(role: string) { | @@ -12,3 +12,10 @@ export function isAdmin(role: string) { | ||
| 12 | return false; | 12 | return false; |
| 13 | } | 13 | } |
| 14 | } | 14 | } |
| 15 | +// 按钮级权限控制,只针对客户 | ||
| 16 | +export function authBtn(role: string): boolean { | ||
| 17 | + if (role === RoleEnum.CUSTOMER_USER) { | ||
| 18 | + return false; | ||
| 19 | + } | ||
| 20 | + return true; | ||
| 21 | +} |
| @@ -329,6 +329,7 @@ | @@ -329,6 +329,7 @@ | ||
| 329 | data: dataArray.filter((item1) => item1[2] === item), | 329 | data: dataArray.filter((item1) => item1[2] === item), |
| 330 | }; | 330 | }; |
| 331 | }); | 331 | }); |
| 332 | + console.log(dataArray); | ||
| 332 | // 设置数据; | 333 | // 设置数据; |
| 333 | setOptions({ | 334 | setOptions({ |
| 334 | tooltip: { | 335 | tooltip: { |
| 1 | import { formatToDateTime } from '/@/utils/dateUtil'; | 1 | import { formatToDateTime } from '/@/utils/dateUtil'; |
| 2 | import { FormSchema } from '/@/components/Form'; | 2 | import { FormSchema } from '/@/components/Form'; |
| 3 | import { BasicColumn } from '/@/components/Table'; | 3 | import { BasicColumn } from '/@/components/Table'; |
| 4 | - | ||
| 5 | import { DeviceTypeEnum } from '/@/api/device/model/deviceModel'; | 4 | import { DeviceTypeEnum } from '/@/api/device/model/deviceModel'; |
| 6 | - | 5 | +import { getCustomerList } from '/@/api/device/deviceManager'; |
| 7 | export const columns: BasicColumn[] = [ | 6 | export const columns: BasicColumn[] = [ |
| 8 | { | 7 | { |
| 9 | title: '设备名称', | 8 | title: '设备名称', |
| @@ -287,3 +286,19 @@ export const statusType = (type: string): string => { | @@ -287,3 +286,19 @@ export const statusType = (type: string): string => { | ||
| 287 | return '激活未确认'; | 286 | return '激活未确认'; |
| 288 | } | 287 | } |
| 289 | }; | 288 | }; |
| 289 | + | ||
| 290 | +export const customerForm: FormSchema[] = [ | ||
| 291 | + { | ||
| 292 | + field: 'customerId', | ||
| 293 | + label: '分配客户', | ||
| 294 | + component: 'ApiSelect', | ||
| 295 | + componentProps: { | ||
| 296 | + api: getCustomerList, | ||
| 297 | + immediate: false, | ||
| 298 | + labelField: 'realName', | ||
| 299 | + valueField: 'customerId', | ||
| 300 | + }, | ||
| 301 | + required: true, | ||
| 302 | + colProps: { span: 12 }, | ||
| 303 | + }, | ||
| 304 | +]; |
| @@ -24,7 +24,6 @@ export const columns: BasicColumn[] = [ | @@ -24,7 +24,6 @@ export const columns: BasicColumn[] = [ | ||
| 24 | slots: { customRender: 'deviceProfile' }, | 24 | slots: { customRender: 'deviceProfile' }, |
| 25 | ellipsis: true, | 25 | ellipsis: true, |
| 26 | }, | 26 | }, |
| 27 | - | ||
| 28 | { | 27 | { |
| 29 | title: '所属组织', | 28 | title: '所属组织', |
| 30 | dataIndex: 'organizationDTO.name', | 29 | dataIndex: 'organizationDTO.name', |
| 1 | +<template> | ||
| 2 | + <BasicModal | ||
| 3 | + v-bind="$attrs" | ||
| 4 | + @register="registerModal" | ||
| 5 | + title="将设备分配给客户" | ||
| 6 | + :canFullscreen="false" | ||
| 7 | + centered | ||
| 8 | + @ok="dispatchCustomer" | ||
| 9 | + :minHeight="150" | ||
| 10 | + okText="分配" | ||
| 11 | + > | ||
| 12 | + <BasicForm @register="registerForm" /> | ||
| 13 | + </BasicModal> | ||
| 14 | +</template> | ||
| 15 | + | ||
| 16 | +<script lang="ts"> | ||
| 17 | + import { defineComponent } from 'vue'; | ||
| 18 | + import { BasicModal, useModalInner } from '/@/components/Modal'; | ||
| 19 | + import { BasicForm, useForm } from '/@/components/Form'; | ||
| 20 | + import { customerForm } from '../../config/detail.config'; | ||
| 21 | + import { dispatchCustomer as dispatchCustomerApi } from '/@/api/device/deviceManager'; | ||
| 22 | + export default defineComponent({ | ||
| 23 | + name: 'AlarmDetailModal', | ||
| 24 | + components: { | ||
| 25 | + BasicModal, | ||
| 26 | + BasicForm, | ||
| 27 | + }, | ||
| 28 | + emits: ['reload', 'register'], | ||
| 29 | + setup(_, { emit }) { | ||
| 30 | + let record = {}; | ||
| 31 | + const [registerModal, { closeModal }] = useModalInner((data: any) => { | ||
| 32 | + const { organizationId } = data; | ||
| 33 | + record = data; | ||
| 34 | + updateSchema([ | ||
| 35 | + { | ||
| 36 | + field: 'customerId', | ||
| 37 | + componentProps: { | ||
| 38 | + params: { organizationId }, | ||
| 39 | + }, | ||
| 40 | + }, | ||
| 41 | + ]); | ||
| 42 | + }); | ||
| 43 | + const [registerForm, { validate, getFieldsValue, updateSchema, resetFields }] = useForm({ | ||
| 44 | + labelWidth: 100, | ||
| 45 | + showActionButtonGroup: false, | ||
| 46 | + schemas: customerForm, | ||
| 47 | + }); | ||
| 48 | + // 分配客户 | ||
| 49 | + const dispatchCustomer = async () => { | ||
| 50 | + await validate(); | ||
| 51 | + const { customerId } = getFieldsValue(); | ||
| 52 | + await dispatchCustomerApi({ ...record, customerId }); | ||
| 53 | + closeModal(); | ||
| 54 | + resetFields(); | ||
| 55 | + emit('reload'); | ||
| 56 | + }; | ||
| 57 | + | ||
| 58 | + return { | ||
| 59 | + registerModal, | ||
| 60 | + registerForm, | ||
| 61 | + dispatchCustomer, | ||
| 62 | + }; | ||
| 63 | + }, | ||
| 64 | + }); | ||
| 65 | +</script> |
| @@ -11,7 +11,12 @@ | @@ -11,7 +11,12 @@ | ||
| 11 | :customRequest="customUpload" | 11 | :customRequest="customUpload" |
| 12 | :before-upload="beforeUpload" | 12 | :before-upload="beforeUpload" |
| 13 | > | 13 | > |
| 14 | - <img v-if="devicePic" :src="devicePic" alt="avatar" /> | 14 | + <img |
| 15 | + v-if="devicePic" | ||
| 16 | + :src="devicePic" | ||
| 17 | + alt="avatar" | ||
| 18 | + style="width: 6.25rem; height: 6.25rem" | ||
| 19 | + /> | ||
| 15 | <div v-else> | 20 | <div v-else> |
| 16 | <PlusOutlined /> | 21 | <PlusOutlined /> |
| 17 | <div class="ant-upload-text">图片上传</div> | 22 | <div class="ant-upload-text">图片上传</div> |
| @@ -76,7 +81,6 @@ | @@ -76,7 +81,6 @@ | ||
| 76 | [Divider.name]: Divider, | 81 | [Divider.name]: Divider, |
| 77 | Upload, | 82 | Upload, |
| 78 | EnvironmentTwoTone, | 83 | EnvironmentTwoTone, |
| 79 | - // LoadingOutlined, | ||
| 80 | PlusOutlined, | 84 | PlusOutlined, |
| 81 | Modal, | 85 | Modal, |
| 82 | [Form.name]: Form, | 86 | [Form.name]: Form, |
| @@ -175,7 +179,8 @@ | @@ -175,7 +179,8 @@ | ||
| 175 | if (!wrapEl) return; | 179 | if (!wrapEl) return; |
| 176 | let preMarker = null; | 180 | let preMarker = null; |
| 177 | const map = new BMap.Map(wrapEl); | 181 | const map = new BMap.Map(wrapEl); |
| 178 | - let myIcon = new BMap.Icon('/src/assets/images/wz.png', new BMap.Size(20, 30)); | 182 | + const icon = '/src/assets/images/wz.png'; |
| 183 | + let myIcon = new BMap.Icon(icon, new BMap.Size(20, 30)); | ||
| 179 | const point = new BMap.Point(Number(longitude), Number(latitude)); | 184 | const point = new BMap.Point(Number(longitude), Number(latitude)); |
| 180 | let marker = new BMap.Marker(point, { icon: myIcon }); | 185 | let marker = new BMap.Marker(point, { icon: myIcon }); |
| 181 | if (marker) { | 186 | if (marker) { |
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | /> | 8 | /> |
| 9 | <BasicTable @register="registerTable" class="w-5/6 xl:w-4/5"> | 9 | <BasicTable @register="registerTable" class="w-5/6 xl:w-4/5"> |
| 10 | <template #toolbar> | 10 | <template #toolbar> |
| 11 | - <a-button type="primary" @click="handleCreate"> 新增设备 </a-button> | 11 | + <a-button type="primary" @click="handleCreate" v-if="authBtn(role)"> 新增设备 </a-button> |
| 12 | </template> | 12 | </template> |
| 13 | <template #deviceProfile="{ record }"> | 13 | <template #deviceProfile="{ record }"> |
| 14 | <a-button type="link" class="ml-2" @click="goDeviceProfile"> | 14 | <a-button type="link" class="ml-2" @click="goDeviceProfile"> |
| @@ -50,6 +50,23 @@ | @@ -50,6 +50,23 @@ | ||
| 50 | <template #action="{ record }"> | 50 | <template #action="{ record }"> |
| 51 | <TableAction | 51 | <TableAction |
| 52 | :actions="[ | 52 | :actions="[ |
| 53 | + record.customerId | ||
| 54 | + ? { | ||
| 55 | + tooltip: '取消分配给客户', | ||
| 56 | + icon: 'mdi:account-arrow-left', | ||
| 57 | + ifShow: authBtn(role), | ||
| 58 | + popConfirm: { | ||
| 59 | + title: '是否取消分配给客户', | ||
| 60 | + confirm: handleCancelDispatchCustomer.bind(null, record), | ||
| 61 | + }, | ||
| 62 | + } | ||
| 63 | + : { | ||
| 64 | + icon: 'mdi:account-arrow-right', | ||
| 65 | + tooltip: '分配给客户', | ||
| 66 | + ifShow: authBtn(role), | ||
| 67 | + onClick: handleDispatchCustomer.bind(null, record), | ||
| 68 | + }, | ||
| 69 | + | ||
| 53 | { | 70 | { |
| 54 | label: '详情', | 71 | label: '详情', |
| 55 | icon: 'ant-design:eye-outlined', | 72 | icon: 'ant-design:eye-outlined', |
| @@ -58,11 +75,13 @@ | @@ -58,11 +75,13 @@ | ||
| 58 | { | 75 | { |
| 59 | label: '编辑', | 76 | label: '编辑', |
| 60 | icon: 'clarity:note-edit-line', | 77 | icon: 'clarity:note-edit-line', |
| 78 | + ifShow: authBtn(role), | ||
| 61 | onClick: handleEdit.bind(null, record), | 79 | onClick: handleEdit.bind(null, record), |
| 62 | }, | 80 | }, |
| 63 | { | 81 | { |
| 64 | label: '删除', | 82 | label: '删除', |
| 65 | icon: 'ant-design:delete-outlined', | 83 | icon: 'ant-design:delete-outlined', |
| 84 | + ifShow: authBtn(role), | ||
| 66 | color: 'error', | 85 | color: 'error', |
| 67 | popConfirm: { | 86 | popConfirm: { |
| 68 | title: '是否确认删除', | 87 | title: '是否确认删除', |
| @@ -74,7 +93,8 @@ | @@ -74,7 +93,8 @@ | ||
| 74 | </template> | 93 | </template> |
| 75 | </BasicTable> | 94 | </BasicTable> |
| 76 | <DeviceDetailDrawer @register="registerDetailDrawer" /> | 95 | <DeviceDetailDrawer @register="registerDetailDrawer" /> |
| 77 | - <DeviceModal @register="registerModal" @success="handleSuccess" @reload="handleReload" /> | 96 | + <DeviceModal @register="registerModal" @success="handleSuccess" @reload="handleSuccess" /> |
| 97 | + <CustomerModal @register="registerCustomerModal" @reload="handleSuccess" /> | ||
| 78 | </PageWrapper> | 98 | </PageWrapper> |
| 79 | </div> | 99 | </div> |
| 80 | </template> | 100 | </template> |
| @@ -85,7 +105,7 @@ | @@ -85,7 +105,7 @@ | ||
| 85 | import { columns, searchFormSchema } from './config/device.data'; | 105 | import { columns, searchFormSchema } from './config/device.data'; |
| 86 | import { Tag } from 'ant-design-vue'; | 106 | import { Tag } from 'ant-design-vue'; |
| 87 | import { useMessage } from '/@/hooks/web/useMessage'; | 107 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 88 | - import { deleteDevice, devicePage } from '/@/api/device/deviceManager'; | 108 | + import { deleteDevice, devicePage, cancelDispatchCustomer } from '/@/api/device/deviceManager'; |
| 89 | import { PageEnum } from '/@/enums/pageEnum'; | 109 | import { PageEnum } from '/@/enums/pageEnum'; |
| 90 | import { useGo } from '/@/hooks/web/usePage'; | 110 | import { useGo } from '/@/hooks/web/usePage'; |
| 91 | import { PageWrapper } from '/@/components/Page'; | 111 | import { PageWrapper } from '/@/components/Page'; |
| @@ -95,7 +115,11 @@ | @@ -95,7 +115,11 @@ | ||
| 95 | import DeviceModal from './cpns/modal/DeviceModal.vue'; | 115 | import DeviceModal from './cpns/modal/DeviceModal.vue'; |
| 96 | import { useDrawer } from '/@/components/Drawer'; | 116 | import { useDrawer } from '/@/components/Drawer'; |
| 97 | import DeviceDetailDrawer from './cpns/modal/DeviceDetailDrawer.vue'; | 117 | import DeviceDetailDrawer from './cpns/modal/DeviceDetailDrawer.vue'; |
| 118 | + import CustomerModal from './cpns/modal/CustomerModal.vue'; | ||
| 98 | 119 | ||
| 120 | + import { USER_INFO_KEY } from '/@/enums/cacheEnum'; | ||
| 121 | + import { getAuthCache } from '/@/utils/auth'; | ||
| 122 | + import { authBtn } from '/@/enums/roleEnum'; | ||
| 99 | export default defineComponent({ | 123 | export default defineComponent({ |
| 100 | name: 'DeviceManagement', | 124 | name: 'DeviceManagement', |
| 101 | components: { | 125 | components: { |
| @@ -106,6 +130,7 @@ | @@ -106,6 +130,7 @@ | ||
| 106 | Tag, | 130 | Tag, |
| 107 | DeviceModal, | 131 | DeviceModal, |
| 108 | DeviceDetailDrawer, | 132 | DeviceDetailDrawer, |
| 133 | + CustomerModal, | ||
| 109 | }, | 134 | }, |
| 110 | setup(_) { | 135 | setup(_) { |
| 111 | const { createMessage } = useMessage(); | 136 | const { createMessage } = useMessage(); |
| @@ -114,6 +139,7 @@ | @@ -114,6 +139,7 @@ | ||
| 114 | const searchInfo = reactive<Recordable>({}); | 139 | const searchInfo = reactive<Recordable>({}); |
| 115 | const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo); | 140 | const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo); |
| 116 | const [registerModal, { openModal }] = useModal(); | 141 | const [registerModal, { openModal }] = useModal(); |
| 142 | + const [registerCustomerModal, { openModal: openCustomerModal }] = useModal(); | ||
| 117 | const [registerDetailDrawer, { openDrawer }] = useDrawer(); | 143 | const [registerDetailDrawer, { openDrawer }] = useDrawer(); |
| 118 | const [registerTable, { reload }] = useTable({ | 144 | const [registerTable, { reload }] = useTable({ |
| 119 | title: '设备列表', | 145 | title: '设备列表', |
| @@ -130,22 +156,32 @@ | @@ -130,22 +156,32 @@ | ||
| 130 | showIndexColumn: false, | 156 | showIndexColumn: false, |
| 131 | searchInfo: searchInfo, | 157 | searchInfo: searchInfo, |
| 132 | actionColumn: { | 158 | actionColumn: { |
| 133 | - width: 200, | 159 | + width: 250, |
| 134 | title: '操作', | 160 | title: '操作', |
| 135 | dataIndex: 'action', | 161 | dataIndex: 'action', |
| 136 | slots: { customRender: 'action' }, | 162 | slots: { customRender: 'action' }, |
| 137 | fixed: 'right', | 163 | fixed: 'right', |
| 138 | }, | 164 | }, |
| 139 | }); | 165 | }); |
| 140 | - const handleReload = () => { | ||
| 141 | - handleSuccess(); | ||
| 142 | - }; | 166 | + |
| 167 | + const userInfo: any = getAuthCache(USER_INFO_KEY); | ||
| 168 | + const role: string = userInfo.roles[0]; | ||
| 143 | 169 | ||
| 144 | function handleCreate() { | 170 | function handleCreate() { |
| 145 | openModal(true, { | 171 | openModal(true, { |
| 146 | isUpdate: false, | 172 | isUpdate: false, |
| 147 | }); | 173 | }); |
| 148 | } | 174 | } |
| 175 | + // 分配客户 | ||
| 176 | + function handleDispatchCustomer(record: Recordable) { | ||
| 177 | + openCustomerModal(true, record); | ||
| 178 | + } | ||
| 179 | + // 取消分配客户 | ||
| 180 | + async function handleCancelDispatchCustomer(record: Recordable) { | ||
| 181 | + console.log('record', record); | ||
| 182 | + await cancelDispatchCustomer({ ...record, customerId: '' }); | ||
| 183 | + handleSuccess(); | ||
| 184 | + } | ||
| 149 | 185 | ||
| 150 | function handleDetail(record: Recordable) { | 186 | function handleDetail(record: Recordable) { |
| 151 | const { id, tbDeviceId } = record; | 187 | const { id, tbDeviceId } = record; |
| @@ -191,12 +227,16 @@ | @@ -191,12 +227,16 @@ | ||
| 191 | goDeviceProfile, | 227 | goDeviceProfile, |
| 192 | handleSelect, | 228 | handleSelect, |
| 193 | registerModal, | 229 | registerModal, |
| 194 | - handleReload, | ||
| 195 | registerDetailDrawer, | 230 | registerDetailDrawer, |
| 196 | DeviceTypeEnum, | 231 | DeviceTypeEnum, |
| 197 | DeviceState, | 232 | DeviceState, |
| 198 | searchInfo, | 233 | searchInfo, |
| 199 | organizationIdTreeRef, | 234 | organizationIdTreeRef, |
| 235 | + handleDispatchCustomer, | ||
| 236 | + handleCancelDispatchCustomer, | ||
| 237 | + registerCustomerModal, | ||
| 238 | + authBtn, | ||
| 239 | + role, | ||
| 200 | }; | 240 | }; |
| 201 | }, | 241 | }, |
| 202 | }); | 242 | }); |
| @@ -41,7 +41,7 @@ export const columns: BasicColumn[] = [ | @@ -41,7 +41,7 @@ export const columns: BasicColumn[] = [ | ||
| 41 | customRender: ({ record }) => { | 41 | customRender: ({ record }) => { |
| 42 | const status = record.readStatus; | 42 | const status = record.readStatus; |
| 43 | const enable = status == 0 ? '未读' : status == 1 ? '已读' : '其他'; | 43 | const enable = status == 0 ? '未读' : status == 1 ? '已读' : '其他'; |
| 44 | - const color = enable == '未读' ? 'green' : enable == '已读' ? 'yellow' : 'red'; | 44 | + const color = enable == '未读' ? 'yellow' : enable == '已读' ? 'green' : 'red'; |
| 45 | const text = enable == '未读' ? '未读' : enable == '已读' ? '已读' : '其他'; | 45 | const text = enable == '未读' ? '未读' : enable == '已读' ? '已读' : '其他'; |
| 46 | return h(Tag, { color }, () => text); | 46 | return h(Tag, { color }, () => text); |
| 47 | }, | 47 | }, |
| @@ -21,6 +21,7 @@ | @@ -21,6 +21,7 @@ | ||
| 21 | name: 'AccountDetail', | 21 | name: 'AccountDetail', |
| 22 | components: { PageWrapper, Description }, | 22 | components: { PageWrapper, Description }, |
| 23 | setup() { | 23 | setup() { |
| 24 | + console.log(123); | ||
| 24 | const route = useRoute(); | 25 | const route = useRoute(); |
| 25 | const go = useGo(); | 26 | const go = useGo(); |
| 26 | const { setTitle, close } = useTabs(); | 27 | const { setTitle, close } = useTabs(); |
| @@ -90,7 +90,7 @@ | @@ -90,7 +90,7 @@ | ||
| 90 | setModalProps({ confirmLoading: true }); | 90 | setModalProps({ confirmLoading: true }); |
| 91 | await SaveOrUpdateUserInfo(values, unref(isUpdate)); | 91 | await SaveOrUpdateUserInfo(values, unref(isUpdate)); |
| 92 | closeModal(); | 92 | closeModal(); |
| 93 | - emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } }); | 93 | + emit('success'); |
| 94 | createMessage.success(unref(isUpdate) ? '编辑成功' : '新增成功'); | 94 | createMessage.success(unref(isUpdate) ? '编辑成功' : '新增成功'); |
| 95 | } finally { | 95 | } finally { |
| 96 | setModalProps({ confirmLoading: false }); | 96 | setModalProps({ confirmLoading: false }); |
| @@ -88,7 +88,7 @@ | @@ -88,7 +88,7 @@ | ||
| 88 | const { createMessage } = useMessage(); | 88 | const { createMessage } = useMessage(); |
| 89 | let searchInfo = reactive<Recordable>({}); | 89 | let searchInfo = reactive<Recordable>({}); |
| 90 | const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo); | 90 | const { organizationIdTreeRef, resetFn } = useResetOrganizationTree(searchInfo); |
| 91 | - const [registerTable, { reload, updateTableDataRecord }] = useTable({ | 91 | + const [registerTable, { reload }] = useTable({ |
| 92 | title: '账号列表', | 92 | title: '账号列表', |
| 93 | api: getAccountList, | 93 | api: getAccountList, |
| 94 | rowKey: 'id', | 94 | rowKey: 'id', |
| @@ -131,14 +131,8 @@ | @@ -131,14 +131,8 @@ | ||
| 131 | }); | 131 | }); |
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | - function handleSuccess({ isUpdate, values }) { | ||
| 135 | - if (isUpdate) { | ||
| 136 | - // 演示不刷新表格直接更新内部数据。 | ||
| 137 | - // 注意:updateTableDataRecord要求表格的rowKey属性为string并且存在于每一行的record的keys中 | ||
| 138 | - updateTableDataRecord(values.id, values); | ||
| 139 | - } else { | ||
| 140 | - reload(); | ||
| 141 | - } | 134 | + function handleSuccess() { |
| 135 | + reload(); | ||
| 142 | } | 136 | } |
| 143 | 137 | ||
| 144 | function handleSelect(organization) { | 138 | function handleSelect(organization) { |
| @@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
| 79 | @click="handleUpdateInfo" | 79 | @click="handleUpdateInfo" |
| 80 | size="large" | 80 | size="large" |
| 81 | type="primary" | 81 | type="primary" |
| 82 | - style="margin-top: 20px; background-color: #2950f7; border-radius: 5px" | 82 | + style="margin-top: 20px; border-radius: 5px" |
| 83 | >保存信息</a-button | 83 | >保存信息</a-button |
| 84 | > | 84 | > |
| 85 | </div> | 85 | </div> |
| @@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
| 79 | @click="handleUpdateInfo" | 79 | @click="handleUpdateInfo" |
| 80 | size="large" | 80 | size="large" |
| 81 | type="primary" | 81 | type="primary" |
| 82 | - style="margin-top: 20px; background-color: #2950f7; border-radius: 5px" | 82 | + style="margin-top: 20px; border-radius: 5px" |
| 83 | >保存信息</a-button | 83 | >保存信息</a-button |
| 84 | > | 84 | > |
| 85 | </div> | 85 | </div> |
| @@ -32,7 +32,7 @@ | @@ -32,7 +32,7 @@ | ||
| 32 | @click="handleUpdateInfo" | 32 | @click="handleUpdateInfo" |
| 33 | size="large" | 33 | size="large" |
| 34 | type="primary" | 34 | type="primary" |
| 35 | - style="margin-top: 20px; background-color: #2950f7; border-radius: 5px" | 35 | + style="margin-top: 20px; border-radius: 5px" |
| 36 | >更新基本信息</a-button | 36 | >更新基本信息</a-button |
| 37 | > | 37 | > |
| 38 | </div> | 38 | </div> |