chen.lin
2026-02-09 efe0972ca3e0f816bc274c4e579d61763ac2adcf
rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -55,6 +55,7 @@
import PublicIcon from '@mui/icons-material/Public';
import SelectMatnrModal from "./SelectMatnrModal";
import EditIcon from '@mui/icons-material/Edit';
import TaskIcon from '@mui/icons-material/Task';
import OutOrderPreview from "./OutOrderPreview";
import AddIcon from '@mui/icons-material/Add';
import OutStockPublic from "./OutStockPublic";
@@ -81,37 +82,6 @@
  },
}));
const filters = [
  <SearchInput source="condition" alwaysOn />,
  <TextInput source="code" label="table.field.outStock.code" alwaysOn />,
  <TextInput source="poCode" label="table.field.outStock.poCode" />,
  <NumberInput source="poId" label="table.field.outStock.poId" />,
  <ReferenceInput source="type" reference="dictData" filter={{ dictTypeCode: 'sys_order_type', group: '2' }} label="table.field.outStock.type" alwaysOn>
    <AutocompleteInput label="table.field.outStock.type" optionValue="value" />
  </ReferenceInput>,
  <ReferenceInput source="wkType" reference="dictData" filter={{ dictTypeCode: 'sys_business_type', group: '2' }} label="table.field.outStock.wkType" alwaysOn>
    <AutocompleteInput label="table.field.outStock.wkType" optionValue="value" />
  </ReferenceInput>,
  <NumberInput source="anfme" label="table.field.outStock.anfme" />,
  <NumberInput source="qty" label="table.field.outStock.qty" />,
  <TextInput source="logisNo" label="table.field.outStock.logisNo" />,
  <DateInput source="arrTime" label="table.field.outStock.arrTime" />,
  <SelectInput source="rleStatus" label="table.field.outStock.rleStatus"
    choices={[
      { id: 0, name: ' 正常' },
      { id: 1, name: ' 已释放' },
    ]}
  />,
  <TextInput label="common.field.memo" source="memo" />,
  <DictionarySelect
    label='table.field.outStock.exceStatus'
    name="exceStatus"
    dictTypeCode="sys_asn_exce_status"
    alwaysOn
  />,
]
const OutOrderList = (props) => {
  const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_business_type')) || [];
@@ -124,6 +94,37 @@
  const [modalType, setmodalType] = useState(0);
  const [select, setSelect] = useState(0);
  const translate = useTranslate();
  const filters = [
    <SearchInput source="condition" alwaysOn placeholder={translate('ra.action.search')} />,
    <TextInput source="code" label="table.field.outStock.code" alwaysOn />,
    <TextInput source="poCode" label="table.field.outStock.poCode" />,
    <NumberInput source="poId" label="table.field.outStock.poId" />,
    <ReferenceInput source="type" reference="dictData" filter={{ dictTypeCode: 'sys_order_type', group: '2' }} label="table.field.outStock.type" alwaysOn>
      <AutocompleteInput label="table.field.outStock.type" optionValue="value" />
    </ReferenceInput>,
    <ReferenceInput source="wkType" reference="dictData" filter={{ dictTypeCode: 'sys_business_type', group: '2' }} label="table.field.outStock.wkType" alwaysOn>
      <AutocompleteInput label="table.field.outStock.wkType" optionValue="value" />
    </ReferenceInput>,
    <NumberInput source="anfme" label="table.field.outStock.anfme" />,
    <NumberInput source="qty" label="table.field.outStock.qty" />,
    <TextInput source="logisNo" label="table.field.outStock.logisNo" />,
    <DateInput source="arrTime" label="table.field.outStock.arrTime" />,
    <SelectInput source="rleStatus" label="table.field.outStock.rleStatus"
      choices={[
        { id: 0, name: ' 正常' },
        { id: 1, name: ' 已释放' },
      ]}
    />,
    <TextInput label="common.field.memo" source="memo" />,
    <DictionarySelect
      label='table.field.outStock.exceStatus'
      name="exceStatus"
      dictTypeCode="sys_asn_exce_status"
      alwaysOn
    />,
  ];
  const refresh = useRefresh();
  const notify = useNotify();
  const billReload = useRef();
@@ -195,6 +196,7 @@
            <MyButton setCreateDialog={setManualDialog} setmodalType={setmodalType} />
            <EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton>
            <CancelButton />
            <CompleteButton />
            <PublicButton setDrawerVal={setDrawerVal} drawerVal={drawerVal} setSelect={setSelect} />
          </WrapperField>
        </StyledDatagrid>
@@ -251,6 +253,29 @@
  );
}
//完成单据
const CompleteButton = () => {
  const record = useRecordContext();
  const notify = useNotify();
  const refresh = useRefresh();
  const requestComplete = async () => {
    const { data: { code, data, msg } } = await request.get(`/outStock/complete/${record.id}`);
    if (code === 200) {
      notify(msg);
      refresh()
    } else {
      notify(msg);
    }
  }
  return (
    // record.exceStatus === 1 && (record.anfme === record.qty ? <Button onClick={requestComplete} label={"toolbar.complete"} color="secondary">
    //   <TaskIcon />
    // </Button> : )
    record.exceStatus != 15 ? <ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} /> : <></>
  )
}
const MyButton = ({ setCreateDialog, setmodalType }) => {
  const record = useRecordContext();
  const handleEditClick = (btn) => {