调薪操作
This commit is contained in:
parent
59dd3a95c7
commit
06254eb2b2
|
|
@ -47,7 +47,14 @@ export const getSalaryItemForm = params => {
|
|||
|
||||
//薪资档案-保存薪资项目调整
|
||||
export const saveSalaryItem = params => {
|
||||
return WeaTools.callApi('/api/bs/hrmsalary/salaryArchive/saveSalaryItem', 'POST', params);
|
||||
return fetch('/api/bs/hrmsalary/salaryArchive/saveSalaryItem', {
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(params)
|
||||
}).then(res => res.json())
|
||||
}
|
||||
|
||||
//薪资档案-获取个税扣缴义务人调整表单
|
||||
|
|
@ -217,4 +224,21 @@ export const singleTaxAgentList = (params) => {
|
|||
// 调整-义务扣缴人-通过薪资档案的个税扣缴义务人id获取个税扣缴义务人调整表单
|
||||
export const getTaxAgentFormBySalaryArchiveTaxAgentId = (params) => {
|
||||
return WeaTools.callApi('/api/bs/hrmsalary/salaryArchive/getTaxAgentFormBySalaryArchiveTaxAgentId', 'GET', params);
|
||||
}
|
||||
|
||||
// 调整-薪资项目-获取调整前的值
|
||||
export const getSalaryItemAdjustBeforeValue = (params) => {
|
||||
return fetch('/api/bs/hrmsalary/salaryArchive/getSalaryItemAdjustBeforeValue', {
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(params)
|
||||
}).then(res => res.json())
|
||||
}
|
||||
|
||||
// 调整-薪资项目-通过薪资档案的薪资项目id获取薪资项目调整表单
|
||||
export const getSalaryItemFormByItemId = (params) => {
|
||||
return WeaTools.callApi('/api/bs/hrmsalary/salaryArchive/getSalaryItemFormBySalaryArchiveItemId', 'GET', params);
|
||||
}
|
||||
|
|
@ -34,7 +34,7 @@ export default class SlideRefereUser extends React.Component {
|
|||
|
||||
onSelectChange = selectedRowKeys => {
|
||||
this.setState({ selectedRowKeys });
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
handleTabDelete = () => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
import React from 'react'
|
||||
import { Row, Col, Table, Modal, Icon } from 'antd'
|
||||
import { Row, Col, Table, Modal, Icon, Button, Select, message } from 'antd'
|
||||
const { Option } = Select
|
||||
import { WeaInput, WeaSelect, WeaDatePicker } from "ecCom"
|
||||
import { changeSalaryModalColumns, dataSource } from './columns'
|
||||
import RequiredLabelTip from '../../components/requiredLabelTip'
|
||||
import "./index.less"
|
||||
import { inject, observer } from 'mobx-react';
|
||||
import moment from 'moment'
|
||||
|
|
@ -13,12 +15,13 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
super(props)
|
||||
this.state = {
|
||||
inited: false,
|
||||
selectedRowKeys: [],
|
||||
salaryArchiveItems: [
|
||||
{
|
||||
key: "1",
|
||||
salaryItem: "",
|
||||
before: "",
|
||||
after: ""
|
||||
salaryBefore: "",
|
||||
adjustAfter: ""
|
||||
}
|
||||
],
|
||||
request: {
|
||||
|
|
@ -40,11 +43,31 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
|
||||
// 表格中薪资项目选择项下拉,改变事件
|
||||
handleSalaryItemChange(item, value) {
|
||||
const {salaryFileStore: {getSalaryItemAdjustBeforeValue}} = this.props;
|
||||
const { salaryArchiveItems} = this.state;
|
||||
// alert("item.id : "+ item.id)
|
||||
// alert(JSON.stringify({salaryArchiveId: this.props.currentId, salaryItemId: item.id}))
|
||||
getSalaryItemAdjustBeforeValue({salaryArchiveId: this.props.currentId, salaryItemId: value}).then((data) => {
|
||||
let dataSource = [ ...salaryArchiveItems ]
|
||||
dataSource.map(i => {
|
||||
if(i.key == item.key) {
|
||||
i.salaryItem = value;
|
||||
i.salaryBefore = data
|
||||
}
|
||||
})
|
||||
this.setState({
|
||||
salaryArchiveItems: dataSource
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 调整后表格字段变化回调
|
||||
handleSalaryAfterItemChange(item, value) {
|
||||
const { salaryArchiveItems } = this.state;
|
||||
let dataSource = [ ...salaryArchiveItems ]
|
||||
dataSource.map(i => {
|
||||
if(i.key == item.key) {
|
||||
i.salaryItem = value;
|
||||
i.adjustAfter = value;
|
||||
}
|
||||
})
|
||||
this.setState({
|
||||
|
|
@ -52,12 +75,6 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
})
|
||||
}
|
||||
|
||||
// 调整后表格字段变化回调
|
||||
handleSalaryAfterItemChange(record, value) {
|
||||
const { } = this.state;
|
||||
|
||||
}
|
||||
|
||||
// 解析Columns
|
||||
getColumns() {
|
||||
const {salaryFileStore: {salaryItemChangeForm} } = this.props;
|
||||
|
|
@ -66,17 +83,23 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
return columns.map(item => {
|
||||
item = {...item}
|
||||
if(item.dataIndex == "salaryItem") {
|
||||
item.title = <span>{item.title}<RequiredLabelTip /></span>
|
||||
item.render = (text, record) => {
|
||||
return (
|
||||
<WeaSelect options={salaryItemList} style={{width: "150px"}} value={text} onChange={(value) => {
|
||||
this.handleSalaryItemChange(record, value)
|
||||
}}/>
|
||||
<Select defaultValue={text} style={{ width: 150 }} onChange={(value) => this.handleSalaryItemChange(record, value)}>
|
||||
{
|
||||
salaryItemList && salaryItemList.map(item => (
|
||||
<Option value={item.key}>{item.showname}</Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
)
|
||||
}
|
||||
}else if(item.dataIndex == "after"){
|
||||
}else if(item.dataIndex == "adjustAfter"){
|
||||
item.title = <span>{item.title}<RequiredLabelTip /></span>
|
||||
item.render = (text, record) => {
|
||||
return (
|
||||
<WeaInput type="number" style={{width: '150px'}} value={text} onChange={(value) => {
|
||||
<WeaInput type={"number"} style={{width: '150px'}} value={text} onChange={(value) => {
|
||||
this.handleSalaryAfterItemChange(record, value)
|
||||
}}/>
|
||||
)
|
||||
|
|
@ -86,36 +109,105 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
})
|
||||
}
|
||||
|
||||
// 添加按钮点击回调
|
||||
handleAddItemClick() {
|
||||
const { } = this.props;
|
||||
const { salaryArchiveItems } = this.state;
|
||||
let result = [...salaryArchiveItems]
|
||||
let lastKey = "1";
|
||||
if(result.length > 0) {
|
||||
lastKey = parseInt(result[result.length - 1].key) + 1
|
||||
}
|
||||
result.push({
|
||||
key: lastKey + "",
|
||||
salaryItem: "",
|
||||
adjustBefore: "",
|
||||
adjustAfter: ""
|
||||
})
|
||||
|
||||
this.setState({
|
||||
salaryArchiveItems: result
|
||||
})
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { salaryFileStore: {getSalaryItemForm}, currentId} = this.props;
|
||||
getSalaryItemForm(currentId).then(() => {this.setState({
|
||||
inited: true
|
||||
})})
|
||||
const { salaryFileStore: {salaryItemChangeForm, getSalaryItemForm, getSalaryItemFormByItemId}, currentId, recordId} = this.props;
|
||||
if(recordId) {
|
||||
getSalaryItemFormByItemId(recordId).then(data => {
|
||||
let request = {...this.state.request}
|
||||
request.effectiveTime = data.effectiveTime
|
||||
request.adjustReason = data.adjustReason
|
||||
request.description = data.description
|
||||
this.setState({
|
||||
salaryArchiveItems: data.dataSource,
|
||||
inited: true,
|
||||
request
|
||||
})
|
||||
})
|
||||
} else {
|
||||
getSalaryItemForm(currentId).then(() => {this.setState({
|
||||
inited: true
|
||||
})})
|
||||
}
|
||||
}
|
||||
|
||||
// 保存
|
||||
handleSave() {
|
||||
|
||||
const { salaryFileStore: {saveSalaryItem, fetchSingleSalaryItemList}} = this.props;
|
||||
let saveRequest = {...this.state.request}
|
||||
const { salaryArchiveItems } = this.state;
|
||||
if(salaryArchiveItems.length == 0) {
|
||||
message.warning("请添加调薪明细")
|
||||
return
|
||||
}
|
||||
saveRequest.salaryArchiveItems = salaryArchiveItems.map(item => {
|
||||
let result = {}
|
||||
result.salaryItemId = item.salaryItem
|
||||
result.adjustValue = item.adjustAfter
|
||||
return result
|
||||
})
|
||||
saveSalaryItem(saveRequest).then(() => {
|
||||
fetchSingleSalaryItemList({salaryArchiveId: this.props.currentId})
|
||||
this.props.onCancel()
|
||||
})
|
||||
}
|
||||
|
||||
onSelectChange = selectedRowKeys => {
|
||||
this.setState({ selectedRowKeys });
|
||||
}
|
||||
|
||||
// 批量删除回调
|
||||
handleRemoveClick = () => {
|
||||
const { selectedRowKeys, salaryArchiveItems } = this.state;
|
||||
let result = [...salaryArchiveItems]
|
||||
if(selectedRowKeys.length == 0) {
|
||||
message.warning("未选择条目")
|
||||
}
|
||||
|
||||
this.setState({
|
||||
salaryArchiveItems: result.filter(item => selectedRowKeys.indexOf(item.key) < 0)
|
||||
})
|
||||
}
|
||||
|
||||
render() {
|
||||
const { salaryFileStore: {salaryItemChangeForm} } = this.props;
|
||||
const { request, salaryArchiveItems } = this.state;
|
||||
const { request, salaryArchiveItems, selectedRowKeys } = this.state;
|
||||
const { effectiveTime, adjustReason, description } = request
|
||||
|
||||
const rowSelection = {
|
||||
selectedRowKeys,
|
||||
onChange: this.onSelectChange,
|
||||
};
|
||||
|
||||
return (
|
||||
<Modal title="调薪" width={800} visible={this.props.visible} onClose={() => {this.props.onCancel()}}
|
||||
footer={<Button type="primary" onClick={() => {
|
||||
this.handleSave()
|
||||
}}>保存</Button>}
|
||||
>
|
||||
<div className="changeSalaryModal">
|
||||
<Row className="itemWrapper">
|
||||
<div className="changeSalaryModal" style={{padding: "10px 20px"}}>
|
||||
<Row className="itemWrapper" style={{lineHeight: '47px'}}>
|
||||
<Col span={6}>
|
||||
生效日期
|
||||
生效日期<RequiredLabelTip />
|
||||
</Col>
|
||||
<Col span={18}>
|
||||
<WeaDatePicker
|
||||
|
|
@ -126,22 +218,30 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row className="itemWrapper">
|
||||
<Row className="itemWrapper" style={{lineHeight: "47px"}}>
|
||||
<Col span={6}>
|
||||
调整原因
|
||||
调整原因<RequiredLabelTip />
|
||||
</Col>
|
||||
<Col span={18}>
|
||||
{
|
||||
{/* {
|
||||
this.state.inited && <WeaSelect
|
||||
options={salaryItemChangeForm.adjustReasonList}
|
||||
style={{width: "200px"}}
|
||||
value={adjustReason}
|
||||
onChange={(value) => {this.handleChange({ adjustReason: value })}}
|
||||
/>
|
||||
}
|
||||
} */}
|
||||
|
||||
<Select defaultValue={adjustReason} value={adjustReason} style={{ width: 200 }} onChange={(value) => this.handleChange({adjustReason: value})}>
|
||||
{
|
||||
salaryItemChangeForm.adjustReasonList && salaryItemChangeForm.adjustReasonList.map(item => (
|
||||
<Option value={item.key}>{item.showname}</Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row className="itemWrapper">
|
||||
<Row className="itemWrapper" style={{lineHeight: '47px'}}>
|
||||
<Col span={6}>
|
||||
说明
|
||||
</Col>
|
||||
|
|
@ -160,14 +260,14 @@ export default class ChangeSalaryModal extends React.Component {
|
|||
<div className="contentTitleWrapper" style={{height: "40px",lineHeight: "40px"}}>
|
||||
<span className="contentTitle" style={{fontSize: "14px", color: "#666"}}>调薪明细</span>
|
||||
<div className="rightIconWrapper" style={{display: "inline-block", float: "right"}}>
|
||||
<Icon type="minus-square" style={{color: "#2db7f5", cursor: "pointer", marginRight: "15px"}} onClick={() => {this.handleAddItemClick()}}/>
|
||||
<Icon type="plus-square" style={{color: "#2db7f5", cursor: "pointer"}}/>
|
||||
<Icon type="minus-square" style={{color: "#2db7f5", cursor: "pointer", marginRight: "15px"}} onClick={() => {this.handleRemoveClick()}}/>
|
||||
<Icon type="plus-square" style={{color: "#2db7f5", cursor: "pointer"}} onClick={() => {this.handleAddItemClick()}}/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="tableWrapper">
|
||||
{
|
||||
this.state.inited && <Table dataSource={salaryArchiveItems} columns={this.getColumns()}/>
|
||||
this.state.inited && <Table rowSelection={rowSelection} dataSource={salaryArchiveItems} columns={this.getColumns()}/>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
import React from 'react'
|
||||
import { Modal, Row, Col, Button } from "antd"
|
||||
import { Modal, Row, Col, Button, Select } from "antd"
|
||||
const { Option } = Select
|
||||
import { WeaDatePicker, WeaSelect } from "ecCom"
|
||||
import { inject, observer } from 'mobx-react';
|
||||
import moment from 'moment'
|
||||
import RequiredLabelTip from '../../components/requiredLabelTip';
|
||||
|
||||
|
||||
@inject("salaryFileStore")
|
||||
@observer
|
||||
export default class EditAgentModal extends React.Component {
|
||||
|
|
@ -47,8 +49,9 @@ export default class EditAgentModal extends React.Component {
|
|||
}
|
||||
|
||||
handleSave() {
|
||||
const { salaryFileStore: {saveTaxAgent}} = this.props;
|
||||
const { salaryFileStore: {saveTaxAgent, fetchSingleTaxAgentList}} = this.props;
|
||||
saveTaxAgent(this.state.request).then(() => {
|
||||
fetchSingleTaxAgentList({salaryArchiveId: this.props.currentId})
|
||||
this.props.onCancel()
|
||||
})
|
||||
}
|
||||
|
|
@ -63,12 +66,14 @@ export default class EditAgentModal extends React.Component {
|
|||
|
||||
componentWillMount() {
|
||||
const { salaryFileStore: {salaryArchiveTaxAgentForm, getTaxAgentForm, fetchSingleTaxAgentList, getTaxAgentFormByTaxAgentId}} = this.props;
|
||||
let request = {...this.state.request}
|
||||
if(this.props.recordId) { // 点击条目进入
|
||||
getTaxAgentFormByTaxAgentId(this.props.recordId).then(() => {
|
||||
getTaxAgentFormByTaxAgentId(this.props.recordId).then((data) => {
|
||||
request.taxAgentId = data.adjustAfter != undefined ? data.adjustAfter + "": ""
|
||||
// request.taxAgentId = "13"
|
||||
request.adjustReason = data.adjustReason != undefined ? data.adjustReason : ""
|
||||
this.setState({
|
||||
// taxAgentId: "25",
|
||||
taxAgentId: salaryArchiveTaxAgentForm.ad1justAfter != undefined ? salaryArchiveTaxAgentForm.adjustAfter + "": "",
|
||||
adjustReason:salaryArchiveTaxAgentForm.adjustReason != undefined ? salaryArchiveTaxAgentForm.adjustReason : ""
|
||||
request
|
||||
}, () => {
|
||||
this.setState({
|
||||
initSelected: true
|
||||
|
|
@ -111,9 +116,13 @@ export default class EditAgentModal extends React.Component {
|
|||
<Col span={16}>
|
||||
{
|
||||
this.state.initSelected &&
|
||||
<WeaSelect style={{width:"200px"}} options={this.getAdjustReasonList()} value={adjustReason} onChange={(value) => {
|
||||
this.handleChange({adjustReason: value})
|
||||
}}/>
|
||||
<Select defaultValue={adjustReason} value={adjustReason} style={{ width: 200 }} onChange={(value) => this.handleChange({adjustReason: value})}>
|
||||
{
|
||||
this.getAdjustReasonList().map(item => (
|
||||
<Option value={item.key}>{item.showname}</Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
}
|
||||
</Col>
|
||||
</Row>
|
||||
|
|
@ -127,9 +136,15 @@ export default class EditAgentModal extends React.Component {
|
|||
<Col span={8}>调整后<RequiredLabelTip /></Col>
|
||||
<Col span={16}>
|
||||
{
|
||||
this.state.initSelected && <WeaSelect style={{width: '200px'}} options={this.getTaxAgentList()} value={taxAgentId} onChange={(value) => {
|
||||
this.handleChange({taxAgentId: value})
|
||||
}} />
|
||||
this.state.initSelected &&
|
||||
<Select defaultValue={taxAgentId} value={taxAgentId} style={{ width: 200 }} onChange={(value) => this.handleChange({taxAgentId: value})}>
|
||||
{
|
||||
this.getTaxAgentList().map(item => (
|
||||
<Option value={item.key}>{item.showname}</Option>
|
||||
))
|
||||
}
|
||||
</Select>
|
||||
|
||||
}
|
||||
</Col>
|
||||
</Row>
|
||||
|
|
|
|||
|
|
@ -116,7 +116,8 @@ export default class SalaryFile extends React.Component {
|
|||
|
||||
// 显示调整个税扣缴义务人表单
|
||||
handSildeOptionMenuClick(e) {
|
||||
this.setState({editAgentVisible: true})
|
||||
const { salaryFileStore: {setEditAgentVisible}} = this.props;
|
||||
setEditAgentVisible(true)
|
||||
}
|
||||
|
||||
// 查看 Slide 头部操作按钮
|
||||
|
|
@ -135,7 +136,6 @@ export default class SalaryFile extends React.Component {
|
|||
this.setState({ selectedRowKeys });
|
||||
};
|
||||
|
||||
|
||||
render() {
|
||||
const { salaryFileStore } = this.props;
|
||||
const { loading, hasRight, form, condition, tableStore, showSearchAd, getTableDatas, doSearch, setShowSearchAd } = salaryFileStore;
|
||||
|
|
@ -251,7 +251,6 @@ export default class SalaryFile extends React.Component {
|
|||
onChange: this.onSelectChange,
|
||||
};
|
||||
|
||||
|
||||
return (
|
||||
<div className="mySalaryBenefitsWrapper">
|
||||
<WeaRightMenu
|
||||
|
|
|
|||
|
|
@ -1,25 +1,71 @@
|
|||
import React from 'react';
|
||||
import { Table } from 'antd'
|
||||
import { inject, observer } from 'mobx-react';
|
||||
import ChangeSalaryModal from './changeSalaryModal'
|
||||
|
||||
@inject('salaryFileStore')
|
||||
@observer
|
||||
export default class SalaryItemChangeList extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
changeSalaryVisible: false,
|
||||
recordId: ""
|
||||
}
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
const { salaryFileStore: { fetchSingleSalaryItemList }} = this.props;
|
||||
const { salaryFileStore: { fetchSingleSalaryItemList }, id} = this.props;
|
||||
fetchSingleSalaryItemList({salaryArchiveId: this.props.id})
|
||||
|
||||
}
|
||||
|
||||
handleEdit(record) {
|
||||
this.setState({
|
||||
recordId: record.id
|
||||
}, () => {
|
||||
this.setState({
|
||||
changeSalaryVisible: true
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 获取Columns
|
||||
getColumns() {
|
||||
const { salaryFileStore: {singleSalaryItemList} } = this.props;
|
||||
let columns = []
|
||||
if(singleSalaryItemList.columns) {
|
||||
columns = [...singleSalaryItemList.columns]
|
||||
}
|
||||
if(columns.length > 0) {
|
||||
columns.push({
|
||||
title: '操作',
|
||||
key: "cz",
|
||||
dataIndex: "cz",
|
||||
render: (text, record) => {
|
||||
return (
|
||||
<a onClick={() => {this.handleEdit(record)}}>编辑</a>
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
return columns
|
||||
}
|
||||
|
||||
render() {
|
||||
const { salaryFileStore } = this.props;
|
||||
const { singleSalaryItemList } = salaryFileStore
|
||||
return (
|
||||
<div>
|
||||
<Table dataSource={singleSalaryItemList.list ? singleSalaryItemList.list: []} columns={singleSalaryItemList.columns ? singleSalaryItemList.columns: []} />
|
||||
<Table dataSource={singleSalaryItemList.list ? singleSalaryItemList.list: []} columns={this.getColumns()} />
|
||||
{
|
||||
this.state.changeSalaryVisible && <ChangeSalaryModal
|
||||
currentId={this.props.id}
|
||||
recordId={this.state.recordId}
|
||||
visible={this.state.changeSalaryVisible}
|
||||
onCancel={() => {this.setState({changeSalaryVisible: false})}}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -210,46 +210,65 @@ export class salaryFileStore {
|
|||
})
|
||||
}
|
||||
|
||||
convertForm = (resData) => {
|
||||
let salaryItemChangeForm = {}
|
||||
salaryItemChangeForm.adjustReasonList = resData.salaryArchiveItemForm.adjustReasonList.map(item => {
|
||||
item = {...item}
|
||||
item.key = item.id;
|
||||
item.showname = item.content
|
||||
item.selected = false
|
||||
return item
|
||||
})
|
||||
|
||||
salaryItemChangeForm.salaryItemList = resData.salaryArchiveItemDetail.salaryItemList.map(item => {
|
||||
item = {...item}
|
||||
item.key = item.id;
|
||||
item.showname = item.content
|
||||
item.selected = false
|
||||
return item
|
||||
})
|
||||
|
||||
salaryItemChangeForm.columns = resData.salaryArchiveItemDetail.columns.map(item => {
|
||||
let result = {}
|
||||
result.title = item
|
||||
if(item == "薪资项目") {
|
||||
result.dataIndex = "salaryItem"
|
||||
result.key = "salaryItem"
|
||||
}
|
||||
if(item == "调整前") {
|
||||
result.dataIndex = "salaryBefore"
|
||||
result.key = "salaryBefore"
|
||||
}
|
||||
if(item == "调整后") {
|
||||
result.dataIndex = "adjustAfter"
|
||||
result.key = "adjustAfter"
|
||||
}
|
||||
return result
|
||||
})
|
||||
|
||||
salaryItemChangeForm.dataSource = resData.salaryArchiveItemDetail.list.map((item, index) => {
|
||||
item = {...item}
|
||||
item.key = (index + 1).toString()
|
||||
return item
|
||||
})
|
||||
|
||||
let effectiveTime = resData.salaryArchiveItemForm.effectiveTime
|
||||
if(effectiveTime) {
|
||||
salaryItemChangeForm.effectiveTime = moment(new Date(effectiveTime)).format("YYYY-MM-DD")
|
||||
}
|
||||
|
||||
salaryItemChangeForm.description = resData.salaryArchiveItemForm.description
|
||||
salaryItemChangeForm.adjustReason = resData.salaryArchiveItemForm.adjustReason
|
||||
return salaryItemChangeForm
|
||||
}
|
||||
|
||||
// 薪资档案-获取薪资项目调整表单
|
||||
@action
|
||||
getSalaryItemForm = (id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
API.getSalaryItemForm({salaryArchiveItemId: id}).then(res => {
|
||||
if(res.status) {
|
||||
this.salaryItemChangeForm = {}
|
||||
this.salaryItemChangeForm.adjustReasonList = res.data.salaryArchiveItemForm.adjustReasonList.map(item => {
|
||||
item = {...item}
|
||||
item.key = item.id;
|
||||
item.showname = item.content
|
||||
item.selected = false
|
||||
return item
|
||||
})
|
||||
|
||||
this.salaryItemChangeForm.salaryItemList = res.data.salaryArchiveItemDetail.salaryItemList.map(item => {
|
||||
item = {...item}
|
||||
item.key = item.id;
|
||||
item.showname = item.content
|
||||
item.selected = false
|
||||
return item
|
||||
})
|
||||
|
||||
this.salaryItemChangeForm.columns = res.data.salaryArchiveItemDetail.columns.map(item => {
|
||||
let result = {}
|
||||
result.title = item
|
||||
if(item == "薪资项目") {
|
||||
result.dataIndex = "salaryItem"
|
||||
result.key = "salaryItem"
|
||||
}
|
||||
if(item == "调整前") {
|
||||
result.dataIndex = "before"
|
||||
result.key = "before"
|
||||
}
|
||||
if(item == "调整后") {
|
||||
result.dataIndex = "after"
|
||||
result.key = "after"
|
||||
}
|
||||
return result
|
||||
})
|
||||
this.salaryItemChangeForm = this.convertForm(res.data)
|
||||
resolve()
|
||||
} else {
|
||||
message.error(res.errormsg || "获取失败")
|
||||
|
|
@ -301,7 +320,6 @@ export class salaryFileStore {
|
|||
API.singleTaxAgentList(params).then(res => {
|
||||
if(res.status) {
|
||||
this.singleTaxAgentList = res.data
|
||||
|
||||
} else {
|
||||
message.error(res.errormsg || "获取失败")
|
||||
}
|
||||
|
|
@ -325,7 +343,7 @@ export class salaryFileStore {
|
|||
let form = res.data.salaryArchiveTaxAgentForm
|
||||
form.effectiveTime = moment(new Date(form.effectiveTime)).format("YYYY-MM-DD")
|
||||
this.salaryArchiveTaxAgentForm = form
|
||||
resolve()
|
||||
resolve(form)
|
||||
} else {
|
||||
message.error(res.errormsg || "获取失败")
|
||||
reject()
|
||||
|
|
@ -335,4 +353,90 @@ export class salaryFileStore {
|
|||
|
||||
}
|
||||
|
||||
validateSaveSalaryForm = (params) => {
|
||||
if(!notNull(params.salaryArchiveId)) {
|
||||
message.error("档案id不能为空")
|
||||
return false
|
||||
}
|
||||
|
||||
if(!notNull(params.effectiveTime)) {
|
||||
message.error("生效日期不能为空")
|
||||
return false
|
||||
}
|
||||
|
||||
if(!notNull(params.adjustReason)) {
|
||||
message.error("调整原因不能为空")
|
||||
return false
|
||||
}
|
||||
|
||||
if(!params.salaryArchiveItems || params.salaryArchiveItems.length == 0 ) {
|
||||
message.error("调整明细不能为空")
|
||||
return false
|
||||
}
|
||||
|
||||
for(let i = 0; i < params.salaryArchiveItems.length; i++) {
|
||||
if(!notNull(params.salaryArchiveItems[i].salaryItemId)) {
|
||||
message.error("薪资项目不能为空")
|
||||
return false;
|
||||
}
|
||||
if(!notNull(params.salaryArchiveItems[i].adjustValue)) {
|
||||
message.error("调整后不能为空")
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 保存调薪
|
||||
@action
|
||||
saveSalaryItem = (params) => {
|
||||
if(!this.validateSaveSalaryForm(params)) {
|
||||
return
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
API.saveSalaryItem(params).then(res => {
|
||||
if(res.status) {
|
||||
message.success("保存成功")
|
||||
resolve()
|
||||
} else {
|
||||
message.error(res.errormsg || "保存失败")
|
||||
reject()
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
// 调整=薪资项目调整-获取调整前的值
|
||||
@action
|
||||
getSalaryItemAdjustBeforeValue = (params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
API.getSalaryItemAdjustBeforeValue(params).then(res => {
|
||||
if(res.status) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
message.error(res.errormsg || "获取失败")
|
||||
reject(res.errormsg)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 调整-薪资项目-编辑获取表单
|
||||
@action
|
||||
getSalaryItemFormByItemId = (id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
API.getSalaryItemFormByItemId({salaryArchiveItemId: id}).then(res => {
|
||||
if(res.status) {
|
||||
this.salaryItemChangeForm = this.convertForm(res.data)
|
||||
resolve(this.salaryItemChangeForm)
|
||||
} else {
|
||||
message.error(res.errormsg || "获取失败")
|
||||
reject()
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue