|  |  | 
 |  |  |                 row: "排", | 
 |  |  |                 col: "列", | 
 |  |  |                 lev: "层", | 
 |  |  |                 channel: "通道", | 
 |  |  |                 channel: "巷道", | 
 |  |  |                 maxParts: "最大零件数", | 
 |  |  |                 maxPack: "最大包装数", | 
 |  |  |                 flagLabelMange: "标签管理", | 
 
 |  |  | 
 |  |  |                                         filterToQuery={(val) => ({ name: val })} | 
 |  |  |                                     /> | 
 |  |  |                                 </ReferenceInput> | 
 |  |  |  | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <ReferenceArrayInput source="typeIds" reference="locType" > | 
 |  |  |                                     <SelectArrayInput label="table.field.loc.type" validate={[required()]} onChange={(e) => handleChange(e.target.value, 'typeIds')} /> | 
 |  |  | 
 |  |  |                                     <SelectArrayInput label="table.field.loc.type" onChange={(e) => handleChange(e.target.value, 'typeIds')} validate={[required()]} /> | 
 |  |  |                                 </ReferenceArrayInput> */} | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.startBay")} | 
 |  |  |                                     name="startBay" | 
 |  |  |                                     value={formData.startBay} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'startBay')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.startLev")} | 
 |  |  |                                     name="startLev" | 
 |  |  |                                     value={formData.startLev} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'startLev')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.startRow")} | 
 |  |  | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.endBay")} | 
 |  |  |                                     name="endBay" | 
 |  |  |                                     value={formData.endBay} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'endBay')} | 
 |  |  |                                     label={translate("table.field.loc.startBay")} | 
 |  |  |                                     name="startBay" | 
 |  |  |                                     value={formData.startBay} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'startBay')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.endLev")} | 
 |  |  |                                     name="endLev" | 
 |  |  |                                     value={formData.endLev} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'endLev')} | 
 |  |  |                                     label={translate("table.field.loc.startLev")} | 
 |  |  |                                     name="startLev" | 
 |  |  |                                     value={formData.startLev} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'startLev')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.endRow")} | 
 |  |  | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.endBay")} | 
 |  |  |                                     name="endBay" | 
 |  |  |                                     value={formData.endBay} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'endBay')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                         </Grid> | 
 |  |  |  | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={translate("table.field.loc.endLev")} | 
 |  |  |                                     name="endLev" | 
 |  |  |                                     value={formData.endLev} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'endLev')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |                             <Grid item xs={4}> | 
 |  |  |                                 <TextInput | 
 |  |  |                                     label={"table.field.loc.channel"} | 
 |  |  |                                     name="channel" | 
 |  |  |                                     value={formData.channel} | 
 |  |  |                                     onChange={(e) => handleChange(+e.target.value, 'channel')} | 
 |  |  |                                     size="small" | 
 |  |  |                                     type="number" | 
 |  |  |                                     validate={[required()]} | 
 |  |  |                                 /> | 
 |  |  |                             </Grid> | 
 |  |  |                         </Grid> | 
 |  |  |                     </Box> | 
 |  |  |                 </DialogContent> | 
 |  |  |                 <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> | 
 |  |  | 
 |  |  |     ); | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | export default InitModal; | 
 
 |  |  | 
 |  |  |                         <FilterButton /> | 
 |  |  |                         {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} | 
 |  |  |                         <SelectColumnsButton preferenceKey='locItem' /> | 
 |  |  |                         <MyExportButton /> | 
 |  |  |                         {/* <MyExportButton /> */} | 
 |  |  |                     </TopToolbar> | 
 |  |  |                 )} | 
 |  |  |                 perPage={DEFAULT_ITEM_PAGE_SIZE} | 
 |  |  | 
 |  |  |                     rowClick={(id, resource, record) => false} | 
 |  |  |                     expand={false} | 
 |  |  |                     expandSingle={true} | 
 |  |  |                     omit={['id', 'locId', 'orderId', 'orderItemId', 'matnrId', 'createTime', 'createBy', 'memo']} | 
 |  |  |                     omit={['id', 'locId', 'orderId', 'orderItemId', 'matnrId', 'statusBool','trackCode', 'createTime', 'fieldsIndex','splrBatch', 'createBy', 'spec', 'model', 'memo']} | 
 |  |  |                 > | 
 |  |  |                     <NumberField source="id" /> | 
 |  |  |                     <NumberField source="locId" label="table.field.locItem.locId" /> | 
 |  |  |                     <NumberField source="orderId" label="table.field.locItem.orderId" /> | 
 |  |  |                     <TextField source="type" label="table.field.locItem.type" /> | 
 |  |  |                     <TextField source="type$" label="table.field.locItem.type" /> | 
 |  |  |                     <NumberField source="orderItemId" label="table.field.locItem.orderItemId" /> | 
 |  |  |                     <NumberField source="wkType" label="table.field.locItem.wkType" /> | 
 |  |  |                     <NumberField source="wkType$" label="table.field.locItem.wkType" /> | 
 |  |  |                     <NumberField source="matnrId" label="table.field.locItem.matnrId" /> | 
 |  |  |                     <TextField source="maktx" label="table.field.locItem.maktx" /> | 
 |  |  |                     <TextField source="matnrCode" label="table.field.locItem.matnrCode" /> | 
 |  |  |                     <TextField source="trackCode" label="table.field.locItem.trackCode" /> | 
 |  |  |                     <TextField source="unit" label="table.field.locItem.unit" /> | 
 |  |  |                     <NumberField source="anfme" label="table.field.locItem.anfme" /> | 
 |  |  |                     <TextField source="maktx" label="table.field.locItem.maktx" /> | 
 |  |  |                     <TextField source="batch" label="table.field.locItem.batch" /> | 
 |  |  |                     <TextField source="trackCode" label="table.field.locItem.trackCode" /> | 
 |  |  |                     <NumberField source="anfme" label="table.field.locItem.anfme" /> | 
 |  |  |                     <TextField source="unit" label="table.field.locItem.unit" /> | 
 |  |  |                     <TextField source="splrBatch" label="table.field.locItem.splrBatch" /> | 
 |  |  |                     <TextField source="spec" label="table.field.locItem.spec" /> | 
 |  |  |                     <TextField source="model" label="table.field.locItem.model" /> | 
 
 |  |  | 
 |  |  |                     <NumberField source="row" label="table.field.loc.row" /> | 
 |  |  |                     <NumberField source="col" label="table.field.loc.col" /> | 
 |  |  |                     <NumberField source="lev" label="table.field.loc.lev" /> | 
 |  |  |                     <NumberField source="channel" label="table.field.loc.channel" /> | 
 |  |  |                     {/* <NumberField source="channel" label="table.field.loc.channel" /> | 
 |  |  |                     <NumberField source="maxParts" label="table.field.loc.maxParts" /> | 
 |  |  |                     <NumberField source="maxPack" label="table.field.loc.maxPack" /> | 
 
 |  |  | 
 |  |  |         <TextField source="spec" label="table.field.asnOrderItem.spec" />, | 
 |  |  |         <TextField source="model" label="table.field.asnOrderItem.model" />, | 
 |  |  |         <NumberField source="anfme" label="table.field.asnOrderItem.anfme" />, | 
 |  |  |         <NumberField source="qty" label="table.field.asnOrderItem.qty" />, | 
 |  |  |         <TextField source="stockUnit" label="table.field.asnOrderItem.stockUnit" />, | 
 |  |  |         <NumberField source="purQty" label="table.field.asnOrderItem.purQty" />, | 
 |  |  |         <TextField source="purUnit" label="table.field.asnOrderItem.purUnit" />, | 
 |  |  |         <NumberField source="qty" label="table.field.asnOrderItem.qty" />, | 
 |  |  |         <TextField source="splrCode" label="table.field.asnOrderItem.splrCode" />, | 
 |  |  |         <TextField source="splrName" label="table.field.asnOrderItem.splrName" />, | 
 |  |  |         <TextField source="isptResult$" label="table.field.asnOrderItem.isptResult" />, | 
 |  |  | 
 |  |  |           preferenceKey='asnOrderItem' | 
 |  |  |           bulkActionButtons={false} | 
 |  |  |           rowClick={(id, resource, record) => false} | 
 |  |  |           omit={['id', 'asnId', 'poDetlId', 'poDetlCode', 'matnrId', 'purQty', 'purUnit', 'qrcode', 'trackCode', 'splrCode', 'platWorkCode', 'projectCode']} | 
 |  |  |           omit={['id', 'asnId', 'asnCode', 'poDetlId', 'poDetlCode', 'matnrId', 'spec', 'model', 'purQty', 'purUnit', 'qrcode', 'trackCode', 'splrCode', 'platWorkCode', 'projectCode']} | 
 |  |  |         > | 
 |  |  |           {columns.map((column) => column)} | 
 |  |  |         </StyledDatagrid>} | 
 
 |  |  | 
 |  |  |                                     <SubmitButton | 
 |  |  |                                         orgLoc={orgLoc} | 
 |  |  |                                         tarLoc={tarLoc}                                         | 
 |  |  |                                         tabelData={tabelData}                                        | 
 |  |  |                                     /> | 
 |  |  |                                 </Stack> | 
 |  |  |                             </Box> | 
 |  |  | 
 |  |  |     const notify = useNotify(); | 
 |  |  |     const redirect = useRedirect(); | 
 |  |  |     const refresh = useRefresh(); | 
 |  |  |     const { orgLoc, tarLoc } = props; | 
 |  |  |     const { orgLoc, tarLoc, tabelData } = props; | 
 |  |  |     const move = () => { | 
 |  |  |         console.log(orgLoc, tarLoc); | 
 |  |  |         if (orgLoc === "" || orgLoc === undefined || orgLoc === null) { | 
 
 |  |  | 
 |  |  |         if (Objects.isNull(param.getEndLev())) { | 
 |  |  |             return R.error("终止层不能为空!!"); | 
 |  |  |         } | 
 |  |  |         if (Objects.isNull(param.getChannel())) { | 
 |  |  |             return R.error("巷道不能为空!!"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return locService.initLocs(param, getLoginUserId()); | 
 |  |  |     } | 
 |  |  |  | 
 
 |  |  | 
 |  |  |     @NotBlank(message = "库位类型") | 
 |  |  |     private List<Long> typeIds; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty("巷道") | 
 |  |  |     @NotBlank(message = "巷道") | 
 |  |  |     private Integer channel; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         List<Loc> list = new ArrayList<>(); | 
 |  |  |         Integer chanl = 1; //默认第一巷道 | 
 |  |  |         for (int r = param.getStartRow(); r <= param.getEndRow(); r++) { | 
 |  |  |             if (r % param.getChannel() == 0) { | 
 |  |  |                 chanl ++; | 
 |  |  |             } | 
 |  |  |             for (int b = param.getStartBay(); b <= param.getEndBay(); b++) { | 
 |  |  |                 for (int l = param.getStartLev(); l <= param.getEndLev(); l++) { | 
 |  |  |                     // 获取库位号 | 
 |  |  | 
 |  |  |                             .setRow(r) | 
 |  |  |                             .setCol(b) | 
 |  |  |                             .setLev(l) | 
 |  |  |                             .setChannel(chanl) | 
 |  |  |                             .setType(join) | 
 |  |  |                             .setAreaId(param.getAreaId()) | 
 |  |  |                             .setUpdateBy(loginUserId) |