Merge branch 'feature/2.8.3.2307.02-工资单反馈' into develop
# Conflicts: # pc4mobx/hrmSalary/pages/mobilePayroll/index.js # pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js # pc4mobx/hrmSalary/pages/ruleConfig/index.js
This commit is contained in:
commit
f15ace5c33
|
|
@ -375,6 +375,10 @@ export const sendMobileCode = (params) => {
|
|||
export const payrollCheckType = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/payrollCheckType", "GET", params);
|
||||
};
|
||||
//工资单-反馈验证
|
||||
export const feedBackSalaryBill = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/feedBackSalaryBill", "GET", params);
|
||||
};
|
||||
//工资单-确认
|
||||
export const confirmSalaryBill = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/confirmSalaryBill", "GET", params);
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@ import React from "react";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { getQueryString } from "../../util/url";
|
||||
import { WeaDialog, WeaError, WeaInput, WeaLocaleProvider } from "ecCom";
|
||||
import { Button, message } from "antd";
|
||||
import { Button, message, Modal } from "antd";
|
||||
import Authority from "../mySalary/authority";
|
||||
import ComputerTemplate from "../payroll/templatePreview/computerTemplate";
|
||||
import PhoneTemplate from "../payroll/templatePreview/phoneTemplate";
|
||||
import "../payroll/templatePreview/index.less";
|
||||
import * as API from "../../apis/mySalaryBenefits";
|
||||
import { payrollCheckType, confirmSalaryBill } from "../../apis/payroll";
|
||||
import { confirmSalaryBill, feedBackSalaryBill, payrollCheckType } from "../../apis/payroll";
|
||||
import CaptchaModal from "../../components/captchaModal";
|
||||
import { ConfirmBtns } from "../mySalary/mySalaryView";
|
||||
import PassSetDialog from "./passSetDialog";
|
||||
import { ConfirmBtns } from "../mySalary/mySalaryView";
|
||||
import "./index.less";
|
||||
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
@inject("mySalaryStore")
|
||||
@observer
|
||||
|
|
@ -125,10 +125,22 @@ export default class MobilePayroll extends React.Component {
|
|||
});
|
||||
};
|
||||
handleGoFeedback = () => {
|
||||
const { mySalaryBillData } = this.state;
|
||||
const { salaryTemplate } = mySalaryBillData;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
Modal.confirm({
|
||||
title: getLabel(131329, "信息确认"),
|
||||
content: getLabel(111, "请确认薪资信息是有误,进行反馈并发起反馈流程。"),
|
||||
onOk: () => {
|
||||
feedBackSalaryBill({ salaryInfoId: getQueryString("id") }).then(({ status, errorMsg }) => {
|
||||
if (status) {
|
||||
const { mySalaryBillData } = this.state;
|
||||
const { salaryTemplate } = mySalaryBillData;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
} else {
|
||||
message.error(errorMsg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ export const condition = [
|
|||
labelcol: 6,
|
||||
detailtype: 3,
|
||||
rules: "required|string",
|
||||
viewAttr: 3
|
||||
viewAttr: 3,
|
||||
type: "password"
|
||||
},
|
||||
{
|
||||
colSpan: 1,
|
||||
|
|
@ -47,7 +48,8 @@ export const condition = [
|
|||
label: getLabel(511112, "确认密码"),
|
||||
labelcol: 6,
|
||||
rules: "required|string",
|
||||
viewAttr: 3
|
||||
viewAttr: 3,
|
||||
type: "password"
|
||||
},
|
||||
{
|
||||
colSpan: 1,
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { Button, message } from "antd";
|
||||
import { Button, message, Modal } from "antd";
|
||||
import { WeaLocaleProvider } from "ecCom";
|
||||
import Authority from "./authority";
|
||||
import ComputerTemplate from "../payroll/templatePreview/computerTemplate";
|
||||
import { confirmSalaryBill, payrollCheckType } from "../../apis/payroll";
|
||||
import { confirmSalaryBill, feedBackSalaryBill, payrollCheckType } from "../../apis/payroll";
|
||||
import CaptchaModal from "../../components/captchaModal";
|
||||
import "../payroll/templatePreview/index.less";
|
||||
|
||||
|
|
@ -55,10 +55,23 @@ class MySalaryView extends Component {
|
|||
});
|
||||
};
|
||||
handleGoFeedback = () => {
|
||||
const { mySalaryStore } = this.state;
|
||||
const { salaryTemplate } = mySalaryStore;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
Modal.confirm({
|
||||
title: getLabel(131329, "信息确认"),
|
||||
content: getLabel(111, "请确认薪资信息是有误,进行反馈并发起反馈流程。"),
|
||||
onOk: () => {
|
||||
const { params: { salaryInfoId } } = this.props;
|
||||
feedBackSalaryBill({ salaryInfoId }).then(({ status, errorMsg }) => {
|
||||
if (status) {
|
||||
const { mySalaryStore } = this.state;
|
||||
const { salaryTemplate } = mySalaryStore;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
} else {
|
||||
message.error(errorMsg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
|
|
|
|||
|
|
@ -506,7 +506,7 @@ export default class Payroll extends React.Component {
|
|||
className="slideOuterWrapper"
|
||||
visible={this.state.editSlideVisible}
|
||||
top={0}
|
||||
width={50}
|
||||
width={65}
|
||||
height={100}
|
||||
direction="right"
|
||||
measure="%"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import React from "react";
|
|||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaHelpfulTip,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
|
|
@ -203,6 +204,9 @@ export default class BaseInformForm extends React.Component {
|
|||
autoSendCycleType: value === "1" ? 1 : null
|
||||
});
|
||||
}}/>
|
||||
<WeaHelpfulTip title={getLabel(111, "开启后,还需在计划任务中配置定时任务,执行工资单定时发送任务;")}
|
||||
style={{ marginLeft: 10 }}
|
||||
placement="top" width={200}/>
|
||||
</WeaFormItem>
|
||||
{
|
||||
autoSendStatus &&
|
||||
|
|
@ -235,8 +239,13 @@ export default class BaseInformForm extends React.Component {
|
|||
<WeaFormItem label={getLabel(111, "自动确认超时天数")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaInputNumber
|
||||
min={1} value={autoAckDays} viewAttr={3}
|
||||
style={{ width: "95%" }}
|
||||
onChange={autoAckDays => this.handleChange({ autoAckDays })}
|
||||
/>
|
||||
<WeaHelpfulTip
|
||||
title={getLabel(111, "开启后,还需在计划任务中配置定时任务,执行自动确认任务;邮箱端查看工资单暂不支持确认及反馈;")}
|
||||
style={{ marginLeft: 10 }}
|
||||
placement="top" width={200}/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "反馈流程地址")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaInput
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import React, { Component } from "react";
|
|||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaHelpfulTip,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
|
|
@ -136,11 +137,16 @@ class TemplateBaseSettings extends Component {
|
|||
<WeaFormItem label={getLabel(111, "自动确认超时天数")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaInputNumber
|
||||
min={1} value={autoAckDays} viewAttr={3}
|
||||
style={{ width: "90%" }}
|
||||
onChange={autoAckDays => this.setState({
|
||||
ackFeedbackSetting: {
|
||||
...ackFeedbackSetting, autoAckDays
|
||||
}
|
||||
})}/>
|
||||
<WeaHelpfulTip
|
||||
title={getLabel(111, "开启后,还需在计划任务中配置定时任务,执行自动确认任务;邮箱端查看工资单暂不支持确认及反馈;")}
|
||||
style={{ marginLeft: 10 }}
|
||||
placement="top" width={200}/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "反馈流程地址")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaInput
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class Index extends Component {
|
|||
const { taxAgentStore } = this.props;
|
||||
const { statuses, archiveStatus, taxAgentId } = this.state.searchItemsValue;
|
||||
const { archiveStatusList, userStatusList } = this.state;
|
||||
const { taxAgentAdminOption } = taxAgentStore;
|
||||
const { taxAgentOption } = taxAgentStore;
|
||||
return (
|
||||
<WeaFormItem
|
||||
label={value}
|
||||
|
|
@ -145,7 +145,7 @@ class Index extends Component {
|
|||
options={key === "statuses" ? userStatusList : key === "taxAgentId" ? [{
|
||||
key: "",
|
||||
showname: ""
|
||||
}, ...taxAgentAdminOption] : archiveStatusList}
|
||||
}, ...taxAgentOption] : archiveStatusList}
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/>
|
||||
</WeaFormItem>
|
||||
);
|
||||
|
|
@ -153,8 +153,8 @@ class Index extends Component {
|
|||
|
||||
componentDidMount() {
|
||||
const { taxAgentStore } = this.props;
|
||||
const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
|
||||
getTaxAgentSelectListAsAdmin();
|
||||
const { fetchTaxAgentOption } = taxAgentStore;
|
||||
fetchTaxAgentOption();
|
||||
this.queryTabTotal();
|
||||
this.queryList("/api/bs/hrmsalary/salaryArchive/pendingList");
|
||||
this.getSysinfo();
|
||||
|
|
|
|||
|
|
@ -362,24 +362,24 @@ export default class Index extends Component {
|
|||
</WeaFormItem>
|
||||
</WeaSearchGroup>
|
||||
}
|
||||
<WeaSearchGroup title={getLabel(543359, "报税规则")} showGroup center>
|
||||
<WeaFormItem label={getLabel(543353, "个税申报")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||
<WeaCheckbox display="switch" value={operateTaxDeclaration !== "0" ? "1" : "0"}
|
||||
<WeaSearchGroup title={getLabel(111, "算税规则")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "系统算税")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||
<WeaCheckbox display="switch" value={operateTaxDeclaration}
|
||||
onChange={val => this.handleChange("operateTaxDeclaration", val)}/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "允许个税申报撤回")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||
<WeaFormItem label={getLabel(111, "撤回申报表")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||
<WeaCheckbox display="switch" value={withDrawTaxDeclaration}
|
||||
onChange={val => this.handleChange("withDrawTaxDeclaration", val)}/>
|
||||
</WeaFormItem>
|
||||
</WeaSearchGroup>
|
||||
<WeaSearchGroup title={getLabel(111, "档案删除规则")} showGroup center>
|
||||
<WeaSearchGroup title={getLabel(538004, "薪资档案")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "允许删除档案")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||
<WeaCheckbox display="switch" value={confValue}
|
||||
onChange={val => this.handleChange("confValue", val)}/>
|
||||
</WeaFormItem>
|
||||
</WeaSearchGroup>
|
||||
<WeaSearchGroup title={getLabel(111, "薪资核算人员匹配规则")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "匹配规则")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaSearchGroup title={getLabel(538011, "薪资核算")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "核算人员匹配规则")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaSelect options={matchRuleOptions} value={matchRule}
|
||||
onChange={val => this.handleChange("matchRule", val)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ export default class NormalIndex extends Component {
|
|||
const { loading } = standingBookStore;
|
||||
const btn1 = [
|
||||
<Button type="primary" onClick={this.handleBatchDelete}>批量删除</Button>,
|
||||
<Button type="primary" onClick={this.handleAdd}>添加该月正常缴纳人员</Button>
|
||||
<Button type="primary" onClick={this.handleAdd}>添加缴纳人员</Button>
|
||||
];
|
||||
const btn2 = [
|
||||
<Button type="primary" onClick={this.handleCommonAccountClick}>核算</Button>,
|
||||
|
|
|
|||
Loading…
Reference in New Issue