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