From 4523802a2f7037c2133331a504cea171c91ccb88 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 10 四月 2025 17:45:58 +0800
Subject: [PATCH] #修改 1. 字典界面优化修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java |   20 +++
 /dev/null                                                                    |   87 --------------
 rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx                  |    2 
 rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx                           |   11 -
 rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx                    |   98 +++++++--------
 rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx                    |   22 +--
 rsf-admin/src/i18n/zh.js                                                     |    8 
 rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx                  |   12 +
 rsf-admin/src/page/ResourceContent.js                                        |    6 
 rsf-admin/src/page/purchase/PurchaseList.jsx                                 |   21 --
 rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx                    |   16 --
 rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx                    |   42 ++----
 12 files changed, 110 insertions(+), 235 deletions(-)

diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 7a43338..e1546a9 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -507,14 +507,14 @@
                 code: "ASN鍗曞彿",
                 poCode: "PO缂栫爜",
                 poId: "PO鏍囪瘑",
-                type: "鍗曟嵁绫诲瀷",
+                type: "绫诲瀷",
                 wkType: "涓氬姟绫诲瀷",
                 anfme: "鏁伴噺",
-                qty: "宸插畬鎴愭暟閲�",
+                qty: "瀹屾垚鏁伴噺",
                 logisNo: "鐗╂祦鍗曞彿",
                 arrTime: "棰勮鍒拌揪鏃堕棿",
-                rleStatus: "閲婃斁鐘舵��",
-                ntyStatus: "璐ㄦ涓婃姤鐘舵��",
+                rleStatus: "鐘舵��",
+                ntyStatus: "涓婃姤鐘舵��",
             },
             asnOrderItem: {
                 asnId: "涓诲崟鏍囪瘑",
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index 2ead1d2..7f54c8c 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -34,7 +34,7 @@
 import whMat from './basicInfo/whMat';
 import asnOrder from './asnOrder';
 import asnOrderItem from './asnOrderItem';
-import purchaseItem from './purchaseItem';
+// import purchaseItem from './purchaseItem';
 import purchase from './purchase';
 import fields from './fields';
 import fieldsItem from './fieldsItem';
@@ -105,8 +105,8 @@
             return asnOrderItem;
         case 'asnOrderLog':
             return asnOrderLog;
-        case 'purchaseItem':
-            return purchaseItem;
+        // case 'purchaseItem':
+        //     return purchaseItem;
         case 'purchase':
             return purchase;
         case 'fields':
diff --git a/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx b/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx
index 1478e38..ceb24f6 100644
--- a/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx
+++ b/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx
@@ -131,7 +131,7 @@
                     rowClick={'edit'}
                     expand={false}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'memo']}
+                    omit={['id', 'createTime', 'createBy', 'memo', 'rleStatus']}
                 >
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.asnOrderLog.code" />
@@ -145,14 +145,9 @@
                     <DateField source="arrTime" label="table.field.asnOrderLog.arrTime" showTime />
                     <TextField source="rleStatus$" label="table.field.asnOrderLog.rleStatus" sortable={false} />
                     <TextField source="ntyStatus$" label="table.field.asnOrderLog.ntyStatus" sortable={false} />
-
-                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
+                    <TextField source="updateBy$" label="common.field.updateBy"  />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
-                    <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
+                    <TextField source="createBy$" label="common.field.createBy"/>
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     <BooleanField source="statusBool" label="common.field.status" sortable={false} />
                     <TextField source="memo" label="common.field.memo" sortable={false} />
diff --git a/rsf-admin/src/page/purchase/PurchaseList.jsx b/rsf-admin/src/page/purchase/PurchaseList.jsx
index 4a67361..0a45197 100644
--- a/rsf-admin/src/page/purchase/PurchaseList.jsx
+++ b/rsf-admin/src/page/purchase/PurchaseList.jsx
@@ -126,19 +126,11 @@
           rowClick={'edit'}
           expand={false}
           expandSingle={true}
-          omit={['id', 'createTime', 'createBy', 'memo']}
+          omit={['id', 'createTime', 'createBy', 'memo', 'preArr', 'channel','startTime','workQty', 'endTime']}
         >
           <NumberField source="id" />
-          {/* <MyField
-            source="code"
-            label="table.field.purchase.code"
-            onClick={(event, record, val) => {
-              event.stopPropagation();
-              assign(record);
-            }}
-          /> */}
           <TextField source="code" label="table.field.purchase.code" />
-          <TextField source="type" label="table.field.purchase.type" />
+          <TextField source="type$" label="table.field.purchase.type" />
           <TextField source="source" label="table.field.purchase.source" />
           <DateField source="preArr" label="table.field.purchase.preArr" showTime />
           <NumberField source="anfme" label="table.field.purchase.anfme" />
@@ -149,14 +141,9 @@
           <DateField source="startTime" label="table.field.purchase.startTime" showTime />
           <DateField source="endTime" label="table.field.purchase.endTime" showTime />
           <TextField source="project" label="table.field.purchase.project" />
-
-          <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-            <TextField source="nickname" />
-          </ReferenceField>
+          <TextField source="updateBy$" label="common.field.updateBy"  />
           <DateField source="updateTime" label="common.field.updateTime" showTime />
-          <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-            <TextField source="nickname" />
-          </ReferenceField>
+          <TextField source="createBy$" label="common.field.createBy"  />
           <DateField source="createTime" label="common.field.createTime" showTime />
           <BooleanField source="statusBool" label="common.field.status" sortable={false} />
           <TextField source="memo" label="common.field.memo" sortable={false} />
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
index afc4ea0..058996b 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
@@ -32,8 +32,7 @@
 import MemoInput from "../../../components/MemoInput";
 
 const DictDataCreate = (props) => {
-    const { open, setOpen, row } = props;
-
+    const { open, setOpen, record } = props;
     const translate = useTranslate();
     const notify = useNotify();
 
@@ -55,6 +54,7 @@
     return (
         <>
             <CreateBase
+                resource="dictData"
                 record={{}}
                 transform={(data) => {
                     return data;
@@ -88,10 +88,10 @@
                                     <TextInput
                                         label="table.field.dictData.dictTypeId"
                                         source="dictTypeId"
+                                        defaultValue={record?.id}
                                         parse={v => v}
-                                        autoFocus
+                                        readOnly
                                         validate={required()}
-                                        defaultValue={row.dictTypeId}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
@@ -99,8 +99,9 @@
                                         label="table.field.dictData.dictTypeCode"
                                         source="dictTypeCode"
                                         parse={v => v}
+                                        readOnly
+                                        defaultValue={record?.code}
                                         validate={required()}
-                                        defaultValue={row.dictTypeCode}
                                     />
                                 </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
@@ -115,6 +116,7 @@
                                     <TextInput
                                         label="table.field.dictData.label"
                                         validate={required()}
+                                        autoFocus
                                         source="label"
                                         parse={v => v}
                                     />
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
index d04c3e1..e0f2fbe 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
@@ -21,6 +21,7 @@
     DeleteButton,
     useNotify,
     useRedirect,
+    useEditContext,
 } from 'react-admin';
 import { useWatch, useFormContext } from "react-hook-form";
 import { Stack, Grid, Box, Typography } from '@mui/material';
@@ -33,17 +34,13 @@
 
 const FormToolbar = () => {
     const form = useFormContext();
+    const { record, isPending } = useEditContext();
     const redirect = useRedirect();
-    const notify = useNotify();
-    const onSuccess = (data) => {
-        const { dictTypeId, dictTypeCode } = data
-        notify(`淇敼鎴愬姛!`);
-        redirect(`/dictData?dictTypeId=${dictTypeId}&code=${dictTypeCode}`);
-    }
-
     return (
-        <Toolbar sx={{ justifyContent: 'space-between' }}>
-            <SaveButton type="button" mutationOptions={{ onSuccess }} />
+        <Toolbar sx={{ justifyContent: 'end' }}>
+            <SaveButton type="button" mutationOptions={{onSuccess:() => {
+                redirect('/dictType/' + record?.dictTypeId)
+            } }}/>
             <DeleteButton mutationMode="optimistic" />
         </Toolbar>
     )
@@ -52,17 +49,15 @@
 const DictDataEdit = () => {
     const translate = useTranslate();
 
-
     return (
         <Edit
             redirect="list"
+            resource="dictData"
             mutationMode={EDIT_MODE}
             actions={<CustomerTopToolBar backPrevious={true} />}
             aside={<EditBaseAside />}
         >
             <SimpleForm
-                shouldUnregister
-                warnWhenUnsavedChanges
                 toolbar={<FormToolbar />}
                 mode="onTouched"
                 defaultValues={{}}
@@ -77,8 +72,8 @@
                             <TextInput
                                 label="table.field.dictData.dictTypeId"
                                 source="dictTypeId"
+                                readOnly
                                 parse={v => v}
-                                autoFocus
                                 validate={required()}
                             />
                         </Stack>
@@ -86,6 +81,7 @@
                             <TextInput
                                 label="table.field.dictData.dictTypeCode"
                                 source="dictTypeCode"
+                                readOnly
                                 parse={v => v}
                                 validate={required()}
                             />
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
index 5506184..8c508bd 100644
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
@@ -31,19 +31,18 @@
     ReferenceArrayInput,
     AutocompleteInput,
     DeleteButton,
+    useGetRecordId,
+    useGetPathForRecord,
+    useGetOne,
 } from 'react-admin';
 import { Box, Typography, Card, Stack } from '@mui/material';
 import { styled } from '@mui/material/styles';
 import DictDataCreate from "./DictDataCreate";
-import DictDataPanel from "./DictDataPanel";
 import EmptyData from "../../../components/EmptyData";
 import MyCreateButton from "../../../components/MyCreateButton";
 import MyExportButton from '../../../components/MyExportButton';
 import PageDrawer from "../../../components/PageDrawer";
-import MyField from "../../../components/MyField";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import * as Common from '@/utils/common';
-import CustomerTopToolBar from "../../../components/EditTopToolBar";
 
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -62,14 +61,12 @@
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-
     <TextInput source="dictTypeId" label="table.field.dictData.dictTypeId" />,
     <TextInput source="dictTypeCode" label="table.field.dictData.dictTypeCode" />,
     <TextInput source="value" label="table.field.dictData.value" />,
     <TextInput source="label" label="table.field.dictData.label" />,
     <NumberInput source="sort" label="table.field.dictData.sort" />,
     // <TextInput source="color" label="table.field.dictData.color" />,
-
     <TextInput label="common.field.memo" source="memo" />,
     <SelectInput
         label="common.field.status"
@@ -84,21 +81,16 @@
 
 const DictDataList = () => {
     const translate = useTranslate();
-
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
-    const [fit, setFilters] = useState(filters);
-    const location = useLocation();
-    const queryParams = new URLSearchParams(location.search);
-    const dictTypeId = queryParams.get('dictTypeId');
-    const dictTypeCode = queryParams.get('code');
-
+    const dictId = useGetRecordId();
+    const {data: dicts, isPending, error} =  useGetOne('dictType', {id: dictId});
+    
     return (
         <>
-            {dictTypeId && <CustomerTopToolBar backPrevious={true} />}
             <Box display="flex" >
-
                 <List
+                    resource="dictData"
                     sx={{
                         flexGrow: 1,
                         transition: (theme) =>
@@ -110,7 +102,7 @@
                     title={"menu.dictData"}
                     empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
                     filters={filters}
-                    filter={dictTypeId ? { dictTypeId } : undefined}
+                    filter={{ dictTypeId: dictId }}
                     sort={{ field: "create_time", order: "desc" }}
                     actions={(
                         <TopToolbar>
@@ -125,7 +117,7 @@
                     <StyledDatagrid
                         preferenceKey='dictData'
                         bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
-                        rowClick={(id, resource, record) => false}
+                        rowClick="edit"
                         omit={['id', 'createTime', 'createBy', 'memo']}
                     >
                         <NumberField source="id" />
@@ -134,28 +126,22 @@
                         <TextField source="value" label="table.field.dictData.value" />
                         <TextField source="label" label="table.field.dictData.label" />
                         <NumberField source="sort" label="table.field.dictData.sort" />
-                        {/* <TextField source="color" label="table.field.dictData.color" /> */}
-
-                        <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-                            <TextField source="nickname" />
-                        </ReferenceField>
+                        <TextField source="updateBy$" label="common.field.updateBy" />
                         <DateField source="updateTime" label="common.field.updateTime" showTime />
-                        <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-                            <TextField source="nickname" />
-                        </ReferenceField>
+                        <TextField source="createBy$" label="common.field.createBy" />
                         <DateField source="createTime" label="common.field.createTime" showTime />
                         <BooleanField source="statusBool" label="common.field.status" sortable={false} />
                         <TextField source="memo" label="common.field.memo" sortable={false} />
                         <WrapperField cellClassName="opt" label="common.field.opt">
-                            <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
-                            <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
+                            <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE}  redirect={"/dictType/" + dictId}/>
+                            <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} redirect={"/dictType/" + dictId} />
                         </WrapperField>
                     </StyledDatagrid>
                 </List>
                 <DictDataCreate
                     open={createDialog}
+                    record={dicts}
                     setOpen={setCreateDialog}
-                    row={{ dictTypeId, dictTypeCode }}
                 />
                 <PageDrawer
                     title='DictData Detail'
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataPanel.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataPanel.jsx
deleted file mode 100644
index 1f38976..0000000
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataPanel.jsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import { Box, Card, CardContent, Grid, Typography, Tooltip } from '@mui/material';
-import {
-    useTranslate,
-    useRecordContext,
-} from 'react-admin';
-import PanelTypography from "../../../components/PanelTypography";
-import * as Common from '@/utils/common'
-
-const DictDataPanel = () => {
-    const record = useRecordContext();
-    if (!record) return null;
-    const translate = useTranslate();
-    return (
-        <>
-            <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
-                <CardContent>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
-                            <Typography variant="h6" gutterBottom align="left" sx={{
-                                maxWidth: { xs: '100px', sm: '180px', md: '260px', lg: '360px' },
-                                whiteSpace: 'nowrap',
-                                overflow: 'hidden',
-                                textOverflow: 'ellipsis',
-                            }}>
-                                {Common.camelToPascalWithSpaces(translate('table.field.dictData.id'))}: {record.id}
-                            </Typography>
-                            {/*  inherit, primary, secondary, textPrimary, textSecondary, error */}
-                            <Typography variant="h6" gutterBottom align="right" >
-                                ID: {record.id}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Grid container spacing={2}>
-                        <Grid item xs={12} container alignContent="flex-end">
-                            <Typography variant="caption" color="textSecondary" sx={{ wordWrap: 'break-word', wordBreak: 'break-all' }}>
-                                {Common.camelToPascalWithSpaces(translate('common.field.memo'))}:{record.memo}
-                            </Typography>
-                        </Grid>
-                    </Grid>
-                    <Box height={20}>&nbsp;</Box>
-                    <Grid container spacing={2}>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.dictTypeId" 
-                                property={record.dictTypeId$}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.dictTypeCode" 
-                                property={record.dictTypeCode}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.value" 
-                                property={record.value}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.label" 
-                                property={record.label}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.sort" 
-                                property={record.sort}
-                            />
-                        </Grid>
-                        <Grid item xs={6}>
-                            <PanelTypography
-                                title="table.field.dictData.color" 
-                                property={record.color}
-                            />
-                        </Grid>
-
-                    </Grid>
-                </CardContent>
-            </Card >
-        </>
-    );
-};
-
-export default DictDataPanel;
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
index 8acd215..0a31d6f 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeCreate.jsx
@@ -33,10 +33,8 @@
 
 const DictTypeCreate = (props) => {
     const { open, setOpen } = props;
-
     const translate = useTranslate();
     const notify = useNotify();
-
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
index 6155c7b..d938890 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
@@ -28,6 +28,7 @@
 import CustomerTopToolBar from "../../../components/EditTopToolBar";
 import MemoInput from "../../../components/MemoInput";
 import StatusSelectInput from "../../../components/StatusSelectInput";
+import DictDataList from "../dictData/DictDataList";
 
 const FormToolbar = () => {
     const { getValues } = useFormContext();
@@ -41,61 +42,52 @@
 
 const DictTypeEdit = () => {
     const translate = useTranslate();
-    
-    return (
-        <Edit
-            redirect="list"
-            mutationMode={EDIT_MODE}
-            actions={<CustomerTopToolBar />}
-            aside={<EditBaseAside />}
-        >
-            <SimpleForm
-                shouldUnregister
-                warnWhenUnsavedChanges
-                toolbar={<FormToolbar />}
-                mode="onTouched"
-                defaultValues={{}}
-            // validate={(values) => { }}
-            >
-                <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
-                    <Grid item xs={12} md={8}>
-                        <Typography variant="h6" gutterBottom>
-                            {translate('common.edit.title.main')}
-                        </Typography>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.dictType.code"
-                                source="code"
-                                parse={v => v}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.dictType.name"
-                                source="name"
-                                parse={v => v}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.dictType.description"
-                                source="description"
-                                parse={v => v}
-                            />
-                        </Stack>
 
+    return (
+        <>
+            <Edit
+                redirect="list"
+                mutationMode={EDIT_MODE}
+                actions={<CustomerTopToolBar />}
+                aside={<EditBaseAside />}
+            >
+                <SimpleForm
+                    shouldUnregister
+                    warnWhenUnsavedChanges
+                    toolbar={<FormToolbar />}
+                    mode="onTouched"
+                    defaultValues={{}}
+                // validate={(values) => { }}
+                >
+                    <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
+                        <Grid item xs={14} md={10}>
+                            <Typography variant="h6" gutterBottom>
+                                {translate('common.edit.title.main')}
+                            </Typography>
+                            <Stack direction='row' gap={2}>
+                                <TextInput
+                                    label="table.field.dictType.code"
+                                    readOnly
+                                    source="code"
+                                    parse={v => v}
+                                />
+                                <TextInput
+                                    label="table.field.dictType.name"
+                                    source="name"
+                                    parse={v => v}
+                                />
+                                <TextInput
+                                    label="table.field.dictType.description"
+                                    source="description"
+                                    parse={v => v}
+                                />
+                            </Stack>
+                        </Grid>
                     </Grid>
-                    <Grid item xs={12} md={4}>
-                        <Typography variant="h6" gutterBottom>
-                            {translate('common.edit.title.common')}
-                        </Typography>
-                        <StatusSelectInput />
-                        <Box mt="2em" />
-                        <MemoInput />
-                    </Grid>
-                </Grid>
-            </SimpleForm>
-        </Edit >
+                </SimpleForm>
+            </Edit >
+            <DictDataList />
+        </>
     )
 }
 
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
index e7d18bd..41e773d 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
@@ -81,15 +81,8 @@
 
 const DictTypeList = () => {
     const translate = useTranslate();
-
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
-
-    const navigate = useNavigate();
-    const assign = (record) => {
-        navigate(`/dictData?dictTypeId=${record.id}&code=${record.code}`);
-    }
-
     return (
         <Box display="flex">
             <List
@@ -130,14 +123,9 @@
                     />
                     <TextField source="name" label="table.field.dictType.name" />
                     <TextField source="description" label="table.field.dictType.description" />
-
-                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
+                    <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
-                    <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-                        <TextField source="nickname" />
-                    </ReferenceField>
+                    <TextField source="createBy$" label="common.field.createBy" />
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     <BooleanField source="statusBool" label="common.field.status" sortable={false} />
                     <TextField source="memo" label="common.field.memo" sortable={false} />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
index b348367..ec26c9b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
@@ -1,8 +1,12 @@
 package com.vincent.rsf.server.manager.entity;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
@@ -222,6 +226,20 @@
 //            null    // 澶囨敞
 //    );
 
+    public String getType$() {
+        if (Cools.isEmpty(this.type)) {
+            return "";
+        }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE)
+                .eq(DictData::getValue, this.type));
+        if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) {
+            return null;
+        }
+        return dictDatas.getLabel();
+    }
+
     public String getPreArr$(){
         if (Cools.isEmpty(this.preArr)){
             return "";

--
Gitblit v1.9.1