bug的修正
This commit is contained in:
parent
ad13e078e4
commit
6768649ac4
|
|
@ -139,6 +139,10 @@ export const getImportTypes = () => {
|
|||
export const commonEnumList = (params) => {
|
||||
return WeaTools.callApi('/api/bs/hrmsalary/common/enum/list', 'GET', params);
|
||||
}
|
||||
// 发起调薪地址
|
||||
export const salaryAdjustmentInfo = (params) => {
|
||||
return WeaTools.callApi('/api/bs/hrmsalary/process/salaryAdjustmentInfo', 'GET', params);
|
||||
}
|
||||
|
||||
// 导入预览
|
||||
export const importPreview = (params) => {
|
||||
|
|
|
|||
|
|
@ -1,24 +1,26 @@
|
|||
import React from 'react'
|
||||
import { Table, Button } from 'antd'
|
||||
import { WeaTable } from "ecCom"
|
||||
import React from "react";
|
||||
import { Button } from "antd";
|
||||
import { WeaTable } from "ecCom";
|
||||
|
||||
export default class ModalStep2 extends React.Component {
|
||||
|
||||
componentWillMount() {
|
||||
this.props.onPreviewDate();
|
||||
}
|
||||
render() {
|
||||
const {dataSource, columns} = this.props;
|
||||
return (
|
||||
<div style={{height: "550px", display: "flex", flexFlow: "column"}}>
|
||||
<div style={{flex: "1", maxHeight: '500px', overflowY: "scroll"}}>
|
||||
<WeaTable dataSource={dataSource} columns={columns} scroll={{x: columns.length * 150 }}/>
|
||||
</div>
|
||||
<div className="footerBtnWrapper" style={{marginTop: "10px", overflow: "hidden", height: "30px"}}>
|
||||
<Button type="primary" style={{float: "right", marginLeft: "10px"}} onClick={this.props.onStep2Next}>下一步</Button>
|
||||
<Button type="default" style={{float: "right"}} onClick={this.props.onStep2Pre}>上一步</Button>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
componentWillMount() {
|
||||
this.props.onPreviewDate();
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, columns } = this.props;
|
||||
return (
|
||||
<div style={{ height: "550px", display: "flex", flexFlow: "column" }}>
|
||||
<div style={{ flex: "1", maxHeight: "500px", overflowY: "scroll" }}>
|
||||
<WeaTable dataSource={dataSource} columns={columns} scroll={{ x: columns.length * 150 }}/>
|
||||
</div>
|
||||
<div className="footerBtnWrapper" style={{ marginTop: "10px", overflow: "hidden", height: "30px" }}>
|
||||
<Button type="primary" style={{ float: "right", marginLeft: "10px" }}
|
||||
onClick={this.props.onStep2Next}>下一步</Button>
|
||||
<Button type="default" style={{ float: "right" }} onClick={this.props.onStep2Pre}>上一步</Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,12 +31,12 @@ export default class AcctResultImportModal extends React.Component {
|
|||
|
||||
// 获取模板
|
||||
handleAccResultTemplateLink() {
|
||||
const { calculateStore: { getImportTemplate } } = this.props;
|
||||
if (_.isEmpty(this.state.modalParam.salaryItemIds)) {
|
||||
message.warning("请选择表单字段");
|
||||
return;
|
||||
}
|
||||
getImportTemplate(this.state.modalParam.salaryItemIds, this.state.modalParam.salaryAcctRecordId);
|
||||
const url= `${window.location.origin}/api/bs/hrmsalary/salaryacct/acctresult/importtemplate/export?salaryItemIds=${this.state.modalParam.salaryItemIds}&salaryAcctRecordId=${this.state.modalParam.salaryAcctRecordId}`;
|
||||
window.open(url, "_self");
|
||||
}
|
||||
|
||||
// 设置步骤
|
||||
|
|
|
|||
|
|
@ -1,165 +1,232 @@
|
|||
import React from 'react'
|
||||
import { Modal, Row, Col, Button } from 'antd'
|
||||
import { inject, observer } from 'mobx-react';
|
||||
import { WeaCheckbox } from 'ecCom'
|
||||
import React from "react";
|
||||
import { Button, Col, Modal, Row } from "antd";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaCheckbox } from "ecCom";
|
||||
|
||||
@inject('calculateStore')
|
||||
@inject("calculateStore")
|
||||
@observer
|
||||
export default class SelectFieldModal extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
fieldData: {}
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
fieldData: {}
|
||||
};
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { calculateStore: { getImportField } } = this.props;
|
||||
getImportField(this.props.id).then(data => {
|
||||
let fieldData = {};
|
||||
let formulaItems = [];
|
||||
formulaItems = data.formulaItems;
|
||||
if (this.props.fieldData.formulaItems) {
|
||||
formulaItems = this.props.fieldData.formulaItems;
|
||||
}
|
||||
let inputItems = [];
|
||||
inputItems = data.inputItems;
|
||||
if (this.props.fieldData.inputItems) {
|
||||
inputItems = this.props.fieldData.inputItems;
|
||||
}
|
||||
let sqlItems = [];
|
||||
sqlItems = data.sqlItems;
|
||||
if (this.props.fieldData.inputItems) {
|
||||
sqlItems = this.props.fieldData.sqlItems;
|
||||
}
|
||||
fieldData.formulaItems = formulaItems;
|
||||
fieldData.inputItems = inputItems;
|
||||
fieldData.sqlItems = sqlItems;
|
||||
|
||||
this.setState({
|
||||
fieldData
|
||||
});
|
||||
this.fieldData = fieldData;
|
||||
});
|
||||
}
|
||||
|
||||
// 公式项改变
|
||||
handleFormalChange(item, value, flag) {
|
||||
item.checked = value == 1 ? true : false;
|
||||
let fieldData = { ...this.state.fieldData };
|
||||
if (flag === "formluma") { // 公式项
|
||||
fieldData.formulaItems.map(fieldItem => {
|
||||
if (item.salaryItemId === fieldItem.salaryItemId) {
|
||||
fieldItem.checked = item.checked;
|
||||
}
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const {calculateStore: { getImportField } } = this.props;
|
||||
getImportField(this.props.id).then(data => {
|
||||
let fieldData = {};
|
||||
let formulaItems = []
|
||||
formulaItems = data.formulaItems
|
||||
if(this.props.fieldData.formulaItems) {
|
||||
formulaItems = this.props.fieldData.formulaItems
|
||||
}
|
||||
let inputItems = []
|
||||
inputItems = data.inputItems
|
||||
if(this.props.fieldData.inputItems) {
|
||||
inputItems = this.props.fieldData.inputItems
|
||||
}
|
||||
fieldData.formulaItems = formulaItems;
|
||||
fieldData.inputItems = inputItems;
|
||||
|
||||
this.setState({
|
||||
fieldData
|
||||
})
|
||||
this.fieldData = fieldData
|
||||
})
|
||||
}
|
||||
|
||||
// 公式项改变
|
||||
handleFormalChange(item, value, flag) {
|
||||
item.checked = value == 1 ? true: false
|
||||
let fieldData = {...this.state.fieldData}
|
||||
if(flag) { // 公式项
|
||||
fieldData.formulaItems.map(fieldItem => {
|
||||
if(item.salaryItemId == fieldItem.salaryItemId) {
|
||||
fieldItem.checked = item.checked
|
||||
}
|
||||
})
|
||||
} else { // 输入项
|
||||
fieldData.inputItems.map(fieldItem => {
|
||||
if(item.salaryItemId == fieldItem.salaryItemId) {
|
||||
fieldItem.checked = item.checked
|
||||
}
|
||||
})
|
||||
});
|
||||
} else if (flag === "inputs") { // 输入项
|
||||
fieldData.inputItems.map(fieldItem => {
|
||||
if (item.salaryItemId === fieldItem.salaryItemId) {
|
||||
fieldItem.checked = item.checked;
|
||||
}
|
||||
this.setState({
|
||||
fieldData
|
||||
})
|
||||
this.fieldData = fieldData
|
||||
}
|
||||
|
||||
// 添加按钮点击回调
|
||||
handleAddClick() {
|
||||
this.props.onAdd(this.fieldData)
|
||||
this.props.onCancel()
|
||||
}
|
||||
|
||||
// 标题checkbox点击
|
||||
handleTitleCheckboxChange(value, flag) {
|
||||
let checked = value == 1 ? true: false
|
||||
let fieldData = {...this.state.fieldData}
|
||||
if(flag === 'formula') {
|
||||
fieldData.formulaItems.map(fieldItem => {
|
||||
fieldItem.checked = checked
|
||||
})
|
||||
} else if(flag === "input") {
|
||||
fieldData.inputItems.map(fieldItem => {
|
||||
fieldItem.checked = checked
|
||||
})
|
||||
});
|
||||
} else if (flag === "sql") { // sql项
|
||||
fieldData.sqlItems.map(fieldItem => {
|
||||
if (item.salaryItemId === fieldItem.salaryItemId) {
|
||||
fieldItem.checked = item.checked;
|
||||
}
|
||||
this.setState({
|
||||
fieldData
|
||||
})
|
||||
});
|
||||
}
|
||||
this.setState({
|
||||
fieldData
|
||||
});
|
||||
this.fieldData = fieldData;
|
||||
}
|
||||
|
||||
this.fieldData = fieldData;
|
||||
// 添加按钮点击回调
|
||||
handleAddClick() {
|
||||
this.props.onAdd(this.fieldData);
|
||||
this.props.onCancel();
|
||||
}
|
||||
|
||||
// 标题checkbox点击
|
||||
handleTitleCheckboxChange(value, flag) {
|
||||
let checked = value == 1 ? true : false;
|
||||
let fieldData = { ...this.state.fieldData };
|
||||
if (flag === "formula") {
|
||||
fieldData.formulaItems.map(fieldItem => {
|
||||
fieldItem.checked = checked;
|
||||
});
|
||||
} else if (flag === "input") {
|
||||
fieldData.inputItems.map(fieldItem => {
|
||||
fieldItem.checked = checked;
|
||||
});
|
||||
} else if (flag === "sql") {
|
||||
fieldData.sqlItems.map(fieldItem => {
|
||||
fieldItem.checked = checked;
|
||||
});
|
||||
}
|
||||
this.setState({
|
||||
fieldData
|
||||
});
|
||||
|
||||
this.fieldData = fieldData;
|
||||
}
|
||||
|
||||
// 只显示已选中
|
||||
showSelectedChange(value) {
|
||||
let checked = value == 1 ? true : false;
|
||||
let fieldData = { ...this.fieldData };
|
||||
if (checked) {
|
||||
if (fieldData.formulaItems) {
|
||||
fieldData.formulaItems = fieldData.formulaItems.filter(fieldItem => fieldItem.checked);
|
||||
}
|
||||
if (fieldData.inputItems) {
|
||||
fieldData.inputItems = fieldData.inputItems.filter(fieldItem => fieldItem.checked);
|
||||
}
|
||||
if (fieldData.sqlItems) {
|
||||
fieldData.sqlItems = fieldData.sqlItems.filter(fieldItem => fieldItem.checked);
|
||||
}
|
||||
}
|
||||
|
||||
// 只显示已选中
|
||||
showSelectedChange(value) {
|
||||
let checked = value == 1 ? true: false
|
||||
let fieldData = {...this.fieldData}
|
||||
if(checked) {
|
||||
if(fieldData.formulaItems) {
|
||||
fieldData.formulaItems = fieldData.formulaItems.filter(fieldItem => fieldItem.checked)
|
||||
}
|
||||
if(fieldData.inputItems) {
|
||||
fieldData.inputItems = fieldData.inputItems.filter(fieldItem => fieldItem.checked)
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({
|
||||
fieldData
|
||||
})
|
||||
}
|
||||
this.setState({
|
||||
fieldData
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const { fieldData } = this.state;
|
||||
return (
|
||||
<Modal
|
||||
visible={this.props.visible}
|
||||
width={800} onCancel={() => {
|
||||
this.props.onCancel();
|
||||
}}
|
||||
footer={null}
|
||||
>
|
||||
<div style={{ height: "50px", lineHeight: "50px" }}>
|
||||
<span style={{ fontSize: "14px", fontWeight: "600" }}>添加表头字段</span>
|
||||
<Button type="primary" style={{ float: "right", marginRight: "50px" }} onClick={() => {
|
||||
this.handleAddClick();
|
||||
}}>添加</Button>
|
||||
</div>
|
||||
<div style={{ marginTop: "20px" }}>
|
||||
<div style={{ height: "40px", lineHeight: "40px" }}>
|
||||
<WeaCheckbox content="公式项" onChange={(value) => {
|
||||
this.handleTitleCheckboxChange(value, "formula");
|
||||
}}/>
|
||||
</div>
|
||||
<div style={{
|
||||
height: "100px",
|
||||
border: "1px solid #f2f2f2",
|
||||
margin: "10px",
|
||||
padding: "10px",
|
||||
overflowY: "scroll"
|
||||
}}>
|
||||
<Row>
|
||||
{fieldData.formulaItems && fieldData.formulaItems.map(item => (
|
||||
<Col span={6}>
|
||||
<WeaCheckbox
|
||||
value={item.checked ? 1 : 0}
|
||||
content={item.salaryItemName}
|
||||
onChange={(value) => {
|
||||
this.handleFormalChange(item, value, "formula");
|
||||
}}/></Col>
|
||||
))}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
render() {
|
||||
const { fieldData } = this.state;
|
||||
return (
|
||||
<Modal visible={this.props.visible} width={800} onCancel={() =>{
|
||||
this.props.onCancel()
|
||||
}}
|
||||
footer={null}
|
||||
>
|
||||
<div style={{height: "50px", lineHeight: "50px"}}>
|
||||
<span style={{fontSize: "14px", fontWeight: "600"}}>添加表头字段</span>
|
||||
<Button type="primary" style={{float: "right", marginRight: "50px"}} onClick={() => {
|
||||
this.handleAddClick()
|
||||
}}>添加</Button>
|
||||
</div>
|
||||
<div style={{marginTop: "20px"}}>
|
||||
<div style={{height: "40px", lineHeight: "40px"}}>
|
||||
<WeaCheckbox content="公式项" onChange={(value) => {
|
||||
this.handleTitleCheckboxChange(value, "formula")
|
||||
}}/>
|
||||
</div>
|
||||
<div style={{height: "100px", border: "1px solid #f2f2f2", margin: "10px", padding: "10px", overflowY: 'scroll'}}>
|
||||
<Row>
|
||||
{ fieldData.formulaItems && fieldData.formulaItems.map(item => (
|
||||
<Col span={6}><WeaCheckbox value={item.checked ? 1 : 0} content={item.salaryItemName} onChange={(value) => {
|
||||
this.handleFormalChange(item, value, true)
|
||||
}}/></Col>
|
||||
))}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ marginTop: "20px" }}>
|
||||
<div style={{ height: "50px", lineHeight: "50px" }}>
|
||||
<WeaCheckbox content="输入项" onChange={(value) => {
|
||||
this.handleTitleCheckboxChange(value, "input");
|
||||
}}/>
|
||||
</div>
|
||||
<div style={{
|
||||
height: "100px",
|
||||
border: "1px solid #f2f2f2",
|
||||
margin: "10px",
|
||||
padding: "10px",
|
||||
overflowY: "scroll"
|
||||
}}>
|
||||
<Row>
|
||||
{fieldData.inputItems && fieldData.inputItems.map(item => (
|
||||
<Col span={6}>
|
||||
<WeaCheckbox
|
||||
value={item.checked ? 1 : 0}
|
||||
content={item.salaryItemName}
|
||||
onChange={(value) => {
|
||||
this.handleFormalChange(item, value, "input");
|
||||
}}/></Col>
|
||||
))}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{marginTop: "20px"}}>
|
||||
<div style={{height: "50px", lineHeight: "50px"}}>
|
||||
<WeaCheckbox content="输入项" onChange={(value) => {
|
||||
this.handleTitleCheckboxChange(value, "input")
|
||||
}}/>
|
||||
</div>
|
||||
<div style={{height: "100px", border: "1px solid #f2f2f2", margin: "10px", padding: "10px", overflowY: "scroll"}}>
|
||||
<Row>
|
||||
{ fieldData.inputItems && fieldData.inputItems.map(item => (
|
||||
<Col span={6}><WeaCheckbox value={item.checked ? 1 : 0} content={item.salaryItemName} onChange={(value) => {
|
||||
this.handleFormalChange(item, value, true)
|
||||
}}/></Col>
|
||||
))}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ marginTop: "20px" }}>
|
||||
<div style={{ height: "50px", lineHeight: "50px" }}>
|
||||
<WeaCheckbox content="SQL项" onChange={(value) => {
|
||||
this.handleTitleCheckboxChange(value, "sql");
|
||||
}}/>
|
||||
</div>
|
||||
<div style={{
|
||||
height: "100px",
|
||||
border: "1px solid #f2f2f2",
|
||||
margin: "10px",
|
||||
padding: "10px",
|
||||
overflowY: "scroll"
|
||||
}}>
|
||||
<Row>
|
||||
{fieldData.sqlItems && fieldData.sqlItems.map(item => (
|
||||
<Col span={6}>
|
||||
<WeaCheckbox
|
||||
value={item.checked ? 1 : 0}
|
||||
content={item.salaryItemName}
|
||||
onChange={(value) => {
|
||||
this.handleFormalChange(item, value, "sql");
|
||||
}}/></Col>
|
||||
))}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{marginTop: "20px"}}>
|
||||
<WeaCheckbox content="只显示已选中" onChange={(value) => {
|
||||
this.showSelectedChange(value)
|
||||
}}/>
|
||||
</div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
}
|
||||
<div style={{ marginTop: "20px" }}>
|
||||
<WeaCheckbox content="只显示已选中" onChange={(value) => {
|
||||
this.showSelectedChange(value);
|
||||
}}/>
|
||||
</div>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,10 +234,7 @@ export default class CalculateDetail extends React.Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
const { selectedKey, modalParam, acctResultImportVisiable, showSearchAd } = this.state;
|
||||
const { calculateStore } = this.props;
|
||||
const { calculateProgress } = calculateStore;
|
||||
|
||||
const { selectedKey, acctResultImportVisiable, showSearchAd } = this.state;
|
||||
const menu = (
|
||||
<Menu onClick={this.handleMenuClick.bind(this)}>
|
||||
<Menu.Item key="1">导入</Menu.Item>
|
||||
|
|
|
|||
|
|
@ -134,9 +134,10 @@ export default class SalaryDetail extends React.Component {
|
|||
引用${baseSalarySobCycle.socialSecurityCycle}的福利台账数据`}
|
||||
placement="topLeft"
|
||||
/>
|
||||
<span className="warningspan" onClick={() => {
|
||||
this.setState({ visible: true });
|
||||
}}>校验异常:0</span>
|
||||
{/*暂时隐藏*/}
|
||||
{/*<span className="warningspan" onClick={() => {*/}
|
||||
{/* this.setState({ visible: true });*/}
|
||||
{/*}}>校验异常:0</span>*/}
|
||||
</div>
|
||||
<div className="salaryBarWrapper" style={{ borderBottom: "1px solid #eee" }}>
|
||||
<span>公式=</span>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export default class UserSure extends React.Component {
|
|||
employeeName: "",
|
||||
departmentIds: "",
|
||||
positionIds: "",
|
||||
status: ""
|
||||
status: 0
|
||||
},
|
||||
selectedKey: "0",
|
||||
selectedRowKeys: [], // table 选中项
|
||||
|
|
@ -96,9 +96,9 @@ export default class UserSure extends React.Component {
|
|||
wrapperCol={{ span: 18 }}
|
||||
>
|
||||
<WeaSelect
|
||||
value={status}
|
||||
value={String(status)}
|
||||
options={userStatusList}
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/>
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: Number(val) } })}/>
|
||||
</WeaFormItem>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -134,27 +134,27 @@ export const modalColumns = [
|
|||
key: 'addUpContinuingEducation',
|
||||
},
|
||||
{
|
||||
title: "累计住房租金",
|
||||
title: "累计住房贷款利息",
|
||||
dataIndex: 'addUpHousingLoanInterest',
|
||||
key: 'addUpHousingLoanInterest',
|
||||
},
|
||||
{
|
||||
title: "累计赡养老人",
|
||||
title: "累计住房租金",
|
||||
dataIndex: 'addUpHousingRent',
|
||||
key: 'addUpHousingRent',
|
||||
},
|
||||
{
|
||||
title: "累计企业(职业)年金及其他福利",
|
||||
title: "累计赡养老人",
|
||||
dataIndex: 'addUpSupportElderly',
|
||||
key: 'addUpSupportElderly',
|
||||
},
|
||||
{
|
||||
title: "累计住房租金",
|
||||
title: "累计企业(职业)年金及其他福利",
|
||||
dataIndex: 'addUpEnterpriseAndOther',
|
||||
key: 'addUpEnterpriseAndOther',
|
||||
},
|
||||
{
|
||||
title: "累计其他扣除",
|
||||
title: "累计其他免税扣除",
|
||||
dataIndex: 'addUpOtherDeduction',
|
||||
key: 'addUpOtherDeduction',
|
||||
},
|
||||
|
|
@ -168,6 +168,11 @@ export const modalColumns = [
|
|||
dataIndex: 'addUpAllowedDonation',
|
||||
key: 'addUpAllowedDonation',
|
||||
},
|
||||
{
|
||||
title: "累计减免税额",
|
||||
dataIndex: 'addUpTaxSavings',
|
||||
key: 'addUpTaxSavings',
|
||||
},
|
||||
{
|
||||
title: "累计已预扣预缴税额",
|
||||
dataIndex: 'addUpAdvanceTax',
|
||||
|
|
|
|||
|
|
@ -42,19 +42,6 @@ export default class Ledger extends React.Component {
|
|||
getTableDatas({ name: value });
|
||||
}
|
||||
|
||||
refereUser() {
|
||||
this.setState({
|
||||
editSlideVisible: true,
|
||||
selectedTab: 1
|
||||
});
|
||||
}
|
||||
|
||||
onEdit() {
|
||||
this.setState({
|
||||
editSlideVisible: true
|
||||
});
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const {
|
||||
ledgerStore: { doInit },
|
||||
|
|
@ -538,7 +525,7 @@ export default class Ledger extends React.Component {
|
|||
<WeaSlideModal
|
||||
visible={this.state.editSlideVisible}
|
||||
top={0}
|
||||
width={40}
|
||||
width={45}
|
||||
height={100}
|
||||
direction={"right"}
|
||||
measure={"%"}
|
||||
|
|
|
|||
|
|
@ -220,3 +220,15 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.slideRefereUserTableWrapper {
|
||||
.ant-table-tbody > tr > td {
|
||||
padding: 10px 8px;
|
||||
}
|
||||
|
||||
.ant-table-thead th {
|
||||
font-weight: 400;
|
||||
border-bottom: 2px solid #e2ecf2;
|
||||
background-color: #f7fbfe;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ export default class SalaryItemForm extends React.Component {
|
|||
super(props);
|
||||
this.state = {
|
||||
addCategoryVisible: false,
|
||||
previewVisible: false
|
||||
previewVisible: false,
|
||||
date: ''
|
||||
};
|
||||
const { ledgerStore: { empFieldList } } = this.props;
|
||||
empFieldList();
|
||||
|
|
@ -41,6 +42,7 @@ export default class SalaryItemForm extends React.Component {
|
|||
}
|
||||
});
|
||||
setItemGroups(groups);
|
||||
this.setState({date: new Date()})
|
||||
}
|
||||
|
||||
// 薪资项目
|
||||
|
|
@ -112,8 +114,6 @@ export default class SalaryItemForm extends React.Component {
|
|||
const {
|
||||
ledgerStore: {
|
||||
itemGroups,
|
||||
salaryItems,
|
||||
empBrowserList,
|
||||
setAddCategoryVisible,
|
||||
addCategoryVisible,
|
||||
baseInfoRequest
|
||||
|
|
@ -143,15 +143,12 @@ export default class SalaryItemForm extends React.Component {
|
|||
预览
|
||||
</Button>
|
||||
</div>
|
||||
{/* <div className="searchInputWrapper">
|
||||
<WeaInputSearch style={{width: "150px"}} />
|
||||
</div> */}
|
||||
</div>
|
||||
|
||||
<div className="userInfoWrapper">
|
||||
<div>
|
||||
<span>
|
||||
员工信息{" "}
|
||||
<span>员工信息</span>
|
||||
<WeaHelpfulTip
|
||||
style={{ marginLeft: "10px" }}
|
||||
width={100}
|
||||
|
|
@ -163,7 +160,6 @@ export default class SalaryItemForm extends React.Component {
|
|||
<Icon type="down"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<UserInfoSelected/>
|
||||
</div>
|
||||
{itemGroups &&
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import React from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { Icon, Table, message, Modal } from "antd";
|
||||
import { Icon, message, Modal, Table } from "antd";
|
||||
import { WeaInputSearch } from "ecCom";
|
||||
import { slideStep2Columns, dataSource } from "./columns";
|
||||
import AddUserModal from "./addUserModal";
|
||||
import "./index.less";
|
||||
|
||||
@inject("ledgerStore")
|
||||
@observer
|
||||
|
|
@ -15,6 +15,11 @@ export default class SlideRefereUser extends React.Component {
|
|||
selectedRowKeys: [],
|
||||
searchValue: ""
|
||||
};
|
||||
this.pageInfo = {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
};
|
||||
}
|
||||
|
||||
handleTabClick(tab) {
|
||||
|
|
@ -63,7 +68,8 @@ export default class SlideRefereUser extends React.Component {
|
|||
onOk: () => {
|
||||
deleteLedgerPersonRange(this.state.selectedRowKeys);
|
||||
},
|
||||
onCancel: () => {}
|
||||
onCancel: () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -79,12 +85,14 @@ export default class SlideRefereUser extends React.Component {
|
|||
if (includeType == 1) {
|
||||
getLedgerPersonRangeInclude({
|
||||
salarySobId: salarySobId,
|
||||
targetName: value
|
||||
targetName: value,
|
||||
...this.pageInfo
|
||||
});
|
||||
} else {
|
||||
getLedgerPersonRangeExclude({
|
||||
salarySobId: salarySobId,
|
||||
targetName: value
|
||||
targetName: value,
|
||||
...this.pageInfo
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
@ -92,11 +100,15 @@ export default class SlideRefereUser extends React.Component {
|
|||
render() {
|
||||
const {
|
||||
ledgerStore: {
|
||||
loading,
|
||||
includeType,
|
||||
salarySobId,
|
||||
userTableStore,
|
||||
addUserModalVisible,
|
||||
setAddUserModalVisible,
|
||||
baseInfoRequest
|
||||
baseInfoRequest,
|
||||
getLedgerPersonRangeInclude,
|
||||
getLedgerPersonRangeExclude
|
||||
}
|
||||
} = this.props;
|
||||
const { canEdit = "true" } = baseInfoRequest;
|
||||
|
|
@ -122,8 +134,8 @@ export default class SlideRefereUser extends React.Component {
|
|||
this.handleTabClick(1);
|
||||
}}>
|
||||
关联人员范围
|
||||
</span>{" "}
|
||||
{" "} | {" "}{" "}
|
||||
</span>
|
||||
<span style={{ margin: "0 4px" }}>|</span>
|
||||
<span
|
||||
className={includeType == 0 ? "selectedCrumbs" : "tabItem"}
|
||||
onClick={() => {
|
||||
|
|
@ -160,15 +172,46 @@ export default class SlideRefereUser extends React.Component {
|
|||
/>
|
||||
</div>}
|
||||
</div>
|
||||
<div>
|
||||
<div className="slideRefereUserTableWrapper">
|
||||
<Table
|
||||
loading={loading}
|
||||
rowSelection={rowSelection}
|
||||
dataSource={list}
|
||||
columns={columns}
|
||||
pagination={{
|
||||
total: userTableStore.total,
|
||||
current: userTableStore.pageNum,
|
||||
showTotal: total => `共 ${total} 条`,
|
||||
current: userTableStore.pageNum
|
||||
showSizeChanger: true,
|
||||
pageSizeOptions: ["10", "20", "50", "100"],
|
||||
onShowSizeChange: (current, pageSize) => {
|
||||
this.pageInfo = { ...this.pageInfo, current, pageSize };
|
||||
if (includeType == 1) {
|
||||
getLedgerPersonRangeInclude({
|
||||
salarySobId: salarySobId,
|
||||
...this.pageInfo
|
||||
});
|
||||
} else {
|
||||
getLedgerPersonRangeExclude({
|
||||
salarySobId: salarySobId,
|
||||
...this.pageInfo
|
||||
});
|
||||
}
|
||||
},
|
||||
onChange: current => {
|
||||
this.pageInfo = { ...this.pageInfo, current };
|
||||
if (includeType == 1) {
|
||||
getLedgerPersonRangeInclude({
|
||||
salarySobId: salarySobId,
|
||||
...this.pageInfo
|
||||
});
|
||||
} else {
|
||||
getLedgerPersonRangeExclude({
|
||||
salarySobId: salarySobId,
|
||||
...this.pageInfo
|
||||
});
|
||||
}
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React, { Fragment } from "react";
|
||||
import { Icon, message, Modal } from "antd";
|
||||
import { WeaHelpfulTip, WeaTable } from "ecCom";
|
||||
import { WeaHelpfulTip, WeaTable, WeaCheckbox } from "ecCom";
|
||||
import { slideStep3Columns } from "../columns";
|
||||
import AddSalaryItemModal from "./AddSalaryItemModal";
|
||||
import { inject, observer } from "mobx-react";
|
||||
|
|
@ -12,7 +12,7 @@ const helpContent = () => {
|
|||
return <span>
|
||||
<span>1、新建薪资账套时,核算公式与【薪资项目管理】菜单一致;</span><br/>
|
||||
<span>2、取值方式为公式的薪资项目,核算公式显示为具体公式;点击公式可编辑公式,核算时,按照当前薪资项目的公式进行核算;</span><br/>
|
||||
<span>3、薪资账套内的薪资项目的取值方式的修改或公式的修改,都不影响【薪资项目管理】菜单的薪资项目取值方式或公式,只对当前账套生效;</span><br/>
|
||||
<span>3、薪资账套内的薪资项目的公式或SQL的修改或公式的修改,都不影响【薪资项目管理】菜单的薪资项目取值方式或公式,只对当前账套生效;</span><br/>
|
||||
</span>;
|
||||
};
|
||||
|
||||
|
|
@ -69,6 +69,34 @@ export default class CanMoveItem extends React.Component {
|
|||
this.title = "";
|
||||
}
|
||||
|
||||
handleChangeItem= (value,id)=>{
|
||||
const { dataSource } = this.props;
|
||||
let result = [...dataSource];
|
||||
this.props.onChange(
|
||||
_.map(result, item => {
|
||||
if(id === item.id){
|
||||
return {
|
||||
...item,
|
||||
itemHide: String(value)
|
||||
}
|
||||
}
|
||||
return {...item}
|
||||
})
|
||||
);
|
||||
}
|
||||
handleChangeAllItem= (value)=>{
|
||||
const { dataSource } = this.props;
|
||||
let result = [...dataSource];
|
||||
this.props.onChange(
|
||||
_.map(result, item => {
|
||||
return {
|
||||
...item,
|
||||
itemHide: String(value)
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
// 编辑公式
|
||||
handleFormulaClick(formulaId, record) {
|
||||
this.formulaId = formulaId;
|
||||
|
|
@ -90,7 +118,7 @@ export default class CanMoveItem extends React.Component {
|
|||
handleDelete = () => {
|
||||
const { selectedRowKeys } = this.state;
|
||||
if (selectedRowKeys.length == 0) {
|
||||
message.warning("为选择任何条目");
|
||||
message.warning("未选择任何条目");
|
||||
return;
|
||||
}
|
||||
Modal.confirm({
|
||||
|
|
@ -155,10 +183,13 @@ export default class CanMoveItem extends React.Component {
|
|||
sortedIndex,
|
||||
ledgerStore: { setAddItemVisible, addItemVisible, itemGroups = [] }
|
||||
} = this.props;
|
||||
console.log(this.props.dataSource)
|
||||
const checkValue= _.every(this.props.dataSource, it => it.itemHide && it.itemHide === '1' ) ? "1" : "0";
|
||||
const {
|
||||
selectedRowKeys,
|
||||
formalModalVisible,
|
||||
addCategoryVisible
|
||||
addCategoryVisible,
|
||||
columns
|
||||
} = this.state;
|
||||
const rowSelection = {
|
||||
selectedRowKeys,
|
||||
|
|
@ -167,6 +198,27 @@ export default class CanMoveItem extends React.Component {
|
|||
disabled: !record.canDelete
|
||||
})
|
||||
};
|
||||
console.log(checkValue)
|
||||
|
||||
const newColumns= [...columns,{
|
||||
title: <span>
|
||||
<WeaCheckbox
|
||||
value={checkValue}
|
||||
onChange={value => {
|
||||
this.handleChangeAllItem(value)
|
||||
}}
|
||||
/>
|
||||
<span style={{ marginLeft: 8 }}>隐藏</span>
|
||||
</span>,
|
||||
dataIndex: 'itemHide',
|
||||
key: 'itemHide',
|
||||
render: (text,record) => <WeaCheckbox
|
||||
value={text ? String(text) : !text ? "0" : "1"}
|
||||
onChange={value => {
|
||||
this.handleChangeItem(value, record.id)
|
||||
}}
|
||||
/>,
|
||||
}]
|
||||
|
||||
return (
|
||||
<div className="tableItemWrapper">
|
||||
|
|
@ -253,7 +305,7 @@ export default class CanMoveItem extends React.Component {
|
|||
<WeaTable
|
||||
rowSelection={rowSelection}
|
||||
dataSource={this.props.dataSource}
|
||||
columns={this.state.columns}
|
||||
columns={newColumns}
|
||||
onRow={(record, index) => ({
|
||||
index,
|
||||
moveRow: record
|
||||
|
|
|
|||
|
|
@ -101,11 +101,11 @@ export default class RuleEditModal extends React.Component {
|
|||
this.props.onCancel();
|
||||
}}
|
||||
className="rule-modal-wrapper"
|
||||
footer={<Button
|
||||
buttons={[<Button
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
this.handleSave();
|
||||
}}>保存</Button>}
|
||||
}}>保存</Button>]}
|
||||
>
|
||||
<div style={{ padding: "20px" }}>
|
||||
<Row style={{ lineHeight: "40px" }}>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ export default class SalaryFile extends React.Component {
|
|||
departmentIds: "",
|
||||
positionIds: "",
|
||||
userstatus: "",
|
||||
archiveStatus: ""
|
||||
archiveStatus: "",
|
||||
taxAgentId: ""
|
||||
}
|
||||
};
|
||||
this.pageInfo = { current: 1, pageSize: 10 };
|
||||
|
|
@ -116,9 +117,10 @@ export default class SalaryFile extends React.Component {
|
|||
);
|
||||
};
|
||||
Select = (value, key) => {
|
||||
const { salaryFileStore } = this.props;
|
||||
const { userstatus, archiveStatus } = this.state.searchItemsValue;
|
||||
const { salaryFileStore, taxAgentStore } = this.props;
|
||||
const { userstatus, archiveStatus, taxAgentId } = this.state.searchItemsValue;
|
||||
const { archiveStatusList, userStatusList } = salaryFileStore;
|
||||
const { taxAgentAdminOption } = taxAgentStore;
|
||||
return (
|
||||
<WeaFormItem
|
||||
label={value}
|
||||
|
|
@ -126,18 +128,20 @@ export default class SalaryFile extends React.Component {
|
|||
wrapperCol={{ span: 18 }}
|
||||
>
|
||||
<WeaSelect
|
||||
value={key === "userstatus" ? userstatus : archiveStatus}
|
||||
options={key === "userstatus" ? userStatusList : archiveStatusList}
|
||||
value={key === "userstatus" ? userstatus : key === "taxAgentId" ? taxAgentId : archiveStatus}
|
||||
options={key === "userstatus" ? userStatusList : key === "taxAgentId" ? [{
|
||||
key: "",
|
||||
showname: ""
|
||||
}, ...taxAgentAdminOption] : archiveStatusList}
|
||||
onChange={(val) => this.setState({ searchItemsValue: { ...this.state.searchItemsValue, [key]: val } })}/>
|
||||
</WeaFormItem>
|
||||
);
|
||||
};
|
||||
|
||||
componentWillMount() {
|
||||
const {
|
||||
salaryFileStore: { doInit }
|
||||
} = this.props;
|
||||
const { salaryFileStore: { doInit }, taxAgentStore: { getTaxAgentSelectListAsAdmin } } = this.props;
|
||||
doInit({ ...this.state.searchItemsValue });
|
||||
getTaxAgentSelectListAsAdmin();
|
||||
}
|
||||
|
||||
// 设置导入步数
|
||||
|
|
@ -234,13 +238,23 @@ export default class SalaryFile extends React.Component {
|
|||
}
|
||||
|
||||
// 查看 Slide 头部操作按钮
|
||||
renderEditSlideOperate() {
|
||||
const { taxAgentStore: { showOperateBtn } } = this.props;
|
||||
renderEditSlideOperate = () => {
|
||||
const { taxAgentStore: { showOperateBtn }, salaryFileStore: { salaryIncreaseUrl, currentId } } = this.props;
|
||||
const { isShow, url } = salaryIncreaseUrl;
|
||||
return (
|
||||
<div style={{ display: "inline-block" }}>
|
||||
<Button type="primary" onClick={() => {
|
||||
this.setState({ changeSalaryVisible: true });
|
||||
}}>调薪</Button>
|
||||
{
|
||||
showOperateBtn && isShow === "true" &&
|
||||
<Button type="primary" style={{ marginRight: 10 }} onClick={() => {
|
||||
window.open(`${url}&salaryArchiveId=${currentId}`);
|
||||
}}>发起调薪</Button>
|
||||
}
|
||||
{
|
||||
showOperateBtn &&
|
||||
<Button type="primary" onClick={() => {
|
||||
this.setState({ changeSalaryVisible: true });
|
||||
}}>调薪</Button>
|
||||
}
|
||||
{/*暂时去掉调整个税扣缴义务人导入按钮*/}
|
||||
{/*{*/}
|
||||
{/* showOperateBtn &&*/}
|
||||
|
|
@ -259,7 +273,7 @@ export default class SalaryFile extends React.Component {
|
|||
{/*}*/}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
// table选中条目
|
||||
onSelectChange = (selectedRowKeys) => {
|
||||
|
|
@ -323,7 +337,8 @@ export default class SalaryFile extends React.Component {
|
|||
showSearchAd,
|
||||
getTableDatas,
|
||||
doSearch,
|
||||
setShowSearchAd
|
||||
setShowSearchAd,
|
||||
setSalaryIncreaseUrl
|
||||
} = salaryFileStore;
|
||||
const {
|
||||
importType,
|
||||
|
|
@ -500,7 +515,8 @@ export default class SalaryFile extends React.Component {
|
|||
{ com: this.Browser("部门", "departmentIds") },
|
||||
{ com: this.Browser("岗位", "positionIds") },
|
||||
{ com: this.Select("人员状态", "userstatus") },
|
||||
{ com: this.Select("档案状态", "archiveStatus") }
|
||||
{ com: this.Select("档案状态", "archiveStatus") },
|
||||
{ com: this.Select("个税扣缴义务人", "taxAgentId") }
|
||||
];
|
||||
return <WeaSearchGroup title={"基本信息"} items={searchItems} showGroup/>;
|
||||
};
|
||||
|
|
@ -701,9 +717,15 @@ export default class SalaryFile extends React.Component {
|
|||
/>
|
||||
}
|
||||
content={<SalaryFileViewSlide id={currentId}/>}
|
||||
onClose={() => this.setState({ editSlideVisible: false })}
|
||||
onClose={() => {
|
||||
this.setState({ editSlideVisible: false });
|
||||
setSalaryIncreaseUrl({});
|
||||
}}
|
||||
showMask={true}
|
||||
closeMaskOnClick={() => this.setState({ editSlideVisible: false })}
|
||||
closeMaskOnClick={() => {
|
||||
setSalaryIncreaseUrl({});
|
||||
this.setState({ editSlideVisible: false });
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,134 +1,135 @@
|
|||
import React from "react"
|
||||
import { Row, Col } from 'antd'
|
||||
import { WeaHelpfulTip, WeaSearchGroup } from 'ecCom'
|
||||
import GroupCard from "../../components/groupCard"
|
||||
import { inject, observer } from 'mobx-react';
|
||||
import "./index.less"
|
||||
import SelectedTab from '../../components/selectedTab'
|
||||
import React from "react";
|
||||
import { Col, Row } from "antd";
|
||||
import { WeaHelpfulTip, WeaSearchGroup } from "ecCom";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import "./index.less";
|
||||
import SelectedTab from "../../components/selectedTab";
|
||||
import SalaryItemChangeList from "./salaryItemChangeList";
|
||||
import TaxAgentChangeList from "./taxAgentChangeList";
|
||||
|
||||
const selectedTabItems = [
|
||||
{
|
||||
key: '0',
|
||||
name: "薪资调整记录"
|
||||
},
|
||||
{/*暂时去掉调整个税扣缴义务人导入按钮*/}
|
||||
// {
|
||||
// key: "1",
|
||||
// name: "个税扣缴义务人调整记录"
|
||||
// }
|
||||
]
|
||||
{
|
||||
key: "0",
|
||||
name: "薪资调整记录"
|
||||
},
|
||||
{/*暂时去掉调整个税扣缴义务人导入按钮*/ }
|
||||
// {
|
||||
// key: "1",
|
||||
// name: "个税扣缴义务人调整记录"
|
||||
// }
|
||||
];
|
||||
|
||||
@inject('salaryFileStore')
|
||||
@inject("salaryFileStore")
|
||||
@observer
|
||||
export default class SalaryFileViewSlide extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
baseInfoVisible: true,
|
||||
salaryItemVisible: true,
|
||||
selectedTab: "0"
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
baseInfoVisible: true,
|
||||
salaryItemVisible: true,
|
||||
selectedTab: "0",
|
||||
};
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { salaryFileStore: { getArchiveForm, fetchSingleSalaryItemList, salaryAdjustmentInfo } } = this.props;
|
||||
getArchiveForm(this.props.id);
|
||||
fetchSingleSalaryItemList({ salaryArchiveId: this.props.id });
|
||||
salaryAdjustmentInfo()
|
||||
}
|
||||
|
||||
// tab页签切换回调
|
||||
handleTabChange(item) {
|
||||
this.setState({ selectedTab: item.key });
|
||||
}
|
||||
|
||||
render() {
|
||||
const { salaryFileStore: { detailForm } } = this.props;
|
||||
const { baseInfo, adjustSalaryItems } = detailForm;
|
||||
return (
|
||||
<div className="salaryFileViewSlide">
|
||||
<WeaSearchGroup title={"基本信息"} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({ baseInfoVisible: value });
|
||||
}}/>
|
||||
{
|
||||
this.state.baseInfoVisible && <div className="slideItemWrapper">
|
||||
<Row className="formRow">
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">姓名</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.username}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">部门</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.department}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">岗位</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.position}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row className="formRow">
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">入职时间</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.hiredate}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">手机号</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.mobile}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">个税扣缴义务人</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.taxAgent}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { salaryFileStore: {getArchiveForm, fetchSingleSalaryItemList} } = this.props;
|
||||
getArchiveForm(this.props.id)
|
||||
fetchSingleSalaryItemList({salaryArchiveId: this.props.id})
|
||||
}
|
||||
|
||||
// tab页签切换回调
|
||||
handleTabChange(item) {
|
||||
this.setState({ selectedTab: item.key})
|
||||
}
|
||||
|
||||
render() {
|
||||
const { salaryFileStore: {detailForm} } = this.props;
|
||||
const { baseInfo, adjustSalaryItems } = detailForm;
|
||||
return (
|
||||
<div className="salaryFileViewSlide">
|
||||
<WeaSearchGroup title={"基本信息"} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({baseInfoVisible: value})
|
||||
}}/>
|
||||
{
|
||||
this.state.baseInfoVisible && <div className="slideItemWrapper">
|
||||
<Row className="formRow">
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">姓名</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.username}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">部门</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.department}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">岗位</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.position}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row className="formRow">
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">入职时间</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.hiredate}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">手机号</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.mobile}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<Row>
|
||||
<Col span={6} className="formTitle">个税扣缴义务人</Col>
|
||||
<Col span={18}>{baseInfo && baseInfo.employee && baseInfo.employee.taxAgent}</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
}
|
||||
|
||||
<WeaSearchGroup title={<span>薪资档案 <WeaHelpfulTip
|
||||
width={200}
|
||||
title="提示:显示已生效的最新数据"
|
||||
placement="topLeft"
|
||||
/></span>} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({salaryItemVisible: value})
|
||||
}}/>
|
||||
{
|
||||
this.state.salaryItemVisible && <div style={{lineHeight: '40px'}} className="slideItemWrapper">
|
||||
{
|
||||
adjustSalaryItems && adjustSalaryItems.map(item => (
|
||||
<div style={{display: "inline-block", width: '50%' }}>
|
||||
<div style={{display:'inline-block', width: '50%'}}>{item.name}</div>
|
||||
<div style={{display:'inline-block', width: '50%'}}>{item.value}</div>
|
||||
</div>
|
||||
))
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<WeaSearchGroup title={<SelectedTab items={selectedTabItems} onChange={(item) => {
|
||||
this.handleTabChange(item)
|
||||
}}/>} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({salaryItemVisible: value})
|
||||
}}/>
|
||||
{
|
||||
this.state.selectedTab == "0" ? <SalaryItemChangeList id={this.props.id}/> : <TaxAgentChangeList id={this.props.id}/>
|
||||
}
|
||||
<div>
|
||||
|
||||
<WeaSearchGroup title={<span>薪资档案 <WeaHelpfulTip
|
||||
width={200}
|
||||
title="提示:显示已生效的最新数据"
|
||||
placement="topLeft"
|
||||
/></span>} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({ salaryItemVisible: value });
|
||||
}}/>
|
||||
{
|
||||
this.state.salaryItemVisible && <div style={{ lineHeight: "40px" }} className="slideItemWrapper">
|
||||
{
|
||||
adjustSalaryItems && adjustSalaryItems.map(item => (
|
||||
<div style={{ display: "inline-block", width: "50%" }}>
|
||||
<div style={{ display: "inline-block", width: "50%" }}>{item.name}</div>
|
||||
<div style={{ display: "inline-block", width: "50%" }}>{item.value}</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
))
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<WeaSearchGroup title={<SelectedTab items={selectedTabItems} onChange={(item) => {
|
||||
this.handleTabChange(item);
|
||||
}}/>} items={[]} onVisibleChange={(value) => {
|
||||
this.setState({ salaryItemVisible: value });
|
||||
}}/>
|
||||
{
|
||||
this.state.selectedTab == "0" ? <SalaryItemChangeList id={this.props.id}/> :
|
||||
<TaxAgentChangeList id={this.props.id}/>
|
||||
}
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ export const roundingModeOptions = [
|
|||
key: "4",
|
||||
selected: false,
|
||||
showname: "向下舍入"
|
||||
},
|
||||
{
|
||||
key: "5",
|
||||
selected: false,
|
||||
showname: "见分进角"
|
||||
}
|
||||
];
|
||||
|
||||
|
|
@ -65,4 +70,4 @@ export const dataTypeOptions = [
|
|||
showname: "字符",
|
||||
selected: false
|
||||
},
|
||||
]
|
||||
]
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ export default class OtherForm extends React.Component {
|
|||
}
|
||||
</Select>
|
||||
</Col>
|
||||
<Col span={6} className="formItem borderR-none">社保个人实际承担方:</Col>
|
||||
<Col span={6} className="formItem borderR-none"><span title="其他福利个人实际承担方">其他福利个人实际承担方:</span></Col>
|
||||
<Col span={6} className="formItem">
|
||||
<Select defaultValue={data && data.underTake} value={data && data.underTake} style={{ width: "100%" }}
|
||||
onChange={(value) => this.handleFormChange({ underTake: value })}>
|
||||
|
|
@ -135,38 +135,39 @@ export default class OtherForm extends React.Component {
|
|||
{/* */}
|
||||
{/*</Col>*/}
|
||||
{/*</Row>*/}
|
||||
{
|
||||
paymentItems && paymentItems.map(group => (
|
||||
<div>
|
||||
{
|
||||
group.items && group.items.length > 0 && <GroupCard title={group.title}>
|
||||
<Row>
|
||||
{
|
||||
group.items && group.items.map(item => (
|
||||
<Col span={12}>
|
||||
<Row>
|
||||
<Col span={12} className="formItem">{item.label}:</Col>
|
||||
<Col span={12} className="formItem">
|
||||
<WeaInput
|
||||
type="number"
|
||||
value={paymentData && paymentData[item.domkey[0]]} onChange={(value) => {
|
||||
this.handlePaymentChange({ [item.domkey[0]]: value });
|
||||
}}
|
||||
/>
|
||||
|
||||
</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
))
|
||||
}
|
||||
</Row>
|
||||
</GroupCard>
|
||||
}
|
||||
</div>
|
||||
|
||||
))
|
||||
}
|
||||
</GroupCard>
|
||||
{
|
||||
paymentItems && paymentItems.map(group => (
|
||||
<div>
|
||||
{
|
||||
group.items && group.items.length > 0 && <GroupCard title={group.title}>
|
||||
<Row>
|
||||
{
|
||||
group.items && group.items.map(item => (
|
||||
<Col span={12}>
|
||||
<Row>
|
||||
<Col span={12} className="formItem">{item.label}:</Col>
|
||||
<Col span={12} className="formItem">
|
||||
<WeaInput
|
||||
type="number"
|
||||
value={paymentData && paymentData[item.domkey[0]]} onChange={(value) => {
|
||||
this.handlePaymentChange({ [item.domkey[0]]: value });
|
||||
}}
|
||||
/>
|
||||
|
||||
</Col>
|
||||
</Row>
|
||||
</Col>
|
||||
))
|
||||
}
|
||||
</Row>
|
||||
</GroupCard>
|
||||
}
|
||||
</div>
|
||||
|
||||
))
|
||||
}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ export default class SocialSecurityForm extends React.Component {
|
|||
notFoundContent="暂无数据" value={data && data.socialName} style={{ width: "100%" }}
|
||||
onChange={(value) => {
|
||||
this.handleFormChange({ socialName: value });
|
||||
// this.handleFetchPaymentForm(value);
|
||||
this.handleFetchPaymentForm(value);
|
||||
}}>
|
||||
{
|
||||
items && items[0].items && items[0].items[0] && items[0].items[0].options.map(item => (
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import SmallTab from "../../../components/smallTab";
|
|||
import "./index.less";
|
||||
import RequiredLabelTip from "../../../components/requiredLabelTip";
|
||||
|
||||
@inject("programmeStore")
|
||||
@inject("programmeStore", "salaryFileStore", "taxAgentStore")
|
||||
@observer
|
||||
export default class DefaultSlideForm extends React.Component {
|
||||
constructor(props) {
|
||||
|
|
@ -79,7 +79,12 @@ export default class DefaultSlideForm extends React.Component {
|
|||
key: "4",
|
||||
selected: false,
|
||||
showname: "向下舍入"
|
||||
}
|
||||
},
|
||||
{
|
||||
key: "5",
|
||||
selected: false,
|
||||
showname: "见分进角"
|
||||
},
|
||||
];
|
||||
item.render = (text, record) => {
|
||||
return (
|
||||
|
|
@ -146,19 +151,22 @@ export default class DefaultSlideForm extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { programmeStore } = this.props;
|
||||
const { getForm, selectedKey, defaultPersonDataSource } = programmeStore;
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
const { taxAgentStore } = this.props;
|
||||
const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
|
||||
if(nextProps.customEditVisible !== this.props.customEditVisible){
|
||||
getTaxAgentSelectListAsAdmin();
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const { programmeStore } = this.props;
|
||||
const { programmeStore, salaryFileStore, taxAgentStore } = this.props;
|
||||
const { userStatusList } = salaryFileStore;
|
||||
const { taxAgentAdminOption,getTaxAgentSelectListAsAdmin } = taxAgentStore;
|
||||
const {
|
||||
defaultPersonDataSource,
|
||||
defaultCompanyDataSource,
|
||||
selectedKey
|
||||
} = programmeStore;
|
||||
const { dataSource } = this.state;
|
||||
const options = [
|
||||
{
|
||||
key: "SCHEME_TOWN",
|
||||
|
|
@ -218,7 +226,41 @@ export default class DefaultSlideForm extends React.Component {
|
|||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row style={{ lineHeight: "40px" }}>
|
||||
<Col span={6}>可见性</Col>
|
||||
<Col span={18}>
|
||||
<WeaSelect
|
||||
style={{ width: "200px" }}
|
||||
value={this.props.requestParams.sharedType}
|
||||
options={userStatusList}
|
||||
onChange={(visibleVal) => {
|
||||
let requestParams = { ...this.props.requestParams };
|
||||
requestParams.sharedType = visibleVal;
|
||||
this.props.onChange(requestParams);
|
||||
visibleVal=== '1' && getTaxAgentSelectListAsAdmin();
|
||||
}}
|
||||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
{
|
||||
this.props.requestParams.sharedType === "1" &&
|
||||
<Row style={{display:"flex",alignItems:"center",height:40,marginTop: 8}}>
|
||||
<Col span={6}>可见性范围<RequiredLabelTip /></Col>
|
||||
<Col span={18}>
|
||||
<WeaSelect
|
||||
multiple
|
||||
style={{ width: "200px" }}
|
||||
value={this.props.requestParams.taxAgentIds}
|
||||
options={taxAgentAdminOption}
|
||||
onChange={(value) => {
|
||||
let requestParams = { ...this.props.requestParams };
|
||||
requestParams.taxAgentIds = value;
|
||||
this.props.onChange(requestParams);
|
||||
}}
|
||||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
}
|
||||
<Row style={{ lineHeight: "40px" }}>
|
||||
<Col span={6}>备注</Col>
|
||||
<Col span={18}>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ const WeaMobxTable = WeaTableNew.WeaTable;
|
|||
|
||||
const { MonthPicker } = DatePicker;
|
||||
|
||||
@inject("programmeStore", "taxAgentStore")
|
||||
@inject("programmeStore", "taxAgentStore", "salaryFileStore")
|
||||
@observer
|
||||
export default class Programme extends React.Component {
|
||||
constructor(props) {
|
||||
|
|
@ -42,9 +42,11 @@ export default class Programme extends React.Component {
|
|||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { programmeStore } = this.props;
|
||||
const { programmeStore, salaryFileStore } = this.props;
|
||||
const { doInit } = programmeStore;
|
||||
doInit();
|
||||
const { commonEnumList } = salaryFileStore;
|
||||
commonEnumList("user", { enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" });
|
||||
}
|
||||
|
||||
// 增加编辑功能,重写columns绑定事件
|
||||
|
|
@ -192,7 +194,7 @@ export default class Programme extends React.Component {
|
|||
welfareTypeEnum: selectedKey,
|
||||
id
|
||||
});
|
||||
this.setState({ slideVisiable: true, currentOperate: "update" });
|
||||
this.setState({ slideVisiable: true, customEdit: true, currentOperate: "update" });
|
||||
}
|
||||
|
||||
onCopy(record) {
|
||||
|
|
@ -204,13 +206,13 @@ export default class Programme extends React.Component {
|
|||
}
|
||||
|
||||
onDelete = (record) => {
|
||||
const { programmeStore: { deleteScheme, deleteLoading } } = this.props;
|
||||
const { programmeStore: { deleteScheme, deleteLoading, selectedKey } } = this.props;
|
||||
Modal.confirm({
|
||||
title: "确认信息",
|
||||
content: "确认删除本条数据吗?",
|
||||
confirmLoading: deleteLoading,
|
||||
onOk: () => {
|
||||
deleteScheme({ ids: [record.id] });
|
||||
deleteScheme({ ids: [record.id], welfareTypeEnum: selectedKey });
|
||||
},
|
||||
onCancel: () => {
|
||||
}
|
||||
|
|
@ -393,14 +395,16 @@ export default class Programme extends React.Component {
|
|||
requestParams,
|
||||
updateScheme
|
||||
} = programmeStore;
|
||||
let { schemeName, remarks, paymentArea, paymentType } = requestParams;
|
||||
let { schemeName, remarks, paymentArea, paymentType, sharedType, taxAgentIds } = requestParams;
|
||||
let request = {
|
||||
insuranceScheme: {
|
||||
paymentType,
|
||||
welfareType: selectedKey,
|
||||
schemeName,
|
||||
remarks,
|
||||
paymentArea
|
||||
paymentArea,
|
||||
sharedType,
|
||||
taxAgentIds
|
||||
},
|
||||
insuranceSchemeDetailList: [
|
||||
...defaultPersonDataSource,
|
||||
|
|
@ -409,12 +413,15 @@ export default class Programme extends React.Component {
|
|||
};
|
||||
|
||||
if (currentOperate == "add") {
|
||||
createScheme(request);
|
||||
createScheme(request).then(res => {
|
||||
if (res.status) this.setState({ slideVisiable: false });
|
||||
});
|
||||
} else if (currentOperate == "update") {
|
||||
request.insuranceScheme.id = requestParams.id;
|
||||
updateScheme(request);
|
||||
updateScheme(request).then(res => {
|
||||
if (res.status) this.setState({ slideVisiable: false });
|
||||
});
|
||||
}
|
||||
this.setState({ slideVisiable: false });
|
||||
};
|
||||
|
||||
const renderCustomRightContent = () => {
|
||||
|
|
@ -434,7 +441,7 @@ export default class Programme extends React.Component {
|
|||
};
|
||||
|
||||
const handleSlideClose = () => {
|
||||
this.setState({ slideVisiable: false });
|
||||
this.setState({ slideVisiable: false, customEdit: false });
|
||||
const { programmeStore: { initSlideParms } } = this.props;
|
||||
initSlideParms();
|
||||
};
|
||||
|
|
@ -486,6 +493,7 @@ export default class Programme extends React.Component {
|
|||
}
|
||||
onChange={v => {
|
||||
setSelectedKey(v);
|
||||
handleSlideClose();
|
||||
if (v == "custom") {
|
||||
// 自定义福利
|
||||
getCustomCategoryList();
|
||||
|
|
@ -527,42 +535,41 @@ export default class Programme extends React.Component {
|
|||
/>}
|
||||
</WeaTop>
|
||||
</WeaRightMenu>
|
||||
{this.state.slideVisiable &&
|
||||
<WeaSlideModal
|
||||
visible={this.state.slideVisiable}
|
||||
top={0}
|
||||
width={40}
|
||||
height={100}
|
||||
direction={"right"}
|
||||
measure={"%"}
|
||||
title={
|
||||
<SlideModalTitle
|
||||
subtitle={this.state.customEdit ? "修改" : "新增"}
|
||||
subTabs={[{ title: "基础设置" }]}
|
||||
editable={true}
|
||||
showOperateBtn={showOperateBtn}
|
||||
onSave={() => {
|
||||
handleOnSave();
|
||||
}}
|
||||
/>
|
||||
}
|
||||
content={
|
||||
<DefaultSlideForm
|
||||
requestParams={requestParams}
|
||||
onChange={requestParams => {
|
||||
setRequestParams(requestParams);
|
||||
}}
|
||||
/>
|
||||
}
|
||||
onClose={() => {
|
||||
handleSlideClose();
|
||||
}}
|
||||
showMask={true}
|
||||
closeMaskOnClick={() => {
|
||||
handleSlideClose();
|
||||
}}
|
||||
onAnimationEnd={() => console.log("onAnimationEnd")}
|
||||
/>}
|
||||
<WeaSlideModal
|
||||
visible={this.state.slideVisiable}
|
||||
top={0}
|
||||
width={50}
|
||||
height={100}
|
||||
direction={"right"}
|
||||
measure={"%"}
|
||||
title={
|
||||
<SlideModalTitle
|
||||
subtitle={this.state.customEdit ? "修改" : "新增"}
|
||||
subTabs={[{ title: "基础设置" }]}
|
||||
editable={true}
|
||||
showOperateBtn={showOperateBtn}
|
||||
onSave={() => {
|
||||
handleOnSave();
|
||||
}}
|
||||
/>
|
||||
}
|
||||
content={
|
||||
<DefaultSlideForm
|
||||
customEditVisible={this.state.customEdit}
|
||||
requestParams={requestParams}
|
||||
onChange={requestParams => {
|
||||
setRequestParams(requestParams);
|
||||
}}
|
||||
/>
|
||||
}
|
||||
onClose={() => {
|
||||
handleSlideClose();
|
||||
}}
|
||||
showMask={true}
|
||||
closeMaskOnClick={() => {
|
||||
handleSlideClose();
|
||||
}}
|
||||
/>
|
||||
|
||||
{this.state.copyModalVisible &&
|
||||
<CopySchemaModal
|
||||
|
|
|
|||
|
|
@ -447,7 +447,9 @@ export class LedgerStore {
|
|||
|
||||
//薪资帐套人员范围(包含)列表
|
||||
getLedgerPersonRangeInclude = params => {
|
||||
this.loading= true;
|
||||
API.getLedgerPersonRangeInclude(params).then(res => {
|
||||
this.loading= false;
|
||||
if (res.status) {
|
||||
this.setUserTableStore(res.data);
|
||||
} else {
|
||||
|
|
@ -458,7 +460,9 @@ export class LedgerStore {
|
|||
|
||||
//薪资帐套人员范围(排除)列表
|
||||
getLedgerPersonRangeExclude = params => {
|
||||
this.loading= true;
|
||||
API.getLedgerPersonRangeExclude(params).then(res => {
|
||||
this.loading= false;
|
||||
if (res.status) {
|
||||
this.setUserTableStore(res.data);
|
||||
} else {
|
||||
|
|
@ -540,7 +544,8 @@ export class LedgerStore {
|
|||
result.items = result.items.map((i, index) => ({
|
||||
salaryItemId: i.salaryItemId,
|
||||
sortedIndex: index + 1,
|
||||
formulaId: i.formulaId
|
||||
formulaId: i.formulaId,
|
||||
itemHide: i.itemHide || "0",
|
||||
}));
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ export class ProgrammeStore {
|
|||
@observable requestParams = {
|
||||
schemeName: "",
|
||||
remarks: "",
|
||||
paymentArea: "1"
|
||||
paymentArea: "1",
|
||||
sharedType: "",
|
||||
taxAgentIds: "",
|
||||
}
|
||||
@observable form = new WeaForm();
|
||||
@observable formCondition = []; // 存储后台得到的form数据
|
||||
|
|
@ -57,7 +59,9 @@ export class ProgrammeStore {
|
|||
this.requestParams = {
|
||||
schemeName: "",
|
||||
remarks: "",
|
||||
paymentType: "SCHEME_TOWN"
|
||||
paymentType: "SCHEME_TOWN",
|
||||
sharedType: "",
|
||||
taxAgentIds: "",
|
||||
}
|
||||
this.defaultPersonDataSource = [];
|
||||
this.defaultCompanyDataSource = [];
|
||||
|
|
@ -165,39 +169,51 @@ export class ProgrammeStore {
|
|||
message.warning("方案名称不能为空")
|
||||
return false
|
||||
}
|
||||
|
||||
if(this.requestParams.sharedType=== "1" && !notNull(params.insuranceScheme.taxAgentIds)) {
|
||||
message.warning("可见性范围不能为空")
|
||||
return false
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@action createScheme = (params) => {
|
||||
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
|
||||
if(!this.valideForm(params)) {
|
||||
return
|
||||
}
|
||||
console.log("params:", params);
|
||||
API.createScheme(params).then(res => {
|
||||
if(res.status) {
|
||||
message.success("新建成功");
|
||||
this.getTableDatas(this.selectedKey);
|
||||
} else {
|
||||
message.error(res.errormsg || "新建失败")
|
||||
return new Promise((resolve, reject)=>{
|
||||
if(!this.valideForm(params)) {
|
||||
reject("新建失败");
|
||||
return
|
||||
}
|
||||
API.createScheme(params).then(res => {
|
||||
if(res.status) {
|
||||
resolve(res)
|
||||
message.success("新建成功");
|
||||
this.getTableDatas(this.selectedKey);
|
||||
} else {
|
||||
reject("新建失败");
|
||||
message.error(res.errormsg || "新建失败")
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@action updateScheme = (params) => {
|
||||
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
|
||||
|
||||
if(!this.valideForm(params)) {
|
||||
return
|
||||
}
|
||||
console.log("params:", params);
|
||||
API.updateScheme(params).then(res => {
|
||||
if(res.status) {
|
||||
message.success("更新成功");
|
||||
this.getTableDatas(this.selectedKey);
|
||||
} else {
|
||||
message.error(res.errormsg || "更新失败")
|
||||
return new Promise((resolve, reject)=>{
|
||||
if(!this.valideForm(params)) {
|
||||
reject("新建失败");
|
||||
return
|
||||
}
|
||||
API.updateScheme(params).then(res => {
|
||||
if(res.status) {
|
||||
resolve(res)
|
||||
message.success("更新成功");
|
||||
this.getTableDatas(this.selectedKey);
|
||||
} else {
|
||||
reject("更新失败")
|
||||
message.error(res.errormsg || "更新失败")
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -252,7 +268,7 @@ export class ProgrammeStore {
|
|||
}
|
||||
})
|
||||
} catch(e) {
|
||||
flag = false
|
||||
flag = false
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,9 +33,11 @@ export class salaryFileStore {
|
|||
@observable singleTaxAgentList = [];
|
||||
|
||||
@observable currentId = "";
|
||||
@observable salaryIncreaseUrl = {}; //发起流程url地址 isShow:是否显示按钮,url:链接地址
|
||||
@observable editAgentVisible = false;
|
||||
|
||||
|
||||
@action("设置发起调薪地址")
|
||||
setSalaryIncreaseUrl = data => (this.salaryIncreaseUrl = data);
|
||||
// ** 设置导入参数 start **
|
||||
@action
|
||||
setPreviewDataSource = (previewDataSource) => {
|
||||
|
|
@ -53,6 +55,15 @@ export class salaryFileStore {
|
|||
this.commonEnumList("user", { enumClass: "com.engine.salary.enums.UserStatusEnum" });
|
||||
};
|
||||
|
||||
// 发起调薪地址
|
||||
@action
|
||||
salaryAdjustmentInfo = () => {
|
||||
API.salaryAdjustmentInfo().then(({ status, data }) => {
|
||||
if (status) {
|
||||
this.setSalaryIncreaseUrl(data);
|
||||
}
|
||||
});
|
||||
};
|
||||
// 获取导入类型
|
||||
@action
|
||||
getImportTypes = () => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue