diff --git a/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx b/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx index 25b2320..5c2eb57 100644 --- a/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx +++ b/src/components/SupplierDetailModalContext/SupplierDetailModalContext.tsx @@ -1,14 +1,14 @@ import React, { useState } from 'react'; import { Modal, message } from 'antd'; import SupplierDetail from './SupplierDetail'; - +import { useIntl } from 'umi'; const SupplierDetailModalContext = React.createContext<((id: string) => void) | null>(null); export const useSupplierDetailModal = () => React.useContext(SupplierDetailModalContext); export const SupplierDetailModalProvider = ({ children }: { children: React.ReactNode }) => { const [visible, setVisible] = useState(false); const [supplierId, setSupplierId] = useState(null); - + const intl = useIntl(); const showSupplierDetail = (id: string) => { if (!id) return message.error('此供应商信息缺失,请联系管理员'); setSupplierId(id); @@ -18,7 +18,11 @@ export const SupplierDetailModalProvider = ({ children }: { children: React.Reac return ( {children} - setVisible(false)} footer={null} width="90%"> + setVisible(false)} footer={null} width="90%" title={ +
+ {intl.formatMessage({ id: 'component.globalModal.title' })} +
+ }>
diff --git a/src/pages/supplier/supplierExit/supplierExitManage/components/CreateBlacklistModal.tsx b/src/pages/supplier/supplierExit/supplierExitManage/components/CreateBlacklistModal.tsx index c5031a7..fc6155c 100644 --- a/src/pages/supplier/supplierExit/supplierExitManage/components/CreateBlacklistModal.tsx +++ b/src/pages/supplier/supplierExit/supplierExitManage/components/CreateBlacklistModal.tsx @@ -1,9 +1,12 @@ import React, { useEffect , useState } from "react"; -import { Modal, Button, Select, Input, Table, message, Form } from "antd"; -import SupplierSelectModal from "./SupplierSelectModal"; -import { add } from "../services"; +import { Modal, Button, Input, Table, message, Form } from "antd"; import type { ColumnsType } from 'antd/es/table'; -const { Option } = Select; +//组件 +import SupplierSelectModal from "./SupplierSelectModal"; +import AccessDepartmentSelect from "@/components/AccessDepartmentSelect" +//接口 +import { add } from "../services"; + interface Supplier { id: number; // 作为 rowKey 用于唯一标识 supplierName: string; // 供应商名称 @@ -22,29 +25,31 @@ interface CreateBlacklistModalProps { onCancel: () => void; } -const DEPT_OPTIONS = [ - { value: "DEPT001", label: "部门A" }, - { value: "DEPT002", label: "部门B" }, -]; - const CreateBlacklistModal: React.FC = ({ visible, onOk, onCancel, }) => { + + const [form] = Form.useForm(); + // 供应商开启与选中 const [selectVisible, setSelectVisible] = useState(false); const [suppliers, setSuppliers] = useState([]); - const [form] = Form.useForm(); - + // 获取缓存 用户单位ID + const [userDeptId, setUserDeptId] = useState(''); + const currentUserStr = sessionStorage.getItem('currentUser'); + const currentUser = currentUserStr ? JSON.parse(currentUserStr) : null; + + //移除已选供应商 const removeSupplier = (id: number) => { setSuppliers(suppliers.filter((s) => s.id !== id)); }; - + // 供应商回调 const handleSelectOk = (selected: Supplier[]) => { setSuppliers(selected); setSelectVisible(false); }; - + //提交 const handleSubmit = async () => { try { const values = await form.validateFields(); @@ -75,15 +80,19 @@ const CreateBlacklistModal: React.FC = ({ message.error("提交失败"); } } catch (err) { - // 校验失败 } }; useEffect(() => { if (visible) { setSuppliers([]); form.resetFields(); + setUserDeptId(currentUser?.user?.orgId || ''); + // 设置表单的初始单位 + form.setFieldsValue({ deptId: currentUser?.user?.orgId || '' }); + } }, [visible]); + //列表头 const columns: ColumnsType = [ { title: "供应商名称", dataIndex: "supplierName", align: "center" }, { title: "准入部门", dataIndex: "deptId", align: "center" }, @@ -127,8 +136,8 @@ const CreateBlacklistModal: React.FC = ({
= ({ - + = ({ const [loading, setLoading] = useState(false); const [detail, setDetail] = useState(null); const [suppliers, setSuppliers] = useState([]); - + const supplierDetailModal = useSupplierDetailModal(); const fetchData = async () => { setLoading(true); try { - const { code, data } = await coscoSupplierexit(recordId) + const { code, data } = await coscoSupplierexit(recordId) if (code == 200) { setDetail(data.coscoSupplierexit); } else { @@ -64,13 +67,21 @@ const ViewBlacklistModal: React.FC = ({ } }, [visible, recordId]); - const columns:ColumnsType = [ - { title: "供应商名称", dataIndex: "supplierName", align: "center" }, - { title: "准入部门", dataIndex: "deptId", align: "center" }, - // { title: "准入时间", dataIndex: "accessTime", align: "center" }, - { title: "退出品类", dataIndex: "categoryName", align: "center" }, - // { title: "最近一次评价", dataIndex: "lastEval", align: "center" }, - // { title: "评价时间", dataIndex: "lastEvalDate", align: "center" }, + const columns: ColumnsType = [ + { + title: "供应商名称", dataIndex: "supplierName", align: "left", + width: 360, + ellipsis: true, + render: (dom, record) => { + return ( + + supplierDetailModal?.(record.supplierId)}>{record.supplierName || ''} + + ) + } + }, + { title: "准入部门", dataIndex: "deptId", align: "center", width: 160 }, + { title: "退出品类", dataIndex: "categoryName", align: "center", width: 160 }, ]; return ( @@ -78,7 +89,7 @@ const ViewBlacklistModal: React.FC = ({ title="供应商退出详情" visible={visible} onCancel={onCancel} - width={900} + width='80%' footer={} destroyOnClose bodyStyle={{ padding: "36px 36px 16px" }} @@ -103,7 +114,7 @@ const ViewBlacklistModal: React.FC = ({ rowKey="id" bordered pagination={false} - style={{ flex: 1, minHeight: 0 }} + style={{ flex: 1, minHeight: 'calc(100vh - 650px)' }} scroll={{ y: 'calc(100vh - 650px)' }} /> @@ -111,4 +122,4 @@ const ViewBlacklistModal: React.FC = ({ ); }; -export default ViewBlacklistModal; +export default connect()(ViewBlacklistModal); diff --git a/src/pages/supplier/supplierExit/supplierExitManage/index.tsx b/src/pages/supplier/supplierExit/supplierExitManage/index.tsx index 4c491a3..bc76ab3 100644 --- a/src/pages/supplier/supplierExit/supplierExitManage/index.tsx +++ b/src/pages/supplier/supplierExit/supplierExitManage/index.tsx @@ -5,6 +5,7 @@ import type { ColumnsType } from 'antd/es/table'; //组件 import CreateBlacklistModal from './components/CreateBlacklistModal' import ViewBlacklistModal from './components/ViewBlacklistModal'; +import AccessDepartmentSelect from "@/components/AccessDepartmentSelect" //接口 import { getDictList } from '@/servers/api/dicts' import { getPage } from './services' @@ -122,6 +123,7 @@ const supplierExitManage: React.FC = () => { + - - - -