diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/exportMenu.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/exportMenu.js index 78a36b27..4845c1b4 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/components/exportMenu.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/exportMenu.js @@ -17,11 +17,11 @@ class ExportMenu extends Component { case "fixed": runStatusList = "FIXED,SUSPEND"; break; - case "SUSPEND": + case "suspend": runStatusList = _.upperCase(selectedKey); break; case "stop": - runStatusList = 'STOP_FROM_PENDING,STOP_FROM_SUSPEND'; + runStatusList = "STOP_FROM_PENDING,STOP_FROM_SUSPEND"; break; default: break; diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/index.js index 5655e499..8fb623fa 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/index.js @@ -14,7 +14,6 @@ import { WeaFormItem, WeaHelpfulTip, WeaInput, - WeaNewScroll, WeaPopoverHrm, WeaSearchGroup, WeaSelect, @@ -23,7 +22,7 @@ import { WeaTop } from "ecCom"; import { WeaTableNew } from "comsMobx"; -import { Button, Dropdown, Menu, message, Modal, Popover } from "antd"; +import { Button, Dropdown, Menu, message, Modal, Spin } from "antd"; import ImportMenu from "./components/importMenu"; import ExportMenu from "./components/exportMenu"; import AllWithoutPay from "./components/allWithoutPay"; @@ -32,7 +31,6 @@ import SlideModalTitle from "../../components/slideModalTitle"; import SalaryFileViewSlide from "../salaryFile/saralyFileViewSlide"; import ChangeSalaryModal from "../salaryFile/changeSalaryModal"; import "./index.less"; -import UnifiedTable from "../../components/UnifiedTable"; const WeaTableComx = WeaTableNew.WeaTable; @@ -152,8 +150,56 @@ class Index extends Component { this.queryTabTotal(); this.queryList("/api/bs/hrmsalary/salaryArchive/pendingList"); const init = this.init(); + window.addEventListener("message", this.handleReceive, false); } + componentWillUnmount() { + window.removeEventListener("message", this.handleReceive, false); + } + + handleReceive = ({ data }) => { + const { payrollFilesStore: { tableStore }, taxAgentStore: { showOperateBtn } } = this.props; + const columns = _.map(_.filter(toJS(tableStore.columns), (item) => item.display === "true"), (it, idx) => ({ + dataIndex: it.dataIndex, + width: (it.dataIndex === "username" || it.dataIndex === "operate") ? 120 : it.dataIndex === "taxAgentName" ? 176 : 150, + title: it.title, align: "left", + fixed: (idx === 0 || idx === 1 || idx === 2) ? "left" : it.dataIndex === "operate" ? "right" : "", + ellipsis: true + })); + const { type, payload: { id, params } = {} } = data; + const { dataSource, pageInfo, selectedKey, selectedRowKeys } = this.state; + if (type === "init") { + this.postMessageToChild({ + columns, dataSource, showOperateBtn, selectedKey, + showSum: false, pageInfo, selectedRowKeys + }); + } else if (type === "turn") { + if (id === "PAGEINFO") { + const { pageNum: current, size: pageSize } = params; + this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => this.query()); + } else if (id === "EDIT") { + const { record } = params; + this.handleEdit(record); + } else if (id === "MOREOPT") { + const { id, event: e } = params; + this.handleMenuClick(e, id); + } else if (id === "CANCELSTOP") { + const { id } = params; + this.cancelStop(id); + } else if (id === "ROWSELECTION") { + const { selectedRowKeys } = params; + this.setState({ selectedRowKeys }); + } + } + }; + postMessageToChild = (payload) => { + const childFrameObj = document.getElementById("atdTable"); + const { dataSource, columns, showSum, pageInfo, showOperateBtn, selectedKey, selectedRowKeys } = payload; + childFrameObj && childFrameObj.contentWindow.postMessage(JSON.stringify({ + dataSource, columns, showSum, pageInfo, showOperateBtn, selectedKey, selectedRowKeys + }), "*"); + }; + init = async () => { const { data: archiveStatusList } = await this.commonEnumList({ enumClass: "com.engine.salary.enums.salaryarchive.ArchiveStatusEnum" }); const { data: userStatusList } = await this.commonEnumList({ enumClass: "com.engine.salary.enums.UserStatusEnum" }); @@ -192,7 +238,7 @@ class Index extends Component { }; queryList = (url) => { const { loading, pageInfo, searchItemsValue } = this.state; - const { payrollFilesStore: { tableStore, queryList } } = this.props; + const { payrollFilesStore: { tableStore, queryList }, taxAgentStore: { showOperateBtn } } = this.props; const payload = { ...pageInfo }; this.setState({ loading: { ...loading, query: true } @@ -446,85 +492,18 @@ class Index extends Component { return []; }; getColumns = () => { - const { selectedKey } = this.state; const { payrollFilesStore: { tableStore }, taxAgentStore: { showOperateBtn } } = this.props; - let columns = _.filter(toJS(tableStore.columns), (item) => item.display === "true"); - return _.map([ - ...columns], item => { - if (item.dataIndex === "username") { - return { - ...item, - render: (text, record) => { - return window.pointerXY(e)} - className="ellipsis" - title={text} - > - {text} - ; - } - }; - } else if (item.dataIndex === "operate") { - return { - ...item, - render: (text, record) => { - if (!showOperateBtn) { - return
; - } else { - if (selectedKey === "pending") { - return