From eed62f6123e98ddfcbd2b42e153d87b49ccf6a37 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 09 九月 2024 14:25:51 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/i18n/en.js                                                            |    1 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java |    6 +++++-
 zy-acs-flow/src/page/user/RolesField.jsx                                              |   29 +++++++++++++++++++++++++++++
 zy-acs-flow/src/page/user/UserList.jsx                                                |   22 ++++++++++++++--------
 zy-acs-flow/src/i18n/zh.js                                                            |    1 +
 5 files changed, 50 insertions(+), 9 deletions(-)

diff --git a/zy-acs-flow/src/i18n/en.js b/zy-acs-flow/src/i18n/en.js
index 09c525f..d7465c3 100644
--- a/zy-acs-flow/src/i18n/en.js
+++ b/zy-acs-flow/src/i18n/en.js
@@ -144,6 +144,7 @@
                 idCard: "idCard",
                 birthday: "birthday",
                 introduction: "introduction",
+                role: "role",
             },
             operationRecord: {
                 namespace: "namespace",
diff --git a/zy-acs-flow/src/i18n/zh.js b/zy-acs-flow/src/i18n/zh.js
index 09516f5..b42e705 100644
--- a/zy-acs-flow/src/i18n/zh.js
+++ b/zy-acs-flow/src/i18n/zh.js
@@ -144,6 +144,7 @@
                 idCard: "韬唤璇�",
                 birthday: "鐢熸棩",
                 introduction: "绠�浠�",
+                role: "瑙掕壊",
             },
             operationRecord: {
                 namespace: "鍛藉悕绌洪棿",
diff --git a/zy-acs-flow/src/page/user/RolesField.jsx b/zy-acs-flow/src/page/user/RolesField.jsx
new file mode 100644
index 0000000..bfda740
--- /dev/null
+++ b/zy-acs-flow/src/page/user/RolesField.jsx
@@ -0,0 +1,29 @@
+import * as React from 'react';
+import { Stack, Chip } from '@mui/material';
+import { useTranslate, useRecordContext } from 'react-admin';
+
+const RolesField = () => {
+    const translate = useTranslate();
+    const record = useRecordContext();
+
+    React.useEffect(() => {
+        console.log();
+
+    }, [record]);
+
+    return (
+        <Stack direction="row" gap={1} flexWrap="wrap">
+            {record.roles?.map((item, idx) => {
+                if (item) {
+                    return <Chip
+                        size="small"
+                        key={item.id}
+                        label={item.name}
+                    />;
+                }
+            })}
+        </Stack>
+    )
+}
+
+export default RolesField;
\ No newline at end of file
diff --git a/zy-acs-flow/src/page/user/UserList.jsx b/zy-acs-flow/src/page/user/UserList.jsx
index 90a92d3..be88111 100644
--- a/zy-acs-flow/src/page/user/UserList.jsx
+++ b/zy-acs-flow/src/page/user/UserList.jsx
@@ -43,6 +43,7 @@
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE } from '@/config/setting';
 import * as Common from '@/utils/common';
 import UserListAside from "./UserListAside";
+import RolesField from './RolesField';
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -56,17 +57,22 @@
     '& .opt': {
         width: 200
     },
+    '& .column-deptId': {
+        maxWidth: 80
+    },
+    '& .column-statusBool': {
+        maxWidth: 60
+    },
 }));
 
 const filters = [
-    <SearchInput source="condition" alwaysOn />,
+    // <SearchInput source="condition" alwaysOn />,
     <DateInput label='common.time.after' source="timeStart" alwaysOn />,
     <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
 
     <TextInput source="username" label="table.field.user.username" />,
     <TextInput source="password" label="table.field.user.password" />,
     <TextInput source="nickname" label="table.field.user.nickname" />,
-    <TextInput source="avatar" label="table.field.user.avatar" />,
     <TextInput source="code" label="table.field.user.code" />,
     <SelectInput source="sex" label="table.field.user.sex"
         choices={[
@@ -121,7 +127,7 @@
                 }}
                 title={"menu.user"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
-                filters={[]}
+                filters={filters}
                 sort={{ field: "create_time", order: "desc" }}
                 actions={(
                     <TopToolbar>
@@ -140,22 +146,22 @@
                     rowClick={(id, resource, record) => false}
                     expand={() => <UserPanel />}
                     expandSingle={true}
-                    omit={['id', 'birthday', 'updateTime', 'createTime', 'memo']}
+                    omit={['id', 'email', 'idCard', 'birthday', 'updateTime', 'createTime', 'memo']}
                 >
                     <NumberField source="id" />
                     <TextField source="username" label="table.field.user.username" />
+                    <ReferenceField source="deptId" label="table.field.user.deptId" reference="dept" link={false}>
+                        <TextField source="name" />
+                    </ReferenceField>
                     <TextField source="nickname" label="table.field.user.nickname" />
                     <TextField source="code" label="table.field.user.code" />
                     <TextField source="sex$" label="table.field.user.sex" sortable={false} />
                     <TextField source="phone" label="table.field.user.phone" />
                     <TextField source="email" label="table.field.user.email" />
-                    <ReferenceField source="deptId" label="table.field.user.deptId" reference="dept" link={false}>
-                        <TextField source="name" />
-                    </ReferenceField>
                     <TextField source="realName" label="table.field.user.realName" />
                     <TextField source="idCard" label="table.field.user.idCard" />
                     <TextField source="birthday" label="table.field.user.birthday" />
-
+                    <RolesField source="roles" label="table.field.user.role" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     <BooleanField source="statusBool" label="common.field.status" sortable={false} />
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
index 8a11520..8bc36f2 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
@@ -39,7 +39,11 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
-        return R.ok().add(userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time"))));
+        PageParam<User, BaseParam> page = userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time")));
+        for (User record : page.getRecords()) {
+            record.setRoles(userRoleService.listByUserId(record.getId()));
+        }
+        return R.ok().add(page);
     }
 
     @PreAuthorize("hasAuthority('system:user:list')")

--
Gitblit v1.9.1