import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Descriptions, Form, Input, InputNumber, message, Modal, Row, Col, Select, Space } from "antd"; import { useEffect, useState } from "react"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; import Page from "zy-react-library/components/Page"; import Search from "zy-react-library/components/Search"; import Table from "zy-react-library/components/Table"; import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; import useTable from "zy-react-library/hooks/useTable"; import { NS_EQUIP_INFO } from "~/enumerate/namespace"; import { isEquipEnabled } from "~/api/enterpriseInfo/adapter"; import { safeListRequest, safeRequest } from "~/utils"; import { positiveNumberRule } from "~/utils/validators"; import PageHeader from "../components/PageHeader"; const DUAL_CHANNEL = { 1: "是", 0: "否" }; function EquipInfoPage(props) { const [formModalOpen, setFormModalOpen] = useState(false); const [viewModalOpen, setViewModalOpen] = useState(false); const [currentId, setCurrentId] = useState(""); const [searchForm] = Form.useForm(); const { tableProps, getData } = useTable(safeListRequest(props.equipInfoList), { form: searchForm }); useEffect(() => { getData(); }, []); const onDelete = (id) => { Modal.confirm({ title: "提示", content: "数据将会删除,您是否确认删除?", okText: "是", cancelText: "否", onOk: async () => { const res = await props.equipInfoRemove({ id }); if (res?.success !== false) { message.success("删除成功"); getData(); } }, }); }; const onToggleStatus = (id, record) => { const enabled = isEquipEnabled(record); Modal.confirm({ title: "提示", content: enabled ? "是否停用" : "是否启用", okText: "是", cancelText: "否", onOk: async () => { const res = await props.equipInfoToggleStatus({ id }); if (res?.success !== false) { message.success("操作成功"); await getData(); } else { message.error(res?.message || "操作失败"); } }, }); }; return ( ( )} columns={[ { title: "设备名称", dataIndex: "deviceName" }, { title: "设备型号", dataIndex: "model" }, { title: "仪器类型", dataIndex: "instrumentType" }, { title: "设备类型", dataIndex: "deviceType" }, { title: "厂家", dataIndex: "manufacturer" }, { title: "校准单位", dataIndex: "calibrationUnit" }, { title: "校准初值", dataIndex: "calibrationInitialValue" }, { title: "设备状态", width: 90, render: (_, record) => (isEquipEnabled(record) ? "启用" : "禁用"), }, { title: "操作", width: 260, render: (_, record) => ( ), }, ]} /> {formModalOpen && ( { setFormModalOpen(false); setCurrentId(""); }} onSuccess={getData} /> )} {viewModalOpen && ( { setViewModalOpen(false); setCurrentId(""); }} /> )} ); } function EquipFormModal({ open, currentId, requestAdd, requestEdit, requestDetails, onCancel, onSuccess, }) { const [form] = Form.useForm(); const [submitting, setSubmitting] = useState(false); const [detailLoading, setDetailLoading] = useState(false); useEffect(() => { if (!open) { return; } if (!currentId) { form.resetFields(); return; } let cancelled = false; setDetailLoading(true); safeRequest(requestDetails, { id: currentId }).then((res) => { if (!cancelled && res?.data) { form.setFieldsValue(res.data); } }).finally(() => { if (!cancelled) { setDetailLoading(false); } }); return () => { cancelled = true; }; }, [open, currentId]); const handleCancel = () => { form.resetFields(); onCancel(); }; const handleSubmit = async (values) => { try { setSubmitting(true); const request = currentId ? requestEdit : requestAdd; if (currentId) { values.id = currentId; } const res = await request(values); if (res?.success !== false) { message.success(currentId ? "编辑成功" : "添加成功"); handleCancel(); onSuccess(); } else { message.error(res?.message || "操作失败"); } } finally { setSubmitting(false); } }; return (