From 0f0d395bb06debf5018e69dcb8528dacaae87a5a Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 11 四月 2025 12:49:44 +0800
Subject: [PATCH] 编码规则,数据字典界面优化及修改
---
/dev/null | 18 ------
rsf-admin/src/page/system/dicts/dictType/index.jsx | 2
rsf-admin/src/page/system/serialRule/SerialRuleList.jsx | 27 ++------
rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx | 6 +-
rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx | 47 +++++++--------
rsf-admin/src/i18n/zh.js | 3 +
rsf-admin/src/page/ResourceContent.js | 12 ++--
rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx | 18 ++----
rsf-admin/.env | 2
9 files changed, 49 insertions(+), 86 deletions(-)
diff --git a/rsf-admin/.env b/rsf-admin/.env
index a8ce658..a3c69b2 100644
--- a/rsf-admin/.env
+++ b/rsf-admin/.env
@@ -1,3 +1,3 @@
-VITE_BASE_IP=192.168.4.24
+VITE_BASE_IP=127.0.0.1
# VITE_BASE_IP=47.76.147.249
VITE_BASE_PORT=8080
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index e1546a9..f2bf06e 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -9,6 +9,9 @@
fail: "鏈嶅姟鍣ㄩ敊璇�",
dataError: "鏁版嵁閿欒锛岃浠旂粏妫�鏌�",
},
+ button: {
+ edit: "缂栬緫",
+ },
field: {
id: 'ID',
uuid: '缂栧彿',
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index 7f54c8c..82f7ee1 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -23,13 +23,13 @@
import qlyInspect from './qlyInspect';
import qlyIsptItem from './qlyIsptItem';
import dictType from './system/dicts/dictType';
-import dictData from './system/dicts/dictData';
+// import dictData from './system/dicts/dictData';
import companys from './basicInfo/companys';
import locType from './basicInfo/locType';
import locArea from './basicInfo//locArea';
import locAreaMatRela from './basicInfo/locAreaMatRela';
import locAreaMat from './basicInfo/locAreaMat';
-import serialRuleItem from './system/serialRuleItem';
+// import serialRuleItem from './system/serialRuleItem';
import serialRule from './system/serialRule';
import whMat from './basicInfo/whMat';
import asnOrder from './asnOrder';
@@ -89,12 +89,12 @@
return qlyIsptItem;
case 'dictType':
return dictType;
- case 'dictData':
- return dictData;
+ // case 'dictData':
+ // return dictData;
case 'companys':
return companys;
- case 'serialRuleItem':
- return serialRuleItem;
+ // case 'serialRuleItem':
+ // return serialRuleItem;
case 'serialRule':
return serialRule;
case 'whMat':
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
deleted file mode 100644
index 058996b..0000000
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataCreate.jsx
+++ /dev/null
@@ -1,160 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- CreateBase,
- useTranslate,
- TextInput,
- NumberInput,
- BooleanInput,
- DateInput,
- SaveButton,
- SelectInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- Toolbar,
- required,
- useDataProvider,
- useNotify,
- Form,
- useCreateController,
-} from 'react-admin';
-import {
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- Stack,
- Grid,
- Box,
-} from '@mui/material';
-import DialogCloseButton from "../../../components/DialogCloseButton";
-import StatusSelectInput from "../../../components/StatusSelectInput";
-import MemoInput from "../../../components/MemoInput";
-
-const DictDataCreate = (props) => {
- const { open, setOpen, record } = props;
- const translate = useTranslate();
- const notify = useNotify();
-
- const handleClose = (event, reason) => {
- if (reason !== "backdropClick") {
- setOpen(false);
- }
- };
-
- const handleSuccess = async (data) => {
- setOpen(false);
- notify('common.response.success');
- };
-
- const handleError = async (error) => {
- notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
- };
-
- return (
- <>
- <CreateBase
- resource="dictData"
- record={{}}
- transform={(data) => {
- return data;
- }}
- mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
- >
- <Dialog
- open={open}
- onClose={handleClose}
- aria-labelledby="form-dialog-title"
- fullWidth
- disableRestoreFocus
- maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
- >
- <Form>
- <DialogTitle id="form-dialog-title" sx={{
- position: 'sticky',
- top: 0,
- backgroundColor: 'background.paper',
- zIndex: 1000
- }}
- >
- {translate('create.title')}
- <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}>
- <DialogCloseButton onClose={handleClose} />
- </Box>
- </DialogTitle>
- <DialogContent sx={{ mt: 2 }}>
- <Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.dictData.dictTypeId"
- source="dictTypeId"
- defaultValue={record?.id}
- parse={v => v}
- readOnly
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.dictData.dictTypeCode"
- source="dictTypeCode"
- parse={v => v}
- readOnly
- defaultValue={record?.code}
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.dictData.value"
- source="value"
- parse={v => v}
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.dictData.label"
- validate={required()}
- autoFocus
- source="label"
- parse={v => v}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.dictData.sort"
- source="sort"
- />
- </Grid>
- {/* <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.dictData.color"
- source="color"
- parse={v => v}
- />
- </Grid> */}
-
- <Grid item xs={6} display="flex" gap={1}>
- <StatusSelectInput />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <Stack direction="column" spacing={1} width={'100%'}>
- <MemoInput />
- </Stack>
- </Grid>
- </Grid>
- </DialogContent>
- <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
- <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} >
- <SaveButton />
- </Toolbar>
- </DialogActions>
- </Form>
- </Dialog>
- </CreateBase>
- </>
- )
-}
-
-export default DictDataCreate;
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
deleted file mode 100644
index e0f2fbe..0000000
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataEdit.jsx
+++ /dev/null
@@ -1,134 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- Edit,
- SimpleForm,
- FormDataConsumer,
- useTranslate,
- TextInput,
- NumberInput,
- BooleanInput,
- DateInput,
- SelectInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- SaveButton,
- Toolbar,
- Labeled,
- NumberField,
- required,
- useRecordContext,
- DeleteButton,
- useNotify,
- useRedirect,
- useEditContext,
-} from 'react-admin';
-import { useWatch, useFormContext } from "react-hook-form";
-import { Stack, Grid, Box, Typography } from '@mui/material';
-import * as Common from '@/utils/common';
-import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
-import EditBaseAside from "../../../components/EditBaseAside";
-import CustomerTopToolBar from "../../../components/EditTopToolBar";
-import MemoInput from "../../../components/MemoInput";
-import StatusSelectInput from "../../../components/StatusSelectInput";
-
-const FormToolbar = () => {
- const form = useFormContext();
- const { record, isPending } = useEditContext();
- const redirect = useRedirect();
- return (
- <Toolbar sx={{ justifyContent: 'end' }}>
- <SaveButton type="button" mutationOptions={{onSuccess:() => {
- redirect('/dictType/' + record?.dictTypeId)
- } }}/>
- <DeleteButton mutationMode="optimistic" />
- </Toolbar>
- )
-}
-
-const DictDataEdit = () => {
- const translate = useTranslate();
-
- return (
- <Edit
- redirect="list"
- resource="dictData"
- mutationMode={EDIT_MODE}
- actions={<CustomerTopToolBar backPrevious={true} />}
- aside={<EditBaseAside />}
- >
- <SimpleForm
- 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.dictData.dictTypeId"
- source="dictTypeId"
- readOnly
- parse={v => v}
- validate={required()}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.dictData.dictTypeCode"
- source="dictTypeCode"
- readOnly
- parse={v => v}
- validate={required()}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.dictData.value"
- source="value"
- parse={v => v}
- validate={required()}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.dictData.label"
- source="label"
- validate={required()}
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.dictData.sort"
- source="sort"
- />
- </Stack>
- {/* <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.dictData.color"
- source="color"
- parse={v => v}
- />
- </Stack> */}
-
- </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 >
- )
-}
-
-export default DictDataEdit;
diff --git a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx b/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
deleted file mode 100644
index 8c508bd..0000000
--- a/rsf-admin/src/page/system/dicts/dictData/DictDataList.jsx
+++ /dev/null
@@ -1,158 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
-import { useNavigate, useLocation } from 'react-router-dom';
-import {
- List,
- DatagridConfigurable,
- SearchInput,
- TopToolbar,
- SelectColumnsButton,
- EditButton,
- FilterButton,
- CreateButton,
- ExportButton,
- BulkDeleteButton,
- WrapperField,
- useRecordContext,
- useTranslate,
- useNotify,
- useListContext,
- FunctionField,
- TextField,
- NumberField,
- DateField,
- BooleanField,
- ReferenceField,
- TextInput,
- DateTimeInput,
- DateInput,
- SelectInput,
- NumberInput,
- ReferenceInput,
- 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 EmptyData from "../../../components/EmptyData";
-import MyCreateButton from "../../../components/MyCreateButton";
-import MyExportButton from '../../../components/MyExportButton';
-import PageDrawer from "../../../components/PageDrawer";
-import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-
-
-const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
- '& .css-1vooibu-MuiSvgIcon-root': {
- height: '.9em'
- },
- '& .RaDatagrid-row': {
- cursor: 'auto'
- },
- '& .column-name': {
- },
- '& .opt': {
- width: 200
- },
-}));
-
-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"
- source="status"
- choices={[
- { id: '1', name: 'common.enums.statusTrue' },
- { id: '0', name: 'common.enums.statusFalse' },
- ]}
- resettable
- />,
-]
-
-const DictDataList = () => {
- const translate = useTranslate();
- const [createDialog, setCreateDialog] = useState(false);
- const [drawerVal, setDrawerVal] = useState(false);
- const dictId = useGetRecordId();
- const {data: dicts, isPending, error} = useGetOne('dictType', {id: dictId});
-
- return (
- <>
- <Box display="flex" >
- <List
- resource="dictData"
- sx={{
- flexGrow: 1,
- transition: (theme) =>
- theme.transitions.create(['all'], {
- duration: theme.transitions.duration.enteringScreen,
- }),
- marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
- }}
- title={"menu.dictData"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
- filters={filters}
- filter={{ dictTypeId: dictId }}
- sort={{ field: "create_time", order: "desc" }}
- actions={(
- <TopToolbar>
- <FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
- <SelectColumnsButton preferenceKey='dictData' />
- <MyExportButton />
- </TopToolbar>
- )}
- perPage={DEFAULT_PAGE_SIZE}
- >
- <StyledDatagrid
- preferenceKey='dictData'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
- rowClick="edit"
- omit={['id', 'createTime', 'createBy', 'memo']}
- >
- <NumberField source="id" />
- <TextField source="dictTypeId" label="table.field.dictData.dictTypeId" />
- <TextField source="dictTypeCode" label="table.field.dictData.dictTypeCode" />
- <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="updateBy$" label="common.field.updateBy" />
- <DateField source="updateTime" label="common.field.updateTime" showTime />
- <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' }} 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}
- />
- <PageDrawer
- title='DictData Detail'
- drawerVal={drawerVal}
- setDrawerVal={setDrawerVal}
- >
- </PageDrawer>
- </Box>
- </>
-
- )
-}
-
-export default DictDataList;
diff --git a/rsf-admin/src/page/system/dicts/dictData/index.jsx b/rsf-admin/src/page/system/dicts/dictData/index.jsx
deleted file mode 100644
index 31b11ac..0000000
--- a/rsf-admin/src/page/system/dicts/dictData/index.jsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- ListGuesser,
- EditGuesser,
- ShowGuesser,
-} from "react-admin";
-
-import DictDataList from "./DictDataList";
-import DictDataEdit from "./DictDataEdit";
-
-export default {
- list: DictDataList,
- edit: DictDataEdit,
- show: ShowGuesser,
- recordRepresentation: (record) => {
- return `${record.id}`
- }
-};
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
index d938890..c9905f0 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeEdit.jsx
@@ -28,12 +28,13 @@
import CustomerTopToolBar from "../../../components/EditTopToolBar";
import MemoInput from "../../../components/MemoInput";
import StatusSelectInput from "../../../components/StatusSelectInput";
-import DictDataList from "../dictData/DictDataList";
+import DictDataEdit from "./DictDataEdit";
+import DictDataList from "./DictDataList";
const FormToolbar = () => {
const { getValues } = useFormContext();
return (
- <Toolbar sx={{ justifyContent: 'space-between' }}>
+ <Toolbar sx={{ justifyContent: 'end' }}>
<SaveButton />
<DeleteButton mutationMode="optimistic" />
</Toolbar>
@@ -42,7 +43,6 @@
const DictTypeEdit = () => {
const translate = useTranslate();
-
return (
<>
<Edit
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
index 41e773d..e5b7332 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
@@ -35,14 +35,10 @@
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import DictTypeCreate from "./DictTypeCreate";
-import DictTypePanel from "./DictTypePanel";
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';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -62,11 +58,9 @@
<SearchInput source="condition" alwaysOn />,
<DateInput label='common.time.after' source="timeStart" alwaysOn />,
<DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
<TextInput source="code" label="table.field.dictType.code" />,
<TextInput source="name" label="table.field.dictType.name" />,
<TextInput source="description" label="table.field.dictType.description" />,
-
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -111,15 +105,15 @@
<StyledDatagrid
preferenceKey='dictType'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
- rowClick={(id, resource, record) => false}
+ rowClick={'edit'}
omit={['id', 'createTime', 'createBy', 'memo']}
>
<NumberField source="id" />
- <MyField source="code" label="table.field.dictType.code"
- onClick={(event, record, val) => {
- event.stopPropagation();
- assign(record);
- }}
+ <TextField source="code" label="table.field.dictType.code"
+ // onClick={(event, record, val) => {
+ // event.stopPropagation();
+ // assign(record);
+ // }}
/>
<TextField source="name" label="table.field.dictType.name" />
<TextField source="description" label="table.field.dictType.description" />
diff --git a/rsf-admin/src/page/system/dicts/dictType/index.jsx b/rsf-admin/src/page/system/dicts/dictType/index.jsx
index 7dc7dcb..b0f025e 100644
--- a/rsf-admin/src/page/system/dicts/dictType/index.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/index.jsx
@@ -11,7 +11,7 @@
export default {
list: DictTypeList,
edit: DictTypeEdit,
- show: ShowGuesser,
+ // show: ShowGuesser,
recordRepresentation: (record) => {
return `${record.name}`
}
diff --git a/rsf-admin/src/page/system/serialRule/SerialRuleDetail.jsx b/rsf-admin/src/page/system/serialRule/SerialRuleDetail.jsx
deleted file mode 100644
index c3d15cc..0000000
--- a/rsf-admin/src/page/system/serialRule/SerialRuleDetail.jsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- CreateBase,
- useTranslate,
- TextInput,
- NumberInput,
- BooleanInput,
- DateInput,
- SaveButton,
- SelectInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- Toolbar,
- required,
- useDataProvider,
- useNotify,
- Form,
- useCreateController,
-} from "react-admin";
-import {
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- Stack,
- Grid,
- Box,
-} from "@mui/material";
-import DialogCloseButton from "../../components/DialogCloseButton";
-import SerialRuleItem from "../serialRuleItem/index";
-
-const SerialRuleDetail = (props) => {
- const { open, setOpen } = props;
-
- const translate = useTranslate();
- const notify = useNotify();
-
- const handleClose = (event, reason) => {
- if (reason !== "backdropClick") {
- setOpen(false);
- }
- };
-
- const handleSuccess = async (data) => {
- setOpen(false);
- notify("common.response.success");
- };
-
- const handleError = async (error) => {
- notify(error.message || "common.response.fail", {
- type: "error",
- messageArgs: { _: error.message },
- });
- };
-
- return (
- <>
- <Dialog
- open={open}
- onClose={handleClose}
- aria-labelledby="form-dialog-title"
- fullWidth
- disableRestoreFocus
- maxWidth="xl" // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
- >
- <DialogTitle
- id="form-dialog-title"
- sx={{
- position: "sticky",
- top: 0,
- backgroundColor: "background.paper",
- zIndex: 1000,
- }}
- >
- {translate("create.title")}
- <Box sx={{ position: "absolute", top: 8, right: 8, zIndex: 1001 }}>
- <DialogCloseButton onClose={handleClose} />
- </Box>
- </DialogTitle>
-
- <DialogContent sx={{ mt: 2 }}>
- <SerialRuleItem.list />
- </DialogContent>
- </Dialog>
- </>
- );
-};
-
-export default SerialRuleDetail;
diff --git a/rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx b/rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx
index c99a1bc..d21dae8 100644
--- a/rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx
+++ b/rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx
@@ -38,6 +38,7 @@
AutocompleteInput,
DeleteButton,
useGetRecordId,
+ Button,
} from "react-admin";
import { Box, Typography, Card, Stack } from "@mui/material";
import { styled } from "@mui/material/styles";
@@ -54,6 +55,7 @@
} from "@/config/setting";
import * as Common from "@/utils/common";
import CustomerTopToolBar from "../../components/EditTopToolBar";
+import SerialRuleItemEdit from "./SerialRuleItemEdit";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
"& .css-1vooibu-MuiSvgIcon-root": {
@@ -93,7 +95,9 @@
const SerialRuleItemList = () => {
const translate = useTranslate();
const [createDialog, setCreateDialog] = useState(false);
+ const [editDialog, setEditDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
+ const [select, setSelect] = useState({});
const ruleId = useGetRecordId();
return (
@@ -110,13 +114,7 @@
marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.serialRuleItem"}
- empty={
- <EmptyData
- onClick={() => {
- setCreateDialog(true);
- }}
- />
- }
+ empty={false}
filters={filters}
filter={{ ruleId: ruleId }}
sort={{ field: "create_time", order: "desc" }}
@@ -139,7 +137,10 @@
bulkActionButtons={() => (
<BulkDeleteButton mutationMode={OPERATE_MODE} />
)}
- rowClick={false}
+ rowClick={(id, resource, record) => {
+ setSelect(record)
+ setEditDialog(true)
+ }}
omit={["id", "createTime", "createBy", "memo"]}
>
<NumberField source="id" />
@@ -164,29 +165,19 @@
source="sort"
label="table.field.serialRuleItem.sort"
/>
- <ReferenceField
- source="updateBy"
+ <TextField
+ source="updateBy$"
label="common.field.updateBy"
- reference="user"
- link={false}
- sortable={false}
- >
- <TextField source="nickname" />
- </ReferenceField>
+ />
<DateField
source="updateTime"
label="common.field.updateTime"
showTime
/>
- <ReferenceField
- source="createBy"
+ <TextField
+ source="createBy$"
label="common.field.createBy"
- reference="user"
- link={false}
- sortable={false}
- >
- <TextField source="nickname" />
- </ReferenceField>
+ />
<DateField
source="createTime"
label="common.field.createTime"
@@ -203,15 +194,21 @@
sortable={false}
/>
<WrapperField cellClassName="opt" label="common.field.opt">
- <EditButton sx={{ padding: "1px", fontSize: ".75rem" }} />
+ <Button onClick={() => {
+ setSelect(re)
+ setEditDialog(true)
+ }} label={'ra.action.edit'}
+ > </Button>
<DeleteButton
sx={{ padding: "1px", fontSize: ".75rem" }}
mutationMode={OPERATE_MODE}
+ redirect={'/serialRule/' + ruleId}
/>
</WrapperField>
</StyledDatagrid>
</List>
<SerialRuleItemCreate open={createDialog} setOpen={setCreateDialog} />
+ <SerialRuleItemEdit open={editDialog} setOpen={setEditDialog} record={select} />
<PageDrawer
title="SerialRuleItem Detail"
drawerVal={drawerVal}
diff --git a/rsf-admin/src/page/system/serialRule/SerialRuleList.jsx b/rsf-admin/src/page/system/serialRule/SerialRuleList.jsx
index 8b4c623..d7a19a9 100644
--- a/rsf-admin/src/page/system/serialRule/SerialRuleList.jsx
+++ b/rsf-admin/src/page/system/serialRule/SerialRuleList.jsx
@@ -41,8 +41,6 @@
import { Box, Typography, Card, Stack } from "@mui/material";
import { styled } from "@mui/material/styles";
import SerialRuleCreate from "./SerialRuleCreate";
-import SerialRuleDetail from "./SerialRuleDetail";
-import SerialRulePanel from "./SerialRulePanel";
import EmptyData from "../../components/EmptyData";
import MyCreateButton from "../../components/MyCreateButton";
import MyExportButton from "../../components/MyExportButton";
@@ -79,7 +77,6 @@
<TextInput source="resetDep" label="table.field.serialRule.resetDep" />,
<TextInput source="currValue" label="table.field.serialRule.currValue" />,
<TextInput source="lastCode" label="table.field.serialRule.lastCode" />,
-
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -165,29 +162,19 @@
label="table.field.serialRule.lastCode"
/>
- <ReferenceField
- source="updateBy"
+ <TextField
+ source="updateBy$"
label="common.field.updateBy"
- reference="user"
- link={false}
- sortable={false}
- >
- <TextField source="nickname" />
- </ReferenceField>
+ />
<DateField
source="updateTime"
label="common.field.updateTime"
showTime
/>
- <ReferenceField
- source="createBy"
+ <TextField
+ source="createBy$"
label="common.field.createBy"
- reference="user"
- link={false}
- sortable={false}
- >
- <TextField source="nickname" />
- </ReferenceField>
+ />
<DateField
source="createTime"
label="common.field.createTime"
@@ -209,7 +196,7 @@
</StyledDatagrid>
</List>
<SerialRuleCreate open={createDialog} setOpen={setCreateDialog} />
- <SerialRuleDetail open={detailDialog} setOpen={setDetailDialog} />
+ {/* <SerialRuleDetail open={detailDialog} setOpen={setDetailDialog} /> */}
<PageDrawer
title="SerialRule Detail"
drawerVal={drawerVal}
diff --git a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemCreate.jsx b/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemCreate.jsx
deleted file mode 100644
index f51326e..0000000
--- a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemCreate.jsx
+++ /dev/null
@@ -1,151 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- CreateBase,
- useTranslate,
- TextInput,
- NumberInput,
- BooleanInput,
- DateInput,
- SaveButton,
- SelectInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- Toolbar,
- required,
- useDataProvider,
- useNotify,
- Form,
- useCreateController,
-} from 'react-admin';
-import {
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- Stack,
- Grid,
- Box,
-} from '@mui/material';
-import DialogCloseButton from "../../components/DialogCloseButton";
-import StatusSelectInput from "../../components/StatusSelectInput";
-import MemoInput from "../../components/MemoInput";
-
-const SerialRuleItemCreate = (props) => {
- const { open, setOpen } = props;
-
- const translate = useTranslate();
- const notify = useNotify();
-
- const handleClose = (event, reason) => {
- if (reason !== "backdropClick") {
- setOpen(false);
- }
- };
-
- const handleSuccess = async (data) => {
- setOpen(false);
- notify('common.response.success');
- };
-
- const handleError = async (error) => {
- notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
- };
-
- return (
- <>
- <CreateBase
- record={{}}
- transform={(data) => {
- return data;
- }}
- mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
- >
- <Dialog
- open={open}
- onClose={handleClose}
- aria-labelledby="form-dialog-title"
- fullWidth
- disableRestoreFocus
- maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
- >
- <Form>
- <DialogTitle id="form-dialog-title" sx={{
- position: 'sticky',
- top: 0,
- backgroundColor: 'background.paper',
- zIndex: 1000
- }}
- >
- {translate('create.title')}
- <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}>
- <DialogCloseButton onClose={handleClose} />
- </Box>
- </DialogTitle>
- <DialogContent sx={{ mt: 2 }}>
- <Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.serialRuleItem.ruleId"
- source="ruleId"
- autoFocus
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.serialRuleItem.wkType"
- source="wkType"
- parse={v => v}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.serialRuleItem.feildValue"
- source="feildValue"
- parse={v => v}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.serialRuleItem.len"
- source="len"
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.serialRuleItem.lenStr"
- source="lenStr"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.serialRuleItem.sort"
- source="sort"
- validate={required()}
- />
- </Grid>
-
- <Grid item xs={6} display="flex" gap={1}>
- <StatusSelectInput />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <Stack direction="column" spacing={1} width={'100%'}>
- <MemoInput />
- </Stack>
- </Grid>
- </Grid>
- </DialogContent>
- <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
- <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} >
- <SaveButton />
- </Toolbar>
- </DialogActions>
- </Form>
- </Dialog>
- </CreateBase>
- </>
- )
-}
-
-export default SerialRuleItemCreate;
diff --git a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemEdit.jsx b/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemEdit.jsx
deleted file mode 100644
index ecd5ba0..0000000
--- a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemEdit.jsx
+++ /dev/null
@@ -1,123 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- Edit,
- SimpleForm,
- FormDataConsumer,
- useTranslate,
- TextInput,
- NumberInput,
- BooleanInput,
- DateInput,
- SelectInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- SaveButton,
- Toolbar,
- Labeled,
- NumberField,
- required,
- useRecordContext,
- DeleteButton,
-} from 'react-admin';
-import { useWatch, useFormContext } from "react-hook-form";
-import { Stack, Grid, Box, Typography } from '@mui/material';
-import * as Common from '@/utils/common';
-import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
-import EditBaseAside from "../../components/EditBaseAside";
-import CustomerTopToolBar from "../../components/EditTopToolBar";
-import MemoInput from "../../components/MemoInput";
-import StatusSelectInput from "../../components/StatusSelectInput";
-
-const FormToolbar = () => {
- const { getValues } = useFormContext();
-
- return (
- <Toolbar sx={{ justifyContent: 'space-between' }}>
- <SaveButton />
- <DeleteButton mutationMode="optimistic" />
- </Toolbar>
- )
-}
-
-const SerialRuleItemEdit = () => {
- 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}>
- <NumberInput
- label="table.field.serialRuleItem.ruleId"
- source="ruleId"
- autoFocus
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.serialRuleItem.wkType"
- source="wkType"
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.serialRuleItem.feildValue"
- source="feildValue"
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.serialRuleItem.len"
- source="len"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.serialRuleItem.lenStr"
- source="lenStr"
- validate={required()}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.serialRuleItem.sort"
- source="sort"
- validate={required()}
- />
- </Stack>
-
- </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 >
- )
-}
-
-export default SerialRuleItemEdit;
diff --git a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemList.jsx b/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemList.jsx
deleted file mode 100644
index 703190d..0000000
--- a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemList.jsx
+++ /dev/null
@@ -1,234 +0,0 @@
-import React, {
- useState,
- useRef,
- useEffect,
- useMemo,
- useCallback,
-} from "react";
-import { useNavigate, useLocation } from "react-router-dom";
-import {
- List,
- DatagridConfigurable,
- SearchInput,
- TopToolbar,
- SelectColumnsButton,
- EditButton,
- FilterButton,
- CreateButton,
- ExportButton,
- BulkDeleteButton,
- WrapperField,
- useRecordContext,
- useTranslate,
- useNotify,
- useListContext,
- FunctionField,
- TextField,
- NumberField,
- DateField,
- BooleanField,
- ReferenceField,
- TextInput,
- DateTimeInput,
- DateInput,
- SelectInput,
- NumberInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
- DeleteButton,
-} from "react-admin";
-import { Box, Typography, Card, Stack } from "@mui/material";
-import { styled } from "@mui/material/styles";
-import SerialRuleItemCreate from "./SerialRuleItemCreate";
-import SerialRuleItemPanel from "./SerialRuleItemPanel";
-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 }) => ({
- "& .css-1vooibu-MuiSvgIcon-root": {
- height: ".9em",
- },
- "& .RaDatagrid-row": {
- cursor: "auto",
- },
- "& .column-name": {},
- "& .opt": {
- width: 200,
- },
-}));
-
-const filters = [
- <SearchInput source="condition" alwaysOn />,
- <DateInput label="common.time.after" source="timeStart" alwaysOn />,
- <DateInput label="common.time.before" source="timeEnd" alwaysOn />,
-
- <NumberInput source="ruleId" label="table.field.serialRuleItem.ruleId" />,
- <TextInput source="wkType" label="table.field.serialRuleItem.wkType" />,
- <TextInput
- source="feildValue"
- label="table.field.serialRuleItem.feildValue"
- />,
- <NumberInput source="len" label="table.field.serialRuleItem.len" />,
- <NumberInput source="lenStr" label="table.field.serialRuleItem.lenStr" />,
- <NumberInput source="sort" label="table.field.serialRuleItem.sort" />,
-
- <TextInput label="common.field.memo" source="memo" />,
- <SelectInput
- label="common.field.status"
- source="status"
- choices={[
- { id: "1", name: "common.enums.statusTrue" },
- { id: "0", name: "common.enums.statusFalse" },
- ]}
- resettable
- />,
-];
-
-const SerialRuleItemList = () => {
- const translate = useTranslate();
- const [createDialog, setCreateDialog] = useState(false);
- const [drawerVal, setDrawerVal] = useState(false);
-
- const location = useLocation();
- const queryParams = new URLSearchParams(location.search);
- const ruleId = queryParams.get("ruleId");
-
- return (
- <>
- {ruleId && <CustomerTopToolBar backPrevious={true} />}
- <Box display="flex">
- <List
- sx={{
- flexGrow: 1,
- transition: (theme) =>
- theme.transitions.create(["all"], {
- duration: theme.transitions.duration.enteringScreen,
- }),
- marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
- }}
- title={"menu.serialRuleItem"}
- empty={
- <EmptyData
- onClick={() => {
- setCreateDialog(true);
- }}
- />
- }
- filters={filters}
- filter={ruleId ? { ruleId } : undefined}
- sort={{ field: "create_time", order: "desc" }}
- actions={
- <TopToolbar>
- <FilterButton />
- <MyCreateButton
- onClick={() => {
- setCreateDialog(true);
- }}
- />
- <SelectColumnsButton preferenceKey="serialRuleItem" />
- <MyExportButton />
- </TopToolbar>
- }
- perPage={DEFAULT_PAGE_SIZE}
- >
- <StyledDatagrid
- preferenceKey="serialRuleItem"
- bulkActionButtons={() => (
- <BulkDeleteButton mutationMode={OPERATE_MODE} />
- )}
- rowClick={(id, resource, record) => false}
- omit={["id", "createTime", "createBy", "memo"]}
- >
- <NumberField source="id" />
- <NumberField
- source="ruleId"
- label="table.field.serialRuleItem.ruleId"
- />
- <TextField
- source="wkType"
- label="table.field.serialRuleItem.wkType"
- />
- <TextField
- source="feildValue"
- label="table.field.serialRuleItem.feildValue"
- />
- <NumberField source="len" label="table.field.serialRuleItem.len" />
- <NumberField
- source="lenStr"
- label="table.field.serialRuleItem.lenStr"
- />
- <NumberField
- source="sort"
- label="table.field.serialRuleItem.sort"
- />
-
- <ReferenceField
- source="updateBy"
- label="common.field.updateBy"
- reference="user"
- link={false}
- sortable={false}
- >
- <TextField source="nickname" />
- </ReferenceField>
- <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>
- <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}
- />
- </WrapperField>
- </StyledDatagrid>
- </List>
- <SerialRuleItemCreate open={createDialog} setOpen={setCreateDialog} />
- <PageDrawer
- title="SerialRuleItem Detail"
- drawerVal={drawerVal}
- setDrawerVal={setDrawerVal}
- ></PageDrawer>
- </Box>
- </>
- );
-};
-
-export default SerialRuleItemList;
diff --git a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemPanel.jsx b/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemPanel.jsx
deleted file mode 100644
index 47d94ce..0000000
--- a/rsf-admin/src/page/system/serialRuleItem/SerialRuleItemPanel.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 SerialRuleItemPanel = () => {
- 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.serialRuleItem.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.serialRuleItem.ruleId"
- property={record.ruleId}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.serialRuleItem.wkType"
- property={record.wkType$}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.serialRuleItem.feildValue"
- property={record.feildValue}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.serialRuleItem.len"
- property={record.len}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.serialRuleItem.lenStr"
- property={record.lenStr}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.serialRuleItem.sort"
- property={record.sort}
- />
- </Grid>
-
- </Grid>
- </CardContent>
- </Card >
- </>
- );
-};
-
-export default SerialRuleItemPanel;
diff --git a/rsf-admin/src/page/system/serialRuleItem/index.jsx b/rsf-admin/src/page/system/serialRuleItem/index.jsx
deleted file mode 100644
index d7a3bde..0000000
--- a/rsf-admin/src/page/system/serialRuleItem/index.jsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React, { useState, useRef, useEffect, useMemo } from "react";
-import {
- ListGuesser,
- EditGuesser,
- ShowGuesser,
-} from "react-admin";
-
-import SerialRuleItemList from "./SerialRuleItemList";
-import SerialRuleItemEdit from "./SerialRuleItemEdit";
-
-export default {
- list: SerialRuleItemList,
- edit: SerialRuleItemEdit,
- show: ShowGuesser,
- recordRepresentation: (record) => {
- return `${record.id}`
- }
-};
--
Gitblit v1.9.1