Commit fa8b26c3 authored by 许珑标's avatar 许珑标

调整薪资优化

parent 78fbf079
......@@ -317,7 +317,7 @@
</div>
</el-dialog>
<!-- 考勤核对 -->
<!-- 调整薪资 -->
<el-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-form label-width="120px">
<el-form-item label="原实发金额">
......@@ -767,6 +767,9 @@ export default {
}
})
this.checkWorkOpen = true
this.adjustView = {
open: false
}
},
submitFormCwForm() {
if (!this.adjustItem) {
......
......@@ -145,7 +145,7 @@
v-hasPermi="['business:payOutDetail:edit']">修改
</el-button>
<el-button v-if="scope.row.payStatus && 1 == scope.row.payStatus" size="mini" type="text" icon="el-icon-edit"
@click="checkWork(scope.row)" v-hasPermi="['business:payOutDetail:edit']">考勤核对
@click="checkWork(scope.row)" v-hasPermi="['business:payOutDetail:edit']">调整薪资
</el-button>
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus" size="mini"
type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
......@@ -313,63 +313,54 @@
</div>
</el-dialog>
<!-- 考勤核对 -->
<el-dialog title="考勤核对" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-row>
<el-col :span="12">
<el-form :model="preForm" label-width="120px">
<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 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-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-form label-width="120px">
<el-form-item label="原实发金额">
<el-input v-model="preForm.actualPayableNormal" disabled />
</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-tag type="success">修正后</el-tag>
</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-button type="primary" size="small" @click="newAdjustItem">新增调整项</el-button>
</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 label="调整类目">
<el-table :data="adjustItem" style="width: 100%" :height="300">
<el-table-column type="index" label="序号" />
<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>
</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 label="实发工资" prop="actualPayable">
<el-input v-model="cwForm.actualPayable" disabled placeholder="请输入岗位工资" />
<el-form-item>
<el-button type="primary" size="small" @click="doAdjustCalculate">预览</el-button>
</el-form-item>
<el-form-item label="考勤扣除" prop="checkWorkCost">
<el-input-number style="width: 200px" :precision="2" :step="1" :min="0" v-model="cwForm.checkWorkCost"
placeholder="请输入考勤扣除">
</el-input-number>
<el-button style="margin-left: 10px" size="mini" round @click="preCal">预览</el-button>
<el-form-item v-show="adjustView.open">
<span>合计调整: {{adjustView.adjustSalary}}, 最终实发: {{adjustView.finalSalary}}</span>
</el-form-item>
</el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button type="primary" @click="submitFormCwForm">确 定</el-button>
<el-button @click="checkWorkOpen = false">取 消</el-button>
</div>
</el-dialog>
......@@ -384,13 +375,17 @@ import {
addPayOutDetail,
updatePayOutDetail, viewPayEvi
} from '@/api/business/payOutDetail'
import { adjustCalculate, listAllAdjustInfo } from '@/api/business/adjustInfo'
import { saveAdjustCalculate } from '@/api/business/payOutRecord'
export default {
name: 'PayOutDetail',
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() {
return {
preForm: {},
adjustItem: [],
preForm: {
actualPayableNormal: 0,
},
preFormOpen: false,
checkWorkOpen: false,
cwForm: {
......@@ -399,7 +394,8 @@ export default {
postWage: null,
salaryPayable: null,
actualPayable: null,
checkWorkCost: 0
adjustMoney: 0,
adjustType: 1
},
cwFormRules: {},
batchName: null,
......@@ -423,6 +419,11 @@ export default {
title: '',
// 是否显示弹出层
open: false,
adjustView: {
open: false,
finalSalary: 0,
adjustSalary: '',
},
// 查询参数
queryParams: {
pageNum: 1,
......@@ -600,6 +601,13 @@ export default {
this.getList()
},
methods: {
newAdjustItem() {
this.adjustItem.push({
adjustName: '',
adjustType: 1,
adjustAmount: 0
})
},
/** 查询发薪详情列表 */
getList() {
this.loading = true
......@@ -740,64 +748,39 @@ export default {
...this.queryParams
}, `payOutDetail_${new Date().getTime()}.xlsx`)
},
checkWork(row) {
// 单位总金额计算
let companyTotalAmount = 0
if (row.ylbxCompanyMoney) {
companyTotalAmount += Number(row.ylbxCompanyMoney)
}
if (row.gsbxCompanyMoney) {
companyTotalAmount += Number(row.gsbxCompanyMoney)
}
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)
async checkWork(row) {
this.preForm.salaryPayDetailId = row.id
this.preForm.actualPayableNormal = row.actualPayableNormal
await listAllAdjustInfo({
salaryPayDetailId: row.id
}).then(resp => {
if (200 == resp.code) {
this.adjustItem = resp.data
}
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)
})
this.checkWorkOpen = true
this.adjustView = {
open: false
}
if (row.providentFundPersonalMoney) {
personTotalAmount += Number(row.providentFundPersonalMoney)
},
submitFormCwForm() {
if (!this.adjustItem) {
this.$modal.msgWarning("没有调整项")
}
this.cwForm = {
companyBxMoney: companyTotalAmount,
personalBxMoney: personTotalAmount,
postWage: row.postWage,
salaryPayable: row.salaryPayable,
actualPayable: row.actualPayable,
bearType: row.standard.bearType
saveAdjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) {
this.checkWorkOpen = false
this.$modal.msgSuccess("操作成功");
this.getList()
}
this.checkWorkOpen = true
this.preForm = { ...this.cwForm }
});
},
preCal() {
if (1 == this.cwForm.bearType) {
this.cwForm.salaryPayable = this.cwForm.salaryPayable - Number(this.cwForm.checkWorkCost)
} else {
this.cwForm.postWage = this.cwForm.postWage + Number(this.cwForm.checkWorkCost)
}
delAdjustItem(index) {
this.adjustItem.splice(index, 1)
this.adjustView.open = false
},
eviView(row) {
this.$modal.loading("正在处理...")
......@@ -808,7 +791,24 @@ export default {
}).finally(() => {
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>
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