skyouc
3 天以前 e7dcf3d8570b6a9b2967ba0b90e982322b9cfaf7
Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

# Conflicts:
# rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
61个文件已修改
649 ■■■■■ 已修改文件
rsf-admin/src/i18n/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/ResourceContent.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/basContainer/BasContainerList.jsx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/companys/CompanysList.jsx 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/loc/LocList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/locType/LocTypeEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/locType/LocTypeList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseEdit.jsx 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/DictField.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/EditBaseAside.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/container/ContainerEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/container/ContainerList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/contract/ContractEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/contract/ContractList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/deviceBind/DeviceBindList.jsx 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/histories/asnOrderLog/AsnOrderItemLogList.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/histories/asnOrderLog/AsnOrderLogList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locItem/LocItemEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locItem/LocItemList.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locItem/LocQueryList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/delivery/DeliveryItemList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/delivery/DeliveryList.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/outStock/OutOrderList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/purchase/PurchaseEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/purchase/PurchaseItemList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/purchase/PurchaseList.jsx 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/stock/OrderList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/wave/WaveList.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/config/ConfigEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/config/ConfigList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/operationRecord/OperationDetail.jsx 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/serialRule/SerialRuleEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/system/serialRule/SerialRuleList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/task/TaskItemList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/task/TaskList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waitPakin/WaitPakinList.jsx 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx 145 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waveRule/WaveRuleEdit.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waveRule/WaveRuleList.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceBind.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/en.js
@@ -332,6 +332,7 @@
                err: "error",
                result: "result",
                userId: "user",
                detail: "detail"
            },
            customer: {
                uuid: "uuid",
@@ -856,6 +857,7 @@
                groupQty: 'Group Qty',
                qty: "qty",
                orderNum: "orderNum",
                progress:"progress"
            },
            waveItem: {
                waveId: "waveId",
rsf-admin/src/i18n/zh.js
@@ -348,6 +348,7 @@
                err: "错误信息",
                result: "result",
                userId: "操作用户",
                detail: "详细信息"
            },
            customer: {
                uuid: "编号",
@@ -434,7 +435,7 @@
                splrId: "供应商标识",
                weight: "收货重量",
                prodTime: "生产日期",
                splrBtch: "供应商批次",
                splrBtch: "批次",
            },
            loc: {
                warehouseId: "所属仓库",
@@ -695,7 +696,7 @@
                purQty: "下单数量",
                purUnit: "单位",
                qty: "完成数量",
                splrBatch: "供应商批次",
                splrBatch: "批次",
                splrCode: "供应商编码",
                splrName: "供应商名称",
                qrcode: "二维码",
@@ -733,7 +734,7 @@
                purUnit: "采购单位",
                qty: "已完成数量",
                splrCode: "供应商编码",
                splrBatch: "供应商批次",
                splrBatch: "批次",
                splrName: "供应商名称",
                qrcode: "二维码",
                trackCode: "条形码",
@@ -785,7 +786,7 @@
                printQty: "打印数量",
                splrName: "供应商名称",
                splrCode: "供应商编码",
                splrBatch: "供应商批次",
                splrBatch: "批次",
            },
            purchaseItem: {
                purchaseId: "PO主单标识",
@@ -800,7 +801,7 @@
                printQty: "打印数量",
                splrName: "供应商名称",
                splrCode: "供应商编码",
                splrBatch: "供应商批次",
                splrBatch: "批次",
            },
            fields: {
                fields: "字段",
@@ -886,6 +887,7 @@
                groupQty: '品类数',
                qty: "完成数量",
                orderNum: "单据数",
                progress:"进度"
            },
            waveItem: {
                waveId: "波次ID",
@@ -894,7 +896,7 @@
                matnrName: "物料名称",
                matnrCode: "物料编码",
                batch: "批次",
                splrBatch: "供应商批次",
                splrBatch: "批次",
                orderCode: "源单号",
                orderItemId: "源单明细ID",
                unit: "单位",
@@ -1000,7 +1002,7 @@
                qty: "总数",
                splrCode: "供应商编码",
                batch: "批次",
                splrBatch: "供应商批次",
                splrBatch: "批次",
                splrName: "供应商名称",
                trackCode: "跟踪码",
                barcode: "条形码",
@@ -1025,7 +1027,7 @@
                workQty: '执行数',
                qty: '完成数',
                batch: "批次",
                splrBatch: "供应商批次",
                splrBatch: "批次",
                spec: "规格",
                model: "型号",
                fieldsIndex: "动态索引",
rsf-admin/src/page/ResourceContent.js
@@ -45,7 +45,7 @@
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';
rsf-admin/src/page/basicInfo/basContainer/BasContainerList.jsx
@@ -61,8 +61,8 @@
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" />,
@@ -116,7 +116,7 @@
                    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" />
rsf-admin/src/page/basicInfo/basStation/BasStationEdit.jsx
@@ -167,14 +167,14 @@
                        </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 >
rsf-admin/src/page/basicInfo/basStation/BasStationList.jsx
@@ -64,10 +64,10 @@
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" />,
@@ -129,10 +129,12 @@
                    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"
@@ -143,7 +145,7 @@
                        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"
@@ -160,15 +162,15 @@
                        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"
rsf-admin/src/page/basicInfo/companys/CompanysList.jsx
@@ -57,6 +57,12 @@
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
        whiteSpace: 'nowrap',
        overflow: 'visible',
        textOverflow: 'unset'
    },
}));
const filters = [
@@ -128,11 +134,12 @@
                    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'} />
rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx
@@ -147,12 +147,13 @@
                    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" />
rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -195,7 +195,7 @@
                    }
                    onClick={() => { }} />}
                filters={filters}
                sort={{ field: "create_time", order: "desc" }}
                sort={{ field: "'row'" }}
                actions={(
                    <TopToolbar>
                        <FilterButton />
@@ -223,12 +223,12 @@
                        </>
                    }
                    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" />
rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatEdit.jsx
@@ -121,14 +121,14 @@
                        </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 >
rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatList.jsx
@@ -115,7 +115,7 @@
                    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" />
rsf-admin/src/page/basicInfo/locType/LocTypeEdit.jsx
@@ -95,14 +95,14 @@
                        </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 >
rsf-admin/src/page/basicInfo/locType/LocTypeList.jsx
@@ -119,7 +119,7 @@
                        <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" /> */}
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -383,14 +383,14 @@
                    </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 >
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -169,8 +169,8 @@
            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" />
@@ -256,10 +256,10 @@
                        <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>}
rsf-admin/src/page/basicInfo/warehouse/WarehouseEdit.jsx
@@ -128,22 +128,7 @@
                            />
                        </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 >
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx
@@ -44,19 +44,30 @@
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 />,
@@ -112,13 +123,13 @@
                        <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" />
@@ -139,13 +150,12 @@
                        <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}
rsf-admin/src/page/components/DictField.jsx
@@ -10,7 +10,7 @@
    const theme = useTheme();
    const value = JSON.parse(localStorage.getItem('sys_dicts'))?.find(dict => (dict.value == record[source])).label;
    console.log(value)
    return record ? (
        <Typography
rsf-admin/src/page/components/EditBaseAside.jsx
@@ -23,9 +23,9 @@
                                {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}>
rsf-admin/src/page/container/ContainerEdit.jsx
@@ -184,14 +184,14 @@
                        </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 >
rsf-admin/src/page/container/ContainerList.jsx
@@ -134,7 +134,7 @@
                    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" /> */}
rsf-admin/src/page/contract/ContractEdit.jsx
@@ -89,14 +89,14 @@
                        </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 >
rsf-admin/src/page/contract/ContractList.jsx
@@ -112,7 +112,7 @@
                    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" />
rsf-admin/src/page/deviceBind/DeviceBindList.jsx
@@ -120,10 +120,9 @@
                <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" />
@@ -146,8 +145,7 @@
                    <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' }} />
rsf-admin/src/page/histories/asnOrderLog/AsnOrderItemLogList.jsx
@@ -54,6 +54,12 @@
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
        whiteSpace: 'nowrap',
        overflow: 'visible',
        textOverflow: 'unset'
    }
}));
const filters = [
rsf-admin/src/page/histories/asnOrderLog/AsnOrderLogList.jsx
@@ -60,6 +60,11 @@
    '& .opt': {
        width: 150
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -134,7 +139,7 @@
                    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" />
rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx
@@ -115,7 +115,7 @@
                    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" />
rsf-admin/src/page/locItem/LocItemEdit.jsx
@@ -186,14 +186,14 @@
                                </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 >
rsf-admin/src/page/locItem/LocItemList.jsx
@@ -61,6 +61,11 @@
        display: 'block',
        width: 'auto',
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
@@ -107,7 +112,7 @@
            source="useStatus"
            optionValue="value"
            parse={v => v}
            alwaysOn
        />,
        <TextInput source="code" label="table.field.loc.code" />,
        <AutocompleteInput
@@ -161,6 +166,7 @@
                title={"menu.locItem"}
                empty={false}
                filters={filters}
                filter={{ useStatus: 'F' }}
                sort={{ field: "create_time", order: "desc" }}
                actions={(
                    <TopToolbar>
@@ -176,7 +182,7 @@
                    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" />
rsf-admin/src/page/locItem/LocQueryList.jsx
@@ -52,6 +52,11 @@
    '& .opt': {
        width: 100
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -205,7 +210,7 @@
                    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>}
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -69,14 +69,21 @@
  },
  '& .column-name': {
  },
  '& .opt': {
    width: 220
  },
  '& .wkType': {
    width: 110
  },
  '& .status': {
    width: 90
  },
  '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  },
  '& .opt': {
    width: 220,
  },
}));
@@ -163,7 +170,7 @@
            </>}
          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" />
rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx
@@ -133,14 +133,14 @@
                                />
                            </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 >
rsf-admin/src/page/orders/delivery/DeliveryItemList.jsx
@@ -53,6 +53,12 @@
    '& .opt': {
        width: 150
    },
    '& .MuiTableCell-root': {
        whiteSpace: 'nowrap',
        overflow: 'visible',
        textOverflow: 'unset'
    }
}));
const filters = [
@@ -121,7 +127,7 @@
                    }}
                    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" />
rsf-admin/src/page/orders/delivery/DeliveryList.jsx
@@ -58,6 +58,12 @@
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
        whiteSpace: 'nowrap',
        overflow: 'visible',
        textOverflow: 'unset'
    }
}));
const filters = [
@@ -122,7 +128,7 @@
                    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" />
@@ -131,7 +137,7 @@
                    <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 />
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -55,6 +55,12 @@
  '& .opt': {
    width: 200
  },
  '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -127,7 +133,7 @@
            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" />
rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -173,7 +173,7 @@
          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" />
rsf-admin/src/page/orders/purchase/PurchaseEdit.jsx
@@ -128,14 +128,14 @@
                                />
                            </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 >
rsf-admin/src/page/orders/purchase/PurchaseItemList.jsx
@@ -44,6 +44,11 @@
  '& .opt': {
    width: 200
  },
  '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -117,7 +122,7 @@
              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" />
rsf-admin/src/page/orders/purchase/PurchaseList.jsx
@@ -58,6 +58,11 @@
  '& .opt': {
    width: 200
  },
  '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -113,7 +118,7 @@
        actions={(
          <TopToolbar>
            <FilterButton />
            <MyCreateButton onClick={() => { setCreateDialog(true) }} />
            {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */}
            <SelectColumnsButton preferenceKey='purchase' />
            <ImportButton value={'purchaseItem'} />
            <MyExportButton />
@@ -127,7 +132,7 @@
          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" />
rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx
@@ -62,6 +62,11 @@
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -130,7 +135,7 @@
                    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" />
rsf-admin/src/page/orders/stock/OrderList.jsx
@@ -116,7 +116,7 @@
                    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" />
rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -28,6 +28,7 @@
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';
@@ -151,7 +152,7 @@
                    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" />
@@ -164,8 +165,9 @@
                    <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 />
@@ -295,7 +297,7 @@
        }
    }
    return (
        autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></>
        autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseIcon />} /> : <></>
    )
}
@@ -313,7 +315,7 @@
        refresh()
    }
    return (
        record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<StopCircleOutlinedIcon />} /> : <></>
        record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseIcon />} /> : <></>
    )
}
@@ -331,6 +333,6 @@
        refresh()
    }
    return (
        record?.exceStatus == 2 ? <Button label="toolbar.continuePub" onClick={continueClick} startIcon={<PauseCircleOutlineIcon />} /> : <></>
        record?.exceStatus == 2 ? <Button label="toolbar.continuePub" onClick={continueClick} startIcon={<PlayArrowOutlinedIcon />} /> : <></>
    )
}
rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
@@ -54,9 +54,16 @@
    },
    '& .column-name': {
    },
    '& .opt': {
        width: 180
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  },
  '& .opt': {
        width: 180,
        whiteSpace: 'normal',
    }
}));
@@ -232,7 +239,7 @@
                    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>}
rsf-admin/src/page/system/config/ConfigEdit.jsx
@@ -107,14 +107,14 @@
                            />
                        </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 >
rsf-admin/src/page/system/config/ConfigList.jsx
@@ -121,7 +121,7 @@
                    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" />
rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
@@ -125,7 +125,7 @@
                            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" />
rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
@@ -39,6 +39,7 @@
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': {
@@ -51,6 +52,18 @@
    },
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  },
  '& .column-description': {
        maxWidth: '25em',
        overflow: 'hidden',
        textOverflow: 'ellipsis',
        whiteSpace: 'nowrap',
    },
}));
@@ -106,7 +119,7 @@
                    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"
rsf-admin/src/page/system/operationRecord/OperationDetail.jsx
@@ -6,12 +6,14 @@
    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 (
        <>
@@ -20,44 +22,51 @@
                    <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
@@ -77,14 +86,17 @@
                                />
                            </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>
rsf-admin/src/page/system/operationRecord/OperationRecordList.jsx
@@ -169,7 +169,7 @@
                </StyledDatagrid>
            </List>
            <PageDrawer
                title='OperationRecord Detail'
                title={translate('table.field.operationRecord.detail')}
                drawerVal={drawerVal}
                setDrawerVal={setDrawerVal}
            >
rsf-admin/src/page/system/serialRule/SerialRuleEdit.jsx
@@ -110,14 +110,14 @@
                                />
                            </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 >
rsf-admin/src/page/system/serialRule/SerialRuleItemList.jsx
@@ -69,6 +69,11 @@
  "& .opt": {
    width: 200,
  },
  '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -142,7 +147,7 @@
              setSelect(record)
              setEditDialog(true)
            }}
            omit={["id", "ruleId", "createTime", "createBy", "memo"]}
            omit={["id", "ruleId", "createTime", "createBy$", "memo",'statusBool']}
          >
            <NumberField source="id" />
            <NumberField
rsf-admin/src/page/system/serialRule/SerialRuleList.jsx
@@ -143,7 +143,7 @@
            <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" />
rsf-admin/src/page/task/TaskItemList.jsx
@@ -200,7 +200,7 @@
                    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>}
rsf-admin/src/page/task/TaskList.jsx
@@ -54,6 +54,12 @@
    '& .opt': {
        width: 248
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
    }
}));
@@ -135,7 +141,7 @@
                    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" />
rsf-admin/src/page/waitPakin/WaitPakinList.jsx
@@ -60,6 +60,11 @@
    '& .opt': {
        width: 210
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -167,7 +172,7 @@
                            {/* <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" />
rsf-admin/src/page/warehouseAreas/WarehouseAreasEdit.jsx
@@ -28,6 +28,8 @@
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();
@@ -86,13 +88,11 @@
                                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"
@@ -101,6 +101,7 @@
                                <AutocompleteInput
                                    label="table.field.warehouseAreas.wareId"
                                    optionText="name"
                                    optionValue="id"
                                    validate={[required()]}
                                    filterToQuery={(val) => ({ name: val })}
                                />
rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
@@ -31,7 +31,6 @@
    ReferenceArrayInput,
    AutocompleteInput,
    DeleteButton,
    Datagrid,
    useRefresh,
    Button
} from 'react-admin';
@@ -45,84 +44,26 @@
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 = [
@@ -191,13 +132,6 @@
                            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) }} />}
@@ -212,49 +146,54 @@
                    </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}
rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
@@ -60,6 +60,11 @@
    '& .opt': {
        width: 200
    },
    '& .MuiTableCell-root': {
    whiteSpace: 'nowrap',
    overflow: 'visible',
    textOverflow: 'unset'
  }
}));
const filters = [
@@ -248,7 +253,8 @@
                    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>}
rsf-admin/src/page/waveRule/WaveRuleEdit.jsx
@@ -92,14 +92,14 @@
                        </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 >
rsf-admin/src/page/waveRule/WaveRuleList.jsx
@@ -113,10 +113,9 @@
                <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" />
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceBind.java
@@ -12,7 +12,10 @@
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
@@ -92,6 +95,32 @@
    @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) {
@@ -120,6 +149,20 @@
//            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(){