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('分组删除失败');
}
};