diff --git a/web-fe/.umirc.ts b/web-fe/.umirc.ts index 89b80b9..f6a705b 100644 --- a/web-fe/.umirc.ts +++ b/web-fe/.umirc.ts @@ -45,7 +45,7 @@ export default defineConfig({ npmClient: 'pnpm', proxy: { '/api/nex/v1/': { - target: 'http://10.100.51.85:8112', + target: 'http://10.100.51.85:8113', // changeOrigin: true, }, '/api/files': { diff --git a/web-fe/src/pages/terminal/index.tsx b/web-fe/src/pages/terminal/index.tsx index 8ae6c5d..bafb058 100644 --- a/web-fe/src/pages/terminal/index.tsx +++ b/web-fe/src/pages/terminal/index.tsx @@ -7,9 +7,9 @@ import { deleteUserGroup, getGroupTree } from '@/services/userList'; import { DeleteOutlined, DownOutlined, + GoldOutlined, PlusOutlined, RedoOutlined, - GoldOutlined, } from '@ant-design/icons'; import { Button, @@ -387,19 +387,41 @@ const UserListPage: React.FC = () => { }; const onDeleteGroup = async () => { if (selectedOrg) { - try { - const params = { - id: selectedOrg, - }; - const res = await deleteUserGroup(params); - const { code } = res || {}; - if (code === ERROR_CODE) { - message.success('分组删除成功'); - getGroupList(); - } - } catch (error) { - message.error('分组删除失败'); + const params: any = { + page_size: pageSize, + page_num: currentPage, + }; + if (selectedOrg) { + params.device_group_id = selectedOrg; } + try { + const result: any = await getTerminalList(params); + const { data } = result || {}; + const { total = 0 } = data || {}; + if (total > 0) { + message.info("该分组下有终端,请先删除该分组下的所有终端"); + } else { + onDeleteGroupSave(); + } + } catch (err) { + console.log(err); + } + } + }; + + const onDeleteGroupSave = async () => { + try { + const params = { + id: selectedOrg, + }; + const res = await deleteUserGroup(params); + const { code } = res || {}; + if (code === ERROR_CODE) { + message.success('分组删除成功'); + getGroupList(); + } + } catch (error) { + message.error('分组删除失败'); } }; @@ -486,7 +508,7 @@ const UserListPage: React.FC = () => { showIcon={true} selectedKeys={selectedOrg ? [selectedOrg] : []} // switcherIcon={} - icon={} + icon={} /> diff --git a/web-fe/src/pages/terminal/mod/bindImage/index.tsx b/web-fe/src/pages/terminal/mod/bindImage/index.tsx index efcad8b..47804d9 100644 --- a/web-fe/src/pages/terminal/mod/bindImage/index.tsx +++ b/web-fe/src/pages/terminal/mod/bindImage/index.tsx @@ -61,30 +61,27 @@ const BindUserModal: React.FC = ({ const handleOk = async () => { try { const values = await form.validateFields(); - const { image_list } = values || {}; + const { image_list = [] } = values || {}; console.log('image_list=====', image_list); - if (image_list && image_list.length > 0) { - const list: any[] = []; - image_list.forEach((item: any) => { - const obj: any = { - device_id: device_id, - image_id: item.id, - }; - const newData = dataSource.filter( - (record) => record.image_id === item.id, - ); - if (newData && newData.length === 1) { - obj.id = newData[0].id; - } - list.push({ ...obj }); - }); - const payload: any = { - data: list, + const list: any[] = []; + image_list.forEach((item: any) => { + const obj: any = { + device_id: device_id, + image_id: item.id, }; - onBind(payload); - } else { - message.info('请先选择绑定的镜像'); - } + const newData = dataSource.filter( + (record) => record.image_id === item.id, + ); + if (newData && newData.length === 1) { + obj.id = newData[0].id; + } + list.push({ ...obj }); + }); + const payload: any = { + data: list, + device_id:device_id, + }; + onBind(payload); } catch (error) { message.error('请检查表单字段'); } @@ -131,7 +128,7 @@ const BindUserModal: React.FC = ({ diff --git a/web-fe/src/pages/terminal/mod/bindUser/index.tsx b/web-fe/src/pages/terminal/mod/bindUser/index.tsx index 5ced28e..8bfde78 100644 --- a/web-fe/src/pages/terminal/mod/bindUser/index.tsx +++ b/web-fe/src/pages/terminal/mod/bindUser/index.tsx @@ -112,46 +112,45 @@ const BindUserModal: React.FC = ({ const values = await form.validateFields(); const { user_list = [] } = values || {}; const list: any[] = []; - if (user_list && user_list.length > 0) { - user_list.forEach((item: any) => { - const { type, id } = item || {}; - if (type === 1) { - // 用户 - const obj: any = { - device_id, - device_group_id, - type: type, - user_id: id, - }; - const newData = userDataSource.filter( - (record) => record.user_id === item.id && record.type === 1, - ); - if (newData && newData.length === 1) { - obj.id = newData[0].id; - } - list.push(obj); - } else { - //用户分组 - const obj: any = { - device_id, - device_group_id, - type: type, - user_group_id: id, - }; - const newData = userDataSource.filter( - (record) => record.user_group_id === item.id && record.type === 2, - ); - if (newData && newData.length === 1) { - obj.id = newData[0].id; - } - list.push(obj); + user_list.forEach((item: any) => { + const { type, id } = item || {}; + if (type === 1) { + // 用户 + const obj: any = { + device_id, + device_group_id, + type: type, + user_id: id, + }; + const newData = userDataSource.filter( + (record) => record.user_id === item.id && record.type === 1, + ); + if (newData && newData.length === 1) { + obj.id = newData[0].id; } - }); - const payload = { - data: list, - }; - onBind(payload); - } + list.push(obj); + } else { + //用户分组 + const obj: any = { + device_id, + device_group_id, + type: type, + user_group_id: id, + }; + const newData = userDataSource.filter( + (record) => record.user_group_id === item.id && record.type === 2, + ); + if (newData && newData.length === 1) { + obj.id = newData[0].id; + } + list.push(obj); + } + }); + const payload = { + data: list, + device_id:device_id, + }; + onBind(payload); } catch (error) { message.error('请检查表单字段'); } @@ -198,7 +197,7 @@ const BindUserModal: React.FC = ({ diff --git a/web-fe/src/pages/userList/index.tsx b/web-fe/src/pages/userList/index.tsx index 6c6bcf7..13b6da5 100644 --- a/web-fe/src/pages/userList/index.tsx +++ b/web-fe/src/pages/userList/index.tsx @@ -394,20 +394,54 @@ const UserListPage: React.FC = () => { const onDeleteGroup = async () => { if (selectedOrg) { - try { - const params = { - id: selectedOrg, - }; - const res = await deleteUserGroup(params); - const { code } = res || {}; - if (code === ERROR_CODE) { - message.success('分组删除成功'); - setSelectedOrg(null); - getUserGroupList(); - } - } catch (error) { - message.error('分组删除失败'); + // try { + // const params = { + // id: selectedOrg, + // }; + // const res = await deleteUserGroup(params); + // const { code } = res || {}; + // if (code === ERROR_CODE) { + // message.success('分组删除成功'); + // setSelectedOrg(null); + // getUserGroupList(); + // } + // } catch (error) { + // message.error('分组删除失败'); + // } + const params: any = { + page_size: pageSize, + page_num: currentPage, + }; + if (selectedOrg) { + params.user_group_id = selectedOrg; } + try { + const result = await getUserList(params); + const { data = {} } = result || {}; + const { total = 0 } = data || {}; + if (total > 0) { + message.info('当前分组下有用户,请先删除用户', 5); + } else { + ondeleteCroupSave(); + } + } catch (err) {} + } + }; + + const ondeleteCroupSave = async () => { + try { + const params = { + id: selectedOrg, + }; + const res = await deleteUserGroup(params); + const { code } = res || {}; + if (code === ERROR_CODE) { + message.success('分组删除成功'); + setSelectedOrg(null); + getUserGroupList(); + } + } catch (error) { + message.error('分组删除失败'); } };