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}> </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