From 719fd3381257d18ee8c06af820cdee948408984b Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 30 Oct 2024 18:07:56 +0800 Subject: [PATCH] master --- src/pages/unitTable/index.tsx | 95 ++-- src/pages/unitTable/renderColsOpts.tsx | 643 +++++++++++++++---------- 2 files changed, 443 insertions(+), 295 deletions(-) diff --git a/src/pages/unitTable/index.tsx b/src/pages/unitTable/index.tsx index 4e5039b..cfcb283 100644 --- a/src/pages/unitTable/index.tsx +++ b/src/pages/unitTable/index.tsx @@ -13,16 +13,17 @@ export type extraType = { permission: boolean; scrollHeight: number; rowKey: string; - showTotalCell: boolean -} + showTotalCell: boolean; + isSpecial: boolean; +}; const UnitTable: FC = (props) => { const [unitTableType, setUnitTableType] = useState(""); const [columns, setColumns] = useState>([]); const [dataSource, setDataSource] = useState>([]); const [pageInfo, setPageInfo] = useState>({}); - const [sumRow, setSumRow] = useState>({});//总计行数据 + const [sumRow, setSumRow] = useState>({}); //总计行数据 const [i18n, setI18n] = useState({}); - const [extraParams, setExtraParams] = useState>({ selectedRowKeys: [] });//额外参数 + const [extraParams, setExtraParams] = useState>({ selectedRowKeys: [] }); //额外参数 useEffect(() => { window.parent.postMessage({ type: "init" }, "*"); @@ -35,8 +36,19 @@ const UnitTable: FC = (props) => { const data: any = exceptStr(event.data); if (!_.isEmpty(data)) { const { - columns, dataSource, pageInfo, scrollHeight, i18n, showOperateBtn: permission, unitTableType = "welfareRecord", - selectedRowKeys: rowKeys = [], selectedKey, rowKey, showTotalCell = false, sumDataSource = {} + columns, + dataSource, + pageInfo, + scrollHeight, + i18n, + showOperateBtn: permission, + unitTableType = "welfareRecord", + selectedRowKeys: rowKeys = [], + selectedKey, + rowKey, + showTotalCell = false, + sumDataSource = {}, + isSpecial = false } = data; setI18n(i18n); setColumns(columns); @@ -45,8 +57,13 @@ const UnitTable: FC = (props) => { setUnitTableType(unitTableType); setSumRow(sumDataSource); setExtraParams({ - selectedKey, scrollHeight, permission, rowKey, showTotalCell, - selectedRowKeys: [...extraParams.selectedRowKeys as string[] | number[], ...rowKeys] + selectedKey, + scrollHeight, + permission, + rowKey, + showTotalCell, + isSpecial, + selectedRowKeys: [...(extraParams.selectedRowKeys as string[] | number[]), ...rowKeys] }); } }; @@ -64,37 +81,49 @@ const UnitTable: FC = (props) => { }); }; const rowSelection = { - columnWidth: 60, selectedRowKeys: extraParams.selectedRowKeys, + columnWidth: 60, + selectedRowKeys: extraParams.selectedRowKeys, preserveSelectedRowKeys: true, onChange: (selectedRowKeys: React.Key[]) => { // @ts-ignore setExtraParams({ ...extraParams, selectedRowKeys: selectedRowKeys }); - window.parent.postMessage( - { type: "turn", payload: { id: "CHECKBOX", params: { selectedRowKeys } } }, "*" - ); + window.parent.postMessage({ type: "turn", payload: { id: "CHECKBOX", params: { selectedRowKeys } } }, "*"); } }; - return k.children)} - rowSelection={!_.isNil(extraParams?.selectedRowKeys) ? rowSelection : undefined} - pagination={!_.isNil(pageInfo) ? { - ...paginationAction(pageInfo, i18n, onChange), - size: "default" - } : false} - summary={() => ( - !extraParams.showTotalCell ? <> : - - - {i18n["总计"]} - - - - )} - />; + return ( +
k.children)} + rowSelection={!_.isNil(extraParams?.selectedRowKeys) ? rowSelection : undefined} + pagination={ + !_.isNil(pageInfo) + ? { + ...paginationAction(pageInfo, i18n, onChange), + size: "default" + } + : false + } + summary={() => + !extraParams.showTotalCell ? ( + <> + ) : ( + + + + {i18n["总计"]} + + + + + ) + } + /> + ); }; export default UnitTable; diff --git a/src/pages/unitTable/renderColsOpts.tsx b/src/pages/unitTable/renderColsOpts.tsx index f1638e9..a587a57 100644 --- a/src/pages/unitTable/renderColsOpts.tsx +++ b/src/pages/unitTable/renderColsOpts.tsx @@ -14,303 +14,422 @@ const { Text } = Typography; export function renderCols(initialState: any[], type: string, i18n?: AnyObject, extraParams?: Partial) { return React.useMemo(() => { if (type === "welfareRecord") { - return [..._.map(_.filter(initialState, o => o.dataIndex !== "id"), g => { - let col = { ...g, ellipsis: true, fixed: g.dataIndex === "billMonth", width: 180 }; - switch (g.dataIndex) { - case "billMonth": - col = { - ...col, - width: 120, - render: (text: string, record: any) => { - const { billStatus } = record; - return (); - } - }; - break; - case "billStatus": - col = { - ...col, width: 100, render: (text: string) => ( - - {text === "1" ? i18n?.["已归档"] : i18n?.["未归档"]} - - ) - }; - break; - case "paymentOrganization": - col = { ...col, width: 200 }; - break; - case "socialNum": - case "otherNum": - case "fundNum": - col = { ...col, width: 118 }; - break; - case "remarks": - col = { ...col, width: 200 }; - break; - default: - col = { ...col }; - break; - } - return col; - }), { - dataIndex: "operate", title: i18n?.["操作"], width: 185, fixed: "right", - render: (__: string, record: any) => { - const { billStatus } = record; - const items: MenuProps["items"] = [ - { - key: "DeleteList", - label: i18n?.["删除"], - onClick: () => postMessageToParent("DELRC", record) - }, - { - key: "Log", - label: i18n?.["操作日志"], - onClick: () => postMessageToParent("log", record) + return [ + ..._.map( + _.filter(initialState, (o) => o.dataIndex !== "id"), + (g) => { + let col = { ...g, ellipsis: true, fixed: g.dataIndex === "billMonth", width: 180 }; + switch (g.dataIndex) { + case "billMonth": + col = { + ...col, + width: 120, + render: (text: string, record: any) => { + const { billStatus } = record; + return ( + + ); + } + }; + break; + case "billStatus": + col = { + ...col, + width: 100, + render: (text: string) => ( + + {text === "1" ? i18n?.["已归档"] : i18n?.["未归档"]} + + ) + }; + break; + case "paymentOrganization": + col = { ...col, width: 200 }; + break; + case "socialNum": + case "otherNum": + case "fundNum": + col = { ...col, width: 118 }; + break; + case "remarks": + col = { ...col, width: 200 }; + break; + default: + col = { ...col }; + break; } - ]; - return ( - + return col; + } + ), + { + dataIndex: "operate", + title: i18n?.["操作"], + width: 185, + fixed: "right", + render: (__: string, record: any) => { + const { billStatus } = record; + const items: MenuProps["items"] = [ + { + key: "DeleteList", + label: i18n?.["删除"], + onClick: () => postMessageToParent("DELRC", record) + }, { - !extraParams?.permission ? + key: "Log", + label: i18n?.["操作日志"], + onClick: () => postMessageToParent("log", record) + } + ]; + return ( + + {!extraParams?.permission ? ( - - postMessageToParent("log", record) - }] - }} placement="bottomRight"> - + postMessageToParent("log", record) + } + ] + }} + placement="bottomRight" + > + - + + - - - postMessageToParent("log", record) - } - ] - }} placement="bottomRight"> - + + postMessageToParent("log", record) + } + ] + }} + placement="bottomRight" + > + + - - + + - - } - - : + {selectedKey === "getAnnualbonusstrategyList" && ( + + )} + + + ) : ( <> - - { - selectedKey === "getAnnualbonusstrategyList" && - - } - { - selectedKey === "getAnnualbonusaddupList" && - - } + + {selectedKey === "getAnnualbonusstrategyList" && ( + + )} + {selectedKey === "getAnnualbonusaddupList" && ( + + )} - - - - ); + return [ + ..._.map(initialState, (g) => { + return { ...g, ellipsis: true, fixed: false, width: 150 }; + }), + { + dataIndex: "operate", + title: i18n?.["操作"], + width: 185, + fixed: "right", + render: (__: string, record: any) => { + return ( + + + + + ); + } } - }]; + ]; + } else if (type === "dataAcquisition") { + const { isSpecial } = extraParams as { isSpecial: boolean }; + return [ + ..._.map(initialState, (g) => { + let col = { ...g, ellipsis: true, width: 110 }; + switch (g.dataIndex) { + case "username": + case "departmentName": + col = { ...col, fixed: true }; + break; + case "taxAgentName": + col = { ...col, fixed: true, width: 180 }; + break; + case "mobile": + col = { ...col, width: 125 }; + break; + case "operate": + col = { + ...col, + width: 176, + fixed: "right", + render: (__: string, record: any) => { + let items: MenuProps["items"] = [ + { + key: "DeleteList", + label: i18n?.["删除"], + onClick: () => postMessageToParent("DEL", record) + }, + { + key: "Log", + label: i18n?.["操作日志"], + onClick: () => postMessageToParent("log", record) + } + ]; + isSpecial && items.shift(); + return ( + + + {isSpecial ? ( + + ) : ( + + )} + +