diff --git a/pc4mobx/hrmSalary/apis/externalPersonManage.js b/pc4mobx/hrmSalary/apis/externalPersonManage.js
index 91854ebb..0d8bcf67 100644
--- a/pc4mobx/hrmSalary/apis/externalPersonManage.js
+++ b/pc4mobx/hrmSalary/apis/externalPersonManage.js
@@ -21,6 +21,16 @@ export const deleteExtEmp = (params) => {
return postFetch("/api/bs/hrmsalary/extEmp/delete", params);
};
+//非系统人员-导入预览
+export const extEmpPreview = (params) => {
+ return postFetch("/api/bs/hrmsalary/extEmp/preview", params);
+};
+
+//非系统人员-导入
+export const importExtEmp = (params) => {
+ return postFetch("/api/bs/hrmsalary/extEmp/importExtEmp", params);
+};
+
//非系统人员-详情
export const detail = params => {
return WeaTools.callApi("/api/bs/hrmsalary/extEmp/detail", "get", params);
diff --git a/pc4mobx/hrmSalary/pages/externalPersonManage/components/externalPersonImport.js b/pc4mobx/hrmSalary/pages/externalPersonManage/components/externalPersonImport.js
new file mode 100644
index 00000000..63b630c4
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/externalPersonManage/components/externalPersonImport.js
@@ -0,0 +1,60 @@
+/*
+ * Author: 黎永顺
+ * name: 非系统人员导入
+ * Description:
+ * Date: 2023/8/1
+ */
+import React, { Component } from "react";
+import ImportModal from "../../../components/importModal";
+import { extEmpPreview, importExtEmp } from "../../../apis/externalPersonManage";
+
+class ExternalPersonImport extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ previewDataSource: [],
+ previewColumns: [],
+ importResult: {}
+ };
+ }
+
+ extEmpPreview = (params) => {
+ extEmpPreview(params).then(({ status, data }) => {
+ if (status) {
+ const { headers, list } = data;
+ this.setState({
+ previewColumns: _.map(headers, (it, dataIndex) => ({ title: it, dataIndex })),
+ previewDataSource: _.map(list, item => {
+ return _.reduce(item, (pre, cur, key) => (_.assign(pre, { [key]: cur })), {});
+ })
+ });
+ }
+ });
+ };
+ handleImportFile = (params) => {
+ importExtEmp(params).then(({ status, data }) => {
+ if (status) {
+ this.setState({
+ importResult: data
+ });
+ }
+ });
+ };
+
+ render() {
+ const { previewDataSource, previewColumns, importResult } = this.state;
+ return (
+
+ );
+ }
+}
+
+export default ExternalPersonImport;
diff --git a/pc4mobx/hrmSalary/pages/externalPersonManage/index.js b/pc4mobx/hrmSalary/pages/externalPersonManage/index.js
index cecd0b15..4ba1ed22 100644
--- a/pc4mobx/hrmSalary/pages/externalPersonManage/index.js
+++ b/pc4mobx/hrmSalary/pages/externalPersonManage/index.js
@@ -8,6 +8,7 @@ import React, { Component } from "react";
import { inject, observer } from "mobx-react";
import { WeaHelpfulTip, WeaLocaleProvider, WeaTab, WeaTable, WeaTop } from "ecCom";
import ExternalPersonManageEditSlide from "./components/externalPersonManageEditSlide";
+import ExternalPersonImport from "./components/externalPersonImport";
import { Button, message, Modal } from "antd";
import { getSearchs } from "../../util";
import { condition, searchCondition } from "./conditions";
@@ -28,6 +29,9 @@ class Index extends Component {
showSearchAd: false,
externalPersonManagePayload: {
visible: false, title: "新建", id: ""
+ },
+ externalPersonImportPayload: {
+ visiable: false, step: 0
}
};
}
@@ -101,7 +105,10 @@ class Index extends Component {
};
render() {
- const { showSearchAd, externalPersonManagePayload, loading, pageInfo, selectedRowKeys, dataSource } = this.state;
+ const {
+ showSearchAd, externalPersonManagePayload, loading,
+ pageInfo, selectedRowKeys, dataSource, externalPersonImportPayload
+ } = this.state;
const {
externalPersonManageStore: { form, addForm },
taxAgentStore: { showOperateBtn, showSalaryItemBtn }
@@ -138,7 +145,13 @@ class Index extends Component {
title={getLabel(111, "非系统人员,且需要缴纳社保福利以及代发工资的人员,需在本表维护人员信息")}
placement="topRight"
/>,
- ,
+ ,
] : [
+ {
+ externalPersonImportPayload.visiable &&
+ {
+ this.setState({ externalPersonImportPayload: { ...externalPersonImportPayload, step } });
+ }}
+ onCancel={() => {
+ this.setState({
+ externalPersonImportPayload: {
+ ...externalPersonImportPayload,
+ visiable: false,
+ step: 0
+ }
+ });
+ }}
+ onFinish={() => {
+ this.setState({
+ externalPersonImportPayload: {
+ ...externalPersonImportPayload,
+ visiable: false, step: 0
+ }
+ }, () => this.listPage());
+ }}
+ />
+ }