Commit 17b7ad53 authored by 许珑标's avatar 许珑标

薪资调整

parent 252d87bf
import request from '@/utils/request'
// 查询发薪记录薪资调整列表
export function listAdjustInfo(query) {
return request({
url: '/business/adjustInfo/list',
method: 'get',
params: query
})
}
// 查询发薪记录薪资调整所有列表
export function listAllAdjustInfo(query) {
return request({
url: '/business/adjustInfo/listAll',
method: 'get',
params: query
})
}
// 查询发薪记录薪资调整详细
export function getAdjustInfo(id) {
return request({
url: '/business/adjustInfo/getInfo/' + id,
method: 'get'
})
}
// 计算调整薪资
export function adjustCalculate(data) {
return request({
url: '/business/adjustInfo/adjust/calculate',
method: 'post',
data: data
})
}
// 新增发薪记录薪资调整
export function addAdjustInfo(data) {
return request({
url: '/business/adjustInfo/add',
method: 'post',
data: data
})
}
// 修改发薪记录薪资调整
export function updateAdjustInfo(data) {
return request({
url: '/business/adjustInfo/edit',
method: 'post',
data: data
})
}
// 删除发薪记录薪资调整
export function delAdjustInfo(id) {
return request({
url: '/business/adjustInfo/remove/' + id,
method: 'get'
})
}
...@@ -52,14 +52,6 @@ export function updatePayOutDetail(data) { ...@@ -52,14 +52,6 @@ export function updatePayOutDetail(data) {
}) })
} }
// 调整薪资
export function adjustSalary(data) {
return request({
url: '/business/payOutDetail/adjust/salary',
method: 'post',
data: data
})
}
// 删除发薪详情 // 删除发薪详情
export function delPayOutDetail(id) { export function delPayOutDetail(id) {
......
...@@ -62,6 +62,15 @@ export function pay(data) { ...@@ -62,6 +62,15 @@ export function pay(data) {
}) })
} }
// 调整薪资
export function saveAdjustCalculate(data) {
return request({
url: '/business/payOutRecord/adjust/calculate',
method: 'post',
data: data
})
}
// 删除发薪批次信息 // 删除发薪批次信息
export function delPayOutRecord(id) { export function delPayOutRecord(id) {
return request({ return request({
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<el-table-column label="员工姓名" align="center" prop="userName" fixed /> <el-table-column label="员工姓名" align="center" prop="userName" fixed />
<el-table-column label="身份证号" align="center" prop="userCode" fixed /> <el-table-column label="身份证号" align="center" prop="userCode" fixed />
<el-table-column label="所属合同" align="center" prop="contractName" /> <el-table-column label="所属合同" align="center" prop="contractName" />
<el-table-column label="发薪主体" align="center" prop="companyName"> <el-table-column label="用工单位" align="center" prop="companyName">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.companyName }} {{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag> <el-tag>{{ scope.row.companyCode }}</el-tag>
...@@ -319,65 +319,50 @@ ...@@ -319,65 +319,50 @@
<!-- 考勤核对 --> <!-- 考勤核对 -->
<el-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body> <el-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-row> <el-form label-width="120px">
<el-col :span="12"> <el-form-item label="原实发金额">
<el-form :model="preForm" label-width="120px"> <el-input v-model="preForm.actualPayableNormal" disabled />
<el-form-item>
<el-tag>修正前</el-tag>
</el-form-item>
<el-form-item label="单位缴纳保险" prop="companyBxMoney">
<el-input v-model="preForm.companyBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="个人缴纳保险" prop="personalBxMoney">
<el-input v-model="preForm.personalBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="preForm.postWage" disabled placeholder="请输入岗位工资" />
</el-form-item> </el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="preForm.salaryPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="实发工资" prop="actualPayable">
<el-input v-model="preForm.actualPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="12">
<el-form ref="cwForm" :model="cwForm" :rules="cwFormRules" label-width="120px">
<el-form-item> <el-form-item>
<el-tag type="success">修正后</el-tag> <el-button type="primary" size="small" @click="newAdjustItem">新增调整项</el-button>
</el-form-item>
<el-form-item label="单位缴纳保险" prop="companyBxMoney">
<el-input v-model="cwForm.companyBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="个人缴纳保险" prop="personalBxMoney">
<el-input v-model="cwForm.personalBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="cwForm.postWage" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="cwForm.salaryPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="实发工资" prop="actualPayable">
<el-input v-model="cwForm.actualPayable" disabled placeholder="请输入岗位工资" />
</el-form-item> </el-form-item>
<el-form-item label="调整类型" prop="adjustType"> <el-form-item label="调整类目">
<el-select v-model="cwForm.adjustType" placeholder="调整类型"> <el-table :data="adjustItem" style="width: 100%" :height="300">
<el-option label="扣除" :value="1" /> <el-table-column type="index" label="序号" />
<el-option label="增加" :value="2" /> <el-table-column prop="adjustName" label="调整原因" width="180">
<template slot-scope="{row}">
<el-input v-model="row.adjustName" />
</template>
</el-table-column>
<el-table-column prop="adjustType" label="类型" width="180">
<template slot-scope="{row}">
<el-select v-model="row.adjustType" @change="adjustView.open = false">
<el-option :value="1" label="扣除" />
<el-option :value="2" label="增加" />
</el-select> </el-select>
</template>
</el-table-column>
<el-table-column prop="adjustAmount" label="金额">
<template slot-scope="{row}">
<el-input-number v-model="row.adjustAmount" placeholder="请输入管理费" :precision="2"
:step="1" :min="0" controls-position="right" @change="adjustView.open = false"></el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" width="180">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete" @click="delAdjustItem(scope.$index)">删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="doAdjustCalculate">预览</el-button>
</el-form-item> </el-form-item>
<el-form-item label="调整薪资" prop="adjustMoney"> <el-form-item v-show="adjustView.open">
<el-input-number style="width: 200px" :precision="2" :step="1" v-model="cwForm.adjustMoney" <span>合计调整: {{adjustView.adjustSalary}}, 最终实发: {{adjustView.finalSalary}}</span>
placeholder="请输入调整金额">
</el-input-number>
<el-button style="margin-left: 10px" size="mini" round @click="preCal">预览</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFormCwForm">确 定</el-button> <el-button type="primary" @click="submitFormCwForm">确 定</el-button>
<el-button @click="checkWorkOpen = false">取 消</el-button> <el-button @click="checkWorkOpen = false">取 消</el-button>
...@@ -394,13 +379,18 @@ import { ...@@ -394,13 +379,18 @@ import {
addPayOutDetail, addPayOutDetail,
updatePayOutDetail, adjustSalary, viewPayEvi updatePayOutDetail, adjustSalary, viewPayEvi
} from '@/api/business/payOutDetail' } from '@/api/business/payOutDetail'
import { adjustCalculate, listAllAdjustInfo } from '@/api/business/adjustInfo'
import { saveAdjustCalculate } from '@/api/business/payOutRecord'
export default { export default {
name: 'PayOutDetail', name: 'PayOutDetail',
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'], dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() { data() {
return { return {
preForm: {}, adjustItem: [],
preForm: {
actualPayableNormal: 0,
},
preFormOpen: false, preFormOpen: false,
checkWorkOpen: false, checkWorkOpen: false,
cwForm: { cwForm: {
...@@ -445,6 +435,11 @@ export default { ...@@ -445,6 +435,11 @@ export default {
userName: null, userName: null,
userCode: null userCode: null
}, },
adjustView: {
open: false,
finalSalary: 0,
adjustSalary: '',
},
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
...@@ -612,6 +607,13 @@ export default { ...@@ -612,6 +607,13 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
newAdjustItem() {
this.adjustItem.push({
adjustName: '',
adjustType: 1,
adjustAmount: 0
})
},
/** 查询发薪详情列表 */ /** 查询发薪详情列表 */
getList() { getList() {
this.loading = true this.loading = true
...@@ -754,73 +756,26 @@ export default { ...@@ -754,73 +756,26 @@ export default {
...this.queryParams ...this.queryParams
}, `payOutDetail_${new Date().getTime()}.xlsx`) }, `payOutDetail_${new Date().getTime()}.xlsx`)
}, },
checkWork(row) { async checkWork(row) {
// 单位总金额计算 this.preForm.salaryPayDetailId = row.id
let companyTotalAmount = 0 this.preForm.actualPayableNormal = row.actualPayableNormal
if (row.ylbxCompanyMoney) { await listAllAdjustInfo({
companyTotalAmount += Number(row.ylbxCompanyMoney) salaryPayDetailId: row.id
} }).then(resp => {
if (row.gsbxCompanyMoney) { if (200 == resp.code) {
companyTotalAmount += Number(row.gsbxCompanyMoney) this.adjustItem = resp.data
}
if (row.ysbxCompanyMoney) {
companyTotalAmount += Number(row.ysbxCompanyMoney)
}
if (row.sybxCompanyMoney) {
companyTotalAmount += Number(row.sybxCompanyMoney)
}
if (row.syubxCompanyMoney) {
companyTotalAmount += Number(row.syubxCompanyMoney)
}
if (row.providentFundCompanyMoney) {
companyTotalAmount += Number(row.providentFundCompanyMoney)
}
// 个人总金额方法
let personTotalAmount = 0
if (row.ylbxPersonalMoney) {
personTotalAmount += Number(row.ylbxPersonalMoney)
}
if (row.gsbxPersonalMoney) {
personTotalAmount += Number(row.gsbxPersonalMoney)
}
if (row.ysbxPersonalMoney) {
personTotalAmount += Number(row.ysbxPersonalMoney)
}
if (row.sybxPersonalMoney) {
personTotalAmount += Number(row.sybxPersonalMoney)
}
if (row.syubxPersonalMoney) {
personTotalAmount += Number(row.syubxPersonalMoney)
}
if (row.providentFundPersonalMoney) {
personTotalAmount += Number(row.providentFundPersonalMoney)
}
this.cwForm = {
id: row.id,
companyBxMoney: companyTotalAmount,
personalBxMoney: personTotalAmount,
postWage: row.postWage,
salaryPayable: row.salaryPayable,
actualPayable: row.actualPayable,
bearType: row.standard.bearType,
adjustType: 1
} }
})
this.checkWorkOpen = true this.checkWorkOpen = true
this.preForm = { ...this.cwForm }
},
preCal() {
this.cwForm.actualPayable = this.preForm.actualPayable
if (1 == this.cwForm.adjustType) {
this.cwForm.actualPayable = this.cwForm.actualPayable - Number(this.cwForm.adjustMoney)
} else {
this.cwForm.actualPayable = this.cwForm.actualPayable + Number(this.cwForm.adjustMoney)
}
}, },
submitFormCwForm() { submitFormCwForm() {
if (1 == this.cwForm.adjustType) { if (!this.adjustItem) {
this.cwForm.adjustMoney = 0 - this.cwForm.adjustMoney; this.$modal.msgWarning("没有调整项")
} }
adjustSalary(this.cwForm).then(resp => { saveAdjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) { if (200 == resp.code) {
this.checkWorkOpen = false this.checkWorkOpen = false
this.$modal.msgSuccess("操作成功"); this.$modal.msgSuccess("操作成功");
...@@ -828,6 +783,10 @@ export default { ...@@ -828,6 +783,10 @@ export default {
} }
}); });
}, },
delAdjustItem(index) {
this.adjustItem.splice(index, 1)
this.adjustView.open = false
},
eviView(row) { eviView(row) {
this.$modal.loading("正在处理...") this.$modal.loading("正在处理...")
viewPayEvi(row.id).then(resp => { viewPayEvi(row.id).then(resp => {
...@@ -837,7 +796,24 @@ export default { ...@@ -837,7 +796,24 @@ export default {
}).finally(() => { }).finally(() => {
this.$modal.closeLoading() this.$modal.closeLoading()
}) })
},
doAdjustCalculate() {
if (!this.adjustItem) {
this.$modal.msgWarning("没有调整项")
}
adjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) {
this.adjustView = {
open: true,
adjustSalary: resp.data.adjustSalary + "",
finalSalary: resp.data.finalSalary + ""
}
} }
})
},
} }
} }
</script> </script>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<el-table-column label="人员姓名" align="center" prop="userName" fixed /> <el-table-column label="人员姓名" align="center" prop="userName" fixed />
<el-table-column label="身份证号" align="center" prop="userCode" fixed /> <el-table-column label="身份证号" align="center" prop="userCode" fixed />
<el-table-column label="所属合同" align="center" prop="contractName" /> <el-table-column label="所属合同" align="center" prop="contractName" />
<el-table-column label="发薪主体" align="center" prop="companyName"> <el-table-column label="用工单位" align="center" prop="companyName">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.companyName }} {{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag> <el-tag>{{ scope.row.companyCode }}</el-tag>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment