diff --git a/pc4mobx/hrmSalary/util/options.js b/pc4mobx/hrmSalary/util/options.js
index 13ef81e4..6d2fe74a 100644
--- a/pc4mobx/hrmSalary/util/options.js
+++ b/pc4mobx/hrmSalary/util/options.js
@@ -1,19 +1,19 @@
// 添加全部选项
export const optionAddAll = (options) => {
- let results = [...options];
- results.unshift({
- key: "All",
- showname: "全部",
- selected: false
- })
- return results;
-}
+ let results = [...options];
+ results.unshift({
+ key: "All",
+ showname: "全部",
+ selected: false
+ });
+ return results;
+};
export const optionAddWhole = (options) => {
- let results = [...options];
- results.unshift({
- key: "",
- showname: "全部",
- selected: false
- })
- return results;
-}
+ let results = [...options];
+ results.unshift({
+ key: "",
+ showname: "全部个税扣缴义务人",
+ selected: false
+ });
+ return results;
+};
From 28a7bb7f646862babce45b9838bbb7ddefb8ecf5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Thu, 25 May 2023 14:39:01 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E5=88=86=E6=9E=90-=E5=91=98=E5=B7=A5=E6=98=8E=E7=BB=86?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/employeeDetails.js | 21 ++++----
pc4mobx/hrmSalary/pages/employeeView/index.js | 48 ++++++++++++-------
2 files changed, 40 insertions(+), 29 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
index 6d9d0274..1360fb57 100644
--- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
+++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
@@ -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
-
{
- window.open(`${window.location.origin}/spa/hrmSalary/static/index.html#/main/hrmSalary/analysisOfSalaryStatistics/${record.id}?name=${record.name}&dept=${record.department || ""}`);
- }}>
- {getLabel(111, "查看")}
-
- }
- >
+
+ {getLabel(111, "查看")}
+
+ } overlayStyle={{ width: "auto", height: "auto" }}>
-
+
;
}
}]
diff --git a/pc4mobx/hrmSalary/pages/employeeView/index.js b/pc4mobx/hrmSalary/pages/employeeView/index.js
index 86a3353f..1d220a8c 100644
--- a/pc4mobx/hrmSalary/pages/employeeView/index.js
+++ b/pc4mobx/hrmSalary/pages/employeeView/index.js
@@ -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 {
From 11ac288541d124ab9eeac33a6bd9cb5f60f7ae0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Fri, 26 May 2023 14:51:17 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E5=88=86=E6=9E=90=E6=B7=BB=E5=8A=A0=E5=91=98=E5=B7=A5=E6=98=8E?=
=?UTF-8?q?=E7=BB=86=E5=88=97=E8=A1=A8=E7=9A=84=E7=BB=9F=E8=AE=A1=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/employeeDetails.js | 15 +---
pc4mobx/hrmSalary/pages/employeeView/index.js | 87 ++++++++++++++-----
pc4mobx/hrmSalary/stores/payrollFiles.js | 22 ++++-
3 files changed, 87 insertions(+), 37 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
index 1360fb57..dc89547d 100644
--- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
+++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js
@@ -6,7 +6,6 @@
*/
import React, { Component } from "react";
import { WeaLocaleProvider, WeaTable } from "ecCom";
-import { Dropdown, Menu } from "antd";
import { statisticsEmployeeList } from "../../../apis/statistics";
import "../index.less";
@@ -51,20 +50,12 @@ class EmployeeDetails extends Component {
pageInfo: { ...pageInfo, current, pageSize, total },
dataSource,
columns: [...columns, {
- title: "",
+ title: "操作",
dataIndex: "operate",
width: 80,
render: (_, record) => {
- return
;
+ return
{getLabel(111, "查看")};
}
}]
});
diff --git a/pc4mobx/hrmSalary/pages/employeeView/index.js b/pc4mobx/hrmSalary/pages/employeeView/index.js
index 1d220a8c..412da738 100644
--- a/pc4mobx/hrmSalary/pages/employeeView/index.js
+++ b/pc4mobx/hrmSalary/pages/employeeView/index.js
@@ -6,17 +6,19 @@
*/
import React, { Component } from "react";
import { WeaLocaleProvider, WeaSelect, WeaTop } from "ecCom";
+import { WeaTableNew } from "comsMobx";
+import { toJS } from "mobx";
import { Spin } from "antd";
import { inject, observer } from "mobx-react";
import { MonthRangePicker } from "../reportView/components/statisticalMicroSettingsSlide";
-import { statisticsEmployeeDetailList } from "../../apis/statistics";
import { optionAddWhole } from "../../util/options";
import moment from "moment";
import "./index.less";
+const WeaTableComx = WeaTableNew.WeaTable;
const { getLabel } = WeaLocaleProvider;
-@inject("taxAgentStore")
+@inject("taxAgentStore", "payrollFilesStore")
@observer
class Index extends Component {
constructor(props) {
@@ -24,9 +26,9 @@ class Index extends Component {
this.state = {
loading: false,
taxAgentId: "",
+ countResult: {},
salaryMonth: [moment().startOf("year").format("YYYY-MM"), moment().format("YYYY-MM")],
dataSource: [],
- columns: [],
pageInfo: {
current: 1,
pageSize: 10,
@@ -47,11 +49,18 @@ class Index extends Component {
handleReceive = ({ data }) => {
const { type, payload: { id, params } = {} } = data;
- const { columns, dataSource, pageInfo } = this.state;
+ const { dataSource, pageInfo, countResult } = this.state;
+ const { payrollFilesStore: { employeeTableStore } } = this.props;
+ const columns = _.filter(toJS(employeeTableStore.columns), (item) => item.display === "true" && item.dataIndex !== "acctTimes");
if (type === "init") {
this.postMessageToChild({
- columns, dataSource,
- showSum: false, pageInfo
+ columns: _.map(columns, (it, idx) => ({
+ ...it,
+ width: (it.dataIndex === "taxAgent" || it.dataIndex === "salarySob") ? 176 : it.oldWidth,
+ fixed: (idx === 1 || idx === 0) ? "left" : "",
+ ellipsis: true
+ })), dataSource, countResult,
+ showSum: true, pageInfo
});
} else if (type === "turn") {
if (id === "PAGEINFO") {
@@ -62,14 +71,14 @@ class Index extends Component {
};
postMessageToChild = (payload) => {
const childFrameObj = document.getElementById("atdTable");
- const { dataSource, columns, showSum, pageInfo } = payload;
+ const { dataSource, columns, showSum, pageInfo, countResult } = payload;
childFrameObj && childFrameObj.contentWindow.postMessage(JSON.stringify({
- dataSource, columns, showSum, pageInfo
+ dataSource, columns, showSum, pageInfo, countResult
}), "*");
};
statisticsEmployeeDetailList = () => {
- const { params: { employeeId } } = this.props;
+ const { params: { employeeId }, payrollFilesStore: { statisticsEmployeeDetailList } } = this.props;
const { taxAgentId, salaryMonth, pageInfo } = this.state;
const payload = {
employeeId, taxAgentId,
@@ -80,30 +89,43 @@ class Index extends Component {
statisticsEmployeeDetailList(payload).then(({ status, data }) => {
this.setState({ loading: false });
if (status) {
- const { columns, pageInfo: { list, pageNum: current, pageSize, total } } = data;
+ const { countResult, pageInfo: { list, pageNum: current, pageSize, total } } = data;
this.setState({
- columns: _.map(columns, (it, idx) => ({
- ...it,
- dataIndex: it.text, width: 150,
- title: it.width, align: "left",
- fixed: (idx === 1 || idx === 0) ? "left" : "",
- ellipsis: true
- })),
+ countResult,
dataSource: list || [],
pageInfo: { ...pageInfo, current, pageSize, total }
}, () => {
- this.postMessageToChild({
- columns: this.state.columns,
- dataSource: this.state.dataSource,
- showSum: false, pageInfo: this.state.pageInfo
- });
+ // this.postMessageToChild({
+ // columns: this.state.columns,
+ // dataSource: this.state.dataSource,
+ // showSum: false, pageInfo: this.state.pageInfo
+ // });
});
}
}).catch(() => this.setState({ loading: false }));
};
+ getColumns = () => {
+ const { dataSource, pageInfo, countResult } = this.state;
+ const { payrollFilesStore: { employeeTableStore } } = this.props;
+ const columns = _.filter(toJS(employeeTableStore.columns), (item) => item.display === "true" && item.dataIndex !== "acctTimes");
+ this.postMessageToChild({
+ columns: _.map(columns, (it, idx) => ({
+ ...it,
+ width: (it.dataIndex === "taxAgent" || it.dataIndex === "salarySob") ? 176 : it.oldWidth,
+ fixed: (idx === 1 || idx === 0) ? "left" : "",
+ ellipsis: true
+ })), dataSource, countResult,
+ showSum: true, pageInfo
+ });
+ };
+
render() {
- const { location, taxAgentStore: { showOperateBtn, taxAgentOption } } = this.props;
+ const {
+ location,
+ taxAgentStore: { showOperateBtn, taxAgentOption },
+ payrollFilesStore: { employeeTableStore }
+ } = this.props;
const { salaryMonth, taxAgentId, loading } = this.state;
const { query: { dept, name } } = location;
const btns = [
@@ -112,11 +134,22 @@ class Index extends Component {
this.setState({ taxAgentId: v }, () => this.statisticsEmployeeDetailList())}/>
];
+ const dropMenuDatas = [
+ {
+ key: "BTN_COLUMN",
+ icon: ,
+ content: "显示列定制",
+ onClick: () => {
+ employeeTableStore.setColSetVisible(true);
+ employeeTableStore.tableColSet(true);
+ }
+ }
+ ];
return (
{name}{dept}}
icon={} buttons={showOperateBtn ? btns : []}
- iconBgcolor="#F14A2D" showDropIcon={false}
+ iconBgcolor="#F14A2D" showDropIcon={true} dropMenuDatas={dropMenuDatas}
>
@@ -128,6 +161,12 @@ class Index extends Component {
/>
+
);
}
diff --git a/pc4mobx/hrmSalary/stores/payrollFiles.js b/pc4mobx/hrmSalary/stores/payrollFiles.js
index 4fc882cb..d3e7094e 100644
--- a/pc4mobx/hrmSalary/stores/payrollFiles.js
+++ b/pc4mobx/hrmSalary/stores/payrollFiles.js
@@ -1,12 +1,15 @@
import { action, observable } from "mobx";
import { WeaTableNew } from "comsMobx";
import * as API from "../apis/payrollFiles";
+import { statisticsEmployeeDetailList } from "../apis/statistics";
const { TableStore } = WeaTableNew;
export class PayrollFilesStore {
@observable tableStore = new TableStore();
- @action("列表查询")
+ @observable employeeTableStore = new TableStore();
+
+ @action("薪资档案-列表查询")
queryList = (payload = {}, searchItemsValue = {}, url = "") => {
return new Promise((resolve, reject) => {
const { departmentIds, positionIds, subcompanyIds, ...extra } = searchItemsValue;
@@ -28,4 +31,21 @@ export class PayrollFilesStore {
});
});
};
+
+ @action("薪酬统计列表员工详情-列表查询")
+ statisticsEmployeeDetailList = (payload) => {
+ return new Promise((resolve, reject) => {
+ statisticsEmployeeDetailList(payload).then(res => {
+ const { data, status } = res;
+ if (status) {
+ const { dataKey } = data;
+ const { datas } = dataKey;
+ this.employeeTableStore.getDatas(datas); // table 请求数据
+ }
+ resolve(res);
+ }).catch(() => {
+ reject();
+ });
+ });
+ };
}
From 0e9efa66ab4a2d677f6df4d358dbd9abdc0c92a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Fri, 26 May 2023 16:05:28 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E5=88=86=E6=9E=90-=E5=91=98=E5=B7=A5=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/pages/employeeView/index.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/employeeView/index.js b/pc4mobx/hrmSalary/pages/employeeView/index.js
index 412da738..f56c3854 100644
--- a/pc4mobx/hrmSalary/pages/employeeView/index.js
+++ b/pc4mobx/hrmSalary/pages/employeeView/index.js
@@ -57,7 +57,7 @@ class Index extends Component {
columns: _.map(columns, (it, idx) => ({
...it,
width: (it.dataIndex === "taxAgent" || it.dataIndex === "salarySob") ? 176 : it.oldWidth,
- fixed: (idx === 1 || idx === 0) ? "left" : "",
+ fixed: (idx === 1 || idx === 0 || idx === 2) ? "left" : "",
ellipsis: true
})), dataSource, countResult,
showSum: true, pageInfo
@@ -113,7 +113,7 @@ class Index extends Component {
columns: _.map(columns, (it, idx) => ({
...it,
width: (it.dataIndex === "taxAgent" || it.dataIndex === "salarySob") ? 176 : it.oldWidth,
- fixed: (idx === 1 || idx === 0) ? "left" : "",
+ fixed: (idx === 1 || idx === 0 || idx === 2) ? "left" : "",
ellipsis: true
})), dataSource, countResult,
showSum: true, pageInfo