From ecf34e4886ec3bb3f73632be8f7113142bbfab91 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 11 Feb 2025 14:17:56 +0800 Subject: [PATCH 01/25] release/2.19.1.2501.01 --- .../salaryEditCalc/calcAnchorList.js | 110 ++++++++++++++++++ .../salaryEditCalc/editCalcTable.js | 15 +-- .../salaryEditCalc/editSalaryCalcSlide.js | 21 ++-- .../components/salaryEditCalc/index.less | 104 +++++++++++++++++ .../calculateDetail/issuedAndReissueTable.js | 3 +- .../calculateDetail/payrollItemsTable.js | 6 +- 6 files changed, 240 insertions(+), 19 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/calcAnchorList.js diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/calcAnchorList.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/calcAnchorList.js new file mode 100644 index 00000000..a8cecca3 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/calcAnchorList.js @@ -0,0 +1,110 @@ +/* + * 核算编辑 + * 数据查看锚点 + * @Author: 黎永顺 + * @Date: 2025/2/10 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import classnames from "classnames"; + +const getLabel = WeaLocaleProvider.getLabel; + +class CalcAnchorList extends Component { + constructor(props) { + super(props); + this.state = { + collapsed: false, currentIndex: 0 + }; + this.isClickRef = null; + this.timerRef = null; + } + + componentDidMount() { + document.getElementById("salary_anchor_area").addEventListener("scroll", this.handlerScroll); + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + collapsed: false, + currentIndex: 0 + }); + } + + componentWillUnmount() { + document.getElementById("salary_anchor_area").removeEventListener("scroll", this.handlerScroll); + } + + handlerScroll = () => { + // 点击锚点时,不执行滚动函数 + if (this.isClickRef) return; + // 获取滚动容器的滚动高度(这里相对于#salary_anchor_area滚动的) + const scrollTop = document.getElementById("salary_anchor_area").scrollTop; + // 获取所有wea-search-group anchor_开头的元素集合 + const contentList = document.querySelectorAll("[class^='wea-search-group anchor_']"); + const offsetTopArr = []; + contentList.forEach((item) => { + // 获取每个wea-search-group anchor_开头的元素的offsetTop + offsetTopArr.push(item.offsetTop); + }); + for (let i = 0; i < offsetTopArr.length; i++) { + // 当滚动条高度达到对应wea-search-group anchor_开头的元素的滚动高度、则将锚点设置为高亮状态 + if (scrollTop + 190 >= offsetTopArr[i]) this.setState({ currentIndex: i }); + } + }; + onClickAnchor = (item, index) => { + const anchorElement = document.getElementById("salary_anchor_area"); + const el = document.querySelector(`.anchor_${item.salarySobItemGroupId}`); + if (el) { + anchorElement.scroll({ top: el.offsetTop, behavior: "smooth" }); + } + this.setState({ currentIndex: index }); + // 点击时设置为true,为了防止同时执行滚动事件 + this.isClickRef = true; + // 清除定时器,防止滚动事件触发、出现走马灯闪烁问题 + if (this.timerRef) clearTimeout(this.timerRef); + this.timerRef = setTimeout(() => { + this.isClickRef = false; + }, 1000); + }; + + render() { + const { collapsed, currentIndex } = this.state, { datas } = this.props; + return ( +
+
+ { + collapsed ? +
+ this.setState({ collapsed: !collapsed })}/> +
: + +
+ this.setState({ collapsed: !collapsed })}/> +
+
+
+ +
+ {_.map(datas, (o, i) => ( +
this.onClickAnchor(o, i)}> + {o.salarySobItemGroupName} +
) + )} +
+
+ } +
+
+ ); + } +} + +export default CalcAnchorList; diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js index aa6baf65..c84dce5f 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js @@ -30,7 +30,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 +73,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": @@ -238,7 +238,7 @@ class EditCalcTable extends Component { "总计": getLabel(523, "总计"), "批量解锁": getLabel(111, "批量解锁"), "批量锁定": getLabel(111, "批量锁定"), "批量更新": getLabel(111, "批量更新"), "查看拓扑图": getLabel(111, "查看拓扑图"), "锁定": getLabel(111, "锁定"), - "解锁": getLabel(111, "解锁") + "解锁": getLabel(111, "解锁"), "查看": getLabel(111, "查看") }; this.setState({ originPayloadData: { ...payload, i18n } }); const childFrameObj = document.getElementById("atdTable"); @@ -269,7 +269,7 @@ 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, showSee: true, columns: _.every(traverse(columns, calcDetail), (it, idx) => !it.fixed) ? _.map(traverse(columns, calcDetail), (it, idx) => ({ ...it, fixed: idx < 2 ? "left" : false @@ -304,10 +304,7 @@ class EditCalcTable extends Component { /> this.setState({ - salaryCalcSlide: { - visible: false, - id: "" - } + salaryCalcSlide: { visible: false, id: "", viewAttr: 2 } }, () => isFresh === "true" && this.queryCalcResultList())}/> { progressVisible && diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js index 235bac13..9da20706 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js @@ -12,9 +12,9 @@ import PayrollItemsTable from "../../../../calculateDetail/payrollItemsTable"; import IssuedAndReissueTable from "../../../../calculateDetail/issuedAndReissueTable"; import { acctresultDetail, saveAcctResult } from "../../../../../apis/calculate"; import { toDecimal_n } from "../../../../../util"; +import CalcAnchorList from "./calcAnchorList"; import "./index.less"; - const getLabel = WeaLocaleProvider.getLabel; class EditSalaryCalcSlide extends Component { @@ -29,7 +29,7 @@ class EditSalaryCalcSlide extends Component { componentWillReceiveProps(nextProps, nextContext) { if (nextProps.visible !== this.props.visible && nextProps.visible) this.acctresultDetail(nextProps.id); - if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ selectedKey: "0" }); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ selectedKey: "0" }, () => document.getElementById("salary_anchor_area").scrollTop = 0); } acctresultDetail = (id) => { @@ -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 && + + }
; }; @@ -139,7 +142,9 @@ class EditSalaryCalcSlide extends Component { className="salary-calculate-esf-layout" {...this.props} top={0} width={60} height={100} measure={"%"} direction={"right"} title={this.renderTitle()} - content={
+ content={
+ {/*锚点*/} + this.setState({ baseInfo })}/> { selectedKey === "0" && _.map(itemsByGroup, item => { - return ; + return ; }) } { selectedKey === "1" && diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less index e2d8ce9b..4e3fb3b4 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less @@ -142,6 +142,7 @@ height: 100%; .salary-calculate-esf-area { + position: relative; background: #f6f6f6; height: 100%; overflow-y: auto; @@ -191,6 +192,109 @@ .wea-search-group { padding: 0; } + + //锚点按钮 + .anchor-list-collapsed { + padding: 0 !important; + } + + .anchor-list-wrapper { + position: absolute; + right: 0; + margin: 10px 15px 20px; + padding: 8px 10px; + overflow: auto; + background-color: #fff; + box-shadow: 0 3px 12px 0 rgba(0, 0, 0, .12); + border-radius: 3px; + cursor: pointer; + + .anchor-list-collapsed-btn { + opacity: .5; + background: #000; + color: #fff; + border-radius: 3px; + width: 30px; + height: 30px; + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; + } + + .anchor-list-header { + display: flex; + align-items: center; + justify-content: flex-end; + min-width: 130px; + padding: 5px; + } + + .anchor-list { + padding: 0 10px; + position: relative; + margin-top: 10px; + transition: margin-top .3s; + + .anchor-list-ink { + position: absolute; + top: 0; + left: 5px; + height: 100%; + + .anchor-list-ink-ball.visible { + display: inline-block; + } + + .anchor-list-ink-ball { + position: absolute; + left: 50%; + display: none; + width: 3px; + height: 8px; + background-color: #5d9cec; + border: 1.5px solid #5d9cec; + border-radius: 8px; + transform: translateX(-50%); + transition: top .3s ease-in-out; + } + } + + .anchor-list-ink:before { + position: relative; + display: block; + width: 1px; + height: 100%; + margin: 0 auto; + background-color: #f0f0f0; + content: " "; + } + + .anchor-list-link { + padding: 7px 0 7px 10px; + line-height: 1.143; + + .anchor-list-link-title { + position: relative; + display: block; + overflow: hidden; + color: #666; + white-space: nowrap; + text-overflow: ellipsis; + transition: all .3s; + cursor: pointer; + outline: none; + text-decoration: none; + background-color: transparent; + } + } + + .anchor-list-link-active > .anchor-list-link-title { + color: #5d9cec; + } + } + } + } } } 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..9f196d5f 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)} />; } @@ -66,7 +68,7 @@ class PayrollItemsTable extends Component { } ]; return ( - + Date: Tue, 11 Feb 2025 14:32:53 +0800 Subject: [PATCH 02/25] release/2.19.1.2501.01 --- .../calculate/doCalc/components/salaryEditCalc/baseInfo.js | 3 ++- .../doCalc/components/salaryEditCalc/editCalcTable.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) 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 c84dce5f..986bb1bb 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js @@ -269,7 +269,7 @@ 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, showSee: true, + calcDetail, showSee: calcDetail, columns: _.every(traverse(columns, calcDetail), (it, idx) => !it.fixed) ? _.map(traverse(columns, calcDetail), (it, idx) => ({ ...it, fixed: idx < 2 ? "left" : false From 002cb5522b0382a06bd71dd42752e4b5b1c42ead Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 13 Feb 2025 13:28:28 +0800 Subject: [PATCH 03/25] release/2.19.1.2501.01 --- .../pages/dataAcquisition/components/tableRecord.js | 8 +++++--- .../hrmSalary/pages/dataAcquisition/cumDeduct/index.js | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/components/tableRecord.js b/pc4mobx/hrmSalary/pages/dataAcquisition/components/tableRecord.js index 4bba03cd..9c36b02a 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/components/tableRecord.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/components/tableRecord.js @@ -5,11 +5,13 @@ * Date: 2023/2/20 */ import React, { Component } from "react"; -import { WeaSearchGroup, WeaTable } from "ecCom"; +import { WeaLocaleProvider, WeaSearchGroup, WeaTable } from "ecCom"; import { getTableRecordDate } from "../../../apis/cumDeduct"; import { DataCollectionDateRangePick, DataCollectionSelect, Input } from "../cumDeduct"; import "./index.less"; +const getLabel = WeaLocaleProvider.getLabel; + class TableRecord extends Component { constructor(props) { super(props); @@ -167,11 +169,11 @@ class TableRecord extends Component { }; const items = screenParams.length === 1 ? [ { - com: Input({ value: record.username }) + com: Input({ label: getLabel(111, "姓名"), value: record.username }) } ] : [ { - com: Input({ value: record.username }) + com: Input({ label: getLabel(111, "姓名"), value: record.username }) }, { com: DataCollectionSelect({ diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js index 867c8423..d7d92744 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js @@ -557,8 +557,10 @@ export const DataCollectionSelect = (props) => { }; export const Input = (props) => { - const { value } = props; - return (); + const { value, label } = props; + return ( + + ); }; export const DataCollectionDateRangePick = (props) => { const { range, label, onChange, format = "YYYY-MM", key } = props; From 46f7b0836054c2538ba6be7fd0e1d5415d319c0a Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Fri, 14 Feb 2025 10:43:36 +0800 Subject: [PATCH 04/25] release/2.19.1.2501.01 --- pc4mobx/hrmSalary/pages/ruleConfig/conditions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js b/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js index e13f2d02..a141d796 100644 --- a/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js +++ b/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js @@ -193,7 +193,7 @@ export const conditions = [ conditionType: "SWITCH", domkey: ["SHOT_EMP_BTN"], fieldcol: 10, - label: "启用组织快照", + label: "启用人事信息快照", lanId: 111, labelcol: 8, viewAttr: 2 From e344eed2d0216fd2ecb5535f8c0a8b89c036742e Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Mon, 17 Feb 2025 18:40:39 +0800 Subject: [PATCH 05/25] release/2.19.1.2501.01 --- pc4mobx/hrmSalary/pages/payrollRelease/index.less | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/index.less b/pc4mobx/hrmSalary/pages/payrollRelease/index.less index 634a44e4..b9966438 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/index.less +++ b/pc4mobx/hrmSalary/pages/payrollRelease/index.less @@ -20,6 +20,10 @@ } } + .wea-new-top-req { + z-index: 0 !important; + } + .wea-new-top-req-wapper .wea-new-top-req-title > div:last-child { right: 16px; } From ea084c93a2fe01ae462306c6aed37124dc2a83c8 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 18 Feb 2025 09:08:07 +0800 Subject: [PATCH 06/25] =?UTF-8?q?release/2.19.1.2501.01=20=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E6=A8=A1=E5=BC=8F=E9=A1=B5=E9=9D=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/layout.js | 2 ++ pc4mobx/hrmSalary/stores/baseForm.js | 9 +++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pc4mobx/hrmSalary/layout.js b/pc4mobx/hrmSalary/layout.js index 39c9d174..a4919d5d 100644 --- a/pc4mobx/hrmSalary/layout.js +++ b/pc4mobx/hrmSalary/layout.js @@ -22,6 +22,8 @@ class Layout extends Component { componentWillReceiveProps(nextProps, nextContext) { if (window.e9LibsConfigCustomF && _.some(window.e9LibsConfigCustomF, o => (_.some(o, k => k === "h_hrmSalary")))) { + stores.baseFormStore.initForm(); + stores.baseFormStore.initFormExtra(); if (window.location.hash.indexOf("payroll") !== -1) { window.localStorage.removeItem("template-basedata"); window.localStorage.removeItem("salary-showset"); diff --git a/pc4mobx/hrmSalary/stores/baseForm.js b/pc4mobx/hrmSalary/stores/baseForm.js index 3eb3a57e..29cdc064 100644 --- a/pc4mobx/hrmSalary/stores/baseForm.js +++ b/pc4mobx/hrmSalary/stores/baseForm.js @@ -10,12 +10,9 @@ const getLabel = WeaLocaleProvider.getLabel; export class BaseFormStore { @observable form = new WeaForm(); // 规则渲染form - - @observable logStore = new LogStore(); - @observable condition = []; // 存储后台得到的form数据 - @observable saveLoading = false; // 保存状态处理:保证保存的时候接口只走一次 - @observable loading = true; // 页面初始化的loading状态:数据加载成功前后前使用 - @observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据 + @action("初始化form表单") initForm = () => this.form = new WeaForm(); + @observable formExtra = new WeaForm(); // 规则渲染form + @action("初始化form表单") initFormExtra = () => this.formExtra = new WeaForm(); @observable logVisible = false; // 控制日志弹框的显影 @action // 初始化操作: 一般用来初始化获取后台数据 From 93dde8230a081c150521b833cfa2e061b2c1a430 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Mon, 10 Mar 2025 14:48:15 +0800 Subject: [PATCH 07/25] release/2.19.1.2501.01 --- .../doCalc/components/salaryEditCalc/editSalaryCalcSlide.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js index 9da20706..5deeaecd 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editSalaryCalcSlide.js @@ -91,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, "必要信息不完整,红色*为必填项!") From f7dfcdf8a6671aec026e60fb9a3f08ff9006a887 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 12 Mar 2025 13:57:48 +0800 Subject: [PATCH 08/25] release/2.19.1.2501.01 --- .../pages/socialSecurityBenefits/welfarePlan/index.less | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less index 0c19ca25..0f6ff199 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfarePlan/index.less @@ -103,6 +103,14 @@ } .welfare-plan-edit-layout { + .ant-table-content { + padding-left: 208px !important; + + .ant-table-fixed-left { + top: 1px; + } + } + .flex-center { display: flex; align-items: center; From f436779b9e943649157a682735734626f1210d06 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 13 Mar 2025 17:41:34 +0800 Subject: [PATCH 09/25] release/2.19.1.2501.01 --- pc4mobx/hrmSalary/components/pcTemplate/index.less | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/components/pcTemplate/index.less b/pc4mobx/hrmSalary/components/pcTemplate/index.less index 4f834426..6ea7eaa5 100644 --- a/pc4mobx/hrmSalary/components/pcTemplate/index.less +++ b/pc4mobx/hrmSalary/components/pcTemplate/index.less @@ -155,13 +155,14 @@ .item-count { //flex-basis: 328px; flex: 1; - padding-left: 16px; + padding: 12px 16px; height: 100%; - line-height: 40px; background: #fff; font-size: 12px; color: #5F5F5F; word-break: break-all; + display: flex; + align-items: center; } } } From e4aaf5e8e4a651a8f06b368661fc375831abba07 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 19 Mar 2025 09:36:12 +0800 Subject: [PATCH 10/25] release/2.19.1.2501.01 --- .../components/conditions.js | 30 +++++++++++++++++++ .../components/salaryDetails.js | 3 +- .../analysisOfSalaryStatistics/index.less | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js index 63108170..80f7e4dd 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js @@ -153,6 +153,36 @@ export const salaryDetailSearchConditions = [ multiple: true, viewAttr: 2 }, + { + 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: 1, + conditionType: "BROWSER", + domkey: ["employeeIds"], + fieldcol: 16, + label: getLabel(111, "人员"), + labelcol: 8, + viewAttr: 2 + }, { browserConditionParam: { completeParams: {}, diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js index e791e76e..1893e77e 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js @@ -109,12 +109,13 @@ class SalaryDetails extends Component { getSalaryList = (props) => { const { attendanceStore: { salaryDetailSearchForm, tableStore }, dateRange } = props || this.props; const [startDateStr, endDateStr] = dateRange; - const { taxAgentIds, subcompanyIds, departmentIds, ...extra } = salaryDetailSearchForm.getFormParams(); + const { taxAgentIds, subcompanyIds, departmentIds, employeeIds, ...extra } = salaryDetailSearchForm.getFormParams(); const { pageInfo, transferDialog, updateSum } = this.state; const payload = { taxAgentIds: taxAgentIds ? taxAgentIds.split(",") : [], departmentIds: departmentIds ? departmentIds.split(",") : [], subcompanyIds: subcompanyIds ? subcompanyIds.split(",") : [], + employeeIds: employeeIds ? employeeIds.split(",") : [], ...extra, ...pageInfo, startDateStr, endDateStr }; this.setState({ loading: true }); diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less index 7d481333..1b5c5dc5 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less @@ -182,7 +182,7 @@ } .wea-advanced-searchsAd { - height: 155px; + height: 200px; overflow: hidden auto; .formItem-delete { From c282a71e869b1ffc5f40868085c0bd0c91acf139 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 19 Mar 2025 18:04:38 +0800 Subject: [PATCH 11/25] release/2.19.1.2501.01 --- pc4mobx/hrmSalary/pages/ruleConfig/conditions.js | 9 +++++++++ pc4mobx/hrmSalary/pages/ruleConfig/ruleConfig.js | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js b/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js index a141d796..43fd37fa 100644 --- a/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js +++ b/pc4mobx/hrmSalary/pages/ruleConfig/conditions.js @@ -197,6 +197,15 @@ export const conditions = [ lanId: 111, labelcol: 8, viewAttr: 2 + }, + { + conditionType: "SWITCH", + domkey: ["SALARY_ACCT_SYNC_TYPE"], + fieldcol: 10, + label: "是否采用线程池", + lanId: 111, + labelcol: 8, + viewAttr: 2 } ], title: "薪资核算", diff --git a/pc4mobx/hrmSalary/pages/ruleConfig/ruleConfig.js b/pc4mobx/hrmSalary/pages/ruleConfig/ruleConfig.js index 3131f9ac..2608bb44 100644 --- a/pc4mobx/hrmSalary/pages/ruleConfig/ruleConfig.js +++ b/pc4mobx/hrmSalary/pages/ruleConfig/ruleConfig.js @@ -104,7 +104,7 @@ class RuleConfig extends Component { form.updateFields({ [item]: { value: sysinfo[item] === "0" ? "0" : (sysinfo[item] || "0") } }); } else if (item === "taxAgentShowStatus" || item === "salaryShowStatus" || item === "adjustShowStatus") { form.updateFields({ [item]: { value: sysinfo[item] || "1" } }); - } else if (item === "OPEN_APPLICATION_ENCRYPT") { + } else if (item === "OPEN_APPLICATION_ENCRYPT" || item === "SALARY_ACCT_SYNC_TYPE") { form.updateFields({ [item]: { value: _.isNil(sysinfo[item]) ? "1" : (sysinfo[item] || "") } }); } else if ( item === "APPROVAL_CAN_MANUAL_FILE_STATUS" || item === "APPROVAL_CAN_RE_CALC_STATUS" || item === "APPROVAL_CAN_EDIT_RESULT_STATUS" @@ -163,6 +163,7 @@ class RuleConfig extends Component { case "ATTENDANCE_SERIAL_COLLECTION_BTN": case "TAX_DECLARATION_DATE_TYPE": case "SHOT_EMP_BTN": + case "SALARY_ACCT_SYNC_TYPE": if (!this.handleDebounce) { this.handleDebounce = _.debounce(() => { const confTitle = { @@ -183,6 +184,7 @@ class RuleConfig extends Component { ATTENDANCE_SERIAL_COLLECTION_BTN: getLabel(111, "考勤引用是否采集班次数据"), TAX_DECLARATION_DATE_TYPE: getLabel(111, "申报日期类型"), SHOT_EMP_BTN: getLabel(111, "启用组织快照"), + SALARY_ACCT_SYNC_TYPE: getLabel(111, "是否采用线程池") }; this.unifiedSettings(key, confTitle[key]); this.handleDebounce = null; From 60747a5d7864e7bba9b16c8d6cf429c6877fa815 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 20 Mar 2025 13:42:59 +0800 Subject: [PATCH 12/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/index.js | 14 ++------------ pc4mobx/hrmSalary/pages/employeedeclare/index.js | 2 +- .../hrmSalary/pages/employeedeclareDetail/index.js | 1 + 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/pc4mobx/hrmSalary/index.js b/pc4mobx/hrmSalary/index.js index b4e65e33..bfc69c44 100644 --- a/pc4mobx/hrmSalary/index.js +++ b/pc4mobx/hrmSalary/index.js @@ -6,7 +6,6 @@ import SalaryAdjustmentRecords from "./pages/salaryAdjustmentRecords"; import MySalaryMobile from "./pages/mySalaryMobile"; import MySalary from "./pages/mySalaryBenefits"; import Programme from "./pages/socialSecurityBenefits/welfarePlan"; -// import Archivess from "./pages/socialSecurityBenefits/archives"; import Archives from "./pages/socialSecurityBenefits/welfareArchive"; //社保福利档案重构页面 import StandingBook from "./pages/socialSecurityBenefits/standingBook/standingBook"; //社保福利台账重构页面 import StandingBookDetail from "./pages/socialSecurityBenefits/standingBookDetail"; @@ -19,20 +18,16 @@ import CumSituation from "./pages/dataAcquisition/cumSituation"; import Attendance from "./pages/dataAcquisition/attendance"; import SpecialAddDeduction from "./pages/dataAcquisition/specialAddDeduction"; import Ledger from "./pages/ledgerPage"; -// import Calculate from "./pages/calculate"; import Calculate from "./pages/calculate/calculate"; //重构的薪资核算页面 -// import Payroll from "./pages/payroll"; import Payroll from "./pages/payrollRelease"; //重构的工资单发放页面 import PayrollGrant from "./pages/payroll/payrollGrant"; import PayrollDetail from "./pages/payroll/payrollDetail/payrollDetail"; -// import Declare from "./pages/declare"; import DeclareDetail from "./pages/declareDetail"; import DeclareOnlineComparison from "./pages/declareOnlineComparison"; import Employeedeclare from "./pages/employeedeclare"; import EnterprisePayCertificationDetail from "./pages/enterprisePayCertificationDetail"; import BankVoucherDetail from "./pages/bankVoucherDetail"; import EmployeedeclareDetail from "./pages/employeedeclareDetail"; -// import Declare from "./pages/declare"; import Declare from "./pages/declare/declare"; //重构的个税申报表 import TaxRate from "./pages/taxRate"; import TaxAgents from "./pages/taxAgent"; @@ -117,14 +112,9 @@ const Routes = ( - + - + diff --git a/pc4mobx/hrmSalary/pages/employeedeclare/index.js b/pc4mobx/hrmSalary/pages/employeedeclare/index.js index 453bac4c..66eecfe7 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclare/index.js +++ b/pc4mobx/hrmSalary/pages/employeedeclare/index.js @@ -94,7 +94,7 @@ class Index extends Component { width: 260, render: (_, record) => ( {getLabel(83110, "查看详情")} diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js index f9783c57..bfd6118f 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js @@ -454,6 +454,7 @@ class Index extends Component { {/*{getLabel(111, "批量编辑")}*/} {/*{getLabel(81272, "导出全部")}*/} {/*{getLabel(543715, "导出所选")}*/} + {getLabel(111, "扣除名单确认")} ); const buttons = [ From bbf362140f0c803272ed5f13429bcc625a9d1c43 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Mon, 24 Mar 2025 13:54:45 +0800 Subject: [PATCH 13/25] =?UTF-8?q?custom/=E4=B8=87=E6=96=B0=E5=85=89?= =?UTF-8?q?=E5=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/ruleConfig/form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/ruleConfig/form.js b/pc4mobx/hrmSalary/pages/ruleConfig/form.js index 09a946f8..29b4d01b 100644 --- a/pc4mobx/hrmSalary/pages/ruleConfig/form.js +++ b/pc4mobx/hrmSalary/pages/ruleConfig/form.js @@ -25,8 +25,8 @@ export const renderRuleForm = (form, condition, onChange) => { tipPosition="bottom"> getKey(fields) !== "salaryAcctFixedColumns" && onChange(v)} - onBlur={(v) => getKey(fields) === "salaryAcctFixedColumns" && onChange({ salaryAcctFixedColumns: { value: v } })} + onChange={v => !["INPUT", "INPUTNUMBER", "TEXTAREA"].includes(fields.conditionType) && onChange(v)} + onBlur={v => ["INPUT", "INPUTNUMBER", "TEXTAREA"].includes(fields.conditionType) && onChange({ [getKey(fields)]: { value: v } })} /> ), colSpan: 1, From 2618a2c12fcbaf3ee5c34c5e26a18c188aa01de6 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 26 Mar 2025 13:44:24 +0800 Subject: [PATCH 14/25] release/2.19.1.2501.01 --- .../components/updatePayrollTemplateSlide/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js index 1ebc0216..b4d7dd4e 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js @@ -53,6 +53,10 @@ class Index extends Component { } = payrollTempForm.getFormParams(), { ackFeedbackStatus, feedbackStatus, autoAckDays, ...extraFb } = payrollTempFeedbackForm.getFormParams(), { formData, smsSettingDialog } = this.tmpBaseSetRef.state; + if (autoSendStatus !== "1" && emailStatus !== "1" && msgStatus !== "1" && smsStatus !== 1) { + message.warning(getLabel(111, "工资单模板至少开启一个发送通道")); + return; + } const payload = { ...toJS(tmplDataSource), ...extraFb, ...formData, ...extraBs, ackFeedbackStatus: ackFeedbackStatus === "1", From 7fcd9afbed04431087c6790d0184675a069d1ccb Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 26 Mar 2025 15:46:50 +0800 Subject: [PATCH 15/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/declare.js | 13 ++ .../components/deductionListConfirmDialog.js | 112 ++++++++++++++++++ .../deductionListConfirmEmployeeDialog.js | 112 ++++++++++++++++++ .../pages/employeedeclareDetail/index.js | 22 +++- .../pages/employeedeclareDetail/index.less | 19 +++ 5 files changed, 272 insertions(+), 6 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js create mode 100644 pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js diff --git a/pc4mobx/hrmSalary/apis/declare.js b/pc4mobx/hrmSalary/apis/declare.js index 746bcf99..473621c9 100644 --- a/pc4mobx/hrmSalary/apis/declare.js +++ b/pc4mobx/hrmSalary/apis/declare.js @@ -283,3 +283,16 @@ export const getTaxdeclarationContrastList = (params) => { export const exportContrast = params => { return postExportFetch("/api/bs/hrmsalary/taxdeclaration/exportContrast", params); }; + +//扣除名单确认-人员列表 +export const getDeductionAmountList = (params) => { + return postFetch("/api/bs/hrmsalary/deductionAmount/list", params); +}; +//扣除名单确认-增加人员 +export const addDeductionAmount = (params) => { + return postFetch("/api/bs/hrmsalary/deductionAmount/add", params); +}; +//扣除名单确认-删除人员 +export const deleteDeductionAmount = (params) => { + return postFetch("/api/bs/hrmsalary/deductionAmount/delete", params); +}; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js new file mode 100644 index 00000000..241daac2 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js @@ -0,0 +1,112 @@ +/* + * 扣除名单确认 + * @Author: 黎永顺 + * @Date: 2025/3/26 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaButtonIcon, WeaDialog, WeaLocaleProvider, WeaTable, WeaTools } from "ecCom"; +import { message, Modal } from "antd"; +import DeductionListConfirmEmployeeDialog from "./deductionListConfirmEmployeeDialog"; +import * as API from "../../../apis/declare"; + +const { getLabel } = WeaLocaleProvider, { getUrlParams } = WeaTools; + +class DeductionListConfirmDialog extends Component { + constructor(props) { + super(props); + this.state = { + pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, columns: [], dataSource: [], visible: false, + selectedRowKeys: [] + }; + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) this.getDeductionAmountList(nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, dataSource: [], selectedRowKeys: [] + }); + } + + getDeductionAmountList = (props) => { + const { pageInfo } = this.state, { id: taxAgentId } = getUrlParams(), { year } = props || this.props; + const payload = { ...pageInfo, taxAgentId, year }; + this.setState({ loading: true }); + API.getDeductionAmountList(payload).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + const { columns, list: dataSource, pageNum: current, pageSize, total } = data; + this.setState({ + columns, dataSource, + pageInfo: { ...pageInfo, current, pageSize, total } + }); + } + }).catch(() => this.setState({ loading: false })); + }; + handleDelete = () => { + Modal.confirm({ + title: getLabel(111, "信息确认"), + content: getLabel(111, "确认删除本条数据吗?"), + onOk: () => { + API.deleteDeductionAmount({ ids: this.state.selectedRowKeys }).then(({ status, errormsg }) => { + if (status) { + message.success(getLabel(111, "操作成功")); + this.getDeductionAmountList(); + } else { + message.error(errormsg); + } + }); + } + }); + }; + + render() { + const { loading, columns, dataSource, pageInfo, visible, selectedRowKeys } = this.state; + const pagination = { + ...pageInfo, + showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, + showQuickJumper: true, + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"], + onShowSizeChange: (current, pageSize) => { + this.setState({ + pageInfo: { ...pageInfo, current, pageSize } + }, () => this.getDeductionAmountList()); + }, + onChange: current => { + this.setState({ + pageInfo: { ...pageInfo, current } + }, () => this.getDeductionAmountList()); + } + }; + const rowSelection = { + selectedRowKeys, onChange: v => this.setState({ selectedRowKeys: v }) + }; + const height = this.refs.employeeRef ? this.refs.employeeRef.state.height : 400; + return ( + +
+
+ this.setState({ visible: true })}/> + +
+ + this.setState({ visible: false }, () => callback && callback())}/> +
+
+ ); + } +} + +export default DeductionListConfirmDialog; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js new file mode 100644 index 00000000..66388df3 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js @@ -0,0 +1,112 @@ +/* + * 扣除名单确认 + * 人员添加列表 + * @Author: 黎永顺 + * @Date: 2025/3/26 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaDialog, WeaLocaleProvider, WeaTable, WeaTools } from "ecCom"; +import { Button, message } from "antd"; +import * as API from "../../../apis/declare"; + +const { getLabel } = WeaLocaleProvider, { getUrlParams } = WeaTools; +const columns = [{ title: getLabel(111, "姓名"), dataIndex: "employeeName" }, { + title: getLabel(111, "分部"), + dataIndex: "subCompanyName" +}, { title: getLabel(111, "部门"), dataIndex: "departmentName" }, { + title: getLabel(111, "个税扣缴义务人"), + dataIndex: "taxAgentName" +}, { title: getLabel(111, "工号"), dataIndex: "jobNum" }, { title: getLabel(111, "手机号码"), dataIndex: "mobile" }]; + +class DeductionListConfirmEmployeeDialog extends Component { + constructor(props) { + super(props); + this.state = { + pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, dataSource: [], selectedRowKeys: [], + saveloading: false + }; + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) this.employeedeclareList(nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, dataSource: [], selectedRowKeys: [] + }); + } + + employeedeclareList = (props) => { + const { pageInfo } = this.state, { payload } = props || this.props; + this.setState({ loading: true }); + API.employeedeclareList({ ...payload, ...pageInfo }).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + const { pageInfo: result } = data; + const { list: dataSource, pageNum: current, pageSize, total } = result; + this.setState({ dataSource, pageInfo: { ...pageInfo, current, pageSize, total } }); + } + }).catch(() => this.setState({ loading: false })); + }; + save = () => { + const { selectedRowKeys: employeeDeclareIds } = this.state, { id: taxAgentId } = getUrlParams(), { year } = this.props; + const payload = { taxAgentId, year, employeeDeclareIds }; + this.setState({ saveloading: true }); + API.addDeductionAmount(payload).then(({ status, errormsg }) => { + this.setState({ saveloading: false }); + if (status) { + message.success(getLabel(111, "操作成功")); + this.props.onCancel(this.props.onSuccess); + } else { + message.error(errormsg); + } + }); + }; + + render() { + const { loading, dataSource, pageInfo, selectedRowKeys, saveloading } = this.state; + const pagination = { + ...pageInfo, + showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, + showQuickJumper: true, + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"], + onShowSizeChange: (current, pageSize) => { + this.setState({ + pageInfo: { ...pageInfo, current, pageSize } + }, () => this.employeedeclareList()); + }, + onChange: current => { + this.setState({ + pageInfo: { ...pageInfo, current } + }, () => this.employeedeclareList()); + } + }; + const rowSelection = { + selectedRowKeys, onChange: v => this.setState({ selectedRowKeys: v }) + }; + const height = this.refs.employeeRef ? this.refs.employeeRef.state.height : 400; + return ({getLabel(111, "确认")}, + ]} + style={{ + width: 1150, + height: 606.6, + minHeight: 200, + minWidth: 380, + maxHeight: "90%", + maxWidth: "90%", + overflow: "hidden", + transform: "translate(0px, 0px)" + }}> +
+ +
+
); + } +} + +export default DeductionListConfirmEmployeeDialog; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js index bfd6118f..e29cdcf3 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.js @@ -12,6 +12,7 @@ import { Button, Dropdown, Menu, message, Modal, Spin } from "antd"; import BaseInfo from "./components/baseInfo"; import EmployeeDeclareDetailSchemaEditDialog from "./components/employeeDeclareDetailSchemaEditDialog"; import EmployeeDeclareDetailSchemaImportDialog from "./components/employeeDeclareDetailImportDialog"; +import DeductionListConfirmDialog from "./components/deductionListConfirmDialog"; import { commonEnumList } from "../../apis/payrollFiles"; import { employeedeclareDeclare, @@ -48,6 +49,7 @@ class Index extends Component { taxCycle: new Date(), pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: { query: false, refresh: false, feedback: false, declare: false, exportLoading: false }, declareEditDialog: { visible: false, id: "", title: "" }, + confirmationDialog: { visible: false, payload: {} }, declareStatusList: [], employmentStatusList: [], employmentTypeList: [], adConditons: [], selectedRowKeys: [], exportPayload: {} @@ -165,7 +167,7 @@ class Index extends Component { */ queryEmployeeList = () => { const { employeeDeclareStore: { advanceForm: form } } = this.props; - const { pageInfo, declareStatus, taxCycle, selectedKey, selectedRowKeys } = this.state; + const { pageInfo, declareStatus, taxCycle, selectedKey, selectedRowKeys, confirmationDialog } = this.state; const { departmentIds, positionIds, ...formParams } = form.getFormParams(); const payload = { ...formParams, ...pageInfo, @@ -183,7 +185,8 @@ class Index extends Component { const { columns, list: dataSource, pageNum: current, pageSize, total } = result; this.baseInfoRef.getEmployeeDeclareInfo(); this.setState({ - pageInfo: { ...pageInfo, current, pageSize, total } + pageInfo: { ...pageInfo, current, pageSize, total }, + confirmationDialog: { ...confirmationDialog, payload } }, () => { const payload = { dataSource, selectedRowKeys, selectedKey, @@ -402,7 +405,7 @@ class Index extends Component { }); }; handleMenuClick = ({ key }) => { - const { selectedRowKeys } = this.state; + const { selectedRowKeys, confirmationDialog } = this.state; switch (key) { case "1": if (_.isEmpty(selectedRowKeys)) { @@ -411,6 +414,9 @@ class Index extends Component { } this.handleDeleteDeclare(selectedRowKeys); break; + case"5": + this.setState({ confirmationDialog: { ...confirmationDialog, visible: true } }); + break; default: break; } @@ -445,7 +451,7 @@ class Index extends Component { render() { const { selectedKey, showSearchAd, declareStatus, declareStatusList, taxCycle, declareEditDialog, loading, - pageInfo, adConditons, employmentTypeList, employmentStatusList + pageInfo, adConditons, employmentTypeList, employmentStatusList, confirmationDialog } = this.state; const { taxAgentStore: { showOperateBtn }, employeeDeclareStore: { advanceForm: form, declareForm } } = this.props; const menu = ( @@ -454,7 +460,7 @@ class Index extends Component { {/*{getLabel(111, "批量编辑")}*/} {/*{getLabel(81272, "导出全部")}*/} {/*{getLabel(543715, "导出所选")}*/} - {getLabel(111, "扣除名单确认")} + {/*{getLabel(111, "扣除名单确认")}*/} ); const buttons = [ @@ -473,7 +479,11 @@ class Index extends Component { loading={loading.refresh}>{getLabel(111, "刷新数据")}, , + ]}> + + ); + } +} + +export default DeductionAmountEditDialog; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js index 79440338..70f89a0f 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js @@ -8,8 +8,9 @@ */ import React, { Component } from "react"; import { WeaButtonIcon, WeaDialog, WeaLocaleProvider, WeaTable, WeaTools } from "ecCom"; -import { message, Modal } from "antd"; import DeductionListConfirmEmployeeDialog from "./deductionListConfirmEmployeeDialog"; +import DeductionAmountEditDialog from "./deductionAmountEditDialog"; +import { message, Modal } from "antd"; import * as API from "../../../apis/declare"; const { getLabel } = WeaLocaleProvider, { getUrlParams } = WeaTools; @@ -19,7 +20,7 @@ class DeductionListConfirmDialog extends Component { super(props); this.state = { pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, columns: [], dataSource: [], visible: false, - selectedRowKeys: [] + selectedRowKeys: [], editDialog: { visible: false, record: {} } }; } @@ -47,7 +48,9 @@ class DeductionListConfirmDialog extends Component { return { ...o }; }), { title: getLabel(111, "操作"), dataIndex: "action", - render: (v, record) => ({getLabel(111, "编辑")}) + render: (v, record) => ( this.setState({ + editDialog: { visible: true, record } + })}>{getLabel(111, "编辑")}) }] }); } @@ -61,7 +64,7 @@ class DeductionListConfirmDialog extends Component { API.deleteDeductionAmount({ ids: this.state.selectedRowKeys }).then(({ status, errormsg }) => { if (status) { message.success(getLabel(111, "操作成功")); - this.getDeductionAmountList(); + this.setState({ selectedRowKeys: [] }, () => this.getDeductionAmountList()); } else { message.error(errormsg); } @@ -71,7 +74,7 @@ class DeductionListConfirmDialog extends Component { }; render() { - const { loading, columns, dataSource, pageInfo, visible, selectedRowKeys } = this.state; + const { loading, columns, dataSource, pageInfo, visible, selectedRowKeys, editDialog } = this.state; const pagination = { ...pageInfo, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, @@ -96,7 +99,7 @@ class DeductionListConfirmDialog extends Component { return (
@@ -108,6 +111,10 @@ class DeductionListConfirmDialog extends Component {
+ this.setState({ + editDialog: { visible: false, record: {} } + }, () => callback && callback())}/> this.setState({ visible: false }, () => callback && callback())}/> diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js index 66388df3..1f094b81 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmEmployeeDialog.js @@ -92,14 +92,8 @@ class DeductionListConfirmEmployeeDialog extends Component { onClick={this.save}>{getLabel(111, "确认")}, ]} style={{ - width: 1150, - height: 606.6, - minHeight: 200, - minWidth: 380, - maxHeight: "90%", - maxWidth: "90%", - overflow: "hidden", - transform: "translate(0px, 0px)" + width: 1150, height: 490, minHeight: 200, minWidth: 380, maxHeight: "90%", maxWidth: "90%", + overflow: "hidden", transform: "translate(0px, 0px)" }}>
Date: Thu, 27 Mar 2025 10:41:22 +0800 Subject: [PATCH 18/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/declare.js | 8 ++++ .../components/deductionListConfirmDialog.js | 47 +++++++++++++++++-- .../pages/employeedeclareDetail/index.less | 34 +++++++++----- 3 files changed, 73 insertions(+), 16 deletions(-) diff --git a/pc4mobx/hrmSalary/apis/declare.js b/pc4mobx/hrmSalary/apis/declare.js index 8243f721..54c6959f 100644 --- a/pc4mobx/hrmSalary/apis/declare.js +++ b/pc4mobx/hrmSalary/apis/declare.js @@ -300,3 +300,11 @@ export const deleteDeductionAmount = (params) => { export const editDeductionAmount = (params) => { return postFetch("/api/bs/hrmsalary/deductionAmount/edit", params); }; +//扣除名单确认-确认人员 +export const confirmDeductionAmount = (params) => { + return postFetch("/api/bs/hrmsalary/deductionAmount/confirm", params); +}; +//扣除名单确认-反馈人员 +export const feedbackDeductionAmount = (params) => { + return postFetch("/api/bs/hrmsalary/deductionAmount/feedback", params); +}; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js index 70f89a0f..b13202ff 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js @@ -10,7 +10,7 @@ import React, { Component } from "react"; import { WeaButtonIcon, WeaDialog, WeaLocaleProvider, WeaTable, WeaTools } from "ecCom"; import DeductionListConfirmEmployeeDialog from "./deductionListConfirmEmployeeDialog"; import DeductionAmountEditDialog from "./deductionAmountEditDialog"; -import { message, Modal } from "antd"; +import { Button, Col, message, Modal, Row } from "antd"; import * as API from "../../../apis/declare"; const { getLabel } = WeaLocaleProvider, { getUrlParams } = WeaTools; @@ -20,7 +20,7 @@ class DeductionListConfirmDialog extends Component { super(props); this.state = { pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, columns: [], dataSource: [], visible: false, - selectedRowKeys: [], editDialog: { visible: false, record: {} } + selectedRowKeys: [], editDialog: { visible: false, record: {} }, loadingBtn: { confirm: false, feedback: false } }; } @@ -72,9 +72,37 @@ class DeductionListConfirmDialog extends Component { } }); }; + confirmDeductionAmount = () => { + const { id: taxAgentId } = getUrlParams(), { year } = this.props; + const payload = { taxAgentId, year }; + this.setState({ loadingBtn: { ...this.state.loadingBtn, confirm: true } }); + API.confirmDeductionAmount(payload).then(({ status, errormsg }) => { + this.setState({ loadingBtn: { ...this.state.loadingBtn, confirm: false } }); + if (status) { + message.success(getLabel(111, "操作成功")); + this.getDeductionAmountList(); + } else { + message.error(errormsg); + } + }); + }; + feedbackDeductionAmount = () => { + const { id: taxAgentId } = getUrlParams(), { year } = this.props; + const payload = { taxAgentId, year }; + this.setState({ loadingBtn: { ...this.state.loadingBtn, confirm: true } }); + API.feedbackDeductionAmount(payload).then(({ status, errormsg }) => { + this.setState({ loadingBtn: { ...this.state.loadingBtn, confirm: false } }); + if (status) { + message.success(getLabel(111, "操作成功")); + this.getDeductionAmountList(); + } else { + message.error(errormsg); + } + }); + }; render() { - const { loading, columns, dataSource, pageInfo, visible, selectedRowKeys, editDialog } = this.state; + const { loading, columns, dataSource, pageInfo, visible, selectedRowKeys, editDialog, loadingBtn } = this.state; const pagination = { ...pageInfo, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, @@ -97,7 +125,18 @@ class DeductionListConfirmDialog extends Component { }; const height = this.refs.employeeRef ? this.refs.employeeRef.state.height : 400; return ( - + + {getLabel(111, "扣除名单确认")} + + + + + + )} style={{ width: 1150, height: 490, minHeight: 200, minWidth: 380, maxHeight: "90%", maxWidth: "90%", overflow: "hidden", transform: "translate(0px, 0px)" diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.less b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.less index 655ec57d..174530b2 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.less +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/index.less @@ -209,20 +209,30 @@ } //扣除名单确认 -.confirmationDialogContent { - width: 100%; - height: 100%; - background: #f6f6f6; - padding: 8px 16px; +.confirmationDialog { + .title-right { + text-align: right; - .tableBtns { - display: grid; - grid-template-columns: auto auto; - justify-content: end; - gap: 10px; + button { + margin-left: 10px; + } } - .wea-new-table { - background: #FFF; + .confirmationDialogContent { + width: 100%; + height: 100%; + background: #f6f6f6; + padding: 8px 16px; + + .tableBtns { + display: grid; + grid-template-columns: auto auto; + justify-content: end; + gap: 10px; + } + + .wea-new-table { + background: #FFF; + } } } From 0d55c14f0b94fff8a0ae9f3dee48929398bbff51 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 27 Mar 2025 11:32:11 +0800 Subject: [PATCH 19/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/deductionListConfirmDialog.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js index b13202ff..5513744a 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/deductionListConfirmDialog.js @@ -12,6 +12,7 @@ import DeductionListConfirmEmployeeDialog from "./deductionListConfirmEmployeeDi import DeductionAmountEditDialog from "./deductionAmountEditDialog"; import { Button, Col, message, Modal, Row } from "antd"; import * as API from "../../../apis/declare"; +import { calcPageNo } from "../../../util"; const { getLabel } = WeaLocaleProvider, { getUrlParams } = WeaTools; @@ -63,8 +64,14 @@ class DeductionListConfirmDialog extends Component { onOk: () => { API.deleteDeductionAmount({ ids: this.state.selectedRowKeys }).then(({ status, errormsg }) => { if (status) { + const { pageInfo } = this.state, { current, pageSize, total } = pageInfo; message.success(getLabel(111, "操作成功")); - this.setState({ selectedRowKeys: [] }, () => this.getDeductionAmountList()); + this.setState({ + selectedRowKeys: [], + pageInfo: { + ...pageInfo, current: calcPageNo(total, current, pageSize, this.state.selectedRowKeys.length) + } + }, () => this.getDeductionAmountList()); } else { message.error(errormsg); } @@ -125,7 +132,7 @@ class DeductionListConfirmDialog extends Component { }; const height = this.refs.employeeRef ? this.refs.employeeRef.state.height : 400; return ( - {getLabel(111, "扣除名单确认")} From b443a56679acd2f01a4e6442b45e9701e7fe7f35 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 27 Mar 2025 13:46:53 +0800 Subject: [PATCH 20/25] release/2.19.1.2501.01 --- .../pages/ledgerPage/components/ledgerSalaryItemNormal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js index 4b9b42ec..af8cd59d 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js @@ -182,7 +182,7 @@ class LedgerSalaryItemNormal extends Component { > childItem.uuid === uuid).items} + dataSource={_.find(dataSource, childItem => childItem.uuid === uuid).items} salarySobId={editId || saveSalarySobId} selectedRowKeys={field.selectedRowKeys || []} onDropCategoryItem={(data) => onDropCategoryItem(field, data)} From bb3ded56926b6e11f50d61278f44cfb0ea03a7ec Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 27 Mar 2025 15:28:53 +0800 Subject: [PATCH 21/25] release/2.19.1.2501.01 --- pc4mobx/hrmSalary/pages/ledgerPage/components/index.less | 6 +++++- .../pages/ledgerPage/components/ledgerSalaryItemBaseInfo.js | 2 +- pc4mobx/hrmSalary/pages/salaryItem/index.less | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less index 96d0463d..83b19a8e 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less @@ -41,6 +41,10 @@ .baseSettingWrapper { padding: 12px 12px 12px 20px; + .wea-form-item-wrapper { + display: inline-block !important; + } + .baseSettingLeft { border: 1px solid #ebedf0; padding: 0 !important; @@ -249,7 +253,7 @@ padding: 0; background: transparent; border: none; - font-size: 20px!important; + font-size: 20px !important; line-height: 20px; } diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemBaseInfo.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemBaseInfo.js index e2b191ae..6db6e575 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemBaseInfo.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemBaseInfo.js @@ -46,7 +46,7 @@ class LedgerSalaryItemBaseInfo extends Component { }; handleDeleteEmplist = (item) => { const { dataSource, onChangeSortableList } = this.props; - onChangeSortableList(_.xorWith(dataSource, [item], _.isEqual)); + onChangeSortableList(_.filter(dataSource, o => o.id !== item.id)); }; render() { diff --git a/pc4mobx/hrmSalary/pages/salaryItem/index.less b/pc4mobx/hrmSalary/pages/salaryItem/index.less index cf539484..0e752b3f 100644 --- a/pc4mobx/hrmSalary/pages/salaryItem/index.less +++ b/pc4mobx/hrmSalary/pages/salaryItem/index.less @@ -187,6 +187,7 @@ border: 1px solid #e5e5e5 !important; padding: 4px 8px !important; min-height: 70px !important; + word-wrap: break-word; } } } From 41a6afdb40e42172ec7e70768bade2ff005d5ab3 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Mon, 31 Mar 2025 16:11:37 +0800 Subject: [PATCH 22/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js index 4c579f2c..6054413f 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumSituation/index.js @@ -336,7 +336,7 @@ class Index extends Component { const { addAllLoading, incomeTaxStatus } = this.state; const commonBtns = [ , - , + // , , Date: Tue, 1 Apr 2025 11:28:41 +0800 Subject: [PATCH 23/25] =?UTF-8?q?release/2.19.1.2501.01-=E4=B8=AA=E7=A8=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/declareOnlineComparison/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pc4mobx/hrmSalary/pages/declareOnlineComparison/index.js b/pc4mobx/hrmSalary/pages/declareOnlineComparison/index.js index 9a5b9560..71ae95c5 100644 --- a/pc4mobx/hrmSalary/pages/declareOnlineComparison/index.js +++ b/pc4mobx/hrmSalary/pages/declareOnlineComparison/index.js @@ -67,6 +67,7 @@ class Index extends Component { return _.map(_.filter(toJS(declareTableStore.columns), (item) => (item.display === "true" && showColumns.includes(item["dataIndex"]))), o => ({ dataIndex: o.dataIndex, title: o.title, width: 150, render: (text, record) => { + if (!record[o["dataIndex"]]) return ; return Object.prototype.toString.call(record[o["dataIndex"]]) === "[object String]" ? {text} :
From 925bc0f75abbb4b89a99471812bb7f9ada93abce Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 1 Apr 2025 15:05:39 +0800 Subject: [PATCH 24/25] release/2.19.1.2501.01 --- .../components/salaryFileImportDialog/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js b/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js index 415f7e33..c248b0b3 100644 --- a/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js +++ b/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js @@ -30,6 +30,7 @@ class Index extends Component { componentWillReceiveProps(nextProps, nextContext) { const { importDialog } = this.state; if (nextProps.visible !== this.props.visible && nextProps.visible) { + console.log("importDialog", importDialog); const { baseTableStore: { VSalryForm, VExtraSalryForm } } = nextProps; const payload = { ...VSalryForm.getFormParams(), ...VExtraSalryForm.getFormParams(), hasData: importDialog.hasData @@ -96,7 +97,9 @@ class Index extends Component { this.setState({ - importDialog: { ...importDialog, importResult: {}, imageId: "", link: null } + importDialog: { + ...importDialog, importResult: {}, imageId: "", link: "/api/bs/hrmsalary/variableSalary/downloadTemplate" + } })} importParams={this.renderFormComponent()} exportDataDom={ From 3b2a987778766b917ef2041e947f34cc9fa65b87 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 1 Apr 2025 15:05:59 +0800 Subject: [PATCH 25/25] release/2.19.1.2501.01 --- .../variableSalary/components/salaryFileImportDialog/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js b/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js index c248b0b3..dfc036bf 100644 --- a/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js +++ b/pc4mobx/hrmSalary/pages/variableSalary/components/salaryFileImportDialog/index.js @@ -30,7 +30,6 @@ class Index extends Component { componentWillReceiveProps(nextProps, nextContext) { const { importDialog } = this.state; if (nextProps.visible !== this.props.visible && nextProps.visible) { - console.log("importDialog", importDialog); const { baseTableStore: { VSalryForm, VExtraSalryForm } } = nextProps; const payload = { ...VSalryForm.getFormParams(), ...VExtraSalryForm.getFormParams(), hasData: importDialog.hasData