import { Button, Form, Space, Tag, Typography } from "antd"; import Search from "zy-react-library/components/Search"; import Table from "zy-react-library/components/Table"; import { CHONGQING_DISTRICTS } from "~/enumerate/enterpriseOptions"; import { FILING_FORM_MODE, getFilingStatusOptions, isFiledManageEditable, isQualFilingEditable, QUAL_FILING_STATUS_COLOR, } from "~/enumerate/qualFilingOptions"; import { CHANGE_COUNT_STYLE, formSelectField, getChangeCount } from "~/utils/enterpriseForm"; import { goFilingForm } from "./filingPaths"; const SEARCH_COL = { xs: 24, sm: 12, md: 8, lg: 6 }; export default function FilingListTable({ tableProps, searchForm, onSearch, mode, showChangeCount = false, onChangeCountClick, onCreate, createLabel, listTitle, listDesc, PageLayout, onDelete, extraActions, }) { const statusOptions = getFilingStatusOptions(mode); const canEditRow = (record) => { if (mode === FILING_FORM_MODE.FILED) { return isFiledManageEditable(record.filingStatusCode, mode); } return isQualFilingEditable(record.filingStatusCode); }; const columns = [ { title: "备案属地", dataIndex: "filingTerritoryName", width: 120, ellipsis: true }, { title: "备案单位", dataIndex: "filingUnitName", ellipsis: true }, { title: "备案编号", dataIndex: "filingNo", width: 180, render: (val, record) => val || record.id || "-" }, { title: "安全评价业务范围", dataIndex: "businessScope", ellipsis: true }, ]; if (showChangeCount) { columns.push({ title: "变更次数", dataIndex: "changeCount", width: 90, render: (_, record) => { const count = getChangeCount(record); const style = count > 0 ? CHANGE_COUNT_STYLE.active : CHANGE_COUNT_STYLE.zero; if (count <= 0) { return {count}; } return ( onChangeCountClick?.(record)} > {count} ); }, }); } columns.push({ title: "备案状态", dataIndex: "filingStatusName", width: 110, render: (_, record) => ( {record.filingStatusName || "-"} ), }); columns.push({ title: "操作", width: 180, render: (_, record) => ( {extraActions?.(record)} {canEditRow(record) && mode !== FILING_FORM_MODE.CHANGE && ( )} {mode === FILING_FORM_MODE.APPLICATION && isQualFilingEditable(record.filingStatusCode) && onDelete && ( )} ), }); return ( {createLabel} )} > {listDesc && (

{listDesc}

)} onSearch?.({ type: "search" })} /> ); }