diff --git a/pc4mobx/hrmSalary/apis/mySalaryBenefits.js b/pc4mobx/hrmSalary/apis/mySalaryBenefits.js index 2cd64d80..0cb56cfe 100644 --- a/pc4mobx/hrmSalary/apis/mySalaryBenefits.js +++ b/pc4mobx/hrmSalary/apis/mySalaryBenefits.js @@ -6,6 +6,14 @@ import { convertToUrlString } from "../util/url"; export const mySalaryBillList = params => { return postFetch("/api/bs/hrmsalary/salaryBill/mySalaryBillList", params); }; +// 人事卡片-工资单列表 +export const mySalaryBillList4Card = params => { + return postFetch("/api/bs/hrmsalary/salaryBill/mySalaryBillList4Card", params); +}; +// 人事卡片-调薪记录列表 +export const mySalaryRecordList4Card = params => { + return WeaTools.callApi("/api/bs/hrmsalary/report/record/list4Card", "GET", params); +}; // 调薪记录列表 export const recordList = params => { diff --git a/pc4mobx/hrmSalary/common/titleLogo.png b/pc4mobx/hrmSalary/common/titleLogo.png new file mode 100644 index 00000000..d02c2227 Binary files /dev/null and b/pc4mobx/hrmSalary/common/titleLogo.png differ diff --git a/pc4mobx/hrmSalary/components/importDialog/components/impStep2.js b/pc4mobx/hrmSalary/components/importDialog/components/impStep2.js index 71c6e099..91f3e690 100644 --- a/pc4mobx/hrmSalary/components/importDialog/components/impStep2.js +++ b/pc4mobx/hrmSalary/components/importDialog/components/impStep2.js @@ -40,8 +40,11 @@ class ImpStep2 extends Component { render() { const { dataSource, columns, loading } = this.state; + const { scrollHeight } = this.props; return ( - + ); } } diff --git a/pc4mobx/hrmSalary/components/importDialog/components/impStep3.js b/pc4mobx/hrmSalary/components/importDialog/components/impStep3.js index 481813b4..df9575ef 100644 --- a/pc4mobx/hrmSalary/components/importDialog/components/impStep3.js +++ b/pc4mobx/hrmSalary/components/importDialog/components/impStep3.js @@ -31,7 +31,7 @@ class ImpStep3 extends Component { } { - !_.isEmpty(importResult.errorData) && + (!_.isEmpty(importResult.errorNotice) || !_.isEmpty(importResult.errorData)) && } diff --git a/pc4mobx/hrmSalary/components/importDialog/index.js b/pc4mobx/hrmSalary/components/importDialog/index.js index e144588c..796358d3 100644 --- a/pc4mobx/hrmSalary/components/importDialog/index.js +++ b/pc4mobx/hrmSalary/components/importDialog/index.js @@ -36,8 +36,8 @@ class Index extends Component { } renderChildren = () => { - const { current } = this.state; - const { importParams, link, excludeKey, importResult, exportDataDom = null } = this.props; + const { current } = this.state, { importParams, link, excludeKey, importResult, exportDataDom = null } = this.props; + const scrollHeight = this.importRef ? this.importRef.state.height - 232 : 606.6; let CurrentDom = null; switch (current) { case 0: @@ -45,7 +45,7 @@ class Index extends Component { ref={dom => this.step1Ref = dom}/>; break; case 1: - CurrentDom = ; + CurrentDom = ; if (excludeKey) { CurrentDom = ; } @@ -128,9 +128,10 @@ class Index extends Component { loading={this.props.nextloading}>{getLabel(1402, "下一步")}, ]; + return ( this.importRef = dom} scalable hasScroll className="importBox" initLoadCss buttons={current === 0 ? _.nth(btns, 1) : (!this.props.excludeKey && current === 1) ? _.take(btns, 2) : _.takeRight(btns)} style={{ diff --git a/pc4mobx/hrmSalary/components/pcTemplate/content.js b/pc4mobx/hrmSalary/components/pcTemplate/content.js index b8c7360b..310999d6 100644 --- a/pc4mobx/hrmSalary/components/pcTemplate/content.js +++ b/pc4mobx/hrmSalary/components/pcTemplate/content.js @@ -10,7 +10,7 @@ class Content extends Component { const { onlyOneGrup, showData } = dealTemplate(itemTypeList, "pc"); return (
-
+
{theme || ""}
@@ -34,7 +34,10 @@ class Content extends Component { return (
{ - groupName ?
{groupName}
: null + groupName ?
+ + {groupName} +
: null }
{ @@ -71,9 +74,9 @@ class Content extends Component { !onlyOneGrup && tipPosi.toString() === "2" && tip &&
} + {this.props.children}
- {this.props.children}
); diff --git a/pc4mobx/hrmSalary/components/pcTemplate/index.less b/pc4mobx/hrmSalary/components/pcTemplate/index.less index 856a3d78..e57fe5e5 100644 --- a/pc4mobx/hrmSalary/components/pcTemplate/index.less +++ b/pc4mobx/hrmSalary/components/pcTemplate/index.less @@ -4,7 +4,7 @@ overflow-y: auto; .weapp-salary-sp { - background: #f6f6f6; + background: #F3F9FF; } .weapp-salary-payroll-pc-preview { @@ -58,6 +58,7 @@ .body { width: 100%; + background: #FFF; //margin-top: 32px; .comp-img { @@ -69,34 +70,43 @@ } .corporate-culture-text { - width: 100%; text-align: left; color: #111; - padding: 8px 16px; + margin: 16px 30px 20px 30px; white-space: pre-wrap; word-break: break-all; - margin-top: 16px; + padding: 10px 14px; + background: #FAFAFA; + border: 1px solid rgba(238, 238, 238, 1); + border-radius: 4px; } .data-detail { - margin-top: 16px; - .salary-group { - margin-bottom: 16px; - padding-bottom: 16px; background: #FFF; .group-title { font-size: 14px; - padding: 16px 0 0 8px; + padding: 16px 0 0 30px; font-weight: bolder; + color: #333333; + + img { + width: 16px; + height: 20px; + } + + span { + vertical-align: middle; + margin-left: 10px; + } } .group-list { margin-top: 16px; display: flex; flex-wrap: wrap; - padding: 0 8px; + padding: 0 30px; .even { border-left: 1px solid #e5e5e5; @@ -125,9 +135,9 @@ background: #fbfbfb; border-right: 1px solid #e5e5e5; font-size: 12px; - color: #666; + color: #5F5F5F; display: flex; - justify-content: center; + justify-content: flex-start; align-items: center; flex-shrink: 0; @@ -148,7 +158,7 @@ line-height: 40px; background: #fff; font-size: 12px; - color: #111; + color: #5F5F5F; word-break: break-all; } } @@ -157,4 +167,12 @@ } } } + + .space { + margin: 20px 0 40px 0 !important; + + button:last-child { + margin-right: 30px; + } + } } diff --git a/pc4mobx/hrmSalary/index.js b/pc4mobx/hrmSalary/index.js index c02e25dc..f886f2ca 100644 --- a/pc4mobx/hrmSalary/index.js +++ b/pc4mobx/hrmSalary/index.js @@ -1,6 +1,8 @@ import React from "react"; import Route from "react-router/lib/Route"; import { WeaLocaleProvider } from "ecCom"; +import HistoricalPayroll from "./pages/historicalPayroll"; +import SalaryAdjustmentRecords from "./pages/salaryAdjustmentRecords"; import MySalaryMobile from "./pages/mySalaryMobile"; import MySalary from "./pages/mySalaryBenefits"; import Programme from "./pages/socialSecurityBenefits/programme"; @@ -75,6 +77,10 @@ const Home = (props) => props.children; const SocialSecurityBenefits = (props) => props.children; const DataAcquisition = (props) => props.children; +// historicalPayroll 历史工资单查看 +// salaryAdjustmentRecords 调薪记录查看 + +// mySalaryMobile 我的薪资福利-移动端 // mySalaryMobile 我的薪资福利-移动端 // mySalary 我的薪资福利 // mySalaryView 我的薪资福利-查看工资单 @@ -123,6 +129,8 @@ const Routes = ( path="hrmSalary" onEnter={getLocaleLabel} component={Home}> + + diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less index 8f71d224..eac828ef 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.less @@ -97,6 +97,7 @@ flex-direction: column; justify-content: space-between; margin-left: 10px; + overflow: hidden; .reportName { font-size: 14px; diff --git a/pc4mobx/hrmSalary/pages/historicalPayroll/index.js b/pc4mobx/hrmSalary/pages/historicalPayroll/index.js new file mode 100644 index 00000000..342a69a2 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/historicalPayroll/index.js @@ -0,0 +1,43 @@ +/* + * Author: 黎永顺 + * name:历史工资单 + * Description: + * Date: 2024/1/25 + */ +import React, { Component } from "react"; +import { WeaLocaleProvider, WeaTools } from "ecCom"; +import { MonthRangePicker } from "../reportView/components/statisticalMicroSettingsSlide"; +import Payroll from "../mySalaryBenefits/components/payrollTable"; +import moment from "moment"; +import "./index.less"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + dateRange: [ + moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"), + moment(new Date()).endOf("year").format("YYYY-MM") + ] + }; + } + + render() { + const { dateRange } = this.state; + const employeeId = WeaTools.getUrlParams().hrmResourceID; + return ( +
+
+ {getLabel(542604, "薪资所属月")} + this.setState({ dateRange: v })}/> +
+ +
+ ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/pages/historicalPayroll/index.less b/pc4mobx/hrmSalary/pages/historicalPayroll/index.less new file mode 100644 index 00000000..459ccbaf --- /dev/null +++ b/pc4mobx/hrmSalary/pages/historicalPayroll/index.less @@ -0,0 +1,23 @@ +.history-payroll-box { + width: 100%; + height: 100%; + background: #f6f6f6; + padding: 16px; + + .topQuery { + width: 100%; + background: #fff; + padding: 16px; + margin-bottom: 16px; + display: flex; + align-items: center; + + .title { + margin-right: 10px; + } + } + + .wea-new-table { + background: #fff; + } +} diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 6ae229c8..98912d8a 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -159,9 +159,9 @@ export default class MobilePayroll extends React.Component { if (status) { const { mySalaryBillData } = this.state; const { salaryTemplate } = mySalaryBillData; - const { feedbackUrl } = salaryTemplate; + const { feedbackUrl, mobileFeedbackUrl } = salaryTemplate; this.getMySalaryBill(getQueryString("id")); - window.location.href = `${window.ecologyContentPath || ""}${feedbackUrl}`; + window.location.href = `${window.ecologyContentPath || ""}${getQueryString("type") === "phone" ? mobileFeedbackUrl : feedbackUrl}`; // window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`); } else { message.error(errorMsg); diff --git a/pc4mobx/hrmSalary/pages/mySalary/index.less b/pc4mobx/hrmSalary/pages/mySalary/index.less index d4fd9324..0451e3c2 100644 --- a/pc4mobx/hrmSalary/pages/mySalary/index.less +++ b/pc4mobx/hrmSalary/pages/mySalary/index.less @@ -30,8 +30,10 @@ .salary-preview-container { max-width: 1000px; margin: 0 auto; - border: 2px solid #FFF; + border: 1px solid rgba(229,229,229,1); padding-top: 32px; + background: #F3F9FF; + border-radius: 4px; } .space { diff --git a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/SalaryAdjustmentRecords/index.js b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/SalaryAdjustmentRecords/index.js index ed75ad76..d13cd2fe 100644 --- a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/SalaryAdjustmentRecords/index.js +++ b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/SalaryAdjustmentRecords/index.js @@ -8,9 +8,12 @@ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { WeaLocaleProvider, WeaTable } from "ecCom"; import Authority from "../../../mySalary/authority"; -import { recordList } from "../../../../apis/mySalaryBenefits"; +import { mySalaryRecordList4Card, recordList } from "../../../../apis/mySalaryBenefits"; const getLabel = WeaLocaleProvider.getLabel; +const API = { + recordList, mySalaryRecordList4Card +}; @inject("mySalaryStore") @observer @@ -24,14 +27,18 @@ class Index extends Component { } componentDidMount() { - const { mySalaryStore: { initRecordData } } = this.props; - initRecordData(this.getRecordList); + const { mySalaryStore: { initRecordData, getRecordData }, type } = this.props; + !type ? initRecordData(this.getRecordList) : getRecordData({ + status: "1", token: "", + callback: () => this.getRecordList() + }); } getRecordList = () => { const { pageInfo } = this.state; + const { employeeId, type = "recordList" } = this.props; this.setState({ loading: true }); - recordList({ ...pageInfo }).then(({ status, data }) => { + API[type]({ ...pageInfo, employeeId }).then(({ status, data }) => { this.setState({ loading: false }); if (status) { const { columns, list: dataSource, pageNum: current, pageSize, total } = data; diff --git a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js index 33cb6873..4c882560 100644 --- a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js +++ b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js @@ -6,17 +6,20 @@ */ import React, { Component } from "react"; import { WeaLocaleProvider, WeaTable } from "ecCom"; -import { mySalaryBillList } from "../../../../apis/mySalaryBenefits"; +import { mySalaryBillList, mySalaryBillList4Card } from "../../../../apis/mySalaryBenefits"; import moment from "moment"; const getLabel = WeaLocaleProvider.getLabel; +const API = { + mySalaryBillList, mySalaryBillList4Card +}; class Index extends Component { constructor(props) { super(props); this.state = { - juniorMapList: [], dataSource: [], columns: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, - loading: false, employeeId: "" + dataSource: [], columns: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, + loading: false }; } @@ -30,9 +33,9 @@ class Index extends Component { getMySalaryBillList = (props) => { this.setState({ loading: true }); - const { pageInfo, employeeId } = this.state; - const { salaryYearMonth } = props; - mySalaryBillList({ salaryYearMonth, employeeId, ...pageInfo }).then(({ status, data }) => { + const { pageInfo } = this.state; + const { salaryYearMonth, employeeId, type = "mySalaryBillList" } = props; + API[type]({ salaryYearMonth, employeeId, ...pageInfo }).then(({ status, data }) => { this.setState({ loading: false }); if (status) { const { columns, datas: dataSource, pageInfo: { pageNum: current, pageSize, total } } = data; @@ -55,7 +58,7 @@ class Index extends Component { }; render() { - const { juniorMapList, dataSource, loading, columns, pageInfo } = this.state; + const { dataSource, loading, columns, pageInfo } = this.state; const pagination = { ...pageInfo, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js index 53802244..ba853f81 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js @@ -131,6 +131,7 @@ class SalaryItemSettings extends Component { salarySobId: this.props.salarySobId, existSalaryItemIds: _.map(record.items, it => it.id), groupId: record.groupId, + groupName: record.groupName, isReplenish: this.props.isReplenish }; getAvailableSalaryItemSet(payload).then(({ status, data }) => { diff --git a/pc4mobx/hrmSalary/pages/payroll/templateBaseSettings.js b/pc4mobx/hrmSalary/pages/payroll/templateBaseSettings.js index 6cd7f5b6..f64ad003 100644 --- a/pc4mobx/hrmSalary/pages/payroll/templateBaseSettings.js +++ b/pc4mobx/hrmSalary/pages/payroll/templateBaseSettings.js @@ -35,7 +35,8 @@ class TemplateBaseSettings extends Component { ackFeedbackSetting: { ackStatus: "0", autoAckDays: 7, - feedBackUrl: "" + feedBackUrl: "", + mobileFeedbackUrl: "" }, salaryBillViewingLimitSetting: { limitMonth: 0 @@ -68,8 +69,8 @@ class TemplateBaseSettings extends Component { }; salaryBillBaseSetSave = () => { const { watermark, watermarkStatus, wmSetting, ackFeedbackSetting, salaryBillViewingLimitSetting } = this.state; - const { feedBackUrl } = ackFeedbackSetting; - if (!feedBackUrl) { + const { feedBackUrl, mobileFeedbackUrl } = ackFeedbackSetting; + if (!feedBackUrl || !mobileFeedbackUrl) { Modal.warning({ title: getLabel(111, "信息确认"), content: getLabel(111, "必要信息不完整,红色*为必填项!") @@ -96,7 +97,7 @@ class TemplateBaseSettings extends Component { render() { const { watermarkStatus, watermark, watermarkSet, ackFeedbackSetting, salaryBillViewingLimitSetting } = this.state; - const { ackStatus, autoAckDays, feedBackUrl } = ackFeedbackSetting; + const { ackStatus, autoAckDays, feedBackUrl, mobileFeedbackUrl } = ackFeedbackSetting; const { limitMonth = 0 } = salaryBillViewingLimitSetting; return ( @@ -158,7 +159,7 @@ class TemplateBaseSettings extends Component { style={{ marginLeft: 10 }} placement="top" width={200}/> - + this.setState({ @@ -167,6 +168,15 @@ class TemplateBaseSettings extends Component { } })}/> + + this.setState({ + ackFeedbackSetting: { + ...ackFeedbackSetting, mobileFeedbackUrl + } + })}/> + } diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js index c9a7d295..1a60b901 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileImportDialog/index.js @@ -36,7 +36,7 @@ class Index extends Component { importType: "", listType: importType }; payload = { - importType: "", listType: importType, + importType: "", listType: importType, hasData: false, ...salaryFileQueryForm.getFormParams() }; } else { @@ -44,7 +44,7 @@ class Index extends Component { importType: importType, listType: "FIXED" }; payload = { - importType: importType, listType: "FIXED", + importType: importType, listType: "FIXED", hasData: false, ...salaryFileQueryForm.getFormParams() }; } diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js index 9ad2cd34..bf3cfc17 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js @@ -100,12 +100,12 @@ class Index extends Component { case "CHANGE-SALARY": case "VIEW": case "EDIT": - const { taxAgentStore: { showOperateBtn } } = this.props; + const { taxAgentStore: { showOperateBtn }, selectedKey: runStatuses } = this.props; const { record: { id: salaryArchiveId } } = params; this.setState({ salaryFilesEditSlide: { ...this.state.salaryFilesEditSlide, visible: true, salaryArchiveId, - runStatuses: this.props.selectedKey, showOperateBtn + runStatuses, showOperateBtn } }); break; @@ -172,7 +172,7 @@ class Index extends Component { const columns = _.map(_.filter(toJS(tableStore.columns), (item) => item.display === "true"), (it, idx) => ({ dataIndex: it.dataIndex, title: it.title, align: "left", width: (it.dataIndex === "taxAgentName" || it.dataIndex === "operate") ? 185 : 150, - fixed: it.dataIndex === "username" ? "left" : it.dataIndex === "operate" ? "right" : "", + fixed: it.dataIndex === "username" ? "left" : it.dataIndex === "operate" ? "right" : it.fixed ? it.fixed : false, ellipsis: true })); if (!_.isEmpty(columns)) { diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js index 1eb1a76d..1edd3e56 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFilesEditSlide/index.js @@ -112,7 +112,8 @@ class Index extends Component { if (salaryForm.isValid) { const { payStartDate, payEndDate, ...extraParams } = salaryForm.getFormParams(); const payload = { - salaryArchiveId, status: _.toUpper(runStatuses), + //status-非系统人员保存与定薪人员一样 + salaryArchiveId, status: _.toUpper(runStatuses === "ext" ? "fixed" : runStatuses), payStartDate, payEndDate, salaryArchiveItems: _.map(salaryArchiveItems, o => ({ salaryItemId: o.salaryItemId, @@ -152,7 +153,7 @@ class Index extends Component { }}>{getLabel(543310, "发起调薪")} } { - runStatuses === "fixed" && showOperateBtn && + (runStatuses === "fixed" || runStatuses === "ext") && showOperateBtn && ]} > -
{getSearchs(payrollCopyForm, copyConditions, 1, false)}
+
{getSearchs(payrollCopyForm, conditions, 1, false)}
); } diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js index 56b9bfde..770c1665 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js @@ -129,7 +129,7 @@ class Index extends Component { hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"], helpfulTitle: getLabel(544273, "开启后,还需在计划任务中配置定时任务,执行自动确认任务;邮箱端查看工资单暂不支持确认及反馈;") }; - } else if (getKey(o) === "feedbackUrl") { + } else if (getKey(o) === "feedbackUrl" || getKey(o) === "mobileFeedbackUrl") { return { ...o, hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"] @@ -298,7 +298,7 @@ class Index extends Component { if (it.title === getLabel(544092, "工资单确认反馈设置")) { return { ...it, items: _.map(it.items, o => { - if (getKey(o) === "autoAckDays" || getKey(o) === "feedbackUrl") { + if (getKey(o) === "autoAckDays" || getKey(o) === "feedbackUrl" || getKey(o) === "mobileFeedbackUrl") { return { ...o, hide: params[key].value === "0" }; @@ -312,7 +312,11 @@ class Index extends Component { }, () => { payrollTempFeedbackForm.initFormFields(this.state.fbConditions); const ackFeedbackStatus = payrollTempFeedbackForm.getFormParams().ackFeedbackStatus; - if (ackFeedbackStatus === "0") payrollTempFeedbackForm.updateFields({ autoAckDays: "7", feedbackUrl: "/" }); + if (ackFeedbackStatus === "0") payrollTempFeedbackForm.updateFields({ + autoAckDays: "7", + feedbackUrl: "/", + mobileFeedbackUrl: "/" + }); }); } setHasBeenModify(true); diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js index bc4fd61f..cb9c2402 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js @@ -22,7 +22,7 @@ class Index extends Component { this.state = { loading: false, columns: [], dataSource: [], selectedRowKeys: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, delLoading: false, - copyDialog: { visible: false, title: "", copyId: "" }, + copyDialog: { visible: false, title: "", copyId: "", salarySobId: "" }, tmplSlide: { visible: false, tmplId: "", top: 0, width: 792, height: 100, measureT: "%", measureX: "px", measureY: "%" @@ -80,7 +80,7 @@ class Index extends Component { }; handleOpts = ({ key }, record) => { const { copyDialog, tmplSlide, selectedRowKeys } = this.state; - const { id } = record; + const { id, salarySobId } = record; switch (key) { case "edit": this.setState({ @@ -89,7 +89,10 @@ class Index extends Component { break; case "copy": this.setState({ - copyDialog: { ...copyDialog, visible: true, copyId: id, title: getLabel(543599, "复制工资单") } + copyDialog: { + ...copyDialog, visible: true, copyId: id, + salarySobId: salarySobId + "", title: getLabel(543599, "复制工资单") + } }); break; case "del": @@ -175,7 +178,7 @@ class Index extends Component { {/*复制工资单模板*/} this.setState({ - copyDialog: { ...copyDialog, visible: false, copyId: "" } + copyDialog: { ...copyDialog, visible: false, copyId: "", salarySobId: "" } }, () => v === "refresh" && this.getPayrollTemplateList(this.props))} /> {/* 新建编辑工资单模板*/} diff --git a/pc4mobx/hrmSalary/pages/salaryAdjustmentRecords/index.js b/pc4mobx/hrmSalary/pages/salaryAdjustmentRecords/index.js new file mode 100644 index 00000000..5399f8dd --- /dev/null +++ b/pc4mobx/hrmSalary/pages/salaryAdjustmentRecords/index.js @@ -0,0 +1,25 @@ +/* + * Author: 黎永顺 + * name:调薪记录 + * Description: + * Date: 2024/1/25 + */ +import React, { Component } from "react"; +import { WeaLocaleProvider, WeaTools } from "ecCom"; +import SalaryAdjustmentRecords from "../mySalaryBenefits/components/SalaryAdjustmentRecords"; +import "../historicalPayroll/index.less"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + render() { + const employeeId = WeaTools.getUrlParams().hrmResourceID; + return ( +
+ +
+ ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/pages/salaryFile/salaryItemChangeList.js b/pc4mobx/hrmSalary/pages/salaryFile/salaryItemChangeList.js index de239ae8..13706751 100644 --- a/pc4mobx/hrmSalary/pages/salaryFile/salaryItemChangeList.js +++ b/pc4mobx/hrmSalary/pages/salaryFile/salaryItemChangeList.js @@ -83,7 +83,7 @@ export default class SalaryItemChangeList extends React.Component { } return { ...o, width, render: text => ({text}) }; }); - if (showOperateBtn && selectedKey === "fixed") { + if (showOperateBtn && (selectedKey === "fixed" || selectedKey === "ext")) { columns = [...columns, { dataIndex: "operate", fixed: "right", width: 120, title: "操作", render: (text, record) => { diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js index e7c215c2..d5b1bc66 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js @@ -1,5 +1,5 @@ import React from "react"; -import { WeaHelpfulTip, WeaInputNumber, WeaSelect, WeaTab, WeaTable } from "ecCom"; +import { WeaHelpfulTip, WeaInputNumber, WeaSelect, WeaTab } from "ecCom"; import { Switch, Table } from "antd"; import { insertUpdateColumns } from "./columns"; import { inject, observer } from "mobx-react"; @@ -114,7 +114,13 @@ export default class DefaultSlideForm extends React.Component { const { programmeStore, requestParams, onChange } = this.props; const { defaultPersonDataSource, defaultCompanyDataSource } = programmeStore; insertUpdateColumns.map(item => { - if (item.dataIndex == "isPayment") { + if (item.dataIndex == "insuranceName") { + item.render = (text) => { + return ( +
{text}
+ ); + }; + } else if (item.dataIndex == "isPayment") { item.render = (text, record) => { return ( { if (record.paymentCycle === "0") { return ( -
基数*比例+固定费用
+
基数*比例+固定费用
); } else { return ( diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/index.less b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/index.less index 3ccc9d13..79827d28 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/index.less +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/index.less @@ -23,6 +23,12 @@ .tableWrapper { margin-top: 10px; + .ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .ant-table-fixed-left { tr { height: 63px !important; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.js index 3c130802..30ec27a6 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.js @@ -24,8 +24,8 @@ export default class StandingBook extends React.Component { value: "", selectedKey: "0", tableParams: { - startTime: moment(new Date()).startOf("year").format("YYYY-MM"), - endTime: moment(new Date()).startOf("month").format("YYYY-MM"), + startTime: moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), + endTime: moment(new Date()).endOf("year").format("YYYY-MM"), paymentOrganization: "" }, current: 1, diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareEditArchiveSlide/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareEditArchiveSlide/index.js index 87aab6f1..03a89212 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareEditArchiveSlide/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareEditArchiveSlide/index.js @@ -9,6 +9,7 @@ import { inject, observer } from "mobx-react"; import { WeaLocaleProvider, WeaSlideModal, WeaTools } from "ecCom"; import * as API from "../../../../../apis/welfareArchive"; import { getTaxAgentSelectList } from "../../../../../apis/taxAgent"; +import { sysinfo } from "../../../../../apis/ruleconfig"; import { getWelfareSearchsForm, welfareConditions } from "../../config"; import { getConditionDomkeys, toDecimal_n } from "../../../../../util"; import { Button, message, Modal } from "antd"; @@ -38,34 +39,34 @@ class Index extends Component { } getBaseForm = async (props) => { - const { data: taxAgentList } = await getTaxAgentSelectList(); + const [taxAgentListData, sysInfoData] = await Promise.all([getTaxAgentSelectList(), sysinfo()]); const { archivesStore: { welfareProfileForm }, socialBase, fundBase, otherBase, runStatuses, employeeId, paymentOrganization, socialBaseData, fundBaseData, othersBaseData, showOperateBtn } = props; let socialComData = {}, fundComData = {}, otherComData = {}; - if (!_.isNil(socialBase.comItems) && !_.isNil(socialBase.comData)) { + if (!_.isNil(socialBase.comItems)) { _.forEach(getConditionDomkeys(socialBase.comItems), o => { socialComData = { ...socialComData, - [`${o}_com`]: socialBase.comData[o] + [`${o}_com`]: !_.isNil(socialBase.comData) ? socialBase.comData[o] : _.find(socialBase.comItems[0].items, k => getKey(k) === o).min }; }); } - if (!_.isNil(fundBase.comItems) && !_.isNil(fundBase.comData)) { + if (!_.isNil(fundBase.comItems)) { _.forEach(getConditionDomkeys(fundBase.comItems), o => { fundComData = { ...fundComData, - [`${o}_com`]: fundBase.comData[o] + [`${o}_com`]: !_.isNil(fundBase.comData) ? fundBase.comData[o] : _.find(fundBase.comItems[0].items, k => getKey(k) === o).min }; }); } - if (!_.isNil(otherBase.comItems) && !_.isNil(otherBase.comData)) { + if (!_.isNil(otherBase.comItems)) { _.forEach(getConditionDomkeys(otherBase.comItems), o => { otherComData = { ...otherComData, - [`${o}_com`]: otherBase.comData[o] + [`${o}_com`]: !_.isNil(otherBase.comData) ? otherBase.comData[o] : _.find(otherBase.comItems[0].items, k => getKey(k) === o).min }; }); } @@ -76,7 +77,8 @@ class Index extends Component { const formData = { ...result, ...socialBaseData, ...fundBaseData, ...othersBaseData, ...socialBase.data, ...fundBase.data, ...otherBase.data, - ...socialComData, ...fundComData, ...otherComData + ...socialComData, ...fundComData, ...otherComData, + welBaseAutoAdjust: sysInfoData.data.welBaseAutoAdjust === "1" }; this.setState({ formData, @@ -95,7 +97,7 @@ class Index extends Component { items: _.map(o.items, g => { return { ...g, label: getLabel(g.lanId, g.label), - options: _.map(taxAgentList, j => ({ key: j.id, showname: j.content })) + options: _.map(taxAgentListData.data, j => ({ key: j.id, showname: j.content })) }; }) }; @@ -111,6 +113,11 @@ class Index extends Component { viewAttr: (runStatuses === "4,5" || !showOperateBtn) ? 1 : g.viewAttr, options: _.find(props[`${o.title}Items`], j => j.domkey[0] === key).options }; + } else if (getKey(g).indexOf("StartTime") !== -1) { + return { + ...g, label: getLabel(g.lanId, g.label), + viewAttr: (formData[o["typename"]][`${o.title}Name`] && showOperateBtn) ? 3 : g.viewAttr + }; } return { ...g, label: getLabel(g.lanId, g.label), @@ -154,7 +161,7 @@ class Index extends Component { return { baseForm: JSON.stringify({ ...formData[welfareType], ..._.reduce(_.keys(formData[welfareType]), (pre, cur) => { - if (welfareData[cur]) return { ...pre, [cur]: welfareData[cur] }; + if (welfareData[cur] || !_.isNil(welfareData[cur])) return { ...pre, [cur]: welfareData[cur] }; return { ...pre }; }, {}), underTake: welfareData[`${underTakeType}UnderTake`] diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js index 17bb4629..05a7381a 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js @@ -167,14 +167,14 @@ class Index extends Component { this.setState({ pageInfo: { ...pageInfo, current, pageSize, total }, dataSource, columns: _.map(columns, o => { - const { column: dataIndex, text: title, width } = o; + const { column: dataIndex, text: title, width, fixed } = o; if (dataIndex === "employeeName") { return { dataIndex, title, width, fixed: "left", ellipsis: true }; } return { - dataIndex, title, width, ellipsis: true + dataIndex, title, width, ellipsis: true, fixed: fixed || false }; }) }, () => { diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js index b492bf50..580f695b 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js @@ -791,8 +791,8 @@ const BenefitBaseComponent = (props) => { com: onChange(getKey(child), v)} viewAttr={(runStatuses === "4,5" || !showOperateBtn) ? 1 : 2} />