From d215bd868760ce67800a81ff2e99bf4fec36ca99 Mon Sep 17 00:00:00 2001
From: Ryan <creaycat@gmail.com>
Date: 星期三, 02 四月 2025 18:47:06 +0800
Subject: [PATCH] no message
---
rsf-admin/src/page/qlyInspect/QlyInspectList.jsx | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 113 insertions(+), 6 deletions(-)
diff --git a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
index 7da510e..0cb65c3 100644
--- a/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
+++ b/rsf-admin/src/page/qlyInspect/QlyInspectList.jsx
@@ -31,6 +31,8 @@
ReferenceArrayInput,
AutocompleteInput,
DeleteButton,
+ Button,
+ useRefresh,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -43,6 +45,13 @@
import MyField from "../components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
+import ConstructionIcon from "@mui/icons-material/Construction";
+import CloseIcon from "@mui/icons-material/Close";
+import TaskIcon from '@mui/icons-material/Task';
+import AddIcon from '@mui/icons-material/Add';
+import request from '@/utils/request';
+import AsnSelModal from "./AsnSelModal";
+import InspectModal from "./InspectModal";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -61,7 +70,6 @@
const filters = [
<SearchInput source="condition" alwaysOn />,
- <NumberInput source="asnItemId" label="table.field.qlyInspect.asnItemId" />,
<TextInput source="code" label="table.field.qlyInspect.code" />,
<TextInput source="wkType" label="table.field.qlyInspect.wkType" />,
<NumberInput source="safeQty" label="table.field.qlyInspect.safeQty" />,
@@ -104,6 +112,7 @@
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
+ <AsnCreatButton />
<FilterButton />
<SelectColumnsButton preferenceKey='qlyInspect' />
<MyExportButton />
@@ -113,16 +122,18 @@
>
<StyledDatagrid
preferenceKey='qlyInspect'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+ bulkActionButtons={<BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
expand={() => <QlyInspectPanel />}
expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ omit={['id', 'createTime', 'createBy', 'memo', 'asnId', 'statusBool']}
>
<NumberField source="id" />
- <NumberField source="asnItemId$" label="table.field.qlyInspect.asnItemId" />
+ <NumberField source="asnId" label="table.field.qlyInspect.asnId" />
+ <NumberField source="asnCode" label="table.field.qlyInspect.asnCode" />
<TextField source="code" label="table.field.qlyInspect.code" />
- <TextField source="wkType" label="table.field.qlyInspect.wkType" />
+ <TextField source="isptStatus$" label="table.field.qlyInspect.isptStatus" />
+ <TextField source="wkType$" label="table.field.qlyInspect.wkType" />
<NumberField source="safeQty" label="table.field.qlyInspect.safeQty" />
<NumberField source="dlyQty" label="table.field.qlyInspect.dlyQty" />
<NumberField source="rcptQty" label="table.field.qlyInspect.rcptQty" />
@@ -139,7 +150,10 @@
<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">
- <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
+ {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
+ <InspectionButton />
+ <CompleteButton />
+ <CloseButton />
</WrapperField>
</StyledDatagrid>
</List>
@@ -153,8 +167,101 @@
setDrawerVal={setDrawerVal}
>
</PageDrawer>
+
+
</Box>
)
}
export default QlyInspectList;
+
+const InspectionButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const [createDialog, setCreateDialog] = useState(false);
+
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.quality"}>
+ <ConstructionIcon />
+ </Button>
+
+ <InspectModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ ispectId={record.id}
+ />
+ </>
+ )
+}
+
+const CompleteButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const requestComplete = async () => {
+ const { data: { code, data, msg } } = await request.post(`/qlyInspect/update`, { ...record, isptStatus: '1' });
+
+ if (code === 200) {
+ notify(msg);
+ refresh()
+ } else {
+ notify(msg);
+ }
+ }
+
+
+ return (
+ <Button onClick={requestComplete} label={"toolbar.complete"}>
+ <TaskIcon />
+ </Button>
+ )
+}
+
+const CloseButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+
+ const requestClose = async () => {
+ const { data: { code, data, msg } } = await request.post(`/qlyInspect/update`, { ...record, isptStatus: '3' });
+
+ if (code === 200) {
+ notify(msg);
+ refresh()
+ } else {
+ notify(msg);
+ }
+ }
+
+
+ return (
+ <Button onClick={requestClose} label={"toolbar.close"}>
+ <CloseIcon />
+ </Button>
+ )
+}
+
+const AsnCreatButton = () => {
+ const record = useRecordContext();
+ const notify = useNotify();
+ const refresh = useRefresh();
+ const [createDialog, setCreateDialog] = useState(false);
+
+
+
+ return (
+ <>
+ <Button onClick={() => setCreateDialog(true)} label={"toolbar.asnCreate"}>
+ <AddIcon />
+ </Button>
+
+ <AsnSelModal
+ open={createDialog}
+ setOpen={setCreateDialog}
+ />
+ </>
+ )
+}
--
Gitblit v1.9.1