diff --git a/pc4mobx/hrmSalary/apis/calculate.js b/pc4mobx/hrmSalary/apis/calculate.js index f2bd582a..85805d5c 100644 --- a/pc4mobx/hrmSalary/apis/calculate.js +++ b/pc4mobx/hrmSalary/apis/calculate.js @@ -228,6 +228,10 @@ export const getColumnDesc = (params) => { export const updateLockStatus = (params) => { return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/updateLockStatus", params); }; +// 更新薪资核算结果的锁定状态 +export const updateLockEmpStatus = (params) => { + return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/lockEmp", params); +}; // 导入薪资核算添加表头字段缓存 export const cacheImportField = (params) => { return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/cacheImportField", params); diff --git a/pc4mobx/hrmSalary/components/mobileTemplate/index.js b/pc4mobx/hrmSalary/components/mobileTemplate/index.js index 18de0574..ca9c8b63 100644 --- a/pc4mobx/hrmSalary/components/mobileTemplate/index.js +++ b/pc4mobx/hrmSalary/components/mobileTemplate/index.js @@ -14,7 +14,7 @@ const getLabel = WeaLocaleProvider.getLabel; class Index extends Component { render() { const { theme, background, tip, tipPosi, itemTypeList, title } = this.props; - const { onlyOneGrup, showData } = dealTemplate(itemTypeList, "mobile"); + const { onlyOneGrup, showData } = dealTemplate(_.filter(itemTypeList, o => !!o), "mobile"); return ( {/*
{title || getLabel(111, "薪酬预览")}
*/} diff --git a/pc4mobx/hrmSalary/components/pcTemplate/content.js b/pc4mobx/hrmSalary/components/pcTemplate/content.js index 310999d6..6bc3c60e 100644 --- a/pc4mobx/hrmSalary/components/pcTemplate/content.js +++ b/pc4mobx/hrmSalary/components/pcTemplate/content.js @@ -7,7 +7,7 @@ const getLabel = WeaLocaleProvider.getLabel; class Content extends Component { render() { const { theme, background, tip, tipPosi, itemTypeList, sendTime = new Date() } = this.props; - const { onlyOneGrup, showData } = dealTemplate(itemTypeList, "pc"); + const { onlyOneGrup, showData } = dealTemplate(_.filter(itemTypeList, o => !!o), "pc"); return (
diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js index 84882ff0..66538450 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js @@ -105,7 +105,7 @@ class SalaryDetails extends Component { return; } WeaLoadingGlobal.start(); - const promise = API.exportSalaryList({ ...payload, ids: selectedRowKeys }); + const promise = API.exportSalaryList({ ...payload, ids: key === "SELECTED" ? selectedRowKeys : [] }); }; getColumns = () => { const { attendanceStore: { tableStore } } = this.props; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js index e5614f87..d3097ad5 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js @@ -8,7 +8,7 @@ import React, { Component } from "react"; import { WeaLocaleProvider, WeaTools } from "ecCom"; import { message, Modal, Spin } from "antd"; import { inject, observer } from "mobx-react"; -import { acctResultList, updateLockStatus } from "../../../../../apis/calculate"; +import { acctResultList, updateLockEmpStatus, updateLockStatus } from "../../../../../apis/calculate"; import ProgressModal from "../../../../../components/progressModal"; import BatchUpdateSalaryItemValDialog from "./batchUpdateSalaryItemValDialog"; import EditSalaryCalcSlide from "./editSalaryCalcSlide"; @@ -57,12 +57,15 @@ class EditCalcTable extends Component { this.props.onShowFormulaTd(dataIndex); break; case "LOCKING": - const { salaryItemId, lockType: lockStatus } = params; - if (lockStatus === "BATCHUPDATE") { + const { salaryItemId, lockType } = params; + if (lockType === "BATCHUPDATE") { this.batchUpdateSalaryItemVal(params); return; } - this.updateLockStatus({ lockStatus, salaryItemId }); + this.updateLockStatus({ lockStatus: lockType, salaryItemId }); + break; + case "LOCKEMP": + this.updateEmpLockStatus({ ...params }); break; case "EDIT": const { id: salaryCalcId } = params; @@ -131,6 +134,52 @@ class EditCalcTable extends Component { } }); }; + updateEmpLockStatus = (payload) => { + const { lockStatus } = payload; + Modal.confirm({ + title: getLabel(131329, "信息确认"), + content:
+
+ {lockStatus === "LOCK" ? getLabel(111, "确定要锁定该人员核算数据吗?") : getLabel(111, "确定要解锁该人员核算数据吗?")} +
+
+ {lockStatus === "LOCK" ? getLabel(111, "确定后,核算数据锁定,项目公式失效;点击核算将跳过该人员已核算的项目!") : + getLabel(111, "确定后,则项目公式生效,页面仍显示手动修改的项目值;点击核算将按公式重新核算,不再显示解锁标识!")} +
+
, + onOk: () => { + this.setState({ + progressVisible: true + }, () => { + this.timerLock = setInterval(() => { + if (this.state.progress !== 100) { + this.setState({ + progress: this.state.progress + 1 + }); + } else { + clearInterval(this.timerLock); + this.setState({ + progressVisible: false, + progress: 0 + }); + } + }, 500); + }); + const { routeParams: { salaryAcctRecordId } } = this.props; + updateLockEmpStatus({ ...payload, salaryAcctRecordId }).then(({ status, errormsg }) => { + if (status) { + clearInterval(this.timerLock); + this.setState({ + progressVisible: false, + progress: 0 + }, () => this.queryCalcResultList()); + } else { + message.error(errormsg); + } + }); + } + }); + }; batchUpdateSalaryItemVal = (payload) => { Modal.confirm({ title: getLabel(131329, "信息确认"), @@ -180,7 +229,8 @@ class EditCalcTable extends Component { "共": getLabel(18609, "共"), "条": getLabel(18256, "条"), "总计": getLabel(523, "总计"), "批量解锁": getLabel(111, "批量解锁"), "批量锁定": getLabel(111, "批量锁定"), "批量更新": getLabel(111, "批量更新"), - "查看拓扑图": getLabel(111, "查看拓扑图") + "查看拓扑图": getLabel(111, "查看拓扑图"), "锁定": getLabel(111, "锁定"), + "解锁": getLabel(111, "解锁") }; this.setState({ originPayloadData: { ...payload, i18n } }); const childFrameObj = document.getElementById("atdTable"); diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js index 4e2735aa..634d36fe 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js @@ -40,7 +40,8 @@ class AttendanceDataViewSlide extends Component { const { columns, list: dataSource, pageNum: current, pageSize, total } = data.pageInfo; this.setState({ pageInfo: { ...pageInfo, current, pageSize, total }, dataSource, - columns: _.map(columns, o => ({ ...o, width: 150, fixed: o.dataIndex === "username" ? "left" : null })) + // o.dataIndex === "username" ? "left" : + columns: _.map(columns, o => ({ ...o, width: 150, fixed: null })) }); } }).catch(() => this.setState({ loading: { ...loading, query: false } })); diff --git a/pc4mobx/hrmSalary/style/index.less b/pc4mobx/hrmSalary/style/index.less index 0d181610..4ce6ef7a 100644 --- a/pc4mobx/hrmSalary/style/index.less +++ b/pc4mobx/hrmSalary/style/index.less @@ -71,3 +71,15 @@ } } } + +//公式编辑框样式 +.excel-codeBox { + .cm-variable { + } + + .cm-string-2 { + color: inherit !important; + } + +} +