diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js index 68b7245f..5a3f9abc 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js @@ -242,13 +242,21 @@ class Index extends Component { this.setState({ selectedKey: v }, () => this.queryPCList())} + onChange={v => this.setState({ + selectedKey: v, + pageInfo: { ...pageInfo, current: 1 } + }, () => this.queryPCList())} + onSearch={v => this.setState({ + pageInfo: { ...pageInfo, current: 1 } + }, () => this.queryPCList())} + onAdSearch={v => this.setState({ + pageInfo: { ...pageInfo, current: 1 } + }, () => this.queryPCList())} buttons={this.renderTabBtns()} searchType={["base", "advanced"]} advanceHeight={220} showSearchAd={showSearchAd} setShowSearchAd={bool => this.setState({ showSearchAd: bool })} searchsAd={getSearchs(PCSearchForm, searchConditions, 2, false)} onSearchChange={(v) => PCSearchForm.updateFields({ employeeName: v })} searchsBaseValue={PCSearchForm.getFormParams().employeeName} - onSearch={this.queryPCList} onAdSearch={this.queryPCList} onAdReset={() => PCSearchForm.resetForm()} autoCalculateWidth /> this.setState({ loading: false })); }; + handleQuery = () => { + this.setState({ pageInfo: { ...this.state.pageInfo, current: 1 } }, () => this.queryCalcResultList()); + }; handleBatchEditing = () => { }; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.js index 633a5a92..0661da26 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.js @@ -30,7 +30,7 @@ class Index extends Component { openAdvanceSearch = () => this.setState({ showSearchAd: !this.state.showSearchAd }); onAdSearch = (bool = true) => { - this.calcTableRef.wrappedInstance.queryCalcResultList(); + this.calcTableRef.wrappedInstance.handleQuery(); bool && this.openAdvanceSearch(); }; init = async () => { diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js index b04bfec4..9dadbcfb 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js @@ -127,7 +127,8 @@ class LedgerSlide extends Component { return { ...item, items: _.map(item.items, it => { - // delete it.formulaContent; + delete it.originFormulaContent; + delete it.originSqlContent; // if (it.id && it.id.length > 4) delete it.id; return { ...it }; }) @@ -135,7 +136,8 @@ class LedgerSlide extends Component { }), items: _.map(_.find(itemGroups, it => it.name === "未分类").items, child => { // if (child.id && child.id.length > 4) delete child.id; - // delete child.formulaContent; + delete child.originFormulaContent; + delete child.originSqlContent; return { ...child }; }) || [], salarySobId: salarySobId || saveSalarySobId diff --git a/pc4mobx/hrmSalary/pages/reportView/components/povitpivotChartModal.js b/pc4mobx/hrmSalary/pages/reportView/components/povitpivotChartModal.js index 6a80e8fb..aa5f1bed 100644 --- a/pc4mobx/hrmSalary/pages/reportView/components/povitpivotChartModal.js +++ b/pc4mobx/hrmSalary/pages/reportView/components/povitpivotChartModal.js @@ -36,8 +36,8 @@ class PovitpivotChartModal extends Component { componentWillReceiveProps(nextProps, nextContext) { if (nextProps.visible !== this.props.visible && nextProps.visible) { - const { id, dimensionId, dimensionValue, isShare } = nextProps; - this.getDataPerspective({ id, dimensionId, dimensionValue, isShare }); + const { id, dimensionId, dimensionValue, isShare, salaryStartMonth, salaryEndMonth } = nextProps; + this.getDataPerspective({ id, dimensionId, dimensionValue, isShare, salaryStartMonth, salaryEndMonth }); } else { this.setState({ dataSource: [], @@ -64,11 +64,11 @@ class PovitpivotChartModal extends Component { }); } else if (type === "turn") { if (id === "PAGEINFO") { - const { id, dimensionId, dimensionValue, isShare } = this.props; + const { id, dimensionId, dimensionValue, isShare, salaryStartMonth, salaryEndMonth } = this.props; const { pageNum: current, size: pageSize } = params; this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => this.getDataPerspective({ - id, dimensionId, dimensionValue, isShare + id, dimensionId, dimensionValue, isShare, salaryStartMonth, salaryEndMonth })); } } diff --git a/pc4mobx/hrmSalary/pages/reportView/components/reportContent.js b/pc4mobx/hrmSalary/pages/reportView/components/reportContent.js index 7509d3df..9716234a 100644 --- a/pc4mobx/hrmSalary/pages/reportView/components/reportContent.js +++ b/pc4mobx/hrmSalary/pages/reportView/components/reportContent.js @@ -29,8 +29,8 @@ class ReportContent extends Component { chartsType: "0", chartsInfo: {}, povitView: { - visible: false, id: "", isShare: false, - dimensionId: "", dimensionValue: "" + visible: false, id: "", isShare: false, dimensionId: "", dimensionValue: "", salaryStartMonth: "", + salaryEndMonth: "" }, rangSet: { visible: false, reportId: "", @@ -69,10 +69,15 @@ class ReportContent extends Component { if (id === "PIVOTCHART") { const { record } = params; const { dimension: dimensionValue } = record; - const { id: pivotId, dimensionId, isShare } = this.props.report; + const { + id: pivotId, dimensionId, isShare, timeType, salaryEndMonth: end, salaryStartMonth: start + } = this.props.report; + const [salaryStartMonth, salaryEndMonth] = getSalaryMonthValue(timeType); + this.setState({ povitView: { - visible: true, id: pivotId, dimensionId, dimensionValue, isShare + visible: true, id: pivotId, dimensionId, dimensionValue, isShare, + salaryStartMonth: (salaryStartMonth || start) + "-01", salaryEndMonth: (salaryEndMonth || end) + "-01" } }); } else if (id === "PAGEINFO_REPORT") { @@ -282,7 +287,7 @@ class ReportContent extends Component { onCancel={() => this.setState({ povitView: { visible: false, id: "", dimensionId: "", dimensionValue: "", - isShare: false + isShare: false, salaryStartMonth: "", salaryEndMonth: "" } })} /> diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/baseValidateDialog.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/baseValidateDialog.js new file mode 100644 index 00000000..631ef2ee --- /dev/null +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/baseValidateDialog.js @@ -0,0 +1,76 @@ +/* + * 方案信息确认 + * 保存并自动修改基数,仅保存方案设置 + * @Author: 黎永顺 + * @Date: 2024/8/19 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaDialog, WeaLocaleProvider, WeaTransfer } from "ecCom"; +import { Alert, Button } from "antd"; + +const getLabel = WeaLocaleProvider.getLabel; +const WeaTransferList = WeaTransfer.list; + +class BaseValidateDialog extends Component { + constructor(props) { + super(props); + this.state = { dataSource: [] }; + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) { + this.setState({ + dataSource: _.filter(_.map(nextProps.baseChangeInfo.split("\n"), (g, gi) => ({ + id: gi + 1, name: g + })), k => !!k.name) + }); + } + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + dataSource: [] + }); + } + + render() { + const { dataSource } = this.state, { onCancel } = this.props; + const scrollHeight = this.baseChangeRef ? this.baseChangeRef.state.height - 118 : 606.6; + const buttons = [ + , + + ]; + return ( + this.baseChangeRef = dom} + title={getLabel(131329, "信息确认")} buttons={buttons} + style={{ + width: 750, height: 606.6, minHeight: 200, minWidth: 380, + maxHeight: "90%", maxWidth: "90%", overflow: "hidden", transform: "translate(0px, 0px)" + }} + > +
+ + { + !_.isEmpty(dataSource) ? (
+
{it.id}
+
{it.name}
+
)} + height={scrollHeight} checkedCb={() => ({})} checkedKeys={[]} + /> :
{getLabel(111, "无数据变更记录")}
+ } +
+
+ ); + } +} + +export default BaseValidateDialog; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/index.js index d97654e6..da42ac66 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/components/welfarePlanEditSlide/index.js @@ -12,6 +12,7 @@ import { Button, message, Modal } from "antd"; import * as API from "../../../../../apis/welfareScheme"; import { getTaxAgentSelectListAsAdmin } from "../../../../../apis/taxAgent"; import { getConditionDomkeys, getSearchs } from "../../../../../util"; +import BaseValidateDialog from "./baseValidateDialog"; import { planConditons } from "../../config"; import cs from "classnames"; @@ -24,7 +25,10 @@ class Index extends Component { constructor(props) { super(props); this.state = { - loading: false, conditions: [], selectedKey: "2", planDatas: [] + loading: false, conditions: [], selectedKey: "2", planDatas: [], + baseValidateDialog: { + visible: false, baseChangeInfo: [], validatePayload: { validate: true, changeData: false } + } }; } @@ -86,21 +90,37 @@ class Index extends Component { if (planForm.getFormParams().sharedType === "1" && _.isEmpty(planForm.getFormParams().taxAgentIds)) { planForm.showError("taxAgentIds", getLabel(111, "\"可见范围\"未填写")); } else { - const { planDatas } = this.state; - const payload = { + const { planDatas, baseValidateDialog } = this.state; + const { validatePayload } = baseValidateDialog; + let payload = { insuranceScheme: { ...planForm.getFormParams(), welfareType: welfareTypeEnum, id, paymentArea: planForm.getFormParams().paymentType }, insuranceSchemeDetailList: planDatas }; + id && (payload = { ...payload, ...validatePayload }); this.setState({ loading: true }); - API[id ? "updateScheme" : "createScheme"](payload).then(({ status, errormsg }) => { + API[id ? "updateScheme" : "createScheme"](payload).then(({ status, data, errormsg }) => { this.setState({ loading: false }); if (status) { - message.success(getLabel(30700, "操作成功!")); - setHasBeenModify(false); - this.props.onClose(true); + if (id && Object.prototype.toString.call(data) === "[object String]" && data.indexOf("\n") !== -1) { + this.setState({ + baseValidateDialog: { + visible: true, baseChangeInfo: data, + validatePayload: { ...baseValidateDialog.validatePayload, validate: false } + } + }); + } else { + message.success(getLabel(30700, "操作成功!")); + setHasBeenModify(false); + this.props.onClose(true); + this.setState({ + baseValidateDialog: { + ...baseValidateDialog, baseChangeInfo: [], validatePayload: { validate: true, changeData: false } + } + }); + } } else { message.error(errormsg); } @@ -194,7 +214,7 @@ class Index extends Component { render() { - const { conditions, planDatas, selectedKey } = this.state; + const { conditions, planDatas, selectedKey, baseValidateDialog } = this.state; const { programmeStore: { planForm }, showOperateBtn } = this.props; return ( + {/* */} + this.setState({ + baseValidateDialog: { + visible: false, baseChangeInfo: [], + validatePayload: { validate: true, changeData: false, ...validatePayload } + } + }, () => !_.isEmpty(validatePayload) && this.save())}/> } /> ); diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.js index 20d50c88..4f7028ad 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.js @@ -13,7 +13,6 @@ import WelfarePlanList from "./components/welfarePlanList"; import LogDialog from "../../../components/logViewModal"; import cs from "classnames"; import "./index.less"; -import { tabList } from "../welfareArchive/config"; const getLabel = WeaLocaleProvider.getLabel; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less index 5a057203..5566cc8e 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less @@ -269,3 +269,91 @@ } } + +//方案基数变化 +.baseChangeDialog { + .wea-dialog-body { + overflow-y: hidden; + } + + .baseChangeContent { + background: #F6F6F6; + padding: 16px; + width: 100%; + height: 100%; + + .empty { + width: 100%; + display: flex; + height: 100%; + justify-content: center; + align-items: center; + background: #ffff; + } + + .wea-search-group { + padding: 0; + margin-bottom: 10px; + background: #FFF; + + .wea-form-cell { + padding: 0; + + .wea-form-item { + padding: 10px; + } + } + } + + .logTable { + background: #FFFFFF; + } + + .wea-transfer-list-wrapper { + border: none; + + .ant-tree-switcher { + display: none; + } + + .transfer-tree { + background: #FFF; + border: 1px solid #dadada; + padding: 0; + + & > li:not(:last-child) { + .detailBox .content { + border-bottom: 1px solid #dadada; + } + } + + & > li { + margin: 0 !important; + + .detailBox { + display: flex; + align-items: center; + + .order { + width: 35px; + color: #999; + text-align: center; + } + + .content { + position: relative; + flex: 1; + min-height: 40px; + line-height: 40px; + color: #000; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } + } + } + } + } +} +