import { Button, Space, Modal, FormInstance, Select, Popconfirm, PopconfirmProps, message, } from "antd"; import { inject, observer } from "mobx-react"; import BTable from "@/components/b_table"; import { useEffect, useState } from "react"; import { Store } from "antd/lib/form/interface"; import SimpleForm from "@/components/form/simple_form"; import React from "react"; import { columns, defaultConfig } from "./material_column"; import { Form } from "antd"; import dayjs from "dayjs"; const { Option } = Select; const Material = (props: Store) => { const { materialStore, stashStore, storageStore, materialCatStore } = props; const [isModalOpen, setIsModalOpen] = useState(false); const [projectConfig, setProjectConfig] = useState([]); const formRef = React.useRef(null); const [record, setRecord] = useState(null); const [stashList, setStash] = useState(null); // 仓库列表 const [storageList, setStorageList] = useState([]); // 货架列表 const [catList, setcatList] = useState([]); // 物资分类列表 // 获取物资列表 useEffect(() => { materialStore.getlist().then(() => { setProjectConfig(defaultConfig); }); }, [materialStore]); // 获取仓库列表 useEffect(() => { stashStore.getlist().then(() => { setStash(stashStore.list); }); }, [stashStore]); // 获取分类 useEffect(() => { materialCatStore.getlist().then(() => { setcatList(materialCatStore.list); }); }, [materialCatStore]); const handleChange = async (v) => { await storageStore.getlist({ stash_identity: v }); setStorageList(storageStore.list ?? []); }; const column_widget = (any, record) => { return ( {/* */} { try { materialStore.deleteItem(record.id); message.success("物资出库成功"); } catch (error) { message.success("物资出库失败"); } }} onCancel={cancel} okText="Yes" cancelText="No" > { try { materialStore.deleteItem(record.id); message.success("删除成功"); } catch (error) { message.success("删除失败"); } }} onCancel={cancel} okText="Yes" cancelText="No" > ); }; const edit = (record) => { setIsModalOpen(true); record.expiry_date = dayjs(record.expiry_date); record.supplie_piker=record.supplie_piker===""?[]:record.supplie_piker setRecord(record); }; const cancel: PopconfirmProps["onCancel"] = (e) => { console.log(e); message.error("Click on No"); }; const onFinish = (values: any) => { let data = { ...values, pid: values.pid ?? 0, storage_cloumn: Number(values.storage_cloumn), }; if (values.supplie_piker.length > 0) { data.supplie_piker = values.supplie_piker[0].name; }else{ data.supplie_piker = "" } if (!record?.id) { materialStore.add(data); } else { materialStore.putItem(record.id, data); } setIsModalOpen(false); }; const onFinishFailed = () => {}; return (
column_widget(any, record), }, ]} dataSource={materialStore.list} /> formRef.current?.resetFields()} onOk={() => formRef.current?.submit()} okText="确定" cancelText="取消" onCancel={() => { setIsModalOpen(false); }} > { if (record?.id) { formRef.current?.setFieldsValue(record); } else { formRef.current?.setFieldsValue(null); } }} formName="card_basic" colProps={25} subBtnName="提交" formDatas={projectConfig} onFinish={onFinish} initialValues={true} onFinishFailed={onFinishFailed} > <>
); }; export default inject( "materialStore", "stashStore", "storageStore", "materialCatStore" )(observer(Material));