import { Button, Modal, Space, Table } from "antd"; import { useState } from "react"; import { TITLE_LEVEL_MAP } from "~/enumerate/enterpriseOptions"; import StaffViewModal from "~/components/StaffViewModal"; import OrgPersonnelSelectModal from "./OrgPersonnelSelectModal"; const PersonnelStep=({ personnelList = [], disabled, onAdd, onRemove, })=> { const [selectOpen, setSelectOpen] = useState(false); const [viewId, setViewId] = useState(""); const [selectedRowKeys, setSelectedRowKeys] = useState([]); const existingIds = personnelList.map((item) => String(item.sourcePersonnelId || item.id || "")); const handleBatchRemove = () => { const records = selectedRowKeys .map((key) => personnelList.find( (item) => String(item.sourcePersonnelId || item.id) === key, )) .filter(Boolean); if (records.length > 0) { onRemove?.(records); } }; return ( <>
备案人员信息 当前 {personnelList.length} 人 {!disabled && ( {selectedRowKeys.length > 0 && ( )} )}
String(record.sourcePersonnelId || record.id)} pagination={false} scroll={{ y: 400 }} dataSource={personnelList} rowSelection={!disabled ? { selectedRowKeys, onChange: setSelectedRowKeys, } : undefined} columns={[ { title: "序号", width: 60, render: (_, __, index) => index + 1 }, { title: "人员姓名", dataIndex: "userName", render: (_, record) => record.userName || record.personName }, { title: "类型", dataIndex: "personTypeName" }, { title: "职称", dataIndex: "titleName", render: (_, record) => TITLE_LEVEL_MAP[record.titleCode] ?? (record.titleCode || "-") }, { title: "操作", width: 140, render: (_, record) => ( {!disabled && ( )} ), }, ]} /> setSelectOpen(false)} onConfirm={(ids, rows) => { onAdd?.(ids, rows); setSelectOpen(false); }} /> setViewId("")} /> ); } export default PersonnelStep;