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;