薪酬统计分析-员工明细列表开发
This commit is contained in:
parent
93d07961c7
commit
28a7bb7f64
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaLocaleProvider, WeaTable } from "ecCom";
|
||||
import { Menu, Popover } from "antd";
|
||||
import { Dropdown, Menu } from "antd";
|
||||
import { statisticsEmployeeList } from "../../../apis/statistics";
|
||||
import "../index.less";
|
||||
|
||||
|
|
@ -56,19 +56,14 @@ class EmployeeDetails extends Component {
|
|||
width: 80,
|
||||
render: (_, record) => {
|
||||
return <div className="operates">
|
||||
<Popover
|
||||
placement="bottomRight" trigger="hover"
|
||||
overlayClassName="operatePopover"
|
||||
content={
|
||||
<Menu onClick={() => {
|
||||
window.open(`${window.location.origin}/spa/hrmSalary/static/index.html#/main/hrmSalary/analysisOfSalaryStatistics/${record.id}?name=${record.name}&dept=${record.department || ""}`);
|
||||
}}>
|
||||
<Menu.Item key="1">{getLabel(111, "查看")}</Menu.Item>
|
||||
</Menu>
|
||||
}
|
||||
>
|
||||
<Dropdown overlay={
|
||||
<Menu>
|
||||
<Menu.Item><a target="_blank"
|
||||
href={`${window.location.origin}/spa/hrmSalary/static/index.html#/main/hrmSalary/analysisOfSalaryStatistics/${record.id}?name=${record.name}&dept=${record.department || ""}`}>{getLabel(111, "查看")}</a></Menu.Item>
|
||||
</Menu>
|
||||
} overlayStyle={{ width: "auto", height: "auto" }}>
|
||||
<i className="icon-coms-more"/>
|
||||
</Popover>
|
||||
</Dropdown>
|
||||
</div>;
|
||||
}
|
||||
}]
|
||||
|
|
|
|||
|
|
@ -26,7 +26,12 @@ class Index extends Component {
|
|||
taxAgentId: "",
|
||||
salaryMonth: [moment().startOf("year").format("YYYY-MM"), moment().format("YYYY-MM")],
|
||||
dataSource: [],
|
||||
columns: []
|
||||
columns: [],
|
||||
pageInfo: {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -41,45 +46,56 @@ class Index extends Component {
|
|||
}
|
||||
|
||||
handleReceive = ({ data }) => {
|
||||
const { type } = data;
|
||||
const { type, payload: { id, params } = {} } = data;
|
||||
const { columns, dataSource, pageInfo } = this.state;
|
||||
if (type === "init") {
|
||||
const { columns, dataSource } = this.state;
|
||||
this.postMessageToChild({
|
||||
columns, dataSource,
|
||||
showSum: false
|
||||
showSum: false, pageInfo
|
||||
});
|
||||
} else if (type === "turn") {
|
||||
if (id === "PAGEINFO") {
|
||||
const { pageNum: current, size: pageSize } = params;
|
||||
this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => this.statisticsEmployeeDetailList());
|
||||
}
|
||||
}
|
||||
};
|
||||
postMessageToChild = (payload) => {
|
||||
const childFrameObj = document.getElementById("atdTable");
|
||||
const { dataSource, columns, showSum } = payload;
|
||||
const { dataSource, columns, showSum, pageInfo } = payload;
|
||||
childFrameObj && childFrameObj.contentWindow.postMessage(JSON.stringify({
|
||||
dataSource, columns, showSum
|
||||
dataSource, columns, showSum, pageInfo
|
||||
}), "*");
|
||||
};
|
||||
|
||||
statisticsEmployeeDetailList = () => {
|
||||
const { params: { employeeId } } = this.props;
|
||||
const { taxAgentId, salaryMonth } = this.state;
|
||||
const payload = { employeeId, taxAgentId, salaryMonth };
|
||||
const { taxAgentId, salaryMonth, pageInfo } = this.state;
|
||||
const payload = {
|
||||
employeeId, taxAgentId,
|
||||
salaryMonth: salaryMonth.map(item => moment(item).format("YYYY-MM-DD")),
|
||||
...pageInfo
|
||||
};
|
||||
this.setState({ loading: true });
|
||||
statisticsEmployeeDetailList(payload).then(({ status, data }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
const { columns, pageInfo: { list } } = data;
|
||||
const { columns, pageInfo: { list, pageNum: current, pageSize, total } } = data;
|
||||
this.setState({
|
||||
columns: _.map(columns, it => ({
|
||||
columns: _.map(columns, (it, idx) => ({
|
||||
...it,
|
||||
dataIndex: it.column, width: 150,
|
||||
title: it.text, align: "left"
|
||||
dataIndex: it.text, width: 150,
|
||||
title: it.width, align: "left",
|
||||
fixed: (idx === 1 || idx === 0) ? "left" : "",
|
||||
ellipsis: true
|
||||
})),
|
||||
dataSource: list || []
|
||||
dataSource: list || [],
|
||||
pageInfo: { ...pageInfo, current, pageSize, total }
|
||||
}, () => {
|
||||
this.postMessageToChild({
|
||||
columns: this.state.columns,
|
||||
dataSource: this.state.dataSource,
|
||||
showSum: false
|
||||
showSum: false, pageInfo: this.state.pageInfo
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
@ -106,8 +122,8 @@ class Index extends Component {
|
|||
<Spin spinning={loading}>
|
||||
<iframe
|
||||
style={{ border: 0, width: "100%", height: "100%" }}
|
||||
src="http://localhost:7607/#/commonTable"
|
||||
// src="/spa/hrmSalary/hrmSalaryCalculateDetail/index.html#/commonTable"
|
||||
// src="http://localhost:7607/#/commonTable"
|
||||
src="/spa/hrmSalary/hrmSalaryCalculateDetail/index.html#/commonTable"
|
||||
id="atdTable"
|
||||
/>
|
||||
</Spin>
|
||||
|
|
|
|||
Loading…
Reference in New Issue