From 97db7c8a1471e9146a5abe53375f4d2e29fa2ced Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期一, 07 四月 2025 17:04:53 +0800
Subject: [PATCH] fix:0407修改
---
rsf-admin/src/page/asnOrder/AsnOrderList.jsx | 132 ++++++++++++++++++++++++++++++++++---------
1 files changed, 103 insertions(+), 29 deletions(-)
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index 96dbf12..c4da83b 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -15,6 +15,7 @@
useRecordContext,
useTranslate,
useNotify,
+ useRefresh,
useListContext,
FunctionField,
TextField,
@@ -47,7 +48,8 @@
import ConstructionIcon from "@mui/icons-material/Construction";
import FileDownloadIcon from '@mui/icons-material/FileDownload';
import EditIcon from '@mui/icons-material/Edit';
-
+import TaskIcon from '@mui/icons-material/Task';
+import request from '@/utils/request';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -60,13 +62,12 @@
'& .column-name': {
},
'& .opt': {
- width: 200
+ width: 300
},
}));
const filters = [
<SearchInput source="condition" alwaysOn />,
-
<TextInput source="code" label="table.field.asnOrder.code" />,
<TextInput source="poCode" label="table.field.asnOrder.poCode" />,
<NumberInput source="poId" label="table.field.asnOrder.poId" />,
@@ -101,16 +102,12 @@
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
const [modalType, setmodalType] = useState(0);
+ const billReload = useRef();
const navigate = useNavigate();
const assign = (record) => {
navigate(`/asnOrderItem?asnId=${record.id}`);
};
-
-
- const inspection = () => { };
- const print = () => { };
-
return (
<Box display="flex">
@@ -130,9 +127,6 @@
actions={(
<TopToolbar>
- <Button onClick={inspection} label={"toolbar.inspection"}>
- <ConstructionIcon />
- </Button>
<FilterButton />
<MyCreateButton onClick={() => { setCreateDialog(true); setmodalType(0) }} />
<SelectColumnsButton preferenceKey='asnOrder' />
@@ -144,25 +138,18 @@
>
<StyledDatagrid
preferenceKey='asnOrder'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
- rowClick={(id, resource, record) => false}
- expand={(e) => <AsnOrderPanel key={Math.floor(Math.random() * 100)} />}
+ bulkActionButtons={<> <InspectionsButton /><BulkDeleteButton mutationMode={OPERATE_MODE} /></>}
+ rowClick={() => false}
+ expand={<AsnOrderPanel billReload={billReload} />}
expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ omit={['id', 'createTime', 'createBy', 'memo', 'poId']}
>
<NumberField source="id" />
- <MyField
- source="code"
- label="table.field.asnOrder.code"
- onClick={(event, record, val) => {
- event.stopPropagation();
- assign(record);
- }}
- />
+ <TextField source="code" label="table.field.asnOrder.code" />
<TextField source="poCode" label="table.field.asnOrder.poCode" />
<NumberField source="poId" label="table.field.asnOrder.poId" />
- <TextField source="type" label="table.field.asnOrder.type" />
- <TextField source="wkType" label="table.field.asnOrder.wkType" />
+ <TextField source="type$" label="table.field.asnOrder.type" />
+ <TextField source="wkType$" label="table.field.asnOrder.wkType" />
<NumberField source="anfme" label="table.field.asnOrder.anfme" />
<NumberField source="qty" label="table.field.asnOrder.qty" />
<TextField source="logisNo" label="table.field.asnOrder.logisNo" />
@@ -177,12 +164,13 @@
<TextField source="nickname" />
</ReferenceField>
<DateField source="createTime" label="common.field.createTime" showTime />
- <BooleanField source="statusBool" label="common.field.status" sortable={false} />
+ <TextField source="exceStatus$" label="common.field.status" />
+ {/* <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" >
- <Button label="toolbar.print" onClick={print}>
+ <WrapperField cellClassName="opt" label="common.field.opt" width={300} >
+ {/* <Button label="toolbar.print" onClick={print}>
<FileDownloadIcon />
- </Button>
+ </Button> */}
{/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> */}
<MyButton setCreateDialog={setCreateDialog} setmodalType={setmodalType} />
{/* <Button
@@ -193,6 +181,8 @@
label={'ra.action.edit'}
>
</Button> */}
+ <InspectionButton />
+ <CompleteButton />
<DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
</WrapperField>
</StyledDatagrid>
@@ -201,6 +191,7 @@
open={createDialog}
setOpen={setCreateDialog}
asnId={modalType}
+ billReload={billReload}
/>
<PageDrawer
title='AsnOrder Detail'
@@ -232,3 +223,86 @@
</Button>
)
}
+
+const InspectionButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const inspection = () => {
+ requestInspect([record])
+ };
+
+ const requestInspect = async (rows) => {
+ const { data: { code, data, msg } } = await request.post(`/asnOrder/inspect`, rows);
+
+ if (code === 200) {
+ notify(msg);
+ refresh()
+ } else {
+ notify(msg);
+ }
+ }
+
+
+ return (
+ <Button onClick={inspection} label={"toolbar.inspection"}>
+ <ConstructionIcon />
+ </Button>
+ )
+}
+
+const InspectionsButton = () => {
+ const { selectedIds, onUnselectItems, data } = useListContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const inspection = () => {
+ if (selectedIds.length === 0) {
+ notify('璇烽�夋嫨閫氱煡鍗�');
+ return;
+ } else {
+ const rows = data.filter((item) => selectedIds.includes(item.id))
+ requestInspect(rows)
+ }
+ };
+
+ const requestInspect = async (rows) => {
+ const { data: { code, data, msg } } = await request.post(`/asnOrder/inspect`, rows);
+
+ if (code === 200) {
+ notify(msg);
+ refresh()
+ } else {
+ notify(msg);
+ }
+ }
+
+
+ return (
+ <Button onClick={inspection} label={"toolbar.inspection"}>
+ <ConstructionIcon />
+ </Button>
+ )
+}
+
+const CompleteButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const requestComplete = async () => {
+ const { data: { code, data, msg } } = await request.post(`/asnOrder/complete/${record.id}`);
+
+ if (code === 200) {
+ notify(msg);
+ refresh()
+ } else {
+ notify(msg);
+ }
+ }
+
+
+ return (
+ <Button onClick={requestComplete} label={"toolbar.complete"} color="success">
+ <TaskIcon />
+ </Button>
+ )
+}
--
Gitblit v1.9.1