import React, { useState, useRef, useEffect, useMemo, useCallback } from "react"; 
 | 
import { useNavigate, useLocation } from 'react-router-dom'; 
 | 
import { 
 | 
  List, 
 | 
  DatagridConfigurable, 
 | 
  SearchInput, 
 | 
  TopToolbar, 
 | 
  SelectColumnsButton, 
 | 
  EditButton, 
 | 
  FilterButton, 
 | 
  CreateButton, 
 | 
  ExportButton, 
 | 
  BulkDeleteButton, 
 | 
  WrapperField, 
 | 
  useRecordContext, 
 | 
  useTranslate, 
 | 
  useNotify, 
 | 
  useListContext, 
 | 
  FunctionField, 
 | 
  TextField, 
 | 
  NumberField, 
 | 
  DateField, 
 | 
  BooleanField, 
 | 
  ReferenceField, 
 | 
  TextInput, 
 | 
  DateTimeInput, 
 | 
  DateInput, 
 | 
  SelectInput, 
 | 
  NumberInput, 
 | 
  ReferenceInput, 
 | 
  ReferenceArrayInput, 
 | 
  AutocompleteInput, 
 | 
  DeleteButton, 
 | 
  Button, 
 | 
  useEditContext, 
 | 
  useGetRecordId, 
 | 
  useGetOne 
 | 
} from 'react-admin'; 
 | 
import { Box, Typography, Card, Stack, Dialog, DialogActions, DialogTitle } from '@mui/material'; 
 | 
import { styled } from '@mui/material/styles'; 
 | 
import PageDrawer from "../../components/PageDrawer"; 
 | 
import BillStatusField from '../../components/BillStatusField'; 
 | 
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; 
 | 
  
 | 
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ 
 | 
  '& .css-1vooibu-MuiSvgIcon-root': { 
 | 
    height: '.9em', 
 | 
  }, 
 | 
  '& .RaDatagrid-row': { 
 | 
    cursor: 'auto' 
 | 
  }, 
 | 
  '& .column-name': { 
 | 
  }, 
 | 
  '& .opt': { 
 | 
    width: 200 
 | 
  }, 
 | 
})); 
 | 
  
 | 
const filters = [ 
 | 
  <SearchInput source="condition" alwaysOn />, 
 | 
  <NumberInput source="orderId" label="table.field.outStockItem.orderId" />, 
 | 
  <TextInput source="orderCode" label="table.field.outStockItem.orderCode" alwaysOn />, 
 | 
  <TextInput source="poDetlId" label="table.field.outStockItem.poDetlId" />, 
 | 
  <TextInput source="matnrId" label="table.field.outStockItem.matnrId" />, 
 | 
  <TextInput source="maktx" label="table.field.outStockItem.maktx" alwaysOn />, 
 | 
  <TextInput source="matnrCode" label="table.field.outStockItem.matnrCode" alwaysOn />, 
 | 
  <NumberInput source="anfme" label="table.field.outStockItem.anfme" />, 
 | 
  <TextInput source="stockUnit" label="table.field.outStockItem.stockUnit" />, 
 | 
  <NumberInput source="purQty" label="table.field.outStockItem.purQty" />, 
 | 
  <TextInput source="purUnit" label="table.field.outStockItem.purUnit" />, 
 | 
  <NumberInput source="qty" label="table.field.outStockItem.qty" />, 
 | 
  <TextInput source="splrCode" label="table.field.outStockItem.splrCode" />, 
 | 
  <TextInput source="splrName" label="table.field.outStockItem.splrName" />, 
 | 
  <TextInput source="qrcode" label="table.field.outStockItem.qrcode" />, 
 | 
  <TextInput source="trackCode" label="table.field.outStockItem.barcode" />, 
 | 
  <TextInput source="packName" label="table.field.outStockItem.packName" />, 
 | 
  <TextInput label="common.field.memo" source="memo" />, 
 | 
  <SelectInput 
 | 
    label="common.field.status" 
 | 
    source="status" 
 | 
    choices={[ 
 | 
      { id: '1', name: 'common.enums.statusTrue' }, 
 | 
      { id: '0', name: 'common.enums.statusFalse' }, 
 | 
    ]} 
 | 
    resettable 
 | 
  />, 
 | 
] 
 | 
  
 | 
const OutOrderItemList = () => { 
 | 
  const translate = useTranslate(); 
 | 
  const [createDialog, setCreateDialog] = useState(false); 
 | 
  const [editDialog, setEditDialog] = useState(false); 
 | 
  const [drawerVal, setDrawerVal] = useState(false); 
 | 
  const [select, setSelect] = useState({}); 
 | 
  const asnId = useGetRecordId(); 
 | 
  const { data: dicts, isPending, error } = useGetOne('outStock', { id: asnId }); 
 | 
  
 | 
  return ( 
 | 
    <> 
 | 
      <Box display="flex"> 
 | 
        <List 
 | 
          resource="checkItem" 
 | 
          storeKey='checkItem' 
 | 
          sx={{ 
 | 
            flexGrow: 1, 
 | 
            transition: (theme) => 
 | 
              theme.transitions.create(['all'], { 
 | 
                duration: theme.transitions.duration.enteringScreen, 
 | 
              }), 
 | 
            marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, 
 | 
          }} 
 | 
          title={"menu.checkItem"} 
 | 
          empty={false} 
 | 
          filter={{ orderId: asnId, deleted: 0 }} 
 | 
          filters={filters} 
 | 
          sort={{ field: "create_time", order: "desc" }} 
 | 
          actions={( 
 | 
            <TopToolbar> 
 | 
              <FilterButton /> 
 | 
              <SelectColumnsButton preferenceKey='checkItem' /> 
 | 
            </TopToolbar> 
 | 
          )} 
 | 
          perPage={DEFAULT_ITEM_PAGE_SIZE} 
 | 
        > 
 | 
          <StyledDatagrid 
 | 
            preferenceKey='checkItem' 
 | 
            bulkActionButtons={false} 
 | 
            rowClick={false} 
 | 
            omit={['id', 'createTime', 'createBy$', 'memo', 'poDetlId', 'purQty', 'trackCode', 'qty','qrcode', 'splrName', 'matnrId', 'orderId']} 
 | 
          > 
 | 
            <NumberField source="id" /> 
 | 
            <NumberField source="orderId" label="table.field.checkOrderItem.orderId" /> 
 | 
            <TextField source="orderCode" label="table.field.checkOrderItem.orderCode" /> 
 | 
            <TextField source="matnrId" label="table.field.checkOrderItem.matnrId" /> 
 | 
            <TextField source="matnrCode" label="table.field.checkOrderItem.matnrCode" /> 
 | 
            <TextField source="maktx" label="table.field.checkOrderItem.maktx" /> 
 | 
            <TextField source="platOrderCode" label="table.field.checkOrderItem.platOrderCode" /> 
 | 
            <NumberField source="anfme" label="table.field.checkOrderItem.anfme" /> 
 | 
            <NumberField source="workQty" label="table.field.checkOrderItem.workQty" /> 
 | 
            <NumberField source="qty" label="table.field.checkOrderItem.qty" /> 
 | 
            <TextField source="stockUnit" label="table.field.checkOrderItem.stockUnit" /> 
 | 
            <TextField source="splrBatch" label="table.field.checkOrderItem.splrBatch" /> 
 | 
            <TextField source="splrCode" label="table.field.checkOrderItem.splrCode" /> 
 | 
            <TextField source="splrName" label="table.field.checkOrderItem.splrName" /> 
 | 
            <DateField source="updateTime" label="common.field.updateTime" showTime /> 
 | 
            <TextField source="updateBy$" label="common.field.updateBy" /> 
 | 
            <TextField source="createBy$" label="common.field.createBy" /> 
 | 
            <DateField source="createTime" label="common.field.createTime" showTime /> 
 | 
            <TextField source="memo" label="common.field.memo" sortable={false} /> 
 | 
          </StyledDatagrid> 
 | 
        </List> 
 | 
  
 | 
        {/* <OutOrderItemCreate 
 | 
          open={createDialog} 
 | 
          setOpen={setCreateDialog} 
 | 
          record={dicts} 
 | 
        /> 
 | 
        <OutOrderItemEdit 
 | 
          open={editDialog} 
 | 
          setOpen={setEditDialog} 
 | 
          record={select} 
 | 
        /> */} 
 | 
        <PageDrawer 
 | 
          title='OutStockItem Detail' 
 | 
          drawerVal={drawerVal} 
 | 
          setDrawerVal={setDrawerVal} 
 | 
        > 
 | 
        </PageDrawer> 
 | 
      </Box> 
 | 
    </> 
 | 
  ) 
 | 
} 
 | 
  
 | 
OutOrderItemList.Context = React.createContext() 
 | 
  
 | 
export default OutOrderItemList; 
 |