Merge branch 'feature/2.8.3.2307.02-工资单反馈' into release/2.8.3.2307.01
# 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
25f2c2efd6
|
|
@ -375,6 +375,10 @@ export const sendMobileCode = (params) => {
|
|||
export const payrollCheckType = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/payrollCheckType", "GET", params);
|
||||
};
|
||||
//工资单-确认
|
||||
export const confirmSalaryBill = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/confirmSalaryBill", "GET", params);
|
||||
};
|
||||
|
||||
// 工资单基础设置-获取设置列表
|
||||
export const getSalaryBillBaseSetForm = (id) => {
|
||||
|
|
|
|||
|
|
@ -63,3 +63,7 @@ export const reportStatisticsReportSave = (params) => {
|
|||
export const reportGetForm = params => {
|
||||
return WeaTools.callApi("/api/bs/hrmsalary/report/statistics/report/getForm", "GET", params);
|
||||
};
|
||||
//工资单反馈
|
||||
export const saveSalarySendFeedback = (params) => {
|
||||
return postFetch("/api/bs/hrmsalary/sys/saveSalarySendFeedback", params);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,9 +8,10 @@ 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 } from "../../apis/payroll";
|
||||
import { confirmSalaryBill, payrollCheckType } from "../../apis/payroll";
|
||||
import CaptchaModal from "../../components/captchaModal";
|
||||
import PassSetDialog from "./passSetDialog";
|
||||
import { ConfirmBtns } from "../mySalary/mySalaryView";
|
||||
import "./index.less";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
|
@ -113,6 +114,22 @@ export default class MobilePayroll extends React.Component {
|
|||
}
|
||||
return params;
|
||||
};
|
||||
confirmSalaryBill = () => {
|
||||
confirmSalaryBill({ salaryInfoId: getQueryString("id") }).then(({ status, errormsg }) => {
|
||||
if (status) {
|
||||
message.success(getLabel(30700, "操作成功"));
|
||||
this.getMySalaryBill(getQueryString("id"));
|
||||
} else {
|
||||
message.error(errormsg || getLabel(30651, "操作失败"));
|
||||
}
|
||||
});
|
||||
};
|
||||
handleGoFeedback = () => {
|
||||
const { mySalaryBillData } = this.state;
|
||||
const { salaryTemplate } = mySalaryBillData;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { mySalaryStore: { clearLoading, pwdForm } } = this.props;
|
||||
|
|
@ -156,7 +173,15 @@ export default class MobilePayroll extends React.Component {
|
|||
isPreview
|
||||
salaryTemplateShowSet={JSON.stringify(mySalaryBillData.salaryTemplate)}
|
||||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : []}
|
||||
/>
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0") &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
/>
|
||||
}
|
||||
</PhoneTemplate>
|
||||
</div>
|
||||
</div>
|
||||
</Authority>
|
||||
|
|
@ -169,7 +194,15 @@ export default class MobilePayroll extends React.Component {
|
|||
isPreview
|
||||
salaryTemplateShowSet={JSON.stringify(mySalaryBillData.salaryTemplate)}
|
||||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : JSON.stringify([])}
|
||||
/>
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryBillData.confirmStatus) || mySalaryBillData.confirmStatus === "0") &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
/>
|
||||
}
|
||||
</ComputerTemplate>
|
||||
</div>
|
||||
</div>
|
||||
</Authority>
|
||||
|
|
|
|||
|
|
@ -6,12 +6,16 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { Button, message } from "antd";
|
||||
import { WeaLocaleProvider } from "ecCom";
|
||||
import Authority from "./authority";
|
||||
import ComputerTemplate from "../payroll/templatePreview/computerTemplate";
|
||||
import { payrollCheckType } from "../../apis/payroll";
|
||||
import { confirmSalaryBill, payrollCheckType } from "../../apis/payroll";
|
||||
import CaptchaModal from "../../components/captchaModal";
|
||||
import "../payroll/templatePreview/index.less";
|
||||
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
|
||||
@inject("mySalaryStore")
|
||||
@observer
|
||||
class MySalaryView extends Component {
|
||||
|
|
@ -37,6 +41,26 @@ class MySalaryView extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
confirmSalaryBill = () => {
|
||||
const { mySalaryStore: { getMySalaryBill }, params: { salaryInfoId } } = this.props;
|
||||
confirmSalaryBill({ salaryInfoId }).then(({ status, errormsg }) => {
|
||||
if (status) {
|
||||
message.success(getLabel(30700, "操作成功"));
|
||||
getMySalaryBill(Number(salaryInfoId)).then(data => {
|
||||
this.setState({ mySalaryStore: data });
|
||||
});
|
||||
} else {
|
||||
message.error(errormsg || getLabel(30651, "操作失败"));
|
||||
}
|
||||
});
|
||||
};
|
||||
handleGoFeedback = () => {
|
||||
const { mySalaryStore } = this.state;
|
||||
const { salaryTemplate } = mySalaryStore;
|
||||
const { feedbackUrl } = salaryTemplate;
|
||||
window.open(`${window.ecologyContentPath || ""}${feedbackUrl}`);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { captchaVisible, mySalaryStore } = this.state;
|
||||
const { params: { salaryInfoId } } = this.props;
|
||||
|
|
@ -56,7 +80,15 @@ class MySalaryView extends Component {
|
|||
isPreview isMsgPreview
|
||||
salaryTemplateShowSet={salaryTemplateShowSet ? JSON.stringify(salaryTemplateShowSet) : []}
|
||||
salaryItemSet={!_.isEmpty(salaryGroups) ? JSON.stringify([employeeInformation, ...salaryGroups]) : []}
|
||||
/>
|
||||
>
|
||||
{
|
||||
(_.isNil(mySalaryStore.confirmStatus) || mySalaryStore.confirmStatus === "0") &&
|
||||
<ConfirmBtns
|
||||
confirmSalaryBill={this.confirmSalaryBill}
|
||||
goFeedback={this.handleGoFeedback}
|
||||
/>
|
||||
}
|
||||
</ComputerTemplate>
|
||||
</div>
|
||||
</div>
|
||||
</Authority>
|
||||
|
|
@ -71,3 +103,10 @@ class MySalaryView extends Component {
|
|||
}
|
||||
|
||||
export default MySalaryView;
|
||||
|
||||
export const ConfirmBtns = (props) => {
|
||||
return <div className="space">
|
||||
<Button type="primary" onClick={props.confirmSalaryBill}>{getLabel(111, "确认")}</Button>
|
||||
<Button type="ghost" onClick={props.goFeedback}>{getLabel(111, "反馈")}</Button>
|
||||
</div>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -21,10 +21,7 @@ export default class SalarySendList extends React.Component {
|
|||
|
||||
// 发放回调
|
||||
handleGrant(record) {
|
||||
window.open(
|
||||
"/spa/hrmSalary/static/index.html#/main/hrmSalary/payrollGrant?id=" +
|
||||
record.id
|
||||
);
|
||||
window.open(`/spa/hrmSalary/static/index.html#/main/hrmSalary/payrollGrant?id=${record.id}&ackFeedbackStatus=${record.ackFeedbackStatus}`);
|
||||
}
|
||||
|
||||
// 查看详情
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ export default class PayrollGrant extends React.Component {
|
|||
selectedKey: "0",
|
||||
progressVisible: false,
|
||||
progress: 0,
|
||||
showFeedbackColumn: false,
|
||||
payrollPartModalParams: {
|
||||
visible: false,
|
||||
title: "工资单发放",
|
||||
|
|
@ -39,7 +40,10 @@ export default class PayrollGrant extends React.Component {
|
|||
componentWillMount() {
|
||||
const { selectedKey } = this.state;
|
||||
let id = getQueryString("id");
|
||||
this.setState({ currentId: id });
|
||||
this.setState({
|
||||
currentId: id,
|
||||
showFeedbackColumn: getQueryString("ackFeedbackStatus") === "1"
|
||||
});
|
||||
const {
|
||||
payrollStore: { getPayrollInfo, getInfoList, getPaySa }
|
||||
} = this.props;
|
||||
|
|
@ -299,11 +303,12 @@ export default class PayrollGrant extends React.Component {
|
|||
};
|
||||
|
||||
getColumns = () => {
|
||||
const { selectedKey, showFeedbackColumn } = this.state;
|
||||
const { payrollStore } = this.props;
|
||||
const { salaryGrantTableStore: columns, salarySendDetailBaseInfo } = payrollStore;
|
||||
const notShowGrantOrWithdraw = salarySendDetailBaseInfo.haveBackCalc === 1 && salarySendDetailBaseInfo.salaryAcctType === "0";
|
||||
return _.map([
|
||||
...toJS(columns),
|
||||
..._.filter(toJS(columns), it => ((selectedKey === "0" && it.dataIndex !== "billReadStatus" && it.dataIndex !== "billConfirmStatus") || (selectedKey === "1" && !showFeedbackColumn && it.dataIndex !== "billReadStatus" && it.dataIndex !== "billConfirmStatus") || (selectedKey === "1" && showFeedbackColumn))),
|
||||
{
|
||||
title: "操作",
|
||||
key: "",
|
||||
|
|
@ -602,6 +607,7 @@ export default class PayrollGrant extends React.Component {
|
|||
{
|
||||
this.state.progressVisible &&
|
||||
<ProgressModal
|
||||
title={getLabel(111, "正在发放中,请稍后...")}
|
||||
visible={this.state.progressVisible}
|
||||
onCancel={() => {
|
||||
this.setState({ progressVisible: false, progress: 0 });
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
import React from "react";
|
||||
import { WeaCheckbox, WeaFormItem, WeaInput, WeaLocaleProvider, WeaSearchGroup, WeaSelect, WeaTimePicker } from "ecCom";
|
||||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
WeaSearchGroup,
|
||||
WeaSelect,
|
||||
WeaTimePicker,
|
||||
} from "ecCom";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { getReplenishRuleSetOptions } from "../../../apis/payroll";
|
||||
import { commonEnumList } from "../../../apis/payrollFiles";
|
||||
|
|
@ -91,17 +100,8 @@ export default class BaseInformForm extends React.Component {
|
|||
render() {
|
||||
const { request, options, replenishRuleOptions, salaryMonthOptions } = this.state;
|
||||
const {
|
||||
salarySob,
|
||||
name,
|
||||
description,
|
||||
replenishName,
|
||||
replenishRule,
|
||||
reissueRule,
|
||||
msgStatus,
|
||||
emailStatus,
|
||||
autoSendStatus,
|
||||
autoSendDayOfMonth,
|
||||
autoSendTimeOfDay,
|
||||
salarySob, name, description, replenishName, replenishRule, reissueRule, msgStatus, emailStatus,
|
||||
ackFeedbackStatus, autoAckDays, feedbackUrl, autoSendStatus, autoSendDayOfMonth, autoSendTimeOfDay,
|
||||
autoSendCycleType
|
||||
} = request;
|
||||
|
||||
|
|
@ -220,6 +220,34 @@ export default class BaseInformForm extends React.Component {
|
|||
</WeaFormItem>
|
||||
}
|
||||
</WeaSearchGroup>
|
||||
<WeaSearchGroup title={getLabel(111, "工资单确认反馈设置")} showGroup needTigger col={1}
|
||||
className="payrollBaseInfoWrapper">
|
||||
<WeaFormItem label={getLabel(111, "启用工资单确认")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaCheckbox value={ackFeedbackStatus ? "1" : "0"} display="switch"
|
||||
onChange={value => this.hanldeChange({
|
||||
ackFeedbackStatus: value === "1",
|
||||
autoAckDays: 7,
|
||||
feedbackUrl: "/"
|
||||
})}/>
|
||||
</WeaFormItem>
|
||||
{
|
||||
ackFeedbackStatus &&
|
||||
<React.Fragment>
|
||||
<WeaFormItem label={getLabel(111, "自动确认超时天数")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaInputNumber
|
||||
min={1} value={autoAckDays} viewAttr={3}
|
||||
onChange={autoAckDays => this.hanldeChange({ autoAckDays })}
|
||||
/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "反馈流程地址")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaInput
|
||||
value={feedbackUrl} viewAttr={3}
|
||||
onChange={feedbackUrl => this.hanldeChange({ feedbackUrl })}
|
||||
/>
|
||||
</WeaFormItem>
|
||||
</React.Fragment>
|
||||
}
|
||||
</WeaSearchGroup>
|
||||
</React.Fragment>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,16 @@
|
|||
* Date: 2023/6/12
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaCheckbox, WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaSelect } from "ecCom";
|
||||
import { message } from "antd";
|
||||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
WeaSearchGroup,
|
||||
WeaSelect
|
||||
} from "ecCom";
|
||||
import { message, Modal } from "antd";
|
||||
import { getSalaryBillBaseSetForm, salaryBillBaseSetSave } from "../../apis/payroll";
|
||||
import WaterMarkSetModal from "./components/waterMarkSetModal";
|
||||
import "./index.less";
|
||||
|
|
@ -22,6 +30,11 @@ class TemplateBaseSettings extends Component {
|
|||
wmSetting: null,
|
||||
watermarkSet: {
|
||||
visible: false, watermarkSetting: null
|
||||
},
|
||||
ackFeedbackSetting: {
|
||||
ackStatus: "0",
|
||||
autoAckDays: 7,
|
||||
feedBackUrl: ""
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -34,9 +47,10 @@ class TemplateBaseSettings extends Component {
|
|||
const { watermarkSet } = this.state;
|
||||
getSalaryBillBaseSetForm().then(({ status, data }) => {
|
||||
if (status) {
|
||||
const { watermarkStatus, watermark = "DEFAULT", watermarkSetting } = data;
|
||||
const { watermarkStatus, watermark = "DEFAULT", watermarkSetting, ackFeedbackSetting } = data;
|
||||
this.setState({
|
||||
watermark, watermarkStatus: watermarkStatus ? "1" : "0",
|
||||
watermark, watermarkStatus: watermarkStatus ? "1" : "0", ackFeedbackSetting,
|
||||
wmSetting: { wmSetting: watermarkSetting },
|
||||
watermarkSet: {
|
||||
...watermarkSet,
|
||||
watermarkSetting
|
||||
|
|
@ -46,8 +60,16 @@ class TemplateBaseSettings extends Component {
|
|||
});
|
||||
};
|
||||
salaryBillBaseSetSave = () => {
|
||||
const { watermark, watermarkStatus, wmSetting } = this.state;
|
||||
let payload = { watermarkStatus: watermarkStatus === "1" };
|
||||
const { watermark, watermarkStatus, wmSetting, ackFeedbackSetting } = this.state;
|
||||
const { feedBackUrl } = ackFeedbackSetting;
|
||||
if (!feedBackUrl) {
|
||||
Modal.warning({
|
||||
title: getLabel(111, "信息确认"),
|
||||
content: getLabel(111, "必要信息不完整,红色*为必填项!")
|
||||
});
|
||||
return;
|
||||
}
|
||||
let payload = { watermarkStatus: watermarkStatus === "1", ackFeedbackSetting: { ...ackFeedbackSetting } };
|
||||
if (watermarkStatus === "1") payload = { ...payload, watermark };
|
||||
if (!_.isNil(wmSetting)) payload = { ...payload, watermark, ...wmSetting };
|
||||
this.props.onChangeLoading(true);
|
||||
|
|
@ -63,40 +85,76 @@ class TemplateBaseSettings extends Component {
|
|||
};
|
||||
|
||||
render() {
|
||||
const { watermarkStatus, watermark, watermarkSet } = this.state;
|
||||
const { watermarkStatus, watermark, watermarkSet, ackFeedbackSetting } = this.state;
|
||||
const { ackStatus, autoAckDays, feedBackUrl } = ackFeedbackSetting;
|
||||
return (
|
||||
<WeaSearchGroup title={getLabel(111, "水印设置")} showGroup needTigger className="waterMarkWrapper">
|
||||
<WeaFormItem label={getLabel(111, "启用水印")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaCheckbox value={watermarkStatus} display="switch"
|
||||
onChange={watermarkStatus => this.setState({ watermarkStatus, watermark: "DEFAULT" })}/>
|
||||
</WeaFormItem>
|
||||
{
|
||||
watermarkStatus === "1" &&
|
||||
<WeaFormItem label={getLabel(111, "水印类型")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaSelect
|
||||
value={watermark}
|
||||
options={[
|
||||
{ key: "DEFAULT", showname: getLabel(111, "系统默认水印") },
|
||||
{ key: "CUSTOM", showname: getLabel(111, "自定义水印") }
|
||||
]}
|
||||
onChange={watermark => this.setState({ watermark })}
|
||||
/>
|
||||
{
|
||||
watermark === "CUSTOM" &&
|
||||
<span className="waterMarkTitle" onClick={() => this.setState({
|
||||
watermarkSet: {
|
||||
...watermarkSet,
|
||||
visible: true
|
||||
}
|
||||
})}>{getLabel(111, "水印设置")}</span>
|
||||
}
|
||||
<WaterMarkSetModal {...watermarkSet}
|
||||
onClose={() => this.setState({ watermarkSet: { ...watermarkSet, visible: false } })}
|
||||
onChange={wmSetting => this.setState({ wmSetting })}
|
||||
/>
|
||||
<React.Fragment>
|
||||
<WeaSearchGroup title={getLabel(111, "水印设置")} showGroup needTigger className="waterMarkWrapper">
|
||||
<WeaFormItem label={getLabel(111, "启用水印")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaCheckbox value={watermarkStatus} display="switch"
|
||||
onChange={watermarkStatus => this.setState({ watermarkStatus, watermark: "DEFAULT" })}/>
|
||||
</WeaFormItem>
|
||||
}
|
||||
</WeaSearchGroup>
|
||||
{
|
||||
watermarkStatus === "1" &&
|
||||
<WeaFormItem label={getLabel(111, "水印类型")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaSelect
|
||||
value={watermark}
|
||||
options={[
|
||||
{ key: "DEFAULT", showname: getLabel(111, "系统默认水印") },
|
||||
{ key: "CUSTOM", showname: getLabel(111, "自定义水印") }
|
||||
]}
|
||||
onChange={watermark => this.setState({ watermark })}
|
||||
/>
|
||||
{
|
||||
watermark === "CUSTOM" &&
|
||||
<span className="waterMarkTitle" onClick={() => this.setState({
|
||||
watermarkSet: {
|
||||
...watermarkSet,
|
||||
visible: true
|
||||
}
|
||||
})}>{getLabel(111, "水印设置")}</span>
|
||||
}
|
||||
<WaterMarkSetModal {...watermarkSet}
|
||||
onClose={() => this.setState({ watermarkSet: { ...watermarkSet, visible: false } })}
|
||||
onChange={wmSetting => this.setState({ wmSetting })}
|
||||
/>
|
||||
</WeaFormItem>
|
||||
}
|
||||
</WeaSearchGroup>
|
||||
<WeaSearchGroup title={getLabel(111, "工资单确认反馈设置")} showGroup needTigger className="waterMarkWrapper">
|
||||
<WeaFormItem label={getLabel(111, "启用工资单确认")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaCheckbox value={ackStatus} display="switch"
|
||||
onChange={ackStatus => this.setState({
|
||||
ackFeedbackSetting: {
|
||||
...ackFeedbackSetting, ackStatus, autoAckDays: 7
|
||||
}
|
||||
})}/>
|
||||
</WeaFormItem>
|
||||
{
|
||||
ackStatus === "1" &&
|
||||
<React.Fragment>
|
||||
<WeaFormItem label={getLabel(111, "自动确认超时天数")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaInputNumber
|
||||
min={1} value={autoAckDays} viewAttr={3}
|
||||
onChange={autoAckDays => this.setState({
|
||||
ackFeedbackSetting: {
|
||||
...ackFeedbackSetting, autoAckDays
|
||||
}
|
||||
})}/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "反馈流程地址")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
|
||||
<WeaInput
|
||||
value={feedBackUrl} viewAttr={3}
|
||||
onChange={feedBackUrl => this.setState({
|
||||
ackFeedbackSetting: {
|
||||
...ackFeedbackSetting, feedBackUrl
|
||||
}
|
||||
})}/>
|
||||
</WeaFormItem>
|
||||
</React.Fragment>
|
||||
}
|
||||
</WeaSearchGroup>
|
||||
</React.Fragment>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ export default class ComputerTemplate extends React.Component {
|
|||
salaryTemplateShowSet.textContentPosition == 2 && salaryTemplateShowSet.textContent
|
||||
}
|
||||
</div>
|
||||
{this.props.children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@
|
|||
margin: 10px;
|
||||
background-color: #FFF;
|
||||
padding: 10px;
|
||||
.descript-title{
|
||||
|
||||
.descript-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
|
|
@ -100,15 +101,18 @@
|
|||
border: 1px solid #fafafa;
|
||||
border-bottom: none;
|
||||
}
|
||||
.descriptions-view{
|
||||
|
||||
.descriptions-view {
|
||||
width: 100%;
|
||||
table{
|
||||
|
||||
table {
|
||||
table-layout: fixed;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
border: 1px solid rgba(0,0,0,.06);
|
||||
.descriptions-row{
|
||||
.descriptions-item-label{
|
||||
border: 1px solid rgba(0, 0, 0, .06);
|
||||
|
||||
.descriptions-row {
|
||||
.descriptions-item-label {
|
||||
background-color: #fafafa;
|
||||
padding: 16px 24px;
|
||||
color: #000000d9;
|
||||
|
|
@ -116,11 +120,12 @@
|
|||
font-size: 12px;
|
||||
line-height: 1.5715;
|
||||
text-align: start;
|
||||
border: 1px solid rgba(0,0,0,.06);
|
||||
border: 1px solid rgba(0, 0, 0, .06);
|
||||
min-width: 100px;
|
||||
max-width: 100px;
|
||||
}
|
||||
.descriptions-item-content{
|
||||
|
||||
.descriptions-item-content {
|
||||
padding: 16px 24px;
|
||||
display: table-cell;
|
||||
flex: 1;
|
||||
|
|
@ -130,10 +135,20 @@
|
|||
word-break: break-word;
|
||||
overflow-wrap: break-word;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid rgba(0,0,0,.06);
|
||||
border: 1px solid rgba(0, 0, 0, .06);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.space {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
|
||||
.ant-btn {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ export default class PhoneTemplate extends React.Component {
|
|||
salaryTemplateShowSet.textContentPosition == 2 && salaryTemplateShowSet.textContent
|
||||
}
|
||||
</div>
|
||||
{this.props.children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -344,8 +344,8 @@ export default class Index extends Component {
|
|||
onChange={val => this.handleChange("confValue", val)}/>
|
||||
</WeaFormItem>
|
||||
</WeaSearchGroup>
|
||||
<WeaSearchGroup title={getLabel(538011, "薪资核算")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "核算人员匹配规则")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaSearchGroup title={getLabel(111, "薪资核算人员匹配规则")} showGroup center>
|
||||
<WeaFormItem label={getLabel(111, "匹配规则")} labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
|
||||
<WeaSelect options={matchRuleOptions} value={matchRule}
|
||||
onChange={val => this.handleChange("matchRule", val)}
|
||||
/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue