From 0d42706148e164656334d3dbd284daf4f2bf1b30 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期四, 03 四月 2025 16:59:27 +0800
Subject: [PATCH] feat:收货单完成
---
rsf-admin/src/page/asnOrder/AsnOrderList.jsx | 29 ++++++++++++++
rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx | 12 +++++-
rsf-admin/src/page/qlyInspect/QlyInspectList.jsx | 24 ++++++++---
rsf-admin/.env | 2
rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx | 2
rsf-admin/src/page/asnOrder/AsnOrderModal.jsx | 4 +
6 files changed, 60 insertions(+), 13 deletions(-)
diff --git a/rsf-admin/.env b/rsf-admin/.env
index 75359a8..a8ce658 100644
--- a/rsf-admin/.env
+++ b/rsf-admin/.env
@@ -1,3 +1,3 @@
-VITE_BASE_IP=192.168.4.13
+VITE_BASE_IP=192.168.4.24
# VITE_BASE_IP=47.76.147.249
VITE_BASE_PORT=8080
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
index 70af9af..ad77e8f 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderList.jsx
@@ -48,6 +48,7 @@
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';
@@ -101,6 +102,7 @@
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
const [modalType, setmodalType] = useState(0);
+ const [billReload, setBillReload] = useState(null);
const navigate = useNavigate();
const assign = (record) => {
@@ -138,7 +140,7 @@
preferenceKey='asnOrder'
bulkActionButtons={<> <InspectionsButton /><BulkDeleteButton mutationMode={OPERATE_MODE} /></>}
rowClick={() => false}
- expand={<AsnOrderPanel />}
+ expand={<AsnOrderPanel setBillReload={setBillReload} />}
expandSingle={true}
omit={['id', 'createTime', 'createBy', 'memo', 'poId']}
>
@@ -179,6 +181,7 @@
>
</Button> */}
<InspectionButton />
+ <CompleteButton />
<DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
</WrapperField>
</StyledDatagrid>
@@ -187,6 +190,7 @@
open={createDialog}
setOpen={setCreateDialog}
asnId={modalType}
+ billReload={billReload}
/>
<PageDrawer
title='AsnOrder Detail'
@@ -278,3 +282,26 @@
</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>
+ )
+}
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
index 9bb5800..3f6b568 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx
@@ -57,7 +57,7 @@
import DictSelect from "../components/DictSelect";
const AsnOrderModal = (props) => {
- const { open, setOpen, asnId } = props;
+ const { open, setOpen, asnId, billReload } = props;
const translate = useTranslate();
const notify = useNotify();
@@ -108,6 +108,7 @@
const res = await request.post(`/asnOrder/items/save`, parmas);
if (res?.data?.code === 200) {
setOpen(false);
+ billReload()
refresh();
} else {
notify(res.data.msg);
@@ -121,6 +122,7 @@
if (res?.data?.code === 200) {
setOpen(false);
refresh();
+
} else {
notify(res.data.msg);
}
diff --git a/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx b/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
index 1880e12..0d858d2 100644
--- a/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
+++ b/rsf-admin/src/page/asnOrder/AsnOrderPanel.jsx
@@ -15,7 +15,7 @@
import { DataGrid } from '@mui/x-data-grid';
import PrintModal from './PrintModal';
import { width } from "@mui/system";
-const AsnOrderPanel = () => {
+const AsnOrderPanel = ({ setBillReload }) => {
const record = useRecordContext();
if (!record) return null;
const translate = useTranslate();
@@ -26,7 +26,13 @@
useEffect(() => {
debouncedHttp({ maktx });
+ setBillReload(http)
}, [asnId, maktx]);
+
+ useEffect(() => {
+ setBillReload(http)
+ }, []);
+
const http = async (parmas) => {
@@ -37,6 +43,7 @@
notify(res.data.msg);
}
}
+
const debouncedHttp = useMemo(() => debounce(http, 300), []);
@@ -104,7 +111,8 @@
},
{
field: 'trackCode',
- headerName: translate('table.field.asnOrderItem.barcode')
+ headerName: translate('table.field.asnOrderItem.barcode'),
+ width: 150
},
{
field: 'prodTime',
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
index b30ce29..46b4912 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
@@ -107,7 +107,13 @@
marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.qlyInspect"}
- empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+ empty={<EmptyData
+ children={
+ <Box sx={{ gap: 2, display: 'flex' }}>
+ <AsnCreatButton isInit={true} />
+ </Box>
+ }
+ onClick={() => { }} />}
filters={filters}
sort={{ field: "create_time", order: "desc" }}
actions={(
@@ -244,19 +250,23 @@
)
}
-const AsnCreatButton = () => {
+const AsnCreatButton = ({ isInit }) => {
const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
const [createDialog, setCreateDialog] = useState(false);
-
-
return (
<>
- <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"}>
- <AddIcon />
- </Button>
+ {
+ isInit ? <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"} variant="contained"
+ color="primary">
+ <AddIcon />
+ </Button> : <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"} >
+ <AddIcon />
+ </Button>
+ }
+
<AsnSelModal
open={createDialog}
diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
index 999b8d4..37aa8a0 100644
--- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
+++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
@@ -127,7 +127,7 @@
preferenceKey='warehouseAreasItem'
bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ omit={['id', 'createTime', 'createBy', 'memo', 'areaId', 'matnrId']}
>
<NumberField source="id" />
<NumberField source="areaId" label="table.field.warehouseAreasItem.areaId" />
--
Gitblit v1.9.1