rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/waitPakin/SelectSiteModel.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/waitPakin/WaitPakinList.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -171,6 +171,7 @@ <WrapperField cellClassName="opt" label="common.field.opt"> {/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> */} <Button label="ra.action.edit" onClick={(id, resource, record) => { console.log(record); setEditDialog(true) setSelect(record) }} /> <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
@@ -1,31 +1,10 @@ import { Dialog, DialogTitle, Box, DialogActions, DialogContent } from "@mui/material"; import React, { useState, useRef, useEffect, useMemo, useCallback, Form } from "react"; import { styled } from '@mui/material/styles'; import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button } from "react-admin"; import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button, useRefresh } from "react-admin"; import DialogCloseButton from "../components/DialogCloseButton"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; const filters = [ <SearchInput source="condition" alwaysOn />, <NumberInput source="type" label="table.field.deviceSite.type" />, <TextInput source="site" label="table.field.deviceSite.site" />, <TextInput source="name" label="table.field.deviceSite.name" />, <TextInput source="wcsCode" label="table.field.deviceSite.wcsCode" />, <TextInput source="label" label="table.field.deviceSite.label" />, <TextInput source="device" label="table.field.deviceSite.device" />, <TextInput source="deviceCode" label="table.field.deviceSite.deviceCode" />, <TextInput source="deviceSite" label="table.field.deviceSite.deviceSite" />, <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" source="status" choices={[ { id: '1', name: 'common.enums.statusTrue' }, { id: '0', name: 'common.enums.statusFalse' }, ]} resettable /> ] const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { height: '.9em' @@ -44,6 +23,7 @@ const { open, setOpen, record } = props; const translate = useTranslate(); const [drawerVal, setDrawerVal] = useState(false); const refresh = useRefresh(); const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); @@ -75,11 +55,9 @@ }} title={"menu.deviceSite"} empty={false} filters={filters} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> <SelectColumnsButton preferenceKey='deviceSite' /> </TopToolbar> )} @@ -88,7 +66,12 @@ <StyledDatagrid preferenceKey='deviceSite' bulkActionButtons={false} rowClick={(id, resource, record) => false} rowClick='toggleSelection' onToggleItem={(id, resource, record)=>{ console.log(id); setOpen(false); refresh(); }} omit={['id', 'createTime', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']} > <NumberField source="id" /> @@ -106,6 +89,13 @@ <DateField source="createTime" label="common.field.createTime" showTime /> <BooleanField source="statusBool" label="common.field.status" sortable={false} /> <TextField source="memo" label="common.field.memo" sortable={false} /> <WrapperField> <Button label="toolbar.selectSite" onClick={(id, resource, record)=>{ console.log(id); setOpen(false) refresh(); }}/> </WrapperField> </StyledDatagrid> </List> </DialogContent> rsf-admin/src/page/waitPakin/WaitPakinList.jsx
@@ -43,9 +43,6 @@ import PageDrawer from "../components/PageDrawer"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; import AddIcon from '@mui/icons-material/Add'; import request from '@/utils/request'; import TaskIcon from '@mui/icons-material/Task'; import { width } from "@mui/system"; import SelectSiteModel from "./SelectSiteModel"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ @@ -99,6 +96,7 @@ return ( <Box display="flex"> <List resource="waitPakin" sx={{ flexGrow: 1, transition: (theme) => @@ -122,7 +120,7 @@ > <StyledDatagrid preferenceKey='waitPakin' bulkActionButtons={<Box> <Button label="ra.action.edit" onClick={()=>{ bulkActionButtons={<Box> <Button label="ra.action.edit" onClick={() => { setSiteDialog(true) }} /> <BulkDeleteButton mutationMode={OPERATE_MODE} /></Box>} rowClick='edit' @@ -148,7 +146,7 @@ </WrapperField> </StyledDatagrid> </List> <SelectSiteModel open={siteDialog} setOpen={setSiteDialog}/> <SelectSiteModel open={siteDialog} setOpen={setSiteDialog} /> <WaitPakinCreate open={createDialog} setOpen={setCreateDialog} rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -129,7 +129,7 @@ .setMatnrCode(item.getMatnrCode()); for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { if (waitPakinItem.getReceiptQty() > item.getAnfme()) { if (waitPakinItem.getReceiptQty() > item.getAnfme() && waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) { throw new CoolException("组拖数量不能大于收货数量!!"); } pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); @@ -165,8 +165,8 @@ .setMatnrCode(item.getMatnrCode()); for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { if (waitPakinItem.getReceiptQty() > item.getAnfme()) { throw new CoolException("组拖数量不能大于收货数量!!"); if (waitPakinItem.getReceiptQty() > item.getAnfme() && waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) { throw new CoolException("组拖数量不能大于收货数量且不能小于零!!"); } pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); }