diff --git a/pc4mobx/hrmSalary/apis/calculate.js b/pc4mobx/hrmSalary/apis/calculate.js index 688c5bb6..429fde4e 100644 --- a/pc4mobx/hrmSalary/apis/calculate.js +++ b/pc4mobx/hrmSalary/apis/calculate.js @@ -1,6 +1,8 @@ import { WeaTools } from "ecCom"; import { postFetch } from "../util/request"; +import * as AZ from "./custom-apis/azInterface"; +export { AZ }; // 薪资记录--薪资核算列表 export const getSalaryAcctList = params => { return postFetch("/api/bs/hrmsalary/salaryacct/list", params); @@ -219,7 +221,7 @@ export const exportComparisonResult = (salaryAcctRecordId) => { // 核算进度条 export const getCalculateProgress = (id = "", paymentOrganization = "") => { - const extra= paymentOrganization ? `_${paymentOrganization}` : paymentOrganization + const extra = paymentOrganization ? `_${paymentOrganization}` : paymentOrganization; return WeaTools.callApi(`/api/bs/hrmsalary/progress/getRate?cacheKey=ACCT_PROGRESS_${id}${extra}`, "get", {}); }; diff --git a/pc4mobx/hrmSalary/apis/custom-apis/azInterface.js b/pc4mobx/hrmSalary/apis/custom-apis/azInterface.js index 5d97fcd5..553a23d1 100644 --- a/pc4mobx/hrmSalary/apis/custom-apis/azInterface.js +++ b/pc4mobx/hrmSalary/apis/custom-apis/azInterface.js @@ -8,3 +8,19 @@ export const getAZAdjustList = params => { export const exportAzAdjustList = params => { return postExportFetch("/api/bs/hrmsalary/salaryArchive/exportAzAdjustList", params); }; +// 艾志-提交 +export const azSubmit = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/azSubmit", params); +}; +// 艾志-退回 +export const azReturn = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/azReturn", params); +}; +// 艾志-审核 +export const azApprove = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/azApprove", params); +}; +// 艾志-弃审 +export const azReApprove = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/azReApprove", params); +}; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/baseInfo.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/baseInfo.js index 2380cfae..1e6eaac0 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/baseInfo.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/baseInfo.js @@ -46,7 +46,8 @@ class EditSalaryBaseInfo extends Component { default: break; } - return this.props.onChange(_.map(this.props.baseInfo, it => { if (fieldCode === it.fieldCode) { return { ...it, fieldValue: value, fieldValueObj: { id: value, name: valueSpan } }; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js index e1f8d361..a7cbc57a 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js @@ -6,6 +6,7 @@ */ import React, { Component } from "react"; import { WeaLocaleProvider, WeaTools } from "ecCom"; +import { toJS } from "mobx"; import { message, Modal, Spin } from "antd"; import { inject, observer } from "mobx-react"; import { @@ -30,7 +31,7 @@ class EditCalcTable extends Component { this.state = { loading: false, pageInfo: { current: 1, pageSize: 10, total: 0 }, selectedRowKeys: [], progressVisible: false, progress: 0, - salaryCalcSlide: { visible: false, id: "" }, originPayloadData: {}, + salaryCalcSlide: { visible: false, id: "", viewAttr: 2 }, originPayloadData: {}, batchUpdateDialog: { visible: false, salaryAcctRecordId: "", idList: [], salaryItemId: "", conditions: [], pattern: 0, dataType: "" @@ -73,9 +74,9 @@ class EditCalcTable extends Component { this.updateEmpLockStatus({ ...params }); break; case "EDIT": - const { id: salaryCalcId } = params; + const { id: salaryCalcId, showSee } = params; this.setState({ - salaryCalcSlide: { visible: true, id: salaryCalcId } + salaryCalcSlide: { visible: true, id: salaryCalcId, viewAttr: showSee ? 1 : 2 } }); break; case "DIAGRAM": @@ -248,8 +249,9 @@ class EditCalcTable extends Component { const { pageInfo } = this.state; const { calculateStore: { ECSearchForm, otherConditions }, routeParams: { salaryAcctRecordId }, - taxAgentStore: { showOperateBtn }, calcDetail = false + taxAgentStore: { showOperateBtn, PageAndOptAuth }, calcDetail = false } = this.props; + const { confirmAuth, submitAuth } = toJS(PageAndOptAuth); const { subcompanyIds, departmentIds, positionIds, statuses, ...extra } = ECSearchForm.getFormParams(); const payload = { salaryAcctRecordId, ...pageInfo, ...extra, otherConditions, @@ -269,7 +271,8 @@ class EditCalcTable extends Component { const sumRowlistUrl = this.props.showTotalCell ? "/api/bs/hrmsalary/salaryacct/acctresult/sum" : ""; this.postMessageToChild({ dataSource, pageInfo, selectedRowKeys, showTotalCell: this.props.showTotalCell, sumRowlistUrl, payload, - calcDetail: (calcDetail || !showOperateBtn), showSee: !showOperateBtn, + calcDetail: (calcDetail || !showOperateBtn) && !confirmAuth && !submitAuth, + showSee: (calcDetail || !showOperateBtn), columns: _.every(traverse(columns, (calcDetail || !showOperateBtn)), (it, idx) => !it.fixed) ? _.map(traverse(columns, (calcDetail || !showOperateBtn)), (it, idx) => ({ ...it, fixed: idx < 2 ? "left" : false diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js index 235bac13..fb81d7e7 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js @@ -43,14 +43,17 @@ class EditSalaryCalcSlide extends Component { }); }; renderTitle = () => { - const { loading } = this.state; + const { loading } = this.state, { viewAttr } = this.props; return
-
{getLabel(543559, "编辑薪资")}
+
{viewAttr === 2 ? getLabel(543559, "编辑薪资") : getLabel(111, "查看薪资")}
- + { + viewAttr === 2 && + + }
; }; @@ -88,7 +91,7 @@ class EditSalaryCalcSlide extends Component { save = () => { const { id: salaryAcctEmpId } = this.props; const { issuedAndReissueItems, itemsByGroup, baseInfo } = this.state; - if (_.every(baseInfo, it => !it.canEdit || (it.canEdit && !it.fieldValue))) { + if (!_.every(baseInfo, (item) => (!item.canEdit || !!item.fieldValue))) { Modal.warning({ title: getLabel(131329, "信息确认"), content: getLabel(518702, "必要信息不完整,红色*为必填项!") @@ -148,12 +151,14 @@ class EditSalaryCalcSlide extends Component { /> { selectedKey === "0" && _.map(itemsByGroup, item => { - return ; + return ; }) } { selectedKey === "1" && diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js index 61084c48..15e584e0 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js @@ -8,6 +8,7 @@ import React, { Component } from "react"; import { WeaLocaleProvider, WeaReqTop } from "ecCom"; import { Button, Dropdown, Menu, message, Modal } from "antd"; import { inject, observer } from "mobx-react"; +import { toJS } from "mobx"; import Layout from "./layout"; import * as API from "../../../apis/calculate"; import AdvanceInputBtn from "./components/advanceInputBtn"; @@ -27,9 +28,10 @@ class Index extends Component { constructor(props) { super(props); this.state = { - selectedKey: "person", progressVisible: false, progress: 0, loading: { calcTax: false, feedback: false }, + selectedKey: "person", progressVisible: false, progress: 0, customExpDialog: { visible: false, salaryAcctRecordId: "", checkItems: [], itemsByGroup: [] }, salaryImpDialog: { visible: false, title: "", salaryAcctRecordId: "" }, + loading: { calcTax: false, feedback: false, az: false }, approvalInfo: {},//审批信息, accountExceptInfo: "" //核算报错信息, @@ -208,13 +210,35 @@ class Index extends Component { }, 1000); }); }; + handleAZCalcOperate = (type) => { + const { selectedRowKeys } = this.calc.calcTableRef.wrappedInstance.state; + if (_.isEmpty(selectedRowKeys)) { + message.warning(getLabel(543303, "请选择表格数据!")); + return; + } + const { routeParams: { salaryAcctRecordId } } = this.props; + const payload = { salaryAcctRecordId, acctEmpIds: selectedRowKeys }; + this.setState({ loading: { ...this.state.loading, az: true } }); + API.AZ[type](payload).then(({ status, errormsg }) => { + this.setState({ loading: { ...this.state.loading, az: false } }); + if (status) { + message.success(getLabel(111, "操作成功!")); + this.calc.onAdSearch(false); + } else { + message.error(errormsg); + } + }); + }; renderReqBtns = () => { - const { routeParams: { salaryAcctRecordId }, taxAgentStore: { showOperateBtn } } = this.props; + const { routeParams: { salaryAcctRecordId }, taxAgentStore: { showOperateBtn, PageAndOptAuth } } = this.props; const { selectedKey, accountExceptInfo, approvalInfo, loading } = this.state; const { isOpenApproval, approvalWorkflowUrl, canEdit } = approvalInfo; + const { confirmAuth, submitAuth } = toJS(PageAndOptAuth); let reqBtns = []; switch (selectedKey) { case "calc": + const selectedRowKeys = []; + // const { selectedRowKeys } = this.calc.calcTableRef.wrappedInstance.state; const menu = ( {getLabel(543546, "核算所选人员")} @@ -247,6 +271,14 @@ class Index extends Component { window.open(`${approvalWorkflowUrl}&salaryAcctRecordId=${salaryAcctRecordId}`, "_blank"); }}>{getLabel(111, "发起审批")}); !showOperateBtn && (reqBtns = reqBtns.slice(-1)); + confirmAuth && reqBtns.unshift(); + confirmAuth && reqBtns.unshift(); + confirmAuth && reqBtns.unshift(); + submitAuth && reqBtns.unshift(); accountExceptInfo && reqBtns.unshift( this.downloadTxtfile(accountExceptInfo)}/>); diff --git a/pc4mobx/hrmSalary/pages/calculateDetail/issuedAndReissueTable.js b/pc4mobx/hrmSalary/pages/calculateDetail/issuedAndReissueTable.js index bf1c1286..65189b7e 100644 --- a/pc4mobx/hrmSalary/pages/calculateDetail/issuedAndReissueTable.js +++ b/pc4mobx/hrmSalary/pages/calculateDetail/issuedAndReissueTable.js @@ -29,10 +29,11 @@ class IssuedAndReissueTable extends Component { /> , render: (text, record) => { - const { canEdit, pattern } = record; + const { canEdit, pattern } = record, { viewAttr } = this.props; return onChangeIssueReissueValue(record.salaryItemName, value, "issuedAndReissueItems")} diff --git a/pc4mobx/hrmSalary/pages/calculateDetail/payrollItemsTable.js b/pc4mobx/hrmSalary/pages/calculateDetail/payrollItemsTable.js index 9d2ddfce..7d6263fb 100644 --- a/pc4mobx/hrmSalary/pages/calculateDetail/payrollItemsTable.js +++ b/pc4mobx/hrmSalary/pages/calculateDetail/payrollItemsTable.js @@ -37,8 +37,9 @@ class PayrollItemsTable extends Component { , width: "20%", render: (text, record) => { - const { canEdit, dataType, pattern } = record; + const { canEdit, dataType, pattern } = record, { viewAttr } = this.props; return dataType === "number" ? : onChangeIssueReissueValue(record.salaryItemId, value, "itemsByGroup", salarySobItemGroupId)} />; } diff --git a/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/config.js b/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/config.js index 66737736..9d95a327 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/config.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/config.js @@ -2,14 +2,34 @@ export const conditions = [ { items: [ { + browserConditionParam: { + completeParams: {}, + conditionDataParams: {}, + dataParams: {}, + destDataParams: {}, + hasAddBtn: false, + hasAdvanceSerach: false, + idSeparator: ",", + isAutoComplete: 1, + isDetail: 0, + isMultCheckbox: false, + isSingle: false, + icon: "icon-coms-hrm", + linkUrl: "", + pageSize: 10, + quickSearchName: "", + replaceDatas: [], + title: "", + type: "17", + viewAttr: 2 + }, colSpan: 2, - conditionType: "INPUT", - domkey: ["username"], + conditionType: "BROWSER", + domkey: ["employeeIds"], fieldcol: 12, label: "姓名", - lanId: 25034, + lanId: 111, labelcol: 6, - value: "", viewAttr: 2 }, { @@ -74,17 +94,6 @@ export const conditions = [ labelcol: 6, viewAttr: 2 }, - { - colSpan: 2, - conditionType: "INPUT", - domkey: ["adjustItem"], - fieldcol: 12, - label: "项目名称", - lanId: 111, - labelcol: 6, - value: "", - viewAttr: 2 - }, { colSpan: 2, conditionType: "RANGEPICKER", diff --git a/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/index.js b/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/index.js index 5e4f5b12..3a453a36 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/index.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/az/salaryFileReports/index.js @@ -40,9 +40,10 @@ class Index extends Component { } getAZAdjustList = () => { - const { departmentIds, positionIds, operatorIds, operateTime1, operateTime2 } = form.getFormParams(); + const { departmentIds, employeeIds, positionIds, operatorIds, operateTime1, operateTime2 } = form.getFormParams(); const payload = { ...form.getFormParams(), ...this.state.pageInfo, effectiveTime: this.state.effectiveTime, + employeeIds: employeeIds ? employeeIds.split(",") : [], departmentIds: departmentIds ? departmentIds.split(",") : [], positionIds: positionIds ? positionIds.split(",") : [], operatorIds: operatorIds ? operatorIds.split(",") : [],