diff --git a/pc4mobx/hrmSalary/apis/benefitsProgramme.js b/pc4mobx/hrmSalary/apis/benefitsProgramme.js deleted file mode 100644 index e69de29b..00000000 diff --git a/pc4mobx/hrmSalary/apis/standingBook.js b/pc4mobx/hrmSalary/apis/standingBook.js index 28235f77..cef1aa55 100644 --- a/pc4mobx/hrmSalary/apis/standingBook.js +++ b/pc4mobx/hrmSalary/apis/standingBook.js @@ -1,5 +1,5 @@ import { WeaTools } from "ecCom"; -import { postFetch } from "../util/request"; +import { postExportFetch, postFetch } from "../util/request"; //社会福利台账-获取正常缴纳列表 export const getCommonList = (params) => { @@ -339,3 +339,15 @@ export const compensationConfigSave = (params) => { export const compensationBack = (params) => { return postFetch("/api/bs/hrmsalary/siaccount/compensationBack", params); }; + +export const exportSiaccountWelfareImporttemplate = params => { + return postExportFetch("/api/bs/hrmsalary/siaccount/welfare/importtemplate/export", params); +}; + +export const exportSiaccountWelfaresupplyimporttemplatetemplate = params => { + return postExportFetch("/api/bs/hrmsalary/siaccount/welfare/supplyimporttemplate/export", params); +}; + +export const exportSiaccountWelfarebalanceimporttemplatetetemplate = params => { + return postExportFetch("/api/bs/hrmsalary/siaccount/welfare/balanceimporttemplate/export", params); +}; diff --git a/pc4mobx/hrmSalary/pages/calculateDetail/acctResult/importModal/acctResultImportModal.js b/pc4mobx/hrmSalary/pages/calculateDetail/acctResult/importModal/acctResultImportModal.js index b7bc7c27..23d5a034 100644 --- a/pc4mobx/hrmSalary/pages/calculateDetail/acctResult/importModal/acctResultImportModal.js +++ b/pc4mobx/hrmSalary/pages/calculateDetail/acctResult/importModal/acctResultImportModal.js @@ -6,6 +6,11 @@ import SelectFieldModal from "./selectFieldModal"; import { getQueryString } from "../../../../util/url"; import AddHeaderFieldsModal from "./addHeaderFieldsModal"; import { cacheImportField } from "../../../../apis/calculate"; +import { + exportSiaccountWelfarebalanceimporttemplatetetemplate, + exportSiaccountWelfareImporttemplate, + exportSiaccountWelfaresupplyimporttemplatetemplate +} from "../../../../apis/standingBook"; @inject("calculateStore", "standingBookStore") @observer @@ -76,11 +81,23 @@ export default class AcctResultImportModal extends React.Component { const billMonth = getQueryString("billMonth"); const paymentOrganization = getQueryString("paymentOrganization"); if (standingBookTabKey === "1") { - url = `${window.location.origin}/api/bs/hrmsalary/siaccount/welfare/importtemplate/export?welfareNames=${this.state.modalParam.salaryItemIds}&billMonth=${billMonth}&paymentOrganization=${paymentOrganization}`; + const promise = exportSiaccountWelfareImporttemplate({ + billMonth, + welfareNames: this.state.modalParam.salaryItemIds.split(","), + paymentOrganization: Number(paymentOrganization) + }); } else if (standingBookTabKey === "3") { - url = `${window.location.origin}/api/bs/hrmsalary/siaccount/welfare/supplyimporttemplate/export?welfareNames=${this.state.modalParam.salaryItemIds}&billMonth=${billMonth}&paymentOrganization=${paymentOrganization}`; + const promise = exportSiaccountWelfaresupplyimporttemplatetemplate({ + billMonth, + welfareNames: this.state.modalParam.salaryItemIds.split(","), + paymentOrganization: Number(paymentOrganization) + }); } else if (standingBookType === "difference") { - url = `${window.location.origin}/api/bs/hrmsalary/siaccount/welfare/balanceimporttemplate/export?welfareNames=${this.state.modalParam.salaryItemIds}&billMonth=${billMonth}&paymentOrganization=${paymentOrganization}`; + const promise = exportSiaccountWelfarebalanceimporttemplatetetemplate({ + billMonth, + welfareNames: this.state.modalParam.salaryItemIds.split(","), + paymentOrganization: Number(paymentOrganization) + }); } } window.open(url, "_self"); diff --git a/pc4mobx/hrmSalary/util/request.js b/pc4mobx/hrmSalary/util/request.js index 3c7ecf02..a7a1c7f2 100644 --- a/pc4mobx/hrmSalary/util/request.js +++ b/pc4mobx/hrmSalary/util/request.js @@ -30,3 +30,25 @@ export const headerRequestFetch = (url, method, params, header) => { body: JSON.stringify(params) }).then(res => res.json()); }; +export const postExportFetch = (url, params) => { + url = url + "?__random__=" + (new Date()).valueOf(); + return fetch(url, { + method: "POST", + mode: "cors", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(params) + }).then(res => { + const filename = res.headers.get("Content-Disposition").split("filename=")[1]; + res.blob().then(blob => { + const url = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = decodeURI(filename); + a.click(); + window.URL.revokeObjectURL(url); + }); + }); +}; +