Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
# Conflicts:
# rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
| | |
| | | err: "error", |
| | | result: "result", |
| | | userId: "user", |
| | | detail: "detail" |
| | | }, |
| | | customer: { |
| | | uuid: "uuid", |
| | |
| | | groupQty: 'Group Qty', |
| | | qty: "qty", |
| | | orderNum: "orderNum", |
| | | progress:"progress" |
| | | }, |
| | | waveItem: { |
| | | waveId: "waveId", |
| | |
| | | err: "错误信息", |
| | | result: "result", |
| | | userId: "操作用户", |
| | | detail: "详细信息" |
| | | }, |
| | | customer: { |
| | | uuid: "编号", |
| | |
| | | splrId: "供应商标识", |
| | | weight: "收货重量", |
| | | prodTime: "生产日期", |
| | | splrBtch: "供应商批次", |
| | | splrBtch: "批次", |
| | | }, |
| | | loc: { |
| | | warehouseId: "所属仓库", |
| | |
| | | purQty: "下单数量", |
| | | purUnit: "单位", |
| | | qty: "完成数量", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | splrCode: "供应商编码", |
| | | splrName: "供应商名称", |
| | | qrcode: "二维码", |
| | |
| | | purUnit: "采购单位", |
| | | qty: "已完成数量", |
| | | splrCode: "供应商编码", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | splrName: "供应商名称", |
| | | qrcode: "二维码", |
| | | trackCode: "条形码", |
| | |
| | | printQty: "打印数量", |
| | | splrName: "供应商名称", |
| | | splrCode: "供应商编码", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | }, |
| | | purchaseItem: { |
| | | purchaseId: "PO主单标识", |
| | |
| | | printQty: "打印数量", |
| | | splrName: "供应商名称", |
| | | splrCode: "供应商编码", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | }, |
| | | fields: { |
| | | fields: "字段", |
| | |
| | | groupQty: '品类数', |
| | | qty: "完成数量", |
| | | orderNum: "单据数", |
| | | progress:"进度" |
| | | }, |
| | | waveItem: { |
| | | waveId: "波次ID", |
| | |
| | | matnrName: "物料名称", |
| | | matnrCode: "物料编码", |
| | | batch: "批次", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | orderCode: "源单号", |
| | | orderItemId: "源单明细ID", |
| | | unit: "单位", |
| | |
| | | qty: "总数", |
| | | splrCode: "供应商编码", |
| | | batch: "批次", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | splrName: "供应商名称", |
| | | trackCode: "跟踪码", |
| | | barcode: "条形码", |
| | |
| | | workQty: '执行数', |
| | | qty: '完成数', |
| | | batch: "批次", |
| | | splrBatch: "供应商批次", |
| | | splrBatch: "批次", |
| | | spec: "规格", |
| | | model: "型号", |
| | | fieldsIndex: "动态索引", |
| | |
| | | import outStock from './orders/outStock'; |
| | | import deviceBind from './deviceBind'; |
| | | import wave from './orders/wave'; |
| | | import locItem from './locItem' |
| | | import locItem from './locItem'; |
| | | import basStation from './basicInfo/basStation'; |
| | | import warehouseStock from './statistics/stockManage'; |
| | | import basContainer from './basicInfo/basContainer'; |
| | |
| | | |
| | | const filters = [ |
| | | <SearchInput source="condition" alwaysOn />, |
| | | <DateInput label='common.time.after' source="timeStart" alwaysOn />, |
| | | <DateInput label='common.time.before' source="timeEnd" alwaysOn />, |
| | | <DateInput label='common.time.after' source="timeStart" />, |
| | | <DateInput label='common.time.before' source="timeEnd" />, |
| | | |
| | | <NumberInput source="containerType" label="table.field.basContainer.containerType" />, |
| | | <TextInput source="codeType" label="table.field.basContainer.codeType" />, |
| | |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="containerType$" label="table.field.basContainer.containerType" /> |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | |
| | | const filters = [ |
| | | <SearchInput source="condition" alwaysOn />, |
| | | <DateInput label='common.time.after' source="timeStart" alwaysOn />, |
| | | <DateInput label='common.time.before' source="timeEnd" alwaysOn />, |
| | | <DateInput label='common.time.after' source="timeStart" />, |
| | | <DateInput label='common.time.before' source="timeEnd" />, |
| | | |
| | | <TextInput source="stationName" label="table.field.basStation.stationName" />, |
| | | <TextInput source="stationName" label="table.field.basStation.stationName" alwaysOn/>, |
| | | <NumberInput source="inAble" label="table.field.basStation.inAble" />, |
| | | <NumberInput source="outAble" label="table.field.basStation.outAble" />, |
| | | <TextInput source="useStatus" label="table.field.basStation.useStatus" />, |
| | |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','updateBy','autoTransfer']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="stationName" label="table.field.basStation.stationName" /> |
| | | <TextField source="useStatus$" label="table.field.basStation.useStatus" /> |
| | | <TextField source="barcode" label="table.field.basStation.barcode" /> |
| | | <FunctionField |
| | | source="inAble" |
| | | label="table.field.basStation.inAble" |
| | |
| | | label="table.field.basStation.outAble" |
| | | render={record => record.inAble === 1 ? '是' : '否'} |
| | | /> |
| | | <TextField source="useStatus$" label="table.field.basStation.useStatus" /> |
| | | |
| | | <NumberField source="area$" label="table.field.basStation.area" /> |
| | | <FunctionField |
| | | source="isCrossZone" |
| | |
| | | source="isWcs" |
| | | label="table.field.basStation.isWcs" |
| | | render={record => record.inAble === 1 ? '是' : '否'} |
| | | /> |
| | | <NumberField source="containerType$" label="table.field.basStation.containerType" /> |
| | | /> |
| | | |
| | | <WrapperField cellClassName="containerType" label="table.field.basStation.containerType"> |
| | | <ContainerTypesField |
| | | open={areaFieldDialog2} |
| | | setOpen={setAreaFieldDialog2} |
| | | /> |
| | | </WrapperField> |
| | | <TextField source="barcode" label="table.field.basStation.barcode" /> |
| | | |
| | | <FunctionField |
| | | source="autoTransfer" |
| | | label="table.field.basStation.autoTransfer" |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | }, |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | preferenceKey='companys' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','createBy$','updateBy$','statusBool','province','city','address']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="name" label="table.field.companys.name" /> |
| | | <TextField source="code" label="table.field.companys.code" /> |
| | | <TextField source="name" label="table.field.companys.name" /> |
| | | |
| | | <TextField source="nameEn" label="table.field.companys.nameEn" /> |
| | | <TextField source="breifCode" label="table.field.companys.breifCode" /> |
| | | <DictField source="type" label="table.field.companys.type" dictTypeCode={'sys_companys_type'} /> |
| | |
| | | preferenceKey='deviceSite' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'label']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'label','name','target','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="site" label="table.field.deviceSite.site" /> |
| | | <TextField source="name" label="table.field.deviceSite.name" /> |
| | | <NumberField source="type$" label="table.field.deviceSite.type" /> |
| | | <TextField source="site" label="table.field.deviceSite.site" /> |
| | | |
| | | <TextField source="target" label="table.field.deviceSite.target" /> |
| | | <TextField source="label" label="table.field.deviceSite.label" /> |
| | | <TextField source="device$" label="table.field.deviceSite.device" /> |
| | |
| | | } |
| | | onClick={() => { }} />} |
| | | filters={filters} |
| | | sort={{ field: "create_time", order: "desc" }} |
| | | sort={{ field: "'row'" }} |
| | | actions={( |
| | | <TopToolbar> |
| | | <FilterButton /> |
| | |
| | | </> |
| | | } |
| | | rowClick={() => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'updateTime', 'updateBy']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'updateTime', 'updateBy', 'length', 'width', 'height','statusBool','updateBy$','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="warehouseId$" label="table.field.loc.warehouseId" /> |
| | | <NumberField source="areaId$" label="table.field.loc.areaId" /> |
| | | <TextField source="code" label="table.field.loc.code" /> |
| | | <NumberField source="warehouseId$" label="table.field.loc.warehouseId" /> |
| | | <NumberField source="areaId$" label="table.field.loc.areaId" /> |
| | | <TextField source="typeIds$" label="table.field.loc.type" cellClassName="type" /> |
| | | {/* <TextField source="name" label="table.field.loc.name" /> */} |
| | | {/* <NumberField source="flagLogic" label="table.field.loc.flagLogic" /> |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | rowClick={(id, resource, record) => false} |
| | | expand={() => <LocAreaMatPanel />} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.locAreaMat.code" /> |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | <BulkDeleteButton /> |
| | | </>} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | {/* <TextField source="uuid" label="table.field.locType.uuid" /> */} |
| | |
| | | </Grid> |
| | | |
| | | |
| | | <Grid item xs={12} md={2}> |
| | | {/* <Grid item xs={12} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | if (code === 200) { |
| | | const arr = [ |
| | | <NumberField key="id" source="id" />, |
| | | <TooltipField key="name" source="name" label="table.field.matnr.name" cellClassName="name" />, |
| | | <TextField key="code" source="code" label="table.field.matnr.code" />, |
| | | <TooltipField key="name" source="name" label="table.field.matnr.name" cellClassName="name" />, |
| | | <TextField key="shipperId$" source="shipperId$" label="table.field.matnr.shipperId" />, |
| | | <ReferenceField key="groupId" source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}> |
| | | <TextField source="name" /> |
| | |
| | | <BulkDeleteButton mutationMode={OPERATE_MODE} /> |
| | | </>} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'shipperId', 'platCode', 'spec', 'model', 'weight', 'color', 'describle' |
| | | , 'nromNum', 'unit', 'purchaseUnit', 'stockUnit', 'stockLeval', 'isLabelMange', 'safeQty' |
| | | omit={['id', 'shipperId', 'platCode', 'model', 'weight', 'color', 'describle' |
| | | , 'nromNum', 'unit', 'purchaseUnit', 'stockUnit', 'isLabelMange', 'safeQty' |
| | | , 'minQty', 'maxQty', 'stagn', 'valid', 'validWarn', 'flagCheck', 'updateTime', 'updateBy' |
| | | , 'createTime', 'createBy', 'memo', 'rglarId', 'groupId', 'stockLevel']} |
| | | , 'createTime', 'createBy', 'memo', 'rglarId', 'groupId','statusBool', 'stockLeval$']} |
| | | > |
| | | {columns.map((column) => column)} |
| | | </StyledDatagrid>} |
| | |
| | | /> |
| | | </Stack> |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <TextInput |
| | | label="common.field.memo" |
| | | source="memo" |
| | | parse={v => v} |
| | | fullWidth |
| | | multiline |
| | | minRows={2} |
| | | autoFocus |
| | | /> |
| | | </Grid> |
| | | |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; |
| | | import * as Common from '@/utils/common'; |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | | height: '.9em' |
| | | }, |
| | | '& .RaDatagrid-row': { |
| | | cursor: 'auto' |
| | | }, |
| | | '& .column-name': { |
| | | }, |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | })); |
| | | // const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | // '& .css-1vooibu-MuiSvgIcon-root': { |
| | | // height: '.9em' |
| | | // }, |
| | | // '& .RaDatagrid-row': { |
| | | // cursor: 'auto' |
| | | // }, |
| | | // '& .column-name': { |
| | | // }, |
| | | // '& .opt': { |
| | | // width: 200 |
| | | // }, |
| | | // '& .RaDatagrid-cell': { |
| | | // whiteSpace: 'nowrap', |
| | | // overflow: 'visible', |
| | | // textOverflow: 'unset', |
| | | // maxWidth: 'none' |
| | | // }, |
| | | // '& .MuiTableCell-root': { |
| | | // whiteSpace: 'nowrap', |
| | | // overflow: 'visible', |
| | | // textOverflow: 'unset' |
| | | // } |
| | | // })); |
| | | |
| | | const filters = [ |
| | | <SearchInput source="condition" alwaysOn />, |
| | |
| | | <MyExportButton /> |
| | | </TopToolbar> |
| | | )} |
| | | perPage={DEFAULT_PAGE_SIZE} |
| | | perPage={DEFAULT_PAGE_SIZE} |
| | | > |
| | | <StyledDatagrid |
| | | <DatagridConfigurable |
| | | preferenceKey='warehouse' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'longitude', 'latgitude', 'length', 'width', 'height']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="factory" label="table.field.warehouse.factory" /> |
| | |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <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 cellClassName="opt" label="common.field.opt"> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> |
| | | </WrapperField> |
| | | </StyledDatagrid> |
| | | </DatagridConfigurable> |
| | | </List> |
| | | <WarehouseCreate |
| | | open={createDialog} |
| | |
| | | const theme = useTheme(); |
| | | |
| | | const value = JSON.parse(localStorage.getItem('sys_dicts'))?.find(dict => (dict.value == record[source])).label; |
| | | |
| | | console.log(value) |
| | | |
| | | return record ? ( |
| | | <Typography |
| | |
| | | {translate('common.edit.side.title')} |
| | | </Typography> |
| | | <Grid container rowSpacing={2} columnSpacing={1}> |
| | | <Grid item xs={12} display="flex" gap={1}> |
| | | {/* <Grid item xs={12} display="flex" gap={1}> |
| | | <StatusField label="Status" /> |
| | | </Grid> |
| | | </Grid> */} |
| | | <Grid item xs={12} display="flex" gap={1}> |
| | | <AccessTimeIcon fontSize="small" color="disabled" /> |
| | | <Box flexGrow={1}> |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | preferenceKey='container' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | {/* <TextField source="code" label="table.field.container.code" /> */} |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | preferenceKey='contract' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.contract.code" /> |
| | |
| | | <StyledDatagrid |
| | | preferenceKey='deviceBind' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | expand={() => <DeviceBindPanel />} |
| | | rowClick={(id, resource, record) => false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','updateBy','emptySimilar']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="currentRow" label="table.field.deviceBind.currentRow" /> |
| | |
| | | <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <DateField source="createTime" label="common.field.createTime" showTime /> |
| | | <BooleanField source="statusBool" label="common.field.status" sortable={false} /> |
| | | <DateField source="createTime" label="common.field.createTime" showTime /> |
| | | <TextField source="memo" label="common.field.memo" sortable={false} /> |
| | | <WrapperField cellClassName="opt" label="common.field.opt"> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | '& .opt': { |
| | | width: 150 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | rowClick={'edit'} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'rleStatus']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','logisNo', 'poId', 'rleStatus$','statusBool','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.asnOrderLog.code" /> |
| | |
| | | rowClick={'edit'} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="pakinId" label="table.field.waitPakinLog.pakinId" /> |
| | |
| | | </Grid> |
| | | </Grid> |
| | | </Grid> |
| | | <Grid item xs={12} md={2}> |
| | | {/* <Grid item xs={12} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput readOnly /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | display: 'block', |
| | | width: 'auto', |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | |
| | |
| | | source="useStatus" |
| | | optionValue="value" |
| | | parse={v => v} |
| | | alwaysOn |
| | | |
| | | />, |
| | | <TextInput source="code" label="table.field.loc.code" />, |
| | | <AutocompleteInput |
| | |
| | | title={"menu.locItem"} |
| | | empty={false} |
| | | filters={filters} |
| | | filter={{ useStatus: 'F' }} |
| | | sort={{ field: "create_time", order: "desc" }} |
| | | actions={( |
| | | <TopToolbar> |
| | |
| | | align="left" |
| | | bulkActionButtons={false} |
| | | rowClick={() => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'updateTime', 'updateBy']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo', 'updateTime', 'updateBy','statusBool','length','width','height']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="warehouseId$" label="table.field.loc.warehouseId" /> |
| | |
| | | '& .opt': { |
| | | width: 100 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | rowClick={false} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime','spec', 'model', 'locId', 'orderId', 'trackCode', 'orderItemId', 'matnrId', 'splrBatch','createBy', 'memo', 'fieldsIndex']} |
| | | omit={['id', 'createTime','spec', 'model', 'locId', 'orderId', 'trackCode', 'orderItemId', 'matnrId', 'splrBatch','createBy$', 'memo', 'fieldsIndex','statusBool']} |
| | | > |
| | | {columns.map((column) => column)} |
| | | </StyledDatagrid>} |
| | |
| | | }, |
| | | '& .column-name': { |
| | | }, |
| | | '& .opt': { |
| | | width: 220 |
| | | }, |
| | | |
| | | '& .wkType': { |
| | | width: 110 |
| | | }, |
| | | '& .status': { |
| | | width: 90 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | }, |
| | | '& .opt': { |
| | | width: 220, |
| | | |
| | | }, |
| | | })); |
| | | |
| | |
| | | </>} |
| | | rowClick={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'logisNo', 'poId', 'rleStatus$']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'logisNo', 'poId', 'rleStatus$','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.asnOrder.code" /> |
| | |
| | | /> |
| | | </Stack> |
| | | </Grid> |
| | | <Grid item xs={8} md={2}> |
| | | {/* <Grid item xs={8} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | '& .opt': { |
| | | width: 150 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | }} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'deliveryId', 'fieldsIndex', 'printQty', 'nromQty', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'deliveryId', 'fieldsIndex', 'printQty', 'nromQty', 'createBy', 'memo','statusBool','createBy$','splrCode']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="deliveryId" label="table.field.deliveryItem.deliveryId" /> |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | rowClick={(id, resource, record) => false} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'platId', 'platCode', 'memo', 'startTime','qty', 'endTime', 'updateBy', 'createTime']} |
| | | omit={['id', 'createTime', 'createBy', 'platId', 'platCode', 'memo', 'startTime', 'endTime', 'updateBy', 'createTime','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.delivery.code" /> |
| | |
| | | <TextField source="wkType$" label="table.field.delivery.wkType" /> |
| | | <TextField source="source" label="table.field.delivery.source" /> |
| | | <NumberField source="anfme" label="table.field.delivery.anfme" /> |
| | | <NumberField source="workQty" label="table.field.delivery.qty" /> |
| | | <NumberField source="workQty" label="table.field.delivery.workQty" /> |
| | | <NumberField source="qty" label="table.field.delivery.qty" /> |
| | | <TextField source="platCode" label="table.field.delivery.platCode" /> |
| | | <DateField source="startTime" label="table.field.delivery.startTime" showTime /> |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | preferenceKey='outStockItem' |
| | | bulkActionButtons={false} |
| | | rowClick={false} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrCode', 'matnrId', 'asnId','platOrderCode']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="asnId" label="table.field.outStockItem.asnId" /> |
| | |
| | | bulkActionButtons={<PublicTaskButton setWaveRule={setWaveRule} setSelectIds={setSelectIds} />} |
| | | rowClick={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'rleStatus$']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo', 'rleStatus$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.outStock.code" /> |
| | |
| | | /> |
| | | </Stack> |
| | | </Grid> |
| | | <Grid item xs={6} md={2}> |
| | | {/* <Grid item xs={6} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | setSelect(record) |
| | | setEditDialog(true) |
| | | }} |
| | | omit={['id', 'createTime', 'purchaseId', 'platItemId','asnQty', 'printQty', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'purchaseId', 'platItemId','asnQty', 'printQty', 'createBy', 'memo','splrCode','createBy$','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField source="purchaseId" label="table.field.purchaseItem.purchaseId" /> |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | actions={( |
| | | <TopToolbar> |
| | | <FilterButton /> |
| | | <MyCreateButton onClick={() => { setCreateDialog(true) }} /> |
| | | {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} |
| | | <SelectColumnsButton preferenceKey='purchase' /> |
| | | <ImportButton value={'purchaseItem'} /> |
| | | <MyExportButton /> |
| | |
| | | rowClick={false} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy','channel', 'platCode', 'memo', 'channel','startTime','workQty', 'endTime']} |
| | | omit={['id', 'createTime', 'createBy','channel', 'platCode', 'memo', 'channel','startTime','workQty', 'endTime','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.purchase.code" /> |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | bulkActionButtons={<BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'asnId', 'statusBool']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'asnId', 'statusBool','createBy$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.qlyInspect.code" /> |
| | |
| | | bulkActionButtons={false} |
| | | rowClick='edit' |
| | | expandSingle={false} |
| | | omit={['id', 'createTime', 'sourceId', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'sourceId', 'createBy$', 'memo','statusBool','opt']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.stock.code" /> |
| | |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_WAVE_AUTO_EXCE } from '@/config/setting'; |
| | | import PlayArrowOutlinedIcon from '@mui/icons-material/PlayArrowOutlined'; |
| | | import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline'; |
| | | import PauseIcon from '@mui/icons-material/Pause'; |
| | | import StopCircleOutlinedIcon from '@mui/icons-material/StopCircleOutlined'; |
| | | import StopOutlinedIcon from '@mui/icons-material/StopOutlined'; |
| | | import { Box, Typography, Card, Stack, LinearProgress } from '@mui/material'; |
| | |
| | | rowClick={(id, resource, record) => false} |
| | | expand={<WavePannel />} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'createBy$']} |
| | | omit={['id', 'createTime', 'createBy', 'createBy$','memo']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.wave.code" /> |
| | |
| | | <TextField source="updateBy$" label="common.field.updateBy" /> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime /> |
| | | <TextField source="createBy$" label="common.field.createBy" /> |
| | | |
| | | <CustomProcess source="progress" label="table.field.wave.progress" /> |
| | | <TextField source="memo" label="common.field.memo" sortable={false} /> |
| | | <CustomProcess source="progress" /> |
| | | <TextField source="exceStatus$" label="table.field.wave.exceStatus" sortable={false} /> |
| | | <WrapperField cellClassName="opt" label="common.field.opt"> |
| | | <PauseButton /> |
| | |
| | | } |
| | | } |
| | | return ( |
| | | autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></> |
| | | autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseIcon />} /> : <></> |
| | | ) |
| | | } |
| | | |
| | |
| | | refresh() |
| | | } |
| | | return ( |
| | | record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<StopCircleOutlinedIcon />} /> : <></> |
| | | record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseIcon />} /> : <></> |
| | | ) |
| | | } |
| | | |
| | |
| | | refresh() |
| | | } |
| | | return ( |
| | | record?.exceStatus == 2 ? <Button label="toolbar.continuePub" onClick={continueClick} startIcon={<PauseCircleOutlineIcon />} /> : <></> |
| | | record?.exceStatus == 2 ? <Button label="toolbar.continuePub" onClick={continueClick} startIcon={<PlayArrowOutlinedIcon />} /> : <></> |
| | | ) |
| | | } |
| | |
| | | }, |
| | | '& .column-name': { |
| | | }, |
| | | '& .opt': { |
| | | width: 180 |
| | | }, |
| | | |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | }, |
| | | '& .opt': { |
| | | width: 180, |
| | | whiteSpace: 'normal', |
| | | } |
| | | })); |
| | | |
| | | |
| | |
| | | rowClick={false} |
| | | expand={false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex']} |
| | | omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex','updateBy$']} |
| | | > |
| | | {columns.map((column) => column)} |
| | | </StyledDatagrid>} |
| | |
| | | /> |
| | | </Stack> |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | preferenceKey='config' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'memo']} |
| | | omit={['id', 'createTime', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="uuid" label="table.field.config.uuid" /> |
| | |
| | | setSelect(record) |
| | | setEditDialog(true) |
| | | }} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="dictTypeId" label="table.field.dictData.dictTypeId" /> |
| | |
| | | import MyCreateButton from "../../../components/MyCreateButton"; |
| | | import MyExportButton from '../../../components/MyExportButton'; |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; |
| | | import { width } from "@mui/system"; |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | |
| | | }, |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | }, |
| | | '& .column-description': { |
| | | maxWidth: '25em', |
| | | overflow: 'hidden', |
| | | textOverflow: 'ellipsis', |
| | | whiteSpace: 'nowrap', |
| | | }, |
| | | })); |
| | | |
| | |
| | | preferenceKey='dictType' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={'edit'} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.dictType.code" |
| | |
| | | DateField, |
| | | Labeled, |
| | | } from 'react-admin'; |
| | | import { Box, Grid, Stack, IconButton, Typography, Card, CardContent, TextField, Button } from '@mui/material'; |
| | | import { Box, Grid, Stack, IconButton, Typography, Card, CardContent, TextField, Button,FormLabel } from '@mui/material'; |
| | | import CloseIcon from '@mui/icons-material/Close'; |
| | | import { format } from 'date-fns'; |
| | | |
| | | const OperationDetail = (props) => { |
| | | const { operation, ...rest } = props; |
| | | |
| | | const translate = useTranslate(); |
| | | |
| | | return ( |
| | | <> |
| | |
| | | <CardContent> |
| | | <Grid container rowSpacing={1} mb={1}> |
| | | <Grid item xs={6}> |
| | | <Labeled label="table.field.operationRecord.namespace"> |
| | | <Typography |
| | | variant="body2" |
| | | flexWrap="nowrap" |
| | | > |
| | | {operation.namespace || ''} |
| | | </Typography> |
| | | </Labeled> |
| | | <FormLabel component="legend"> |
| | | {translate('table.field.operationRecord.namespace')} |
| | | </FormLabel> |
| | | <Typography variant="body2" flexWrap="nowrap"> |
| | | {operation.namespace || ''} |
| | | </Typography> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <Labeled label="table.field.operationRecord.url"> |
| | | <FormLabel component="legend"> |
| | | {translate('table.field.operationRecord.url')} |
| | | </FormLabel> |
| | | |
| | | <Typography |
| | | variant="body2" |
| | | flexWrap="nowrap" |
| | | > |
| | | {operation.url || ''} |
| | | </Typography> |
| | | </Labeled> |
| | | |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <Labeled label="table.field.operationRecord.timestamp"> |
| | | <FormLabel component="legend"> |
| | | {translate('table.field.operationRecord.timestamp')} |
| | | </FormLabel> |
| | | |
| | | <Typography |
| | | variant="body2" |
| | | flexWrap="nowrap" |
| | | > |
| | | {format(new Date(Number(operation.timestamp)), 'yyyy-MM-dd HH:mm:ss')} |
| | | </Typography> |
| | | </Labeled> |
| | | |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <Labeled label="table.field.operationRecord.userId"> |
| | | <FormLabel component="legend"> |
| | | {translate('table.field.operationRecord.userId')} |
| | | </FormLabel> |
| | | |
| | | <Typography |
| | | variant="body2" |
| | | flexWrap="nowrap" |
| | | > |
| | | {operation.userId$ || ''} |
| | | </Typography> |
| | | </Labeled> |
| | | |
| | | </Grid> |
| | | <Grid item sm={12}> |
| | | <TextField |
| | |
| | | /> |
| | | </Grid> |
| | | <Grid item xs={6}> |
| | | <Labeled label="table.field.operationRecord.clientIp"> |
| | | <FormLabel component="legend"> |
| | | {translate('table.field.operationRecord.userId')} |
| | | </FormLabel> |
| | | |
| | | <Typography |
| | | variant="body2" |
| | | flexWrap="nowrap" |
| | | > |
| | | {operation.clientIp || ''} |
| | | </Typography> |
| | | </Labeled> |
| | | |
| | | </Grid> |
| | | </Grid> |
| | | </CardContent> |
| | |
| | | </StyledDatagrid> |
| | | </List> |
| | | <PageDrawer |
| | | title='OperationRecord Detail' |
| | | title={translate('table.field.operationRecord.detail')} |
| | | drawerVal={drawerVal} |
| | | setDrawerVal={setDrawerVal} |
| | | > |
| | |
| | | /> |
| | | </Stack> |
| | | </Grid> |
| | | <Grid item xs={8} md={2}> |
| | | {/* <Grid item xs={8} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | "& .opt": { |
| | | width: 200, |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | setSelect(record) |
| | | setEditDialog(true) |
| | | }} |
| | | omit={["id", "ruleId", "createTime", "createBy", "memo"]} |
| | | omit={["id", "ruleId", "createTime", "createBy$", "memo",'statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <NumberField |
| | |
| | | <BulkDeleteButton mutationMode={OPERATE_MODE} /> |
| | | )} |
| | | rowClick={'edit'} |
| | | omit={["id", "createTime", "createBy", "memo"]} |
| | | omit={["id", "createTime", "createBy$", "memo",'statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.serialRule.code" /> |
| | |
| | | rowClick={false} |
| | | // expand={() => <TaskItemPanel />} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId', 'platWorkCode', 'projectCode']} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId', 'platWorkCode', 'projectCode','statusBool']} |
| | | > |
| | | {columns.map((column) => column)} |
| | | </StyledDatagrid>} |
| | |
| | | '& .opt': { |
| | | width: 248 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | |
| | | })); |
| | | |
| | | |
| | |
| | | rowClick={false} |
| | | expand={<TaskPanel />} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'status']} |
| | | omit={['id', 'createTime', 'createBy$', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'status','warehType$']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="taskCode" label="table.field.task.taskCode" /> |
| | |
| | | '& .opt': { |
| | | width: 210 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | {/* <BulkDeleteButton mutationMode={OPERATE_MODE} /> */} |
| | | </>} |
| | | rowClick={false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.waitPakin.code" /> |
| | |
| | | import CustomerTopToolBar from "../components/EditTopToolBar"; |
| | | import MemoInput from "../components/MemoInput"; |
| | | import StatusSelectInput from "../components/StatusSelectInput"; |
| | | import DictionarySelect from "../components/DictionarySelect"; |
| | | import DictSelect from "../components/DictSelect"; |
| | | |
| | | const FormToolbar = () => { |
| | | const { getValues } = useFormContext(); |
| | |
| | | validate={[required()]} |
| | | parse={v => v} |
| | | /> |
| | | <AutocompleteInput |
| | | choices={dicts} |
| | | optionText="label" |
| | | label="table.field.warehouseAreas.type" |
| | | source="type" |
| | | optionValue="value" |
| | | parse={v => v} |
| | | <DictionarySelect |
| | | label='table.field.warehouseAreas.type' |
| | | name="type" |
| | | dictTypeCode="sys_ware_areas_type" |
| | | alwaysOn |
| | | /> |
| | | <ReferenceInput |
| | | source="warehouseId" |
| | |
| | | <AutocompleteInput |
| | | label="table.field.warehouseAreas.wareId" |
| | | optionText="name" |
| | | optionValue="id" |
| | | validate={[required()]} |
| | | filterToQuery={(val) => ({ name: val })} |
| | | /> |
| | |
| | | ReferenceArrayInput, |
| | | AutocompleteInput, |
| | | DeleteButton, |
| | | Datagrid, |
| | | useRefresh, |
| | | Button |
| | | } from 'react-admin'; |
| | |
| | | import PageDrawer from "../components/PageDrawer"; |
| | | import BatchModal from "./BatchModal"; |
| | | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; |
| | | import * as Common from '@/utils/common'; |
| | | import EditIcon from '@mui/icons-material/Edit'; |
| | | import { minWidth } from "@mui/system"; |
| | | |
| | | |
| | | const ScrollableDatagrid = styled(Datagrid)(({ theme }) => ({ |
| | | '& .MuiTable-root': { |
| | | minWidth: '100%', // 确保表格宽度足够 |
| | | tableLayout: 'fixed', // 固定表格布局 |
| | | }, |
| | | '& .RaDatagrid-rowCell': { |
| | | textAlign: 'center', |
| | | whiteSpace: 'nowrap', |
| | | textOverflow: 'ellipsis', |
| | | }, |
| | | |
| | | '& .RaDatagrid-headerCell': { |
| | | whiteSpace: 'nowrap', |
| | | overflowX: 'auto', |
| | | }, |
| | | |
| | | '& .opt': { |
| | | width: 200, |
| | | position: 'sticky', |
| | | zIndex: 3, |
| | | right: 0, |
| | | |
| | | }, |
| | | })); |
| | | |
| | | |
| | | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ |
| | | // height: '.9em' |
| | | // }, |
| | | // '& .RaDatagrid-row': { |
| | | // cursor: 'auto' |
| | | // }, |
| | | '& .css-1vooibu-MuiSvgIcon-root': { |
| | | height: '.9em' |
| | | }, |
| | | '& .RaDatagrid-row': { |
| | | cursor: 'auto' |
| | | }, |
| | | '& .column-name': { |
| | | }, |
| | | '& .opt': { |
| | | width: 200, |
| | | position: 'sticky', |
| | | right: 0, |
| | | width: 200 |
| | | }, |
| | | |
| | | '& .MuiTableContainer-root': { |
| | | overflowX: 'auto', |
| | | '&::-webkit-scrollbar': { |
| | | height: '8px', |
| | | }, |
| | | '&::-webkit-scrollbar-thumb': { |
| | | backgroundColor: theme.palette.action.hover, |
| | | borderRadius: '4px', |
| | | }, |
| | | }, |
| | | // '& .MuiTable-root': { |
| | | // minWidth: '100%', // 确保表格宽度足够 |
| | | // tableLayout: 'fixed', // 固定表格布局 |
| | | // }, |
| | | // '& .MuiTableCell-root': { |
| | | // whiteSpace: 'nowrap', |
| | | // overflow: 'hidden', |
| | | // textOverflow: 'ellipsis', |
| | | // position: 'relative', // 为固定列提供定位上下文 |
| | | // }, |
| | | // '& .MuiTableCell-actions': { |
| | | // position: 'sticky', |
| | | // right: 0, |
| | | // background: theme.palette.background.paper, |
| | | // zIndex: 2, |
| | | // width: '150px', |
| | | // minWidth: '150px', |
| | | // boxShadow: '-2px 0 4px rgba(0,0,0,0.1)', |
| | | // '& button': { |
| | | // marginLeft: theme.spacing(1), |
| | | // } |
| | | // }, |
| | | // '& .MuiTableHead-root .MuiTableCell-actions': { |
| | | // zIndex: 3, // 表头比内容高一层 |
| | | // } |
| | | |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | duration: theme.transitions.duration.enteringScreen, |
| | | }), |
| | | marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, |
| | | '& .RaList-content': { |
| | | position: 'sticky', |
| | | overflow: 'auto', |
| | | width: 'auto', |
| | | righ: '0px', |
| | | minWidth: '100%' |
| | | } |
| | | }} |
| | | title={"menu.warehouseAreas"} |
| | | empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} |
| | |
| | | </TopToolbar> |
| | | )} |
| | | perPage={DEFAULT_PAGE_SIZE} |
| | | > |
| | | <ScrollableDatagrid |
| | | > |
| | | |
| | | |
| | | |
| | | <StyledDatagrid |
| | | preferenceKey='warehouseAreas' |
| | | bulkActionButtons={ |
| | | <> |
| | | <WareButton /> |
| | | {/* <WareButton /> |
| | | <MixButton /> |
| | | <StatusButton /> |
| | | <StatusButton /> */} |
| | | <BulkDeleteButton mutationMode={OPERATE_MODE} /> |
| | | </> |
| | | } |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','flagMix$','flagLabelMange$','shipperId$','supplierId']} |
| | | > |
| | | <NumberField source="id" /> |
| | | {/* <TextField source="uuid" label="table.field.warehouseAreas.uuid" /> */} |
| | | <TextField source="name" label="table.field.warehouseAreas.name" width="10%" /> |
| | | <TextField source="code" label="table.field.warehouseAreas.code" width="10%" /> |
| | | <TextField source="type$" label="table.field.warehouseAreas.type" width="10%" /> |
| | | <TextField source="code" label="table.field.warehouseAreas.code" /> |
| | | <TextField source="name" label="table.field.warehouseAreas.name" /> |
| | | |
| | | <TextField source="type$" label="table.field.warehouseAreas.type"/> |
| | | {/* <ReferenceField source="shipperId" label="table.field.warehouseAreas.shipperId" reference="shipper" link={false} sortable={false}> |
| | | <TextField source="name" /> |
| | | </ReferenceField> */} |
| | | <TextField source="warehouseId$" label="table.field.warehouseAreas.wareId" width="10%" /> |
| | | <TextField source="shipperId$" label="table.field.warehouseAreas.shipperId" width="10%" /> |
| | | <NumberField source="supplierId" label="table.field.warehouseAreas.supplierId" width="10%" /> |
| | | <TextField source="flagMinus$" label="table.field.warehouseAreas.flagMinus" sortable={false} width="10%" /> |
| | | <TextField source="flagLabelMange$" label="table.field.warehouseAreas.flagLabelMange" sortable={false} width="10%" /> |
| | | <TextField source="flagMix$" label="table.field.warehouseAreas.flagMix" sortable={false} width="10%" /> |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false} width="10%"> |
| | | <TextField source="warehouseId$" label="table.field.warehouseAreas.wareId" /> |
| | | <TextField source="shipperId$" label="table.field.warehouseAreas.shipperId" /> |
| | | <NumberField source="supplierId" label="table.field.warehouseAreas.supplierId" /> |
| | | <TextField source="flagMinus$" label="table.field.warehouseAreas.flagMinus" sortable={false} /> |
| | | <TextField source="flagLabelMange$" label="table.field.warehouseAreas.flagLabelMange" sortable={false} /> |
| | | <TextField source="flagMix$" label="table.field.warehouseAreas.flagMix" sortable={false} /> |
| | | <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime width="10%" /> |
| | | <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false} width="10%"> |
| | | <DateField source="updateTime" label="common.field.updateTime" showTime /> |
| | | <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}> |
| | | <TextField source="nickname" /> |
| | | </ReferenceField> |
| | | <DateField source="createTime" label="common.field.createTime" showTime width="10%" /> |
| | | <BooleanField source="statusBool" label="common.field.status" sortable={false} width="10%" /> |
| | | <TextField source="memo" label="common.field.memo" sortable={false} width="10%" /> |
| | | <WrapperField source="opt" cellClassName="opt" label="common.field.opt"> |
| | | <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 cellClassName="opt" label="common.field.opt"> |
| | | <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> |
| | | <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> |
| | | </WrapperField> |
| | | </ScrollableDatagrid> |
| | | </StyledDatagrid> |
| | | |
| | | </List> |
| | | <WarehouseAreasCreate |
| | | open={createDialog} |
| | |
| | | '& .opt': { |
| | | width: 200 |
| | | }, |
| | | '& .MuiTableCell-root': { |
| | | whiteSpace: 'nowrap', |
| | | overflow: 'visible', |
| | | textOverflow: 'unset' |
| | | } |
| | | })); |
| | | |
| | | const filters = [ |
| | |
| | | preferenceKey='warehouseAreasItem' |
| | | bulkActionButtons={false} |
| | | rowClick={(id, resource, record) => false} |
| | | omit={['id', 'createTime', 'memo', 'areaId', 'brand', 'createBy$', 'weight', 'matnrId', 'batch', 'shipperId', 'splrId', 'platWorkCode', 'projectCode']} |
| | | omit={['prodTime','unit','platOrderCode','trackCode','id', 'createTime', 'memo', 'areaId', 'brand', 'createBy$', |
| | | 'weight', 'matnrId', 'batch', 'shipperId', 'splrId', 'platWorkCode', 'projectCode','statusBool']} |
| | | > |
| | | {columns.map((column) => column)} |
| | | </StyledDatagrid>} |
| | |
| | | </Stack> |
| | | |
| | | </Grid> |
| | | <Grid item xs={12} md={4}> |
| | | {/* <Grid item xs={12} md={4}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> */} |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | |
| | | <StyledDatagrid |
| | | preferenceKey='waveRule' |
| | | bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} |
| | | rowClick={(id, resource, record) => false} |
| | | expand={() => <WaveRulePanel />} |
| | | rowClick={(id, resource, record) => false} |
| | | expandSingle={true} |
| | | omit={['id', 'createTime', 'createBy', 'memo']} |
| | | omit={['id', 'createTime', 'createBy', 'memo','statusBool','updateBy']} |
| | | > |
| | | <NumberField source="id" /> |
| | | <TextField source="code" label="table.field.waveRule.code" /> |
| | |
| | | import com.vincent.rsf.framework.common.SpringUtils; |
| | | import com.vincent.rsf.server.system.service.UserService; |
| | | import com.vincent.rsf.server.system.entity.User; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | |
| | | @TableLogic |
| | | private Integer deleted; |
| | | |
| | | /** |
| | | * 创建人 |
| | | */ |
| | | @ApiModelProperty(value= "创建人") |
| | | private Long createBy; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @ApiModelProperty(value= "创建时间") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 更新人 |
| | | */ |
| | | @ApiModelProperty(value= "更新人") |
| | | private Long updateBy; |
| | | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @ApiModelProperty(value= "更新时间") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date updateTime; |
| | | |
| | | public DeviceBind() {} |
| | | |
| | | public DeviceBind(Integer currentRow,Integer startRow,Integer endRow,Integer deviceQty,Integer startDeviceNo,Integer endDeviceNo,String staList,Integer typeId,String beSimilar,String emptySimilar) { |
| | |
| | | // null // 空板靠近开关 |
| | | // ); |
| | | |
| | | public String getCreateTime$(){ |
| | | if (Cools.isEmpty(this.createTime)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); |
| | | } |
| | | |
| | | public String getUpdateTime$(){ |
| | | if (Cools.isEmpty(this.updateTime)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); |
| | | } |
| | | |
| | | |
| | | |
| | | // public Boolean getStatusBool(){ |