Compare commits

...

4 Commits

@ -1,5 +1,5 @@
import React, { FC, useEffect, useState } from "react"; import React, { FC, useEffect, useState } from "react";
import { Button, Dropdown, Space, Spin, Table, Typography } from "antd"; import { Button, Dropdown, Menu, Space, Spin, Table, Typography } from "antd";
import { MoreOutlined } from "@ant-design/icons"; import { MoreOutlined } from "@ant-design/icons";
import { convertColumns, exceptStr, paginationFun } from "@/utils/common"; import { convertColumns, exceptStr, paginationFun } from "@/utils/common";
import styles from "@/pages/atdTable/components/index.less"; import styles from "@/pages/atdTable/components/index.less";
@ -58,6 +58,20 @@ const payrollFilesTable: FC = (props) => {
</Button>; </Button>;
} else { } else {
if (selectedKey === "pending") { if (selectedKey === "pending") {
const menu1 = (
<Menu>
<Menu.Item key="deletePendingTodo"><span style={{width: "100%", height: "100%"}}
onClick={(e) => handleMenuClick({ key: "deletePendingTodo" }, r?.id)}></span></Menu.Item>
<Menu.Item key="deleteAchives"><span style={{width: "100%", height: "100%"}}
onClick={(e) => handleMenuClick({ key: "deleteAchives" }, r?.id)}></span></Menu.Item>
</Menu>
);
const menu2 = (
<Menu>
<Menu.Item key="deletePendingTodo"><span style={{width: "100%", height: "100%"}}
onClick={(e) => handleMenuClick({ key: "deletePendingTodo" }, r?.id)}></span></Menu.Item>
</Menu>
);
dom = <Space> dom = <Space>
<Button type="link" style={{ padding: "0" }} <Button type="link" style={{ padding: "0" }}
onClick={() => window.parent.postMessage( onClick={() => window.parent.postMessage(
@ -76,29 +90,7 @@ const payrollFilesTable: FC = (props) => {
</Button> </Button>
<Dropdown <Dropdown
menu={{ overlay={salaryArchiveDelete === "1" ? menu1 : menu2} placement="bottomRight"
items: salaryArchiveDelete === "1" ? [
{
key: "deletePendingTodo",
label: <a onClick={() => handleMenuClick({ key: "deletePendingTodo" }, r?.id)}>
</a>
},
{
key: "deleteAchives",
label: <a onClick={() => handleMenuClick({ key: "deleteAchives" }, r?.id)}>
</a>
}
] : [
{
key: "deletePendingTodo",
label: <a onClick={() => handleMenuClick({ key: "deletePendingTodo" }, r?.id)}>
</a>
}
]
}} placement="bottomRight"
overlayClassName={styles.moreIconWrapper} overlayClassName={styles.moreIconWrapper}
> >
<MoreOutlined style={{ fontSize: 16 }}/> <MoreOutlined style={{ fontSize: 16 }}/>
@ -115,6 +107,12 @@ const payrollFilesTable: FC = (props) => {
</Button>; </Button>;
} else if (selectedKey === "suspend") { } else if (selectedKey === "suspend") {
const menu3 = (
<Menu>
<Menu.Item key="deleteSuspendTodo"><span style={{width: "100%", height: "100%"}}
onClick={(e) => handleMenuClick({ key: "deleteSuspendTodo" }, r?.id)}></span></Menu.Item>
</Menu>
);
dom = <Space> dom = <Space>
<Button type="link" style={{ padding: "0" }} onClick={() => window.parent.postMessage( <Button type="link" style={{ padding: "0" }} onClick={() => window.parent.postMessage(
{ {
@ -131,22 +129,19 @@ const payrollFilesTable: FC = (props) => {
</Button> </Button>
<Dropdown <Dropdown
menu={{ overlay={menu3} placement="bottomRight"
items: [
{
key: "deleteSuspendTodo",
label: <a onClick={() => handleMenuClick({ key: "deleteSuspendTodo" }, r?.id)}>
</a>
}
]
}} placement="bottomRight"
overlayClassName={styles.moreIconWrapper} overlayClassName={styles.moreIconWrapper}
> >
<MoreOutlined style={{ fontSize: 16 }}/> <MoreOutlined style={{ fontSize: 16 }}/>
</Dropdown> </Dropdown>
</Space>; </Space>;
} else { } else {
const menu4 = (
<Menu>
<Menu.Item key="deleteAchives"><span style={{width: "100%", height: "100%"}}
onClick={(e) => handleMenuClick({ key: "deleteAchives" }, r?.id)}></span></Menu.Item>
</Menu>
);
dom = <Space> dom = <Space>
<Button type="link" style={{ padding: "0" }} onClick={() => window.parent.postMessage( <Button type="link" style={{ padding: "0" }} onClick={() => window.parent.postMessage(
{ {
@ -164,16 +159,7 @@ const payrollFilesTable: FC = (props) => {
{ {
salaryArchiveDelete === "1" && salaryArchiveDelete === "1" &&
<Dropdown placement="bottomRight" overlayClassName={styles.moreIconWrapper} <Dropdown placement="bottomRight" overlayClassName={styles.moreIconWrapper}
menu={{ overlay={menu4}
items: [
{
key: "deleteAchives",
label: <a onClick={() => handleMenuClick({ key: "deleteAchives" }, r?.id)}>
</a>
}
]
}}
> >
<MoreOutlined style={{ fontSize: 16 }}/> <MoreOutlined style={{ fontSize: 16 }}/>
</Dropdown> </Dropdown>

@ -9,7 +9,7 @@ import { ColumnType } from "antd/lib/table";
import { PaginationData } from "rc-pagination"; import { PaginationData } from "rc-pagination";
import styles from "@/pages/atdTable/components/index.less"; import styles from "@/pages/atdTable/components/index.less";
import { exceptStr, paginationAction } from "@/utils/common"; import { exceptStr, paginationAction } from "@/utils/common";
import { Button, Dropdown, MenuProps, Space, Table } from "antd"; import { Button, Dropdown, Menu, Space, Table } from "antd";
import { MoreOutlined } from "@ant-design/icons"; import { MoreOutlined } from "@ant-design/icons";
interface OwnProps { interface OwnProps {
@ -96,24 +96,34 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
let items: MenuProps["items"] = [ const items = !showDelSalaryFileBtn ? (
{ <Menu>
key: "DeleteTodoList", <Menu.Item key="DeleteTodoList">
label: i18n["删除待办"], <span style={{ width: "100%", height: "100%" }}
onClick: () => handleSalaryFileOperate("DEL-PENDITNG-TO-DO", record, [record?.id]) onClick={(e) => handleSalaryFileOperate("DEL-PENDITNG-TO-DO", [record?.id])}>
}, {i18n["删除待办"]}
{ </span>
key: "DeleteFiles", </Menu.Item>
label: i18n["删除档案"], </Menu>
onClick: () => handleSalaryFileOperate("DEL-SALARY-FILES", record, [record?.id]) ) : <Menu>
} <Menu.Item key="DeleteTodoList">
]; <span style={{ width: "100%", height: "100%" }}
!showDelSalaryFileBtn && (items = _.dropRight(items)); onClick={(e) => handleSalaryFileOperate("DEL-PENDITNG-TO-DO", [record?.id])}>
{i18n["删除待办"]}
</span>
</Menu.Item>
<Menu.Item key="DeleteFiles">
<span style={{ width: "100%", height: "100%" }}
onClick={(e) => handleSalaryFileOperate("DEL-SALARY-FILES", [record?.id])}>
{i18n["删除档案"]}
</span>
</Menu.Item>
</Menu>;
return (<Space> return (<Space>
<Button type="link" onClick={() => handleSalaryFileOperate("EDIT", record)}>{i18n["编辑"]}</Button> <Button type="link" onClick={() => handleSalaryFileOperate("EDIT", record)}>{i18n["编辑"]}</Button>
<Button type="link" <Button type="link"
onClick={() => handleSalaryFileOperate("ADD-TO-SALARYPAYMENT", record, [record?.id])}>{i18n["设为发薪人员"]}</Button> onClick={() => handleSalaryFileOperate("ADD-TO-SALARYPAYMENT", record, [record?.id])}>{i18n["设为发薪人员"]}</Button>
<Dropdown menu={{ items }} placement="bottomRight"> <Dropdown overlay={items} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
</Space>); </Space>);
@ -133,18 +143,21 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
const downsizingItems: MenuProps["items"] = [ const downsizingItems = (
{ <Menu>
key: "DeleteTodoList", <Menu.Item key="DeleteTodoList">
label: i18n["删除待办"], <span style={{ width: "100%", height: "100%" }}
onClick: () => handleSalaryFileOperate("DEL-SUSPEND-TO-DO", record, [record?.id]) onClick={(e) => handleSalaryFileOperate("DEL-SUSPEND-TO-DO", record, [record?.id])}>
} {i18n["删除待办"]}
]; </span>
</Menu.Item>
</Menu>
);
return (<Space> return (<Space>
<Button type="link" onClick={() => handleSalaryFileOperate("EDIT", record)}>{i18n["编辑"]}</Button> <Button type="link" onClick={() => handleSalaryFileOperate("EDIT", record)}>{i18n["编辑"]}</Button>
<Button type="link" <Button type="link"
onClick={() => handleSalaryFileOperate("SALARY-SUSPENSION", record, [record?.id])}>{i18n["停薪"]}</Button> onClick={() => handleSalaryFileOperate("SALARY-SUSPENSION", record, [record?.id])}>{i18n["停薪"]}</Button>
<Dropdown menu={{ items: downsizingItems }} placement="bottomRight"> <Dropdown overlay={downsizingItems} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
</Space>); </Space>);
@ -155,21 +168,23 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
let stopItems: MenuProps["items"] = [ const stopItems = showDelSalaryFileBtn ? (
{ <Menu>
key: "CancelSuspension", <Menu.Item key="CancelSuspension">
label: i18n["删除档案"], <span style={{ width: "100%", height: "100%" }}
onClick: () => handleSalaryFileOperate("DEL-SALARY-FILES", record, [record?.id]) onClick={(e) => handleSalaryFileOperate("DEL-SALARY-FILES", record, [record?.id])}>
} {i18n["删除档案"]}
]; </span>
!showDelSalaryFileBtn && (stopItems = _.dropRight(stopItems)); </Menu.Item>
</Menu>
) : null;
return (<Space> return (<Space>
<Button type="link" onClick={() => handleSalaryFileOperate("VIEW", record)}>{i18n["查看"]}</Button> <Button type="link" onClick={() => handleSalaryFileOperate("VIEW", record)}>{i18n["查看"]}</Button>
<Button type="link" <Button type="link"
onClick={() => handleSalaryFileOperate("CANCEL-SALARY-SUSPENSION", record, [record?.id])}>{i18n["取消停薪"]}</Button> onClick={() => handleSalaryFileOperate("CANCEL-SALARY-SUSPENSION", record, [record?.id])}>{i18n["取消停薪"]}</Button>
{ {
!_.isEmpty(stopItems) && !_.isEmpty(stopItems) &&
<Dropdown menu={{ items: stopItems }} placement="bottomRight"> <Dropdown overlay={stopItems} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
} }

@ -9,8 +9,7 @@ import { ColumnType } from "antd/lib/table";
import { PaginationData } from "rc-pagination"; import { PaginationData } from "rc-pagination";
import styles from "@/pages/atdTable/components/index.less"; import styles from "@/pages/atdTable/components/index.less";
import { exceptStr, paginationAction } from "@/utils/common"; import { exceptStr, paginationAction } from "@/utils/common";
import type { MenuProps } from "antd"; import { Button, Dropdown, Menu, Space, Table } from "antd";
import { Button, Dropdown, Space, Table } from "antd";
import { MoreOutlined } from "@ant-design/icons"; import { MoreOutlined } from "@ant-design/icons";
interface OwnProps { interface OwnProps {
@ -94,22 +93,18 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
const items: MenuProps["items"] = [ const items = (
{ <Menu>
key: "DeleteFiles", <Menu.Item key="DeleteFiles"><span style={{ width: "100%", height: "100%" }}
label: i18n["删除档案"], onClick={(e) => handleWelfareOperate("DEL-ARCHIVE", record)}>{i18n["删除档案"]}</span></Menu.Item>
onClick: () => handleWelfareOperate("DEL-ARCHIVE", record) <Menu.Item key="DeleteTodoList"><span style={{ width: "100%", height: "100%" }}
}, onClick={(e) => handleWelfareOperate("DEL-TO-DO", record, { runStatus: "4" })}>{i18n["删除待办"]}</span></Menu.Item>
{ </Menu>
key: "DeleteTodoList", );
label: i18n["删除待办"],
onClick: () => handleWelfareOperate("DEL-TO-DO", record, { runStatus: "4" })
}
];
return (<Space> return (<Space>
<Button type="link" onClick={() => handleWelfareOperate("EDIT", record)}>{i18n["编辑"]}</Button> <Button type="link" onClick={() => handleWelfareOperate("EDIT", record)}>{i18n["编辑"]}</Button>
<Button type="link" onClick={() => handleWelfareOperate("ADD-TO-PAY", record)}>{i18n["增员"]}</Button> <Button type="link" onClick={() => handleWelfareOperate("ADD-TO-PAY", record)}>{i18n["增员"]}</Button>
<Dropdown menu={{ items }} placement="bottomRight"> <Dropdown overlay={items} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
</Space>); </Space>);
@ -128,18 +123,21 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
const downsizingItems: MenuProps["items"] = [ const downsizingItems = (
{ <Menu>
key: "DeleteTodoList", <Menu.Item key="DeleteTodoList">
label: i18n["删除待办"], <span style={{ width: "100%", height: "100%" }}
onClick: () => handleWelfareOperate("DEL-TO-DO-STAY", record, { runStatus: "3" }) onClick={(e) => handleWelfareOperate("DEL-TO-DO-STAY", record, { runStatus: "3" })}>
} {i18n["删除待办"]}
]; </span>
</Menu.Item>
</Menu>
);
return (<Space> return (<Space>
<Button type="link" onClick={() => handleWelfareOperate("EDIT", record)}>{i18n["编辑"]}</Button> <Button type="link" onClick={() => handleWelfareOperate("EDIT", record)}>{i18n["编辑"]}</Button>
<Button type="link" <Button type="link"
onClick={() => handleWelfareOperate("STAY-DEL-TO-STOP", record)}>{i18n["减员"]}</Button> onClick={() => handleWelfareOperate("STAY-DEL-TO-STOP", record)}>{i18n["减员"]}</Button>
<Dropdown menu={{ items: downsizingItems }} placement="bottomRight"> <Dropdown overlay={downsizingItems} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
</Space>); </Space>);
@ -150,18 +148,21 @@ const Index: FunctionComponent<Props> = (props) => {
opts = { opts = {
...opts, ...opts,
render: (__: any, record: any) => { render: (__: any, record: any) => {
const stopItems: MenuProps["items"] = [ const stopItems = (
{ <Menu>
key: "CancelSuspension", <Menu.Item key="CancelSuspension">
label: i18n["取消停缴"], <span style={{ width: "100%", height: "100%" }}
onClick: () => handleWelfareOperate("CANCEL-STOP", record) onClick={(e) => handleWelfareOperate("CANCEL-STOP", record)}>
} {i18n["取消停缴"]}
]; </span>
</Menu.Item>
</Menu>
);
return (<Space> return (<Space>
<Button type="link" onClick={() => handleWelfareOperate("VIEW", record)}>{i18n["查看"]}</Button> <Button type="link" onClick={() => handleWelfareOperate("VIEW", record)}>{i18n["查看"]}</Button>
<Button type="link" <Button type="link"
onClick={() => handleWelfareOperate("DEL-ARCHIVE", record)}>{i18n["删除档案"]}</Button> onClick={() => handleWelfareOperate("DEL-ARCHIVE", record)}>{i18n["删除档案"]}</Button>
<Dropdown menu={{ items: stopItems }} placement="bottomRight"> <Dropdown overlay={stopItems} placement="bottomRight">
<Button type="link" icon={<MoreOutlined/>}/> <Button type="link" icon={<MoreOutlined/>}/>
</Dropdown> </Dropdown>
</Space>); </Space>);

Loading…
Cancel
Save