From 9681ec4b36c4402070482ddfd4ae0ea2de409d8d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 16 四月 2025 09:58:53 +0800
Subject: [PATCH] #新增 1. 综合订单界面优化 2. 添加库位详细界面
---
rsf-admin/src/page/orders/stock/OrderItemEdit.jsx | 40 +-
rsf-admin/src/page/orders/stock/OrderList.jsx | 33
rsf-admin/src/page/stockItem/StockItemCreate.jsx | 60 +-
rsf-admin/src/page/orders/stock/OrderPanel.jsx | 14
rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java | 4
rsf-admin/src/page/orders/stock/index.jsx | 0
rsf-admin/src/page/stockItem/StockItemEdit.jsx | 62 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 30 -
rsf-admin/src/page/basicInfo/loc/LocItemList.jsx | 47 +-
rsf-admin/src/page/orders/stock/OrderItemCreate.jsx | 40 +-
rsf-admin/src/i18n/zh.js | 26 +
rsf-admin/src/i18n/en.js | 20 +
rsf-admin/src/page/ResourceContent.js | 6
rsf-admin/src/page/stockItem/StockItemList.jsx | 120 +++--
rsf-admin/src/page/orders/stock/OrderEdit.jsx | 27
rsf-admin/src/page/stockItem/StockItemPanel.jsx | 116 +++--
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx | 5
rsf-admin/src/page/orders/stock/OrderItemList.jsx | 106 ++--
rsf-admin/src/page/basicInfo/loc/LocList.jsx | 9
rsf-admin/src/page/stockItem/index.jsx | 8
rsf-admin/src/page/basicInfo/loc/LocItemEdit.jsx | 0
rsf-server/src/main/java/stockItem.sql | 41 ++
rsf-admin/src/page/basicInfo/loc/LocEdit.jsx | 252 ++++++-------
rsf-admin/src/page/orders/stock/OrderCreate.jsx | 12
rsf-admin/src/page/basicInfo/loc/LocItemCreate.jsx | 6
25 files changed, 563 insertions(+), 521 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 1be1035..120c1aa 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -162,7 +162,7 @@
taskLog: 'TaskLog',
orderItem: 'OrderItem',
order: 'Order',
-
+ locItem: 'LocItem',
},
table: {
field: {
@@ -775,6 +775,24 @@
prodTime: "prodTime",
packName: "packName",
},
+ locItem: {
+ locId: "locId",
+ orderId: "orderId",
+ type: "type",
+ orderItemId: "orderItemId",
+ wkType: "wkType",
+ matnrId: "matnrId",
+ maktx: "maktx",
+ matnrCode: "matnrCode",
+ trackCode: "trackCode",
+ unit: "unit",
+ anfme: "anfme",
+ batch: "batch",
+ splrBatch: "splrBatch",
+ spec: "spec",
+ model: "model",
+ fieldsIndex: "fieldsIndex",
+ },
}
},
page: {
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 4b09dba..c2430d1 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -162,7 +162,9 @@
taskItem: '浠诲姟妗f槑缁�',
taskLog: '浠诲姟鍘嗗彶妗�',
taskItemLog: '浠诲姟鏄庣粏鍘嗗彶妗�',
- order: '缁煎悎鍗曟嵁绠$悊',
+ stock: '缁煎悎鍗曟嵁绠$悊',
+ stockItem: '鍗曟嵁鏄庣粏',
+ locItem: 'LocItem',
},
table: {
@@ -754,7 +756,7 @@
spec: "瑙勬牸",
model: "鍨嬪彿",
},
- order: {
+ stock: {
code: "缂栫爜",
sourceCode: "婧愬崟鎹�",
sourceId: "婧愬崟鎹甀D",
@@ -762,7 +764,7 @@
wkType: "涓氬姟绫诲瀷",
anfme: "鏁伴噺",
},
- orderItem: {
+ stockItem: {
orderId: "涓诲崟ID",
orderCode: "鍗曟嵁缂栫爜",
sourceItemId: "婧愭槑缁咺D",
@@ -784,6 +786,24 @@
prodTime: "鐢熶骇鏃ユ湡",
packName: "鍖呰鍚嶇О",
},
+ locItem: {
+ locId: "搴撲綅ID",
+ orderId: "璁㈠崟ID",
+ type: "鍗曟嵁绫诲瀷",
+ orderItemId: "鍗曟嵁鏄庣粏ID",
+ wkType: "涓氬姟绫诲瀷",
+ matnrId: "鐗╂枡ID",
+ maktx: "鐗╂枡鍚嶇О",
+ matnrCode: "鐗╂枡缂栫爜",
+ trackCode: "璺熻釜鐮�",
+ unit: "鍗曚綅",
+ anfme: "鏁伴噺",
+ batch: "鎵规",
+ splrBatch: "渚涘簲鍟嗘壒娆�",
+ spec: "瑙勬牸",
+ model: "鍨嬪彿",
+ fieldsIndex: "鍔ㄦ�佺储寮�",
+ },
}
},
page: {
diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js
index acd7bfb..2d9e7be 100644
--- a/rsf-admin/src/page/ResourceContent.js
+++ b/rsf-admin/src/page/ResourceContent.js
@@ -40,7 +40,7 @@
import asnOrderLog from './histories/asnOrderLog';
import task from './task';
import taskLog from './histories/taskLog';
-import order from './orders/order';
+import stock from './orders/stock';
const ResourceContent = (node) => {
switch (node.component) {
@@ -116,8 +116,8 @@
return task;
case 'taskLog':
return taskLog;
- case 'order':
- return order;
+ case 'stock':
+ return stock;
default:
return {
list: ListGuesser,
diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
index 5b1182e..1e467c5 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -32,6 +32,7 @@
import StatusSelectInput from "../../components/StatusSelectInput";
import request from '@/utils/request';
import DictionarySelect from "../../components/DictionarySelect";
+import LocItemList from "./LocItemList";
const FormToolbar = () => {
const { getValues } = useFormContext();
@@ -54,149 +55,126 @@
}
return (
- <Edit
- redirect="list"
- mutationMode={EDIT_MODE}
- actions={<CustomerTopToolBar />}
- aside={<EditBaseAside />}
- title={"menu.loc"}
- >
- <SimpleForm
- shouldUnregister
- warnWhenUnsavedChanges
- toolbar={<FormToolbar />}
- mode="onTouched"
- defaultValues={{}}
- // validate={(values) => { }}
+ <>
+ <Edit
+ redirect="list"
+ mutationMode={EDIT_MODE}
+ actions={<CustomerTopToolBar />}
+ aside={<EditBaseAside />}
+ title={"menu.loc"}
>
- <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
- <Grid item xs={12} md={10}>
- <Typography variant="h6" gutterBottom>
- {translate('common.edit.title.main')}
- </Typography>
- <Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item xs={6} display="flex" gap={1}>
- <ReferenceInput
- source="warehouseId"
- reference="warehouse"
- >
- <AutocompleteInput
- label="table.field.loc.warehouseId"
- optionText="name"
- validate={[required()]}
- onChange={warehouseChange}
- filterToQuery={(val) => ({ name: val })}
+ <SimpleForm
+ shouldUnregister
+ warnWhenUnsavedChanges
+ toolbar={<FormToolbar />}
+ mode="onTouched"
+ defaultValues={{}}
+ // validate={(values) => { }}
+ >
+ <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3}>
+ <Grid item xs={12} md={10}>
+ <Typography variant="h6" gutterBottom>
+ {translate('common.edit.title.main')}
+ </Typography>
+ <Grid container rowSpacing={2} columnSpacing={2}>
+ <Grid item display="flex" gap={2}>
+ <ReferenceInput
+ source="warehouseId"
+ reference="warehouse"
+ >
+ <AutocompleteInput
+ label="table.field.loc.warehouseId"
+ optionText="name"
+ validate={[required()]}
+ onChange={warehouseChange}
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>
+ <ReferenceInput
+ source="areaId"
+ reference="warehouseAreas"
+ filter={{ warehouseId }}
+ >
+ <AutocompleteInput
+ label="table.field.loc.areaId"
+ optionText="name"
+ validate={[required()]}
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>
+ <TextInput
+ label="table.field.loc.code"
+ source="code"
+ parse={v => v}
+ validate={required()}
/>
- </ReferenceInput>
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <ReferenceInput
- source="areaId"
- reference="warehouseAreas"
- filter={{ warehouseId }}
- >
- <AutocompleteInput
- label="table.field.loc.areaId"
- optionText="name"
- validate={[required()]}
- filterToQuery={(val) => ({ name: val })}
+ <NumberInput
+ label="table.field.loc.length"
+ source="length"
+ validate={required()}
/>
- </ReferenceInput>
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.loc.code"
- source="code"
- parse={v => v}
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- {/* <AutocompleteInput
- choices={dicts}
- source="type"
- optionText="label"
- label="table.field.loc.type"
- optionValue="value"
- parse={v => v}
- validate={[required()]}
- /> */}
- <ReferenceArrayInput source="typeIds" reference="locType" >
- <SelectArrayInput label="table.field.loc.type" validate={[required()]} />
- </ReferenceArrayInput>
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.loc.unit"
- source="unit"
- parse={v => v}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.length"
- source="length"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.width"
- source="width"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.height"
- source="height"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.row"
- source="row"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.col"
- source="col"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.loc.lev"
- source="lev"
- validate={required()}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <DictionarySelect
- label={translate("table.field.loc.useStatus")}
- name="useStatus"
- validate={[required()]}
- size="small"
- dictTypeCode="sys_loc_use_stas"
- />
- </Grid>
+ <NumberInput
+ label="table.field.loc.width"
+ source="width"
+ validate={required()}
+ />
+
+ <NumberInput
+ label="table.field.loc.height"
+ source="height"
+ validate={required()}
+ />
+ </Grid>
+ <Grid item display="flex" gap={1}>
+ <ReferenceArrayInput source="typeIds" reference="locType" >
+ <SelectArrayInput label="table.field.loc.type" validate={[required()]} />
+ </ReferenceArrayInput>
+ <TextInput
+ label="table.field.loc.unit"
+ source="unit"
+ parse={v => v}
+ />
+ <DictionarySelect
+ label={translate("table.field.loc.useStatus")}
+ name="useStatus"
+ validate={[required()]}
+ size="small"
+ dictTypeCode="sys_loc_use_stas"
+ />
+ <NumberInput
+ label="table.field.loc.row"
+ source="row"
+ validate={required()}
+ />
+
+ <NumberInput
+ label="table.field.loc.col"
+ source="col"
+ validate={required()}
+ />
+
+ <NumberInput
+ label="table.field.loc.lev"
+ source="lev"
+ validate={required()}
+ />
+ </Grid>
+ </Grid>
+ </Grid>
+ <Grid item xs={12} md={2}>
+ <Typography variant="h6" gutterBottom>
+ {translate('common.edit.title.common')}
+ </Typography>
+ <StatusSelectInput />
+ <Box mt="2em" />
+ <MemoInput />
</Grid>
</Grid>
- <Grid item xs={12} md={2}>
- <Typography variant="h6" gutterBottom>
- {translate('common.edit.title.common')}
- </Typography>
- <StatusSelectInput />
- <Box mt="2em" />
- <MemoInput />
- </Grid>
- </Grid>
- </SimpleForm>
- </Edit >
+ </SimpleForm>
+ </Edit >
+ <LocItemList />
+ </>
)
}
diff --git a/rsf-admin/src/page/locItem/LocItemCreate.jsx b/rsf-admin/src/page/basicInfo/loc/LocItemCreate.jsx
similarity index 97%
rename from rsf-admin/src/page/locItem/LocItemCreate.jsx
rename to rsf-admin/src/page/basicInfo/loc/LocItemCreate.jsx
index d1a51fa..b7b724a 100644
--- a/rsf-admin/src/page/locItem/LocItemCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocItemCreate.jsx
@@ -27,9 +27,9 @@
Grid,
Box,
} from '@mui/material';
-import DialogCloseButton from "../components/DialogCloseButton";
-import StatusSelectInput from "../components/StatusSelectInput";
-import MemoInput from "../components/MemoInput";
+import DialogCloseButton from "../../components/DialogCloseButton";
+import StatusSelectInput from "../../components/StatusSelectInput";
+import MemoInput from "../../components/MemoInput";
const LocItemCreate = (props) => {
const { open, setOpen } = props;
diff --git a/rsf-admin/src/page/locItem/LocItemEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocItemEdit.jsx
similarity index 100%
rename from rsf-admin/src/page/locItem/LocItemEdit.jsx
rename to rsf-admin/src/page/basicInfo/loc/LocItemEdit.jsx
diff --git a/rsf-admin/src/page/locItem/LocItemList.jsx b/rsf-admin/src/page/basicInfo/loc/LocItemList.jsx
similarity index 80%
rename from rsf-admin/src/page/locItem/LocItemList.jsx
rename to rsf-admin/src/page/basicInfo/loc/LocItemList.jsx
index 551d35f..2f86c7b 100644
--- a/rsf-admin/src/page/locItem/LocItemList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocItemList.jsx
@@ -31,18 +31,16 @@
ReferenceArrayInput,
AutocompleteInput,
DeleteButton,
+ useGetRecordId,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import LocItemCreate from "./LocItemCreate";
-import LocItemPanel from "./LocItemPanel";
-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 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_ITEM_PAGE_SIZE } from '@/config/setting';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -60,14 +58,13 @@
const filters = [
<SearchInput source="condition" alwaysOn />,
- <DateInput label='common.time.after' source="timeStart" alwaysOn />,
- <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
-
+ <DateInput label='common.time.after' source="timeStart" />,
+ <DateInput label='common.time.before' source="timeEnd" />,
<NumberInput source="locId" label="table.field.locItem.locId" />,
<NumberInput source="orderId" label="table.field.locItem.orderId" />,
- <TextInput source="type" label="table.field.locItem.type" />,
+ <TextInput source="type$" label="table.field.locItem.type" />,
<NumberInput source="orderItemId" label="table.field.locItem.orderItemId" />,
- <NumberInput source="wkType" label="table.field.locItem.wkType" />,
+ <NumberInput source="wkType$" label="table.field.locItem.wkType" />,
<NumberInput source="matnrId" label="table.field.locItem.matnrId" />,
<TextInput source="maktx" label="table.field.locItem.maktx" />,
<TextInput source="matnrCode" label="table.field.locItem.matnrCode" />,
@@ -79,7 +76,6 @@
<TextInput source="spec" label="table.field.locItem.spec" />,
<TextInput source="model" label="table.field.locItem.model" />,
<TextInput source="fieldsIndex" label="table.field.locItem.fieldsIndex" />,
-
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -94,13 +90,15 @@
const LocItemList = () => {
const translate = useTranslate();
-
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
+ const locId = useGetRecordId();
return (
<Box display="flex">
<List
+ resource="locItem"
+ filter={{locId: locId}}
sx={{
flexGrow: 1,
transition: (theme) =>
@@ -110,26 +108,26 @@
marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.locItem"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+ empty={false}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+ {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */}
<SelectColumnsButton preferenceKey='locItem' />
<MyExportButton />
</TopToolbar>
)}
- perPage={DEFAULT_PAGE_SIZE}
+ perPage={DEFAULT_ITEM_PAGE_SIZE}
>
<StyledDatagrid
preferenceKey='locItem'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
- expand={() => <LocItemPanel />}
+ expand={false}
expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ omit={['id', 'locId', 'orderId', 'orderItemId', 'matnrId', 'createTime', 'createBy', 'memo']}
>
<NumberField source="id" />
<NumberField source="locId" label="table.field.locItem.locId" />
@@ -148,14 +146,9 @@
<TextField source="spec" label="table.field.locItem.spec" />
<TextField source="model" label="table.field.locItem.model" />
<TextField source="fieldsIndex" label="table.field.locItem.fieldsIndex" />
-
- <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/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index 8811f4d..1d2618a 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -238,17 +238,12 @@
<NumberField source="flagLabelMange" label="table.field.loc.flagLabelMange" />
<TextField source="locAttrs" label="table.field.loc.locAttrs" /> */}
<TextField source="useStatus$" label="table.field.loc.useStatus" />
- <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 align="left" />
- <ReferenceField source="createBy" label="common.field.createBy" align="left" 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 align="left" />
<BooleanField source="statusBool" label="common.field.status" sortable={false} align="left" />
<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} /> */}
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index 57aa210..882cdf9 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -148,10 +148,7 @@
sx={{ width: '100%' }}
preferenceKey='asnOrder'
bulkActionButtons={<> <InspectionsButton /><BulkDeleteButton mutationMode={OPERATE_MODE} /></>}
- rowClick='toggleSelection'
- onToggleItem={(id, resource, record)=>{
- redirect(location.pathname + '/' + id)
- }}
+ rowClick='edit'
expandSingle={true}
omit={['id', 'createTime', 'createBy', 'memo', 'poId', 'rleStatus$']}
>
diff --git a/rsf-admin/src/page/orders/order/OrderCreate.jsx b/rsf-admin/src/page/orders/stock/OrderCreate.jsx
similarity index 93%
rename from rsf-admin/src/page/orders/order/OrderCreate.jsx
rename to rsf-admin/src/page/orders/stock/OrderCreate.jsx
index c7112d4..7ea5454 100644
--- a/rsf-admin/src/page/orders/order/OrderCreate.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderCreate.jsx
@@ -86,7 +86,7 @@
<Grid container rowSpacing={2} columnSpacing={2}>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.order.code"
+ label="table.field.stock.code"
source="code"
parse={v => v}
autoFocus
@@ -94,20 +94,20 @@
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.order.sourceCode"
+ label="table.field.stock.sourceCode"
source="sourceCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.order.sourceId"
+ label="table.field.stock.sourceId"
source="sourceId"
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.order.type"
+ label="table.field.stock.type"
source="type"
parse={v => v}
validate={required()}
@@ -115,7 +115,7 @@
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.order.wkType"
+ label="table.field.stock.wkType"
source="wkType"
parse={v => v}
validate={required()}
@@ -123,7 +123,7 @@
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.order.anfme"
+ label="table.field.stock.anfme"
source="anfme"
validate={required()}
/>
diff --git a/rsf-admin/src/page/orders/order/OrderEdit.jsx b/rsf-admin/src/page/orders/stock/OrderEdit.jsx
similarity index 80%
rename from rsf-admin/src/page/orders/order/OrderEdit.jsx
rename to rsf-admin/src/page/orders/stock/OrderEdit.jsx
index 609e6f7..e857082 100644
--- a/rsf-admin/src/page/orders/order/OrderEdit.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderEdit.jsx
@@ -55,57 +55,50 @@
mode="onTouched"
defaultValues={{}}
>
- <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
- <Grid item xs={12} md={8}>
+ <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3}>
+ <Grid item xs={16} md={10}>
<Typography variant="h6" gutterBottom>
{translate('common.edit.title.main')}
</Typography>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.order.code"
+ label="table.field.stock.code"
source="code"
parse={v => v}
autoFocus
/>
- </Stack>
- <Stack direction='row' gap={2}>
+
<TextInput
- label="table.field.order.sourceCode"
+ label="table.field.stock.sourceCode"
source="sourceCode"
parse={v => v}
/>
- </Stack>
- <Stack direction='row' gap={2}>
<NumberInput
- label="table.field.order.sourceId"
+ label="table.field.stock.sourceId"
source="sourceId"
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.order.type"
+ label="table.field.stock.type"
source="type"
parse={v => v}
validate={required()}
/>
- </Stack>
- <Stack direction='row' gap={2}>
<TextInput
- label="table.field.order.wkType"
+ label="table.field.stock.wkType"
source="wkType"
parse={v => v}
validate={required()}
/>
- </Stack>
- <Stack direction='row' gap={2}>
<NumberInput
- label="table.field.order.anfme"
+ label="table.field.stock.anfme"
source="anfme"
validate={required()}
/>
</Stack>
</Grid>
- <Grid item xs={12} md={4}>
+ <Grid item xs={8} md={2}>
<Typography variant="h6" gutterBottom>
{translate('common.edit.title.common')}
</Typography>
diff --git a/rsf-admin/src/page/orders/order/OrderItemCreate.jsx b/rsf-admin/src/page/orders/stock/OrderItemCreate.jsx
similarity index 88%
rename from rsf-admin/src/page/orders/order/OrderItemCreate.jsx
rename to rsf-admin/src/page/orders/stock/OrderItemCreate.jsx
index 50f3b84..ca4e50a 100644
--- a/rsf-admin/src/page/orders/order/OrderItemCreate.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderItemCreate.jsx
@@ -86,139 +86,139 @@
<Grid container rowSpacing={2} columnSpacing={2}>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.orderId"
+ label="table.field.stockItem.orderId"
source="orderId"
autoFocus
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.orderCode"
+ label="table.field.stockItem.orderCode"
source="orderCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.sourceItemId"
+ label="table.field.stockItem.sourceItemId"
source="sourceItemId"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.matnrId"
+ label="table.field.stockItem.matnrId"
source="matnrId"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.matnrCode"
+ label="table.field.stockItem.matnrCode"
source="matnrCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.maktx"
+ label="table.field.stockItem.maktx"
source="maktx"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.anfme"
+ label="table.field.stockItem.anfme"
source="anfme"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.stockUnit"
+ label="table.field.stockItem.stockUnit"
source="stockUnit"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.workQty"
+ label="table.field.stockItem.workQty"
source="workQty"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.purQty"
+ label="table.field.stockItem.purQty"
source="purQty"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.purUnit"
+ label="table.field.stockItem.purUnit"
source="purUnit"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.qty"
+ label="table.field.stockItem.qty"
source="qty"
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrCode"
+ label="table.field.stockItem.splrCode"
source="splrCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.batch"
+ label="table.field.stockItem.batch"
source="batch"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrBatch"
+ label="table.field.stockItem.splrBatch"
source="splrBatch"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrName"
+ label="table.field.stockItem.splrName"
source="splrName"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.trackCode"
+ label="table.field.stockItem.trackCode"
source="trackCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.barcode"
+ label="table.field.stockItem.barcode"
source="barcode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.prodTime"
+ label="table.field.stockItem.prodTime"
source="prodTime"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.packName"
+ label="table.field.stockItem.packName"
source="packName"
parse={v => v}
/>
diff --git a/rsf-admin/src/page/orders/order/OrderItemEdit.jsx b/rsf-admin/src/page/orders/stock/OrderItemEdit.jsx
similarity index 85%
rename from rsf-admin/src/page/orders/order/OrderItemEdit.jsx
rename to rsf-admin/src/page/orders/stock/OrderItemEdit.jsx
index 351d602..89d5b92 100644
--- a/rsf-admin/src/page/orders/order/OrderItemEdit.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderItemEdit.jsx
@@ -65,139 +65,139 @@
</Typography>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.orderId"
+ label="table.field.stockItem.orderId"
source="orderId"
autoFocus
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.orderCode"
+ label="table.field.stockItem.orderCode"
source="orderCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.sourceItemId"
+ label="table.field.stockItem.sourceItemId"
source="sourceItemId"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.matnrId"
+ label="table.field.stockItem.matnrId"
source="matnrId"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.matnrCode"
+ label="table.field.stockItem.matnrCode"
source="matnrCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.maktx"
+ label="table.field.stockItem.maktx"
source="maktx"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.anfme"
+ label="table.field.stockItem.anfme"
source="anfme"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.stockUnit"
+ label="table.field.stockItem.stockUnit"
source="stockUnit"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.workQty"
+ label="table.field.stockItem.workQty"
source="workQty"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.purQty"
+ label="table.field.stockItem.purQty"
source="purQty"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.purUnit"
+ label="table.field.stockItem.purUnit"
source="purUnit"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.qty"
+ label="table.field.stockItem.qty"
source="qty"
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrCode"
+ label="table.field.stockItem.splrCode"
source="splrCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.batch"
+ label="table.field.stockItem.batch"
source="batch"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrBatch"
+ label="table.field.stockItem.splrBatch"
source="splrBatch"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrName"
+ label="table.field.stockItem.splrName"
source="splrName"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.trackCode"
+ label="table.field.stockItem.trackCode"
source="trackCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.barcode"
+ label="table.field.stockItem.barcode"
source="barcode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.prodTime"
+ label="table.field.stockItem.prodTime"
source="prodTime"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.packName"
+ label="table.field.stockItem.packName"
source="packName"
parse={v => v}
/>
diff --git a/rsf-admin/src/page/orders/order/OrderItemList.jsx b/rsf-admin/src/page/orders/stock/OrderItemList.jsx
similarity index 70%
rename from rsf-admin/src/page/orders/order/OrderItemList.jsx
rename to rsf-admin/src/page/orders/stock/OrderItemList.jsx
index 6a301f7..7b0f1fe 100644
--- a/rsf-admin/src/page/orders/order/OrderItemList.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderItemList.jsx
@@ -31,6 +31,7 @@
ReferenceArrayInput,
AutocompleteInput,
DeleteButton,
+ useGetRecordId,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -59,28 +60,28 @@
const filters = [
<SearchInput source="condition" alwaysOn />,
- <DateInput label='common.time.after' source="timeStart" alwaysOn />,
- <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
- <NumberInput source="orderId" label="table.field.orderItem.orderId" />,
- <TextInput source="orderCode" label="table.field.orderItem.orderCode" />,
- <TextInput source="sourceItemId" label="table.field.orderItem.sourceItemId" />,
- <TextInput source="matnrId" label="table.field.orderItem.matnrId" />,
- <TextInput source="matnrCode" label="table.field.orderItem.matnrCode" />,
- <TextInput source="maktx" label="table.field.orderItem.maktx" />,
- <NumberInput source="anfme" label="table.field.orderItem.anfme" />,
- <TextInput source="stockUnit" label="table.field.orderItem.stockUnit" />,
- <NumberInput source="workQty" label="table.field.orderItem.workQty" />,
- <NumberInput source="purQty" label="table.field.orderItem.purQty" />,
- <TextInput source="purUnit" label="table.field.orderItem.purUnit" />,
- <NumberInput source="qty" label="table.field.orderItem.qty" />,
- <TextInput source="splrCode" label="table.field.orderItem.splrCode" />,
- <TextInput source="batch" label="table.field.orderItem.batch" />,
- <TextInput source="splrBatch" label="table.field.orderItem.splrBatch" />,
- <TextInput source="splrName" label="table.field.orderItem.splrName" />,
- <TextInput source="trackCode" label="table.field.orderItem.trackCode" />,
- <TextInput source="barcode" label="table.field.orderItem.barcode" />,
- <TextInput source="prodTime" label="table.field.orderItem.prodTime" />,
- <TextInput source="packName" label="table.field.orderItem.packName" />,
+ <DateInput label='common.time.after' source="timeStart" />,
+ <DateInput label='common.time.before' source="timeEnd" />,
+ <NumberInput source="orderId" label="table.field.stockItem.orderId" />,
+ <TextInput source="orderCode" label="table.field.stockItem.orderCode" />,
+ <TextInput source="sourceItemId" label="table.field.stockItem.sourceItemId" />,
+ <TextInput source="matnrId" label="table.field.stockItem.matnrId" />,
+ <TextInput source="matnrCode" label="table.field.stockItem.matnrCode" />,
+ <TextInput source="maktx" label="table.field.stockItem.maktx" />,
+ <NumberInput source="anfme" label="table.field.stockItem.anfme" />,
+ <TextInput source="stockUnit" label="table.field.stockItem.stockUnit" />,
+ <NumberInput source="workQty" label="table.field.stockItem.workQty" />,
+ <NumberInput source="purQty" label="table.field.stockItem.purQty" />,
+ <TextInput source="purUnit" label="table.field.stockItem.purUnit" />,
+ <NumberInput source="qty" label="table.field.stockItem.qty" />,
+ <TextInput source="splrCode" label="table.field.stockItem.splrCode" />,
+ <TextInput source="batch" label="table.field.stockItem.batch" />,
+ <TextInput source="splrBatch" label="table.field.stockItem.splrBatch" />,
+ <TextInput source="splrName" label="table.field.stockItem.splrName" />,
+ <TextInput source="trackCode" label="table.field.stockItem.trackCode" />,
+ <TextInput source="barcode" label="table.field.stockItem.barcode" />,
+ <TextInput source="prodTime" label="table.field.stockItem.prodTime" />,
+ <TextInput source="packName" label="table.field.stockItem.packName" />,
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -95,13 +96,14 @@
const OrderItemList = () => {
const translate = useTranslate();
-
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
+ const stockId = useGetRecordId();
return (
<Box display="flex">
<List
+ resource="stockItem"
sx={{
flexGrow: 1,
transition: (theme) =>
@@ -110,22 +112,22 @@
}),
marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
- title={"menu.orderItem"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+ title={"menu.stockItem"}
+ empty={false}
filters={filters}
+ filter={{ stockId: stockId }}
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
- <SelectColumnsButton preferenceKey='orderItem' />
+ <SelectColumnsButton preferenceKey='stockItem' />
<MyExportButton />
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
- preferenceKey='orderItem'
+ preferenceKey='stockItem'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
expand={false}
@@ -133,29 +135,29 @@
omit={['id', 'createTime', 'createBy', 'memo']}
>
<NumberField source="id" />
- <NumberField source="orderId" label="table.field.orderItem.orderId" />
- <TextField source="orderCode" label="table.field.orderItem.orderCode" />
- <TextField source="sourceItemId" label="table.field.orderItem.sourceItemId" />
- <TextField source="matnrId" label="table.field.orderItem.matnrId" />
- <TextField source="matnrCode" label="table.field.orderItem.matnrCode" />
- <TextField source="maktx" label="table.field.orderItem.maktx" />
- <NumberField source="anfme" label="table.field.orderItem.anfme" />
- <TextField source="stockUnit" label="table.field.orderItem.stockUnit" />
- <NumberField source="workQty" label="table.field.orderItem.workQty" />
- <NumberField source="purQty" label="table.field.orderItem.purQty" />
- <TextField source="purUnit" label="table.field.orderItem.purUnit" />
- <NumberField source="qty" label="table.field.orderItem.qty" />
- <TextField source="splrCode" label="table.field.orderItem.splrCode" />
- <TextField source="batch" label="table.field.orderItem.batch" />
- <TextField source="splrBatch" label="table.field.orderItem.splrBatch" />
- <TextField source="splrName" label="table.field.orderItem.splrName" />
- <TextField source="trackCode" label="table.field.orderItem.trackCode" />
- <TextField source="barcode" label="table.field.orderItem.barcode" />
- <TextField source="prodTime" label="table.field.orderItem.prodTime" />
- <TextField source="packName" label="table.field.orderItem.packName" />
+ <NumberField source="orderId" label="table.field.stockItem.orderId" />
+ <TextField source="orderCode" label="table.field.stockItem.orderCode" />
+ <TextField source="sourceItemId" label="table.field.stockItem.sourceItemId" />
+ <TextField source="matnrId" label="table.field.stockItem.matnrId" />
+ <TextField source="matnrCode" label="table.field.stockItem.matnrCode" />
+ <TextField source="maktx" label="table.field.stockItem.maktx" />
+ <NumberField source="anfme" label="table.field.stockItem.anfme" />
+ <TextField source="stockUnit" label="table.field.stockItem.stockUnit" />
+ <NumberField source="workQty" label="table.field.stockItem.workQty" />
+ <NumberField source="purQty" label="table.field.stockItem.purQty" />
+ <TextField source="purUnit" label="table.field.stockItem.purUnit" />
+ <NumberField source="qty" label="table.field.stockItem.qty" />
+ <TextField source="splrCode" label="table.field.stockItem.splrCode" />
+ <TextField source="batch" label="table.field.stockItem.batch" />
+ <TextField source="splrBatch" label="table.field.stockItem.splrBatch" />
+ <TextField source="splrName" label="table.field.stockItem.splrName" />
+ <TextField source="trackCode" label="table.field.stockItem.trackCode" />
+ <TextField source="barcode" label="table.field.stockItem.barcode" />
+ <TextField source="prodTime" label="table.field.stockItem.prodTime" />
+ <TextField source="packName" label="table.field.stockItem.packName" />
<TextField source="updateBy$" label="common.field.updateBy" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
- <TextField source="createBy$" label="common.field.createBy" />
+ <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} />
@@ -165,12 +167,8 @@
</WrapperField>
</StyledDatagrid>
</List>
- <OrderItemCreate
- open={createDialog}
- setOpen={setCreateDialog}
- />
<PageDrawer
- title='OrderItem Detail'
+ title='stockItem Detail'
drawerVal={drawerVal}
setDrawerVal={setDrawerVal}
>
diff --git a/rsf-admin/src/page/orders/order/OrderList.jsx b/rsf-admin/src/page/orders/stock/OrderList.jsx
similarity index 87%
rename from rsf-admin/src/page/orders/order/OrderList.jsx
rename to rsf-admin/src/page/orders/stock/OrderList.jsx
index c04146a..95bff50 100644
--- a/rsf-admin/src/page/orders/order/OrderList.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderList.jsx
@@ -63,12 +63,12 @@
<DateInput label='common.time.after' source="timeStart" alwaysOn />,
<DateInput label='common.time.before' source="timeEnd" alwaysOn />,
- <TextInput source="code" label="table.field.order.code" />,
- <TextInput source="sourceCode" label="table.field.order.sourceCode" />,
- <NumberInput source="sourceId" label="table.field.order.sourceId" />,
- <TextInput source="type" label="table.field.order.type" />,
- <TextInput source="wkType" label="table.field.order.wkType" />,
- <NumberInput source="anfme" label="table.field.order.anfme" />,
+ <TextInput source="code" label="table.field.stock.code" />,
+ <TextInput source="sourceCode" label="table.field.stock.sourceCode" />,
+ <NumberInput source="sourceId" label="table.field.stock.sourceId" />,
+ <TextInput source="type" label="table.field.stock.type" />,
+ <TextInput source="wkType" label="table.field.stock.wkType" />,
+ <NumberInput source="anfme" label="table.field.stock.anfme" />,
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
@@ -84,7 +84,6 @@
const OrderList = () => {
const translate = useTranslate();
-
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
@@ -99,35 +98,33 @@
}),
marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
- title={"menu.order"}
+ title={"menu.stock"}
empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
- <SelectColumnsButton preferenceKey='order' />
+ <SelectColumnsButton preferenceKey='stock' />
<MyExportButton />
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
- preferenceKey='order'
+ preferenceKey='stock'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
- expand={() => <OrderPanel />}
expandSingle={true}
omit={['id', 'createTime', 'createBy', 'memo']}
>
<NumberField source="id" />
- <TextField source="code" label="table.field.order.code" />
- <TextField source="sourceCode" label="table.field.order.sourceCode" />
- <NumberField source="sourceId" label="table.field.order.sourceId" />
- <TextField source="type" label="table.field.order.type" />
- <TextField source="wkType" label="table.field.order.wkType" />
- <NumberField source="anfme" label="table.field.order.anfme" />
+ <TextField source="code" label="table.field.stock.code" />
+ <TextField source="sourceCode" label="table.field.stock.sourceCode" />
+ <NumberField source="sourceId" label="table.field.stock.sourceId" />
+ <TextField source="type" label="table.field.stock.type" />
+ <TextField source="wkType" label="table.field.stock.wkType" />
+ <NumberField source="anfme" label="table.field.stock.anfme" />
<ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
<TextField source="nickname" />
diff --git a/rsf-admin/src/page/orders/order/OrderPanel.jsx b/rsf-admin/src/page/orders/stock/OrderPanel.jsx
similarity index 88%
rename from rsf-admin/src/page/orders/order/OrderPanel.jsx
rename to rsf-admin/src/page/orders/stock/OrderPanel.jsx
index e33ead2..ffd6aac 100644
--- a/rsf-admin/src/page/orders/order/OrderPanel.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderPanel.jsx
@@ -23,7 +23,7 @@
overflow: 'hidden',
textOverflow: 'ellipsis',
}}>
- {Common.camelToPascalWithSpaces(translate('table.field.order.id'))}: {record.id}
+ {Common.camelToPascalWithSpaces(translate('table.field.stock.id'))}: {record.id}
</Typography>
{/* inherit, primary, secondary, textPrimary, textSecondary, error */}
<Typography variant="h6" gutterBottom align="right" >
@@ -42,37 +42,37 @@
<Grid container spacing={2}>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.code"
+ title="table.field.stock.code"
property={record.code}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.sourceCode"
+ title="table.field.stock.sourceCode"
property={record.sourceCode}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.sourceId"
+ title="table.field.stock.sourceId"
property={record.sourceId}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.type"
+ title="table.field.stock.type"
property={record.type}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.wkType"
+ title="table.field.stock.wkType"
property={record.wkType}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.order.anfme"
+ title="table.field.stock.anfme"
property={record.anfme}
/>
</Grid>
diff --git a/rsf-admin/src/page/orders/order/index.jsx b/rsf-admin/src/page/orders/stock/index.jsx
similarity index 100%
rename from rsf-admin/src/page/orders/order/index.jsx
rename to rsf-admin/src/page/orders/stock/index.jsx
diff --git a/rsf-admin/src/page/orders/order/OrderItemCreate.jsx b/rsf-admin/src/page/stockItem/StockItemCreate.jsx
similarity index 83%
copy from rsf-admin/src/page/orders/order/OrderItemCreate.jsx
copy to rsf-admin/src/page/stockItem/StockItemCreate.jsx
index 50f3b84..925f54a 100644
--- a/rsf-admin/src/page/orders/order/OrderItemCreate.jsx
+++ b/rsf-admin/src/page/stockItem/StockItemCreate.jsx
@@ -27,11 +27,11 @@
Grid,
Box,
} from '@mui/material';
-import DialogCloseButton from "../../components/DialogCloseButton";
-import StatusSelectInput from "../../components/StatusSelectInput";
-import MemoInput from "../../components/MemoInput";
+import DialogCloseButton from "../components/DialogCloseButton";
+import StatusSelectInput from "../components/StatusSelectInput";
+import MemoInput from "../components/MemoInput";
-const OrderItemCreate = (props) => {
+const StockItemCreate = (props) => {
const { open, setOpen } = props;
const translate = useTranslate();
@@ -86,139 +86,137 @@
<Grid container rowSpacing={2} columnSpacing={2}>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.orderId"
- source="orderId"
+ label="table.field.stockItem.stockId"
+ source="stockId"
autoFocus
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.orderCode"
- source="orderCode"
+ label="table.field.stockItem.stockCode"
+ source="stockCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.orderItem.sourceItemId"
+ <NumberInput
+ label="table.field.stockItem.sourceItemId"
source="sourceItemId"
- parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.orderItem.matnrId"
+ <NumberInput
+ label="table.field.stockItem.matnrId"
source="matnrId"
- parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.matnrCode"
+ label="table.field.stockItem.matnrCode"
source="matnrCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.maktx"
+ label="table.field.stockItem.maktx"
source="maktx"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.anfme"
+ label="table.field.stockItem.anfme"
source="anfme"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.stockUnit"
+ label="table.field.stockItem.stockUnit"
source="stockUnit"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.workQty"
+ label="table.field.stockItem.workQty"
source="workQty"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.purQty"
+ label="table.field.stockItem.purQty"
source="purQty"
validate={required()}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.purUnit"
+ label="table.field.stockItem.purUnit"
source="purUnit"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
- label="table.field.orderItem.qty"
+ label="table.field.stockItem.qty"
source="qty"
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrCode"
+ label="table.field.stockItem.splrCode"
source="splrCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.batch"
+ label="table.field.stockItem.batch"
source="batch"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrBatch"
+ label="table.field.stockItem.splrBatch"
source="splrBatch"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.splrName"
+ label="table.field.stockItem.splrName"
source="splrName"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.trackCode"
+ label="table.field.stockItem.trackCode"
source="trackCode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.barcode"
+ label="table.field.stockItem.barcode"
source="barcode"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.prodTime"
+ label="table.field.stockItem.prodTime"
source="prodTime"
parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
<TextInput
- label="table.field.orderItem.packName"
+ label="table.field.stockItem.packName"
source="packName"
parse={v => v}
/>
@@ -246,4 +244,4 @@
)
}
-export default OrderItemCreate;
+export default StockItemCreate;
diff --git a/rsf-admin/src/page/orders/order/OrderItemEdit.jsx b/rsf-admin/src/page/stockItem/StockItemEdit.jsx
similarity index 78%
copy from rsf-admin/src/page/orders/order/OrderItemEdit.jsx
copy to rsf-admin/src/page/stockItem/StockItemEdit.jsx
index 351d602..c87afcc 100644
--- a/rsf-admin/src/page/orders/order/OrderItemEdit.jsx
+++ b/rsf-admin/src/page/stockItem/StockItemEdit.jsx
@@ -24,10 +24,10 @@
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";
+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();
@@ -40,7 +40,7 @@
)
}
-const OrderItemEdit = () => {
+const StockItemEdit = () => {
const translate = useTranslate();
return (
@@ -65,139 +65,137 @@
</Typography>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.orderId"
- source="orderId"
+ label="table.field.stockItem.stockId"
+ source="stockId"
autoFocus
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.orderCode"
- source="orderCode"
+ label="table.field.stockItem.stockCode"
+ source="stockCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
- <TextInput
- label="table.field.orderItem.sourceItemId"
+ <NumberInput
+ label="table.field.stockItem.sourceItemId"
source="sourceItemId"
- parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
- <TextInput
- label="table.field.orderItem.matnrId"
+ <NumberInput
+ label="table.field.stockItem.matnrId"
source="matnrId"
- parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.matnrCode"
+ label="table.field.stockItem.matnrCode"
source="matnrCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.maktx"
+ label="table.field.stockItem.maktx"
source="maktx"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.anfme"
+ label="table.field.stockItem.anfme"
source="anfme"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.stockUnit"
+ label="table.field.stockItem.stockUnit"
source="stockUnit"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.workQty"
+ label="table.field.stockItem.workQty"
source="workQty"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.purQty"
+ label="table.field.stockItem.purQty"
source="purQty"
validate={required()}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.purUnit"
+ label="table.field.stockItem.purUnit"
source="purUnit"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<NumberInput
- label="table.field.orderItem.qty"
+ label="table.field.stockItem.qty"
source="qty"
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrCode"
+ label="table.field.stockItem.splrCode"
source="splrCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.batch"
+ label="table.field.stockItem.batch"
source="batch"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrBatch"
+ label="table.field.stockItem.splrBatch"
source="splrBatch"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.splrName"
+ label="table.field.stockItem.splrName"
source="splrName"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.trackCode"
+ label="table.field.stockItem.trackCode"
source="trackCode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.barcode"
+ label="table.field.stockItem.barcode"
source="barcode"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.prodTime"
+ label="table.field.stockItem.prodTime"
source="prodTime"
parse={v => v}
/>
</Stack>
<Stack direction='row' gap={2}>
<TextInput
- label="table.field.orderItem.packName"
+ label="table.field.stockItem.packName"
source="packName"
parse={v => v}
/>
@@ -218,4 +216,4 @@
)
}
-export default OrderItemEdit;
+export default StockItemEdit;
diff --git a/rsf-admin/src/page/orders/order/OrderItemList.jsx b/rsf-admin/src/page/stockItem/StockItemList.jsx
similarity index 62%
copy from rsf-admin/src/page/orders/order/OrderItemList.jsx
copy to rsf-admin/src/page/stockItem/StockItemList.jsx
index 6a301f7..293fa09 100644
--- a/rsf-admin/src/page/orders/order/OrderItemList.jsx
+++ b/rsf-admin/src/page/stockItem/StockItemList.jsx
@@ -34,12 +34,13 @@
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
-import OrderItemCreate from "./OrderItemCreate";
-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 StockItemCreate from "./StockItemCreate";
+import StockItemPanel from "./StockItemPanel";
+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';
@@ -61,26 +62,28 @@
<SearchInput source="condition" alwaysOn />,
<DateInput label='common.time.after' source="timeStart" alwaysOn />,
<DateInput label='common.time.before' source="timeEnd" alwaysOn />,
- <NumberInput source="orderId" label="table.field.orderItem.orderId" />,
- <TextInput source="orderCode" label="table.field.orderItem.orderCode" />,
- <TextInput source="sourceItemId" label="table.field.orderItem.sourceItemId" />,
- <TextInput source="matnrId" label="table.field.orderItem.matnrId" />,
- <TextInput source="matnrCode" label="table.field.orderItem.matnrCode" />,
- <TextInput source="maktx" label="table.field.orderItem.maktx" />,
- <NumberInput source="anfme" label="table.field.orderItem.anfme" />,
- <TextInput source="stockUnit" label="table.field.orderItem.stockUnit" />,
- <NumberInput source="workQty" label="table.field.orderItem.workQty" />,
- <NumberInput source="purQty" label="table.field.orderItem.purQty" />,
- <TextInput source="purUnit" label="table.field.orderItem.purUnit" />,
- <NumberInput source="qty" label="table.field.orderItem.qty" />,
- <TextInput source="splrCode" label="table.field.orderItem.splrCode" />,
- <TextInput source="batch" label="table.field.orderItem.batch" />,
- <TextInput source="splrBatch" label="table.field.orderItem.splrBatch" />,
- <TextInput source="splrName" label="table.field.orderItem.splrName" />,
- <TextInput source="trackCode" label="table.field.orderItem.trackCode" />,
- <TextInput source="barcode" label="table.field.orderItem.barcode" />,
- <TextInput source="prodTime" label="table.field.orderItem.prodTime" />,
- <TextInput source="packName" label="table.field.orderItem.packName" />,
+
+ <NumberInput source="stockId" label="table.field.stockItem.stockId" />,
+ <TextInput source="stockCode" label="table.field.stockItem.stockCode" />,
+ <NumberInput source="sourceItemId" label="table.field.stockItem.sourceItemId" />,
+ <NumberInput source="matnrId" label="table.field.stockItem.matnrId" />,
+ <TextInput source="matnrCode" label="table.field.stockItem.matnrCode" />,
+ <TextInput source="maktx" label="table.field.stockItem.maktx" />,
+ <NumberInput source="anfme" label="table.field.stockItem.anfme" />,
+ <TextInput source="stockUnit" label="table.field.stockItem.stockUnit" />,
+ <NumberInput source="workQty" label="table.field.stockItem.workQty" />,
+ <NumberInput source="purQty" label="table.field.stockItem.purQty" />,
+ <TextInput source="purUnit" label="table.field.stockItem.purUnit" />,
+ <NumberInput source="qty" label="table.field.stockItem.qty" />,
+ <TextInput source="splrCode" label="table.field.stockItem.splrCode" />,
+ <TextInput source="batch" label="table.field.stockItem.batch" />,
+ <TextInput source="splrBatch" label="table.field.stockItem.splrBatch" />,
+ <TextInput source="splrName" label="table.field.stockItem.splrName" />,
+ <TextInput source="trackCode" label="table.field.stockItem.trackCode" />,
+ <TextInput source="barcode" label="table.field.stockItem.barcode" />,
+ <TextInput source="prodTime" label="table.field.stockItem.prodTime" />,
+ <TextInput source="packName" label="table.field.stockItem.packName" />,
+
<TextInput label="common.field.memo" source="memo" />,
<SelectInput
label="common.field.status"
@@ -93,7 +96,7 @@
/>,
]
-const OrderItemList = () => {
+const StockItemList = () => {
const translate = useTranslate();
const [createDialog, setCreateDialog] = useState(false);
@@ -110,7 +113,7 @@
}),
marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
- title={"menu.orderItem"}
+ title={"menu.stockItem"}
empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
@@ -118,44 +121,49 @@
<TopToolbar>
<FilterButton />
<MyCreateButton onClick={() => { setCreateDialog(true) }} />
- <SelectColumnsButton preferenceKey='orderItem' />
+ <SelectColumnsButton preferenceKey='stockItem' />
<MyExportButton />
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
- preferenceKey='orderItem'
+ preferenceKey='stockItem'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
- expand={false}
+ expand={() => <StockItemPanel />}
expandSingle={true}
omit={['id', 'createTime', 'createBy', 'memo']}
>
<NumberField source="id" />
- <NumberField source="orderId" label="table.field.orderItem.orderId" />
- <TextField source="orderCode" label="table.field.orderItem.orderCode" />
- <TextField source="sourceItemId" label="table.field.orderItem.sourceItemId" />
- <TextField source="matnrId" label="table.field.orderItem.matnrId" />
- <TextField source="matnrCode" label="table.field.orderItem.matnrCode" />
- <TextField source="maktx" label="table.field.orderItem.maktx" />
- <NumberField source="anfme" label="table.field.orderItem.anfme" />
- <TextField source="stockUnit" label="table.field.orderItem.stockUnit" />
- <NumberField source="workQty" label="table.field.orderItem.workQty" />
- <NumberField source="purQty" label="table.field.orderItem.purQty" />
- <TextField source="purUnit" label="table.field.orderItem.purUnit" />
- <NumberField source="qty" label="table.field.orderItem.qty" />
- <TextField source="splrCode" label="table.field.orderItem.splrCode" />
- <TextField source="batch" label="table.field.orderItem.batch" />
- <TextField source="splrBatch" label="table.field.orderItem.splrBatch" />
- <TextField source="splrName" label="table.field.orderItem.splrName" />
- <TextField source="trackCode" label="table.field.orderItem.trackCode" />
- <TextField source="barcode" label="table.field.orderItem.barcode" />
- <TextField source="prodTime" label="table.field.orderItem.prodTime" />
- <TextField source="packName" label="table.field.orderItem.packName" />
- <TextField source="updateBy$" label="common.field.updateBy" />
+ <NumberField source="stockId" label="table.field.stockItem.stockId" />
+ <TextField source="stockCode" label="table.field.stockItem.stockCode" />
+ <NumberField source="sourceItemId" label="table.field.stockItem.sourceItemId" />
+ <NumberField source="matnrId" label="table.field.stockItem.matnrId" />
+ <TextField source="matnrCode" label="table.field.stockItem.matnrCode" />
+ <TextField source="maktx" label="table.field.stockItem.maktx" />
+ <NumberField source="anfme" label="table.field.stockItem.anfme" />
+ <TextField source="stockUnit" label="table.field.stockItem.stockUnit" />
+ <NumberField source="workQty" label="table.field.stockItem.workQty" />
+ <NumberField source="purQty" label="table.field.stockItem.purQty" />
+ <TextField source="purUnit" label="table.field.stockItem.purUnit" />
+ <NumberField source="qty" label="table.field.stockItem.qty" />
+ <TextField source="splrCode" label="table.field.stockItem.splrCode" />
+ <TextField source="batch" label="table.field.stockItem.batch" />
+ <TextField source="splrBatch" label="table.field.stockItem.splrBatch" />
+ <TextField source="splrName" label="table.field.stockItem.splrName" />
+ <TextField source="trackCode" label="table.field.stockItem.trackCode" />
+ <TextField source="barcode" label="table.field.stockItem.barcode" />
+ <TextField source="prodTime" label="table.field.stockItem.prodTime" />
+ <TextField source="packName" label="table.field.stockItem.packName" />
+
+ <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 />
- <TextField source="createBy$" label="common.field.createBy" />
+ <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} />
@@ -165,12 +173,12 @@
</WrapperField>
</StyledDatagrid>
</List>
- <OrderItemCreate
+ <StockItemCreate
open={createDialog}
setOpen={setCreateDialog}
/>
<PageDrawer
- title='OrderItem Detail'
+ title='StockItem Detail'
drawerVal={drawerVal}
setDrawerVal={setDrawerVal}
>
@@ -179,4 +187,4 @@
)
}
-export default OrderItemList;
+export default StockItemList;
diff --git a/rsf-admin/src/page/locItem/LocItemPanel.jsx b/rsf-admin/src/page/stockItem/StockItemPanel.jsx
similarity index 63%
rename from rsf-admin/src/page/locItem/LocItemPanel.jsx
rename to rsf-admin/src/page/stockItem/StockItemPanel.jsx
index 71d21d8..6f0fda6 100644
--- a/rsf-admin/src/page/locItem/LocItemPanel.jsx
+++ b/rsf-admin/src/page/stockItem/StockItemPanel.jsx
@@ -7,7 +7,7 @@
import PanelTypography from "../components/PanelTypography";
import * as Common from '@/utils/common'
-const LocItemPanel = () => {
+const StockItemPanel = () => {
const record = useRecordContext();
if (!record) return null;
const translate = useTranslate();
@@ -23,7 +23,7 @@
overflow: 'hidden',
textOverflow: 'ellipsis',
}}>
- {Common.camelToPascalWithSpaces(translate('table.field.locItem.id'))}: {record.id}
+ {Common.camelToPascalWithSpaces(translate('table.field.stockItem.id'))}: {record.id}
</Typography>
{/* inherit, primary, secondary, textPrimary, textSecondary, error */}
<Typography variant="h6" gutterBottom align="right" >
@@ -42,98 +42,122 @@
<Grid container spacing={2}>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.locId"
- property={record.locId}
+ title="table.field.stockItem.stockId"
+ property={record.stockId}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.orderId"
- property={record.orderId}
+ title="table.field.stockItem.stockCode"
+ property={record.stockCode}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.type"
- property={record.type}
+ title="table.field.stockItem.sourceItemId"
+ property={record.sourceItemId}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.orderItemId"
- property={record.orderItemId}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.locItem.wkType"
- property={record.wkType}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.locItem.matnrId"
+ title="table.field.stockItem.matnrId"
property={record.matnrId}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.maktx"
- property={record.maktx}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.locItem.matnrCode"
+ title="table.field.stockItem.matnrCode"
property={record.matnrCode}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.trackCode"
- property={record.trackCode}
+ title="table.field.stockItem.maktx"
+ property={record.maktx}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.unit"
- property={record.unit}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.locItem.anfme"
+ title="table.field.stockItem.anfme"
property={record.anfme}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.batch"
+ title="table.field.stockItem.stockUnit"
+ property={record.stockUnit}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.workQty"
+ property={record.workQty}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.purQty"
+ property={record.purQty}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.purUnit"
+ property={record.purUnit}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.qty"
+ property={record.qty}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.splrCode"
+ property={record.splrCode}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.batch"
property={record.batch}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.splrBatch"
+ title="table.field.stockItem.splrBatch"
property={record.splrBatch}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.spec"
- property={record.spec}
+ title="table.field.stockItem.splrName"
+ property={record.splrName}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.model"
- property={record.model}
+ title="table.field.stockItem.trackCode"
+ property={record.trackCode}
/>
</Grid>
<Grid item xs={6}>
<PanelTypography
- title="table.field.locItem.fieldsIndex"
- property={record.fieldsIndex}
+ title="table.field.stockItem.barcode"
+ property={record.barcode}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.prodTime"
+ property={record.prodTime}
+ />
+ </Grid>
+ <Grid item xs={6}>
+ <PanelTypography
+ title="table.field.stockItem.packName"
+ property={record.packName}
/>
</Grid>
@@ -144,4 +168,4 @@
);
};
-export default LocItemPanel;
+export default StockItemPanel;
diff --git a/rsf-admin/src/page/locItem/index.jsx b/rsf-admin/src/page/stockItem/index.jsx
similarity index 66%
rename from rsf-admin/src/page/locItem/index.jsx
rename to rsf-admin/src/page/stockItem/index.jsx
index a02f044..2449954 100644
--- a/rsf-admin/src/page/locItem/index.jsx
+++ b/rsf-admin/src/page/stockItem/index.jsx
@@ -5,12 +5,12 @@
ShowGuesser,
} from "react-admin";
-import LocItemList from "./LocItemList";
-import LocItemEdit from "./LocItemEdit";
+import StockItemList from "./StockItemList";
+import StockItemEdit from "./StockItemEdit";
export default {
- list: LocItemList,
- edit: LocItemEdit,
+ list: StockItemList,
+ edit: StockItemEdit,
show: ShowGuesser,
recordRepresentation: (record) => {
return `${record.id}`
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java
index 83e71ea..3663686 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java
@@ -22,8 +22,8 @@
// generator.username="sa";
// generator.password="Zoneyung@zy56$";
- generator.table="man_loc_item";
- generator.tableDesc="搴撲綅鏄庣粏";
+ generator.table="man_stock_item";
+ generator.tableDesc="缁煎悎鍗曟嵁鏄庣粏";
generator.packagePath="com.vincent.rsf.server.manager";
generator.build();
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 78e4034..5657acc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -247,7 +247,13 @@
if (StringUtils.isBlank(ruleCode)) {
throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
}
- stock.setSourceId(order.getId()).setSourceCode(order.getCode());
+ double sum = items.stream().mapToDouble(TaskItem::getAnfme).sum();
+ stock.setSourceId(order.getId())
+ .setCode(ruleCode)
+ .setSourceCode(order.getCode())
+ .setAnfme(sum)
+ .setWkType(Short.parseShort(order.getWkType()))
+ .setType(order.getType());
if (!stockService.save(stock)) {
throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒");
}
@@ -272,26 +278,4 @@
throw new CoolException("搴撳瓨淇敼鏋跺け璐ワ紒锛�");
}
}
-
-// public void generateOrders() {
-// Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getOrderId));
-// listMap.keySet().forEach(key -> {
-// double sum = listMap.get(key).stream().mapToDouble(TaskItem::getAnfme).sum();
-// listMap.get(key).forEach(taskItem -> {
-// Order order = new Order();
-// String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_MANAGE_ORDER_CODE, taskItem);
-// if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
-// throw new CoolException("缂栫爜瑙勫垯閿欒锛�" + "璇锋煡鐪嬬紪鐮侊細" + "銆孲YS_MANAGE_ORDER_CODE銆�" + "鏄惁璁剧疆");
-// }
-// order.setCode(ruleCode).setAnfme(sum).setSourceId(taskItem.getOrderId());
-// });
-// });
-//
-// if (!orderItemService.saveBatch(orderItems)) {
-// throw new CoolException("鍗曟嵁鏄庣粏淇濆瓨澶辫触锛侊紒");
-// }
-// }
-
-
-
}
diff --git a/rsf-server/src/main/java/stockItem.sql b/rsf-server/src/main/java/stockItem.sql
new file mode 100644
index 0000000..306ee63
--- /dev/null
+++ b/rsf-server/src/main/java/stockItem.sql
@@ -0,0 +1,41 @@
+-- save stockItem record
+-- mysql
+insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.stockItem', '0', '/manager/stockItem', 'stockItem', '0' , '0', '1' , '1');
+
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 缁煎悎鍗曟嵁鏄庣粏', '', '1', 'manager:stockItem:list', '0', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 缁煎悎鍗曟嵁鏄庣粏', '', '1', 'manager:stockItem:save', '1', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 缁煎悎鍗曟嵁鏄庣粏', '', '1', 'manager:stockItem:update', '2', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 缁煎悎鍗曟嵁鏄庣粏', '', '1', 'manager:stockItem:remove', '3', '1', '1');
+
+-- locale menu name
+stockItem: 'StockItem',
+
+-- locale field
+stockItem: {
+ stockId: "stockId",
+ stockCode: "stockCode",
+ sourceItemId: "sourceItemId",
+ matnrId: "matnrId",
+ matnrCode: "matnrCode",
+ maktx: "maktx",
+ anfme: "anfme",
+ stockUnit: "stockUnit",
+ workQty: "workQty",
+ purQty: "purQty",
+ purUnit: "purUnit",
+ qty: "qty",
+ splrCode: "splrCode",
+ batch: "batch",
+ splrBatch: "splrBatch",
+ splrName: "splrName",
+ trackCode: "trackCode",
+ barcode: "barcode",
+ prodTime: "prodTime",
+ packName: "packName",
+},
+
+-- ResourceContent
+import stockItem from './stockItem';
+
+case 'stockItem':
+ return stockItem;
--
Gitblit v1.9.1