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

调整薪资优化

parent 78fbf079
...@@ -317,7 +317,7 @@ ...@@ -317,7 +317,7 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 考勤核对 --> <!-- 调整薪资 -->
<el-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body> <el-dialog title="调整薪资" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-form label-width="120px"> <el-form label-width="120px">
<el-form-item label="原实发金额"> <el-form-item label="原实发金额">
...@@ -767,6 +767,9 @@ export default { ...@@ -767,6 +767,9 @@ export default {
} }
}) })
this.checkWorkOpen = true this.checkWorkOpen = true
this.adjustView = {
open: false
}
}, },
submitFormCwForm() { submitFormCwForm() {
if (!this.adjustItem) { if (!this.adjustItem) {
......
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
v-hasPermi="['business:payOutDetail:edit']">修改 v-hasPermi="['business:payOutDetail:edit']">修改
</el-button> </el-button>
<el-button v-if="scope.row.payStatus && 1 == scope.row.payStatus" size="mini" type="text" icon="el-icon-edit" <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>
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus" size="mini" <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)" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
...@@ -313,63 +313,54 @@ ...@@ -313,63 +313,54 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 考勤核对 --> <!-- 调整薪资 -->
<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-form-item>
<el-tag>修正前</el-tag> <el-form-item>
</el-form-item> <el-button type="primary" size="small" @click="newAdjustItem">新增调整项</el-button>
<el-form-item label="单位缴纳保险" prop="companyBxMoney"> </el-form-item>
<el-input v-model="preForm.companyBxMoney" disabled placeholder="请输入岗位工资" /> <el-form-item label="调整类目">
</el-form-item> <el-table :data="adjustItem" style="width: 100%" :height="300">
<el-form-item label="个人缴纳保险" prop="personalBxMoney"> <el-table-column type="index" label="序号" />
<el-input v-model="preForm.personalBxMoney" disabled placeholder="请输入岗位工资" /> <el-table-column prop="adjustName" label="调整原因" width="180">
</el-form-item> <template slot-scope="{row}">
<el-form-item label="岗位工资" prop="postWage"> <el-input v-model="row.adjustName" />
<el-input v-model="preForm.postWage" disabled placeholder="请输入岗位工资" /> </template>
</el-form-item> </el-table-column>
<el-form-item label="应发工资" prop="salaryPayable"> <el-table-column prop="adjustType" label="类型" width="180">
<el-input v-model="preForm.salaryPayable" disabled placeholder="请输入岗位工资" /> <template slot-scope="{row}">
</el-form-item> <el-select v-model="row.adjustType" @change="adjustView.open = false">
<el-form-item label="实发工资" prop="actualPayable"> <el-option :value="1" label="扣除" />
<el-input v-model="preForm.actualPayable" disabled placeholder="请输入岗位工资" /> <el-option :value="2" label="增加" />
</el-form-item> </el-select>
</el-form> </template>
</el-col> </el-table-column>
<el-col :span="12"> <el-table-column prop="adjustAmount" label="金额">
<el-form ref="cwForm" :model="cwForm" :rules="cwFormRules" label-width="120px"> <template slot-scope="{row}">
<el-form-item> <el-input-number v-model="row.adjustAmount" placeholder="请输入管理费" :precision="2"
<el-tag type="success">修正后</el-tag> :step="1" :min="0" controls-position="right" @change="adjustView.open = false"></el-input-number>
</el-form-item> </template>
<el-form-item label="单位缴纳保险" prop="companyBxMoney"> </el-table-column>
<el-input v-model="cwForm.companyBxMoney" disabled placeholder="请输入岗位工资" /> <el-table-column label="操作" width="180">
</el-form-item> <template slot-scope="scope">
<el-form-item label="个人缴纳保险" prop="personalBxMoney"> <el-button size="mini" type="text" icon="el-icon-delete" @click="delAdjustItem(scope.$index)">删除
<el-input v-model="cwForm.personalBxMoney" disabled placeholder="请输入岗位工资" /> </el-button>
</el-form-item> </template>
<el-form-item label="岗位工资" prop="postWage"> </el-table-column>
<el-input v-model="cwForm.postWage" disabled placeholder="请输入岗位工资" /> </el-table>
</el-form-item> </el-form-item>
<el-form-item label="应发工资" prop="salaryPayable"> <el-form-item>
<el-input v-model="cwForm.salaryPayable" disabled placeholder="请输入岗位工资" /> <el-button type="primary" size="small" @click="doAdjustCalculate">预览</el-button>
</el-form-item> </el-form-item>
<el-form-item label="实发工资" prop="actualPayable"> <el-form-item v-show="adjustView.open">
<el-input v-model="cwForm.actualPayable" disabled placeholder="请输入岗位工资" /> <span>合计调整: {{adjustView.adjustSalary}}, 最终实发: {{adjustView.finalSalary}}</span>
</el-form-item> </el-form-item>
<el-form-item label="考勤扣除" prop="checkWorkCost"> </el-form>
<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>
</el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer"> <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> <el-button @click="checkWorkOpen = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -384,13 +375,17 @@ import { ...@@ -384,13 +375,17 @@ import {
addPayOutDetail, addPayOutDetail,
updatePayOutDetail, viewPayEvi updatePayOutDetail, 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: {
...@@ -399,7 +394,8 @@ export default { ...@@ -399,7 +394,8 @@ export default {
postWage: null, postWage: null,
salaryPayable: null, salaryPayable: null,
actualPayable: null, actualPayable: null,
checkWorkCost: 0 adjustMoney: 0,
adjustType: 1
}, },
cwFormRules: {}, cwFormRules: {},
batchName: null, batchName: null,
...@@ -423,6 +419,11 @@ export default { ...@@ -423,6 +419,11 @@ export default {
title: '', title: '',
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
adjustView: {
open: false,
finalSalary: 0,
adjustSalary: '',
},
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
...@@ -600,6 +601,13 @@ export default { ...@@ -600,6 +601,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
...@@ -740,64 +748,39 @@ export default { ...@@ -740,64 +748,39 @@ 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 = {
companyBxMoney: companyTotalAmount,
personalBxMoney: personTotalAmount,
postWage: row.postWage,
salaryPayable: row.salaryPayable,
actualPayable: row.actualPayable,
bearType: row.standard.bearType
}
this.checkWorkOpen = true this.checkWorkOpen = true
this.preForm = { ...this.cwForm } this.adjustView = {
open: false
}
}, },
preCal() { submitFormCwForm() {
if (1 == this.cwForm.bearType) { if (!this.adjustItem) {
this.cwForm.salaryPayable = this.cwForm.salaryPayable - Number(this.cwForm.checkWorkCost) this.$modal.msgWarning("没有调整项")
} else {
this.cwForm.postWage = this.cwForm.postWage + Number(this.cwForm.checkWorkCost)
} }
saveAdjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) {
this.checkWorkOpen = false
this.$modal.msgSuccess("操作成功");
this.getList()
}
});
},
delAdjustItem(index) {
this.adjustItem.splice(index, 1)
this.adjustView.open = false
}, },
eviView(row) { eviView(row) {
this.$modal.loading("正在处理...") this.$modal.loading("正在处理...")
...@@ -808,7 +791,24 @@ export default { ...@@ -808,7 +791,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>
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