| | |
| | | NumberField, |
| | | required, |
| | | useRecordContext, |
| | | useGetRecordId, |
| | | useGetOne, |
| | | DeleteButton, |
| | | useNotify, |
| | | useEditContext, |
| | | } from 'react-admin'; |
| | | import { useWatch, useFormContext } from "react-hook-form"; |
| | | 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 request from '@/utils/request'; |
| | | import CustomerTopToolBar from "../../components/EditTopToolBar"; |
| | | import DictionarySelect from "../../components/DictionarySelect"; |
| | | import { Stack, Grid, Box, Typography } from '@mui/material'; |
| | | import EditBaseAside from "../../components/EditBaseAside"; |
| | | import { useWatch, useFormContext } from "react-hook-form"; |
| | | import MemoInput from "../../components/MemoInput"; |
| | | import * as Common from '@/utils/common'; |
| | | import LocItemList from "./LocItemList"; |
| | | import request from '@/utils/request'; |
| | | import { da } from "date-fns/locale"; |
| | | |
| | | const FormToolbar = () => { |
| | | const { getValues } = useFormContext(); |
| | | |
| | | return ( |
| | | <Toolbar sx={{ justifyContent: 'space-between' }}> |
| | | <Toolbar sx={{ justifyContent: 'flex-end' }}> |
| | | {/* <DeleteButton mutationMode="optimistic" /> */} |
| | | <SaveButton /> |
| | | <DeleteButton mutationMode="optimistic" /> |
| | | </Toolbar> |
| | | ) |
| | | } |
| | |
| | | const translate = useTranslate(); |
| | | const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || []; |
| | | const [warehouseId, setWrehouseId] = useState(); |
| | | const id = useGetRecordId(); |
| | | const { data, isLoading } = useGetOne('loc', { id }); |
| | | if (!isLoading) { |
| | | data.typeIds = data?.type.split(','); |
| | | } else { |
| | | return |
| | | } |
| | | |
| | | const warehouseChange = (val) => { |
| | | setWrehouseId(val) |
| | | } |
| | | |
| | | |
| | | return ( |
| | | <> |
| | |
| | | title={"menu.loc"} |
| | | > |
| | | <SimpleForm |
| | | record={data} |
| | | 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}> |
| | | <Grid item xs={12} md={12}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.main')} |
| | | </Typography> |
| | |
| | | </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> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | } |
| | | |
| | | export default LocEdit; |
| | | |
| | | |
| | | const ArraySelectInput = () => { |
| | | |
| | | } |
| | |
| | | import DictionarySelect from "../../components/DictionarySelect"; |
| | | import ConstructionIcon from "@mui/icons-material/Construction"; |
| | | import BillStatusField from '../../components/BillStatusField'; |
| | | import MyExportButton from '../../components/MyExportButton'; |
| | | import { Box, Typography, Card, Stack } from '@mui/material'; |
| | | import MyCreateButton from "../../components/MyCreateButton"; |
| | | import { useLocation, useNavigate } from 'react-router-dom'; |
| | | import MyExportButton from '../../components/MyExportButton'; |
| | | import ConfirmButton from '../../components/ConfirmButton'; |
| | | import ExitToAppIcon from '@mui/icons-material/ExitToApp'; |
| | | import ImportButton from "../../components/ImportButton"; |
| | |
| | | @PreAuthorize("hasAuthority('manager:locItem:list')") |
| | | @GetMapping("/locItem/{id}") |
| | | public R get(@PathVariable("id") Long id) { |
| | | return R.ok().add(locService.getById(id)); |
| | | return R.ok().add(locItemService.getById(id)); |
| | | } |
| | | |
| | | @PreAuthorize("hasAuthority('manager:locItem:save')") |
| | |
| | | return StringUtils.join(strings, ","); |
| | | } |
| | | |
| | | |
| | | public String getUseStatus$(){ |
| | | if (null == this.useStatus){ return null; } |
| | | switch (this.useStatus){ |
| | |
| | | |
| | | Page<LocItem> page = new Page<>(params.getCurrent(), params.getPageSize()); |
| | | QueryWrapper<LocItem> wrapper = new QueryWrapper<>(); |
| | | wrapper.select("id, matnr_id, maktx, matnr_code, anfme, work_qty, qty, batch, unit, fields_index, model, spec, loc_id ") |
| | | wrapper.select("id, matnr_id, maktx, matnr_code, SUM(anfme) anfme, SUM(work_qty) work_qty, SUM(qty) qty, batch, unit, fields_index, model, spec, loc_id ") |
| | | .lambda() |
| | | .eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode()) |
| | | .like(StringUtils.isNotBlank(params.getMaktx()), LocItem::getMaktx, params.getMaktx()); |