diff --git a/pc4mobx/hrmSalary/pages/calculateDetail/index.js b/pc4mobx/hrmSalary/pages/calculateDetail/index.js index d59b9429..53550cee 100644 --- a/pc4mobx/hrmSalary/pages/calculateDetail/index.js +++ b/pc4mobx/hrmSalary/pages/calculateDetail/index.js @@ -3,11 +3,13 @@ import UserSure from "./userSure"; import { inject, observer } from "mobx-react"; import SalaryDetail from "./salaryDetail"; import { Button, Dropdown, Menu, message, Modal } from "antd"; -import { WeaBrowser, WeaCheckbox, WeaFormItem, WeaInput, WeaSearchGroup, WeaSelect, WeaTab } from "ecCom"; +import { WeaBrowser, WeaCheckbox, WeaDropdown, WeaFormItem, WeaInput, WeaSearchGroup, WeaSelect, WeaTab } from "ecCom"; import { getQueryString } from "../../util/url"; import AcctResultImportModal from "./acctResult/importModal/acctResultImportModal"; import ProgressModal from "../../components/progressModal"; +const { ButtonSelect } = WeaDropdown; + @inject("calculateStore", "salaryFileStore") @observer export default class CalculateDetail extends React.Component { @@ -27,7 +29,8 @@ export default class CalculateDetail extends React.Component { fieldData: {}, acctResultImportVisiable: false, progressVisible: false, - progress: 0 + progress: 0, + accountIds: [] }; this.id = ""; this.timer; @@ -100,8 +103,8 @@ export default class CalculateDetail extends React.Component { this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/> @@ -126,19 +129,23 @@ export default class CalculateDetail extends React.Component { }; // 核算点击事件 - handleAccount() { + handleAccount = (key) => { const { calculateStore } = this.props; - const { - acctresultAccounting, - acctResultList, - getCalculateProgress - } = calculateStore; + const { acctresultAccounting, getCalculateProgress } = calculateStore; + if (key === "SELECT" && _.isEmpty(this.state.accountIds)) { + message.warning("请先选择表格数据"); + return; + } Modal.confirm({ title: "信息确认", content: "点击核算,公式项将按照公式逻辑核算,核算结果将覆盖原数据", onOk: () => { this.setState({ progress: 0 }); - acctresultAccounting(this.id).then(() => { + let payload = { salaryAcctRecordId: this.id }; + if (key === "SELECT") { + payload = _.assign(payload, { employeeIds: this.state.accountIds }); + } + acctresultAccounting(payload).then(() => { this.setState({ progressVisible: true }); @@ -152,7 +159,8 @@ export default class CalculateDetail extends React.Component { clearInterval(this.timer); this.timer = null; this.setState({ - progressVisible: false + progressVisible: false, + accountIds: [] }); message.success("核算完成"); // acctResultList({ salaryAcctRecordId: this.id }); @@ -163,7 +171,7 @@ export default class CalculateDetail extends React.Component { listType: "", url: "/api/bs/hrmsalary/salaryacct/acctresult/list", queryParams: { - salaryAcctRecordId, + salaryAcctRecordId } }; childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*"); @@ -171,7 +179,8 @@ export default class CalculateDetail extends React.Component { clearInterval(this.timer); this.timer = null; this.setState({ - progressVisible: false + progressVisible: false, + accountIds: [] }); message.error(data.message); } @@ -183,7 +192,7 @@ export default class CalculateDetail extends React.Component { onCancel() { } }); - } + }; // 更多选项点击 handleMenuClick = e => { @@ -199,7 +208,7 @@ export default class CalculateDetail extends React.Component { ); } else if (e.key == "3") { window.open( - '/api/bs/hrmsalary/salaryacct/acctresult/export?salaryAcctRecordId=' + this.id +"&ids=" + "/api/bs/hrmsalary/salaryacct/acctresult/export?salaryAcctRecordId=" + this.id + "&ids=" ); } }; @@ -223,7 +232,7 @@ export default class CalculateDetail extends React.Component { url: "/api/bs/hrmsalary/salaryacct/acctresult/list", queryParams: { salaryAcctRecordId, - ...params, + ...params } }; childFrameObj.contentWindow.postMessage(JSON.stringify(payload), "*"); @@ -248,11 +257,19 @@ export default class CalculateDetail extends React.Component { const renderRightOperation = () => { return [ - , + this.handleAccount(key)} + />, + // , 更多 @@ -333,7 +350,8 @@ export default class CalculateDetail extends React.Component { searchsBaseValue={this.state.searchItemsValue.employeeName} // 外部input搜索值受控: 这里和高级搜索的requestname同步form.getFormParams().username /> {selectedKey == 0 && } - {selectedKey == 1 && } + {selectedKey == 1 && this.setState({ accountIds: ids })} + employeeName={this.state.searchValue}/>} {acctResultImportVisiable &&