社保福利台账线下对比功能完善

This commit is contained in:
18652063575 2022-09-29 16:35:41 +08:00
parent f6d9328344
commit 8da3d30a69
5 changed files with 60 additions and 27 deletions

View File

@ -225,3 +225,15 @@ export const importInsuranceAcctDetail = (params) => {
body: JSON.stringify(params),
}).then((res) => res.json());
}
// 社保福利台账-线下对比数据导入
export const importExcelInsuranceDetail = (params) => {
return fetch("/api/bs/hrmsalary/siaccount/comparisonwelfare/importExcelInsuranceDetail", {
method: "post",
mode: "cors",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(params),
}).then((res) => res.json());
}

View File

@ -1,8 +1,9 @@
import React from "react";
import ImportModal from "../../components/importModal";
import { inject, observer } from "mobx-react";
import { getQueryString } from "../../util/url";
@inject("calculateStore")
@inject("calculateStore", "StandingBookStore")
@observer
export default class CompareDetailImportModal extends React.Component {
constructor(props) {
@ -30,11 +31,11 @@ export default class CompareDetailImportModal extends React.Component {
}
handleTemplateLink() {
let url="";
if(this.props.id){
url= "/api/bs/hrmsalary/salaryacct/comparisonresult/importtemplate/export?salaryAcctRecordId=" + this.props.id
}else{
url=`/api/bs/hrmsalary/siaccount/comparisonwelfare/importtemplate/export`
let url = "";
if (this.props.id) {
url = "/api/bs/hrmsalary/salaryacct/comparisonresult/importtemplate/export?salaryAcctRecordId=" + this.props.id;
} else {
url = `/api/bs/hrmsalary/siaccount/comparisonwelfare/importtemplate/export`;
}
window.open(url);
}
@ -54,9 +55,8 @@ export default class CompareDetailImportModal extends React.Component {
}
render() {
const { visiable } = this.props;
const { step, modalParam } = this.state;
const { calculateStore } = this.props;
const { visiable, id, calculateStore, standingBookStore } = this.props;
const {
previewComparisonResult,
comparisonPreviewColumns,
@ -64,6 +64,13 @@ export default class CompareDetailImportModal extends React.Component {
importComparisonExcelAcctResult,
comparisonImportAcctResult
} = calculateStore;
const {
welfarePreview,
previewStandingBookAcctResultColumns,
previewStandingBookAcctResultDataSource,
importComparisonExcelStandingBookResult,
importOCStandingBookAcctResult
} = standingBookStore;
return (
<div>
{
@ -72,20 +79,24 @@ export default class CompareDetailImportModal extends React.Component {
this.handleInitImportModal();
}}
params={modalParam}
columns={comparisonPreviewColumns}
columns={id ? comparisonPreviewColumns : previewStandingBookAcctResultColumns}
step={step}
setStep={this.setStep.bind(this)}
slideDataSource={comparisonPreviewDataSource}
importResult={comparisonImportAcctResult}
slideDataSource={id ? comparisonPreviewDataSource : previewStandingBookAcctResultDataSource}
importResult={id ? comparisonImportAcctResult : importOCStandingBookAcctResult}
onFinish={() => {
this.props.onCancel();
this.props.onFinish();
}}
previewImport={(params) => {
previewComparisonResult(params);
id ? previewComparisonResult(params) : welfarePreview(params);
}}
importFile={(params) => {
importComparisonExcelAcctResult(params);
//id: 有值代表薪资核算页面的线下对比页面, 无值代表社保福利台账页面的线下对比页面
id ? importComparisonExcelAcctResult(params) : importComparisonExcelStandingBookResult({
...params,
billMonth: getQueryString("billMonth")
});
}}
templateLink={() => {
this.handleTemplateLink();

View File

@ -489,14 +489,14 @@ export default class NormalIndex extends Component {
}}>核算</Button>
</React.Fragment>
}
{/*{*/}
{/* selectedKey === "1" &&*/}
{/* <React.Fragment>*/}
{/* <Button type="primary" onClick={() => {*/}
{/* window.open(`/spa/hrmSalary/static/index.html#/main/hrmSalary/socialSecurityBenefits/sbofflineComparison?billMonth=${billMonth}&paymentOrganization=${paymentOrganization}`)*/}
{/* }}>线下对比</Button>*/}
{/* </React.Fragment>*/}
{/*}*/}
{
selectedKey === "1" &&
<React.Fragment>
<Button type="primary" onClick={() => {
window.open(`/spa/hrmSalary/static/index.html#/main/hrmSalary/socialSecurityBenefits/sbofflineComparison?billMonth=${billMonth}&paymentOrganization=${paymentOrganization}`)
}}>线下对比</Button>
</React.Fragment>
}
{/*核算进度条*/}
<ProgressModal
visible={this.state.progressVisible}

View File

@ -20,7 +20,7 @@ class StandingBookOfflineComparison extends Component {
dataSource: [],
onlyDiffEmployee: "1",
showSearchAd: false,
loading: false,
loading: true,
importVisible: false,
pageInfo: {
current: 1,
@ -54,9 +54,10 @@ class StandingBookOfflineComparison extends Component {
if (status) {
const { columns, list: dataSource, total, pageNum: current, pageSize } = data;
this.setState({
columns: _.map(columns, it => ({
columns: _.map(columns, (it, idx) => ({
...it,
width: 150,
fixed: idx < 5 ? "left" : false,
render: (text, record) => {
if (Object.prototype.toString.call(text) === "[object Object]") {
return <React.Fragment>
@ -148,9 +149,7 @@ class StandingBookOfflineComparison extends Component {
importVisible &&
<CompareDetailImportModal
visiable={importVisible}
onFinish={() => {
// this.handleComparisonFinish();
}}
onFinish={() => this.comparisonwelfareList()}
onCancel={() => this.setState({ importVisible: false })}
/>
}

View File

@ -5,7 +5,7 @@ import { removePropertyCondition } from "../util/response";
import _ from "lodash";
import * as API from "../apis/standingBook";
import { importInsuranceAcctDetail } from "../apis/standingBook";
import { importExcelInsuranceDetail } from "../apis/standingBook";
const { TableStore } = WeaTableNew;
@ -24,6 +24,7 @@ export class StandingBookStore {
@observable previewStandingBookAcctResultColumns = []; // 预览列表
@observable previewStandingBookAcctResultDataSource = []; // 预览DataSource
@observable importStandingBookAcctResult = {}; // 导入结果
@observable importOCStandingBookAcctResult = {}; // 导入结果
// 初始化操作
@action
@ -461,4 +462,14 @@ export class StandingBookStore {
}
});
};
@action("社保福利台账-线下对比数据导入")
importComparisonExcelStandingBookResult = (params) => {
API.importExcelInsuranceDetail(params).then(res => {
if (res.status) {
this.importOCStandingBookAcctResult = res.data;
} else {
message.error(res.errormsg || "导入失败");
}
});
};
}