Commit 3d061658 authored by 谢子梦's avatar 谢子梦

优化发薪详情修改功能

parent 2fe211c3
......@@ -982,7 +982,7 @@ export default {
},
// 工伤保险基数变化
gsbxBaseChange(e) {
if (this.formData.ylbxCompanyRate > 0 && this.formData.gsbxBase > 0) {
if (this.formData.gsbxCompanyRate > 0 && this.formData.gsbxBase > 0) {
this.gsbxCompanyMoney = (this.formData.gsbxBase * this.formData.gsbxCompanyRate / 100).toFixed(2)
} else {
this.gsbxCompanyMoney = '--'
......
......@@ -18,7 +18,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="管理费" prop="operationCost">
<el-input-number v-model="formData.operationCost" placeholder="请输入请输入管理费" :precision="2"
<el-input-number v-model="formData.operationCost" placeholder="请输入管理费" :precision="2"
:step="1" :min="0" controls-position="right"></el-input-number>
</el-form-item>
</el-col>
......@@ -557,7 +557,7 @@ export default {
},
// 工伤保险基数变化
gsbxBaseChange(e) {
if (this.formData.ylbxCompanyRate > 0 && this.formData.gsbxBase > 0) {
if (this.formData.gsbxCompanyRate > 0 && this.formData.gsbxBase > 0) {
this.gsbxCompanyRateAmount = (this.formData.gsbxBase * this.formData.gsbxCompanyRate / 100).toFixed(2)
} else {
this.gsbxCompanyRateAmount = '--'
......
......@@ -24,11 +24,11 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['business:payOutDetail:add']">新增
</el-button>
</el-col>
</el-col> -->
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['business:payOutDetail:edit']">修改
......@@ -180,16 +180,15 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus"
size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus" size="mini"
type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
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']">考勤核对
<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']">考勤核对
</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)"
<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)"
v-hasPermi="['business:payOutDetail:remove']">删除
</el-button>
</template>
......@@ -734,8 +733,10 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
// this.reset()
const id = row.id || this.ids
this.$router.push({ path: "/business/operate", query: { batchNo: this.queryParams.batchNo, batchName: this.batchName, id: id } });
return
getPayOutDetail(id).then(response => {
this.form = response.data
this.open = true
......
<template>
<!-- 新增发薪合同表单 -->
<div class="app-container">
<!-- 表单 -->
<el-form :model="formData" ref="formRef" :rules="formRules" class="formData" label-width="110px"
label-position="left">
<!-- 基本信息部分 -->
<el-card class="box-card">
<div slot="header" class="clearfix">
<span class="cardHeartTitle">基本信息</span>
</div>
<div class="cardMain">
<el-row :gutter="56">
<el-col :span="12">
<el-form-item label="发放单位" prop="companyName">
<el-input v-model="formData.companyName" placeholder="请输入发放单位"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发放单位编码(信用代码)" label-width="180px" prop="companyCode">
<el-input v-model="formData.companyCode" placeholder="请输入发放单位编码(信用代码)"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发放时间" prop="payTime">
<el-date-picker style="width:100%;" clearable v-model="formData.payTime" type="date"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择发放时间"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工资批次编号" prop="batchNo">
<el-input v-model="formData.batchNo" placeholder="请输入工资批次编号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工资分组编号" prop="groupNo">
<el-input v-model="formData.groupNo" placeholder="请输入工资分组编号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工资月份" prop="salaryMonth">
<el-date-picker style="width:100%;" clearable v-model="formData.salaryMonth" type="date"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择工资月份"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收薪人员ID" prop="personalId">
<el-input v-model="formData.personalId" placeholder="请输入收薪人员ID"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收薪人员ID" prop="personalId">
<el-input v-model="formData.personalId" placeholder="请输入收薪人员ID"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="人员名称" prop="userName">
<el-input v-model="formData.userName" placeholder="请输入人员名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="人员身份证号" prop="userCode">
<el-input v-model="formData.userCode" placeholder="请输入人员身份证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收款账号" prop="payeeAccNo">
<el-input v-model="formData.payeeAccNo" placeholder="请输入收款账号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="岗位名称" prop="postName">
<el-input v-model="formData.postName" placeholder="请输入岗位名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="formData.postWage" placeholder="请输入岗位工资"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="formData.salaryPayable" placeholder="请输入应发工资"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实发金额" prop="actualPayable">
<el-input v-model="formData.actualPayable" placeholder="请输入实发金额"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="管理费" prop="operationCost">
<el-input v-model="formData.operationCost" placeholder="请输入管理费"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="所属部门" prop="deptId">
<el-input v-model="formData.deptId" placeholder="请输入所属部门"></el-input>
</el-form-item>
</el-col> -->
</el-row>
</div>
</el-card>
<!-- 缴纳基数 -->
<el-card class="box-card" style="margin-top: 22px;">
<div slot="header" class="clearfix">
<span class="cardHeartTitle">参数信息</span>
</div>
<div class="cardMain">
<el-row :gutter="56">
<el-col :span="8">
<div class="parameterFirst">缴费基数(元)</div>
</el-col>
<el-col :span="5">
<div class="parameterConter">单位保险占比(%)</div>
</el-col>
<el-col :span="3">
<div class="parameterConter">单位保险金额(元)</div>
</el-col>
<el-col :span="5">
<div class="parameterConter">个人保险占比(%)</div>
</el-col>
<el-col :span="3">
<div class="parameterConter">个人保险金额(元)</div>
</el-col>
</el-row>
<!-- 养老部分 -->
<el-row :gutter="56" style="margin-top: 22px;">
<el-col :span="2">
<div class="projectTitle">养老保险</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="ylbxBase">
<el-input-number @change="ylbxBaseChange" v-model="formData.ylbxBase"
placeholder="请输入养老保险基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="ylbxCompanyRate">
<el-input-number @change="ylbxCompanyRateChange" v-model="formData.ylbxCompanyRate"
placeholder="请输入养老保险单位占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ ylbxCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="ylbxPersonalRate">
<el-input-number @change="ylbxPersonalRateChange" v-model="formData.ylbxPersonalRate"
placeholder="请输入养老保险个人占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ ylbxPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 工伤保险 -->
<el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">工伤保险</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="gsbxBase">
<el-input-number @change="gsbxBaseChange" v-model="formData.gsbxBase"
placeholder="请输入工伤保险基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="gsbxCompanyRate">
<el-input-number @change="gsbxCompanyRateChange" v-model="formData.gsbxCompanyRate"
placeholder="请输入工伤保险单位占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ gsbxCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="gsbxPersonalRate">
<el-input-number @change="gsbxPersonalRateChange" v-model="formData.gsbxPersonalRate"
placeholder="请输入工伤保险个人占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ gsbxPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 医疗保险 -->
<el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">医疗保险</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="ysbxBase">
<el-input-number @change="ysbxBaseChange" v-model="formData.ysbxBase"
placeholder="请输入医疗保险基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="ysbxCompanyRate">
<el-input-number @change="ysbxCompanyRateChange" v-model="formData.ysbxCompanyRate"
placeholder="请输入医疗保险单位占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ ysbxCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="ysbxPersonalRate">
<el-input-number @change="ysbxPersonalRateChange" v-model="formData.ysbxPersonalRate"
placeholder="请输入医疗保险个人占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ ysbxPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 失业保险 -->
<el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">失业保险</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="sybxBase">
<el-input-number @change="sybxBaseChange" v-model="formData.sybxBase"
placeholder="请输入失业保险基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="sybxCompanyRate">
<el-input-number @change="sybxCompanyRateChange" v-model="formData.sybxCompanyRate"
placeholder="请输入失业保险单位占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ sybxCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="sybxPersonalRate">
<el-input-number @change="sybxPersonalRateChange" v-model="formData.sybxPersonalRate"
placeholder="请输入失业保险个人占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ sybxPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 生育保险 -->
<el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">生育保险</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="syubxBase">
<el-input-number @change="syubxBaseChange" v-model="formData.syubxBase"
placeholder="请输入生育保险基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="syubxCompanyRate">
<el-input-number @change="syubxCompanyRateChange" v-model="formData.syubxCompanyRate"
placeholder="请输入生育保险单位占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ syubxCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="syubxPersonalRate">
<el-input-number @change="syubxPersonalRateChange" v-model="formData.syubxPersonalRate"
placeholder="请输入生育保险个人占比" :precision="1" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ syubxPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 公积金 -->
<el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">公积金</div>
</el-col>
<el-col :span="6">
<el-form-item label-width="0px" prop="providentFundBase">
<el-input-number @change="providentFundBaseChange" v-model="formData.providentFundBase"
placeholder="请输入公积金基数" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="providentFundCompanyRate">
<el-input-number @change="providentFundCompanyRateChange"
v-model="formData.providentFundCompanyRate" placeholder="请输入公积金单位占比" :precision="1"
:step="1" :min="0" :max="100" controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ providentFundCompanyRateAmount }}</div>
</el-col>
<el-col :span="5">
<el-form-item label-width="0px" prop="providentFundPersonalRate">
<el-input-number @change="providentFundPersonalRateChange"
v-model="formData.providentFundPersonalRate" placeholder="请输入公积金个人占比" :precision="1"
:step="1" :min="0" :max="100" controls-position="right"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="amountMain">{{ providentFundPersonalRateAmount }}</div>
</el-col>
</el-row>
<!-- 承担方式部分 -->
<!-- <el-row :gutter="56" style="margin-top: 12px;">
<el-col :span="2">
<div class="projectTitle">承担方式</div>
</el-col>
<el-col :span="5">
<el-radio-group v-model="formData.bearType">
<el-radio :label="1">各自承担</el-radio>
<el-radio :label="2">个人全部承担</el-radio>
</el-radio-group>
</el-col>
</el-row> -->
</div>
</el-card>
</el-form>
<div class="fixdBottom">
<div class="fixdBottomMain">
<el-button type="info" style="width:100px;font-size:14px;" @click="goBackFN">返 回</el-button>
<el-button type="primary" style="width:100px;font-size:14px;" @click="submitFN">确 认</el-button>
</div>
</div>
</div>
</template>
<script>
import {
getPayOutDetail,
addPayOutDetail,
updatePayOutDetail
} from '@/api/business/payOutDetail'
export default {
name: "Operate",
data() {
return {
formData: {
contractName: null,
contractCode: null,
groupName: null,
groupCode: null,
sybxBase: 0,
sybxCompanyRate: 0,
sybxPersonalRate: 0,
ylbxBase: 0,
ylbxCompanyRate: 0,
ylbxPersonalRate: 0,
gsbxBase: 0,
gsbxCompanyRate: 0,
gsbxPersonalRate: 0,
ysbxBase: 0,
ysbxCompanyRate: 0,
ysbxPersonalRate: 0,
syubxBase: 0,
syubxCompanyRate: 0,
syubxPersonalRate: 0,
providentFundBase: 0,
providentFundCompanyRate: 0,
providentFundPersonalRate: 0,
operationCost: null,
deptId: null,
bearType: 1,
},
formRules: {
batchNo: [
{ required: true, message: '工资批次编号不能为空', trigger: 'blur' }
],
groupNo: [
{ required: true, message: '工资分组编号不能为空', trigger: 'blur' }
],
salaryMonth: [
{ required: true, message: '工资月份不能为空', trigger: 'blur' }
],
companyName: [
{ required: true, message: '发放单位不能为空', trigger: 'blur' }
],
companyCode: [
{ required: true, message: '发放单位编码(信用代码)不能为空', trigger: 'blur' }
],
payStatus: [
{ required: true, message: '发放状态不能为空', trigger: 'blur' }
],
payTime: [
{ required: true, message: '发放时间不能为空', trigger: 'blur' }
],
personalId: [
{ required: true, message: '收薪人员ID不能为空', trigger: 'blur' }
],
userName: [
{ required: true, message: '人员名称不能为空', trigger: 'blur' }
],
userCode: [
{ required: true, message: '人员身份证号不能为空', trigger: 'blur' }
],
payeeAccType: [
{ required: true, message: '收款账号类型不能为空', trigger: 'change' }
],
payeeAccNo: [
{ required: true, message: '收款账号不能为空', trigger: 'blur' }
],
postName: [
{ required: true, message: '岗位名称不能为空', trigger: 'blur' }
],
postWage: [
{ required: true, message: '岗位工资不能为空', trigger: 'blur' }
],
salaryPayable: [
{ required: true, message: '应发工资不能为空', trigger: 'blur' }
],
actualPayable: [
{ required: true, message: '实发金额不能为空', trigger: 'blur' }
],
bearType: [
{ required: true, message: '五险一金承担方式:1、各自承担;2、个人承担不能为空', trigger: 'change' }
],
sybxBase: [
{ required: true, message: '失业保险缴费基数不能为空', trigger: 'blur' }
],
sybxCompanyRate: [
{ required: true, message: '失业保险公司承担比例不能为空', trigger: 'blur' }
],
sybxCompanyMoney: [
{ required: true, message: '失业保险公司承担金额不能为空', trigger: 'blur' }
],
sybxPersonalRate: [
{ required: true, message: '失业保险个人承担比例不能为空', trigger: 'blur' }
],
sybxPersonalMoney: [
{ required: true, message: '失业保险个人承担金额不能为空', trigger: 'blur' }
],
ylbxBase: [
{ required: true, message: '养老保险缴费基数不能为空', trigger: 'blur' }
],
ylbxCompanyRate: [
{ required: true, message: '养老保险公司承担比例不能为空', trigger: 'blur' }
],
ylbxCompanyMoney: [
{ required: true, message: '养老保险公司承担金额不能为空', trigger: 'blur' }
],
ylbxPersonalRate: [
{ required: true, message: '养老保险个人承担比例不能为空', trigger: 'blur' }
],
ylbxPersonalMoney: [
{ required: true, message: '养老保险个人承担金额不能为空', trigger: 'blur' }
],
gsbxBase: [
{ required: true, message: '工伤保险缴费基数不能为空', trigger: 'blur' }
],
gsbxCompanyRate: [
{ required: true, message: '工伤保险公司承担比例不能为空', trigger: 'blur' }
],
gsbxCompanyMoney: [
{ required: true, message: '工伤保险公司承担金额不能为空', trigger: 'blur' }
],
gsbxPersonalRate: [
{ required: true, message: '工伤保险个人承担比例不能为空', trigger: 'blur' }
],
gsbxPersonalMoney: [
{ required: true, message: '工伤保险个人承担金额不能为空', trigger: 'blur' }
],
ysbxBase: [
{ required: true, message: '医疗保险缴费基数(可包含生育险)不能为空', trigger: 'blur' }
],
ysbxCompanyRate: [
{ required: true, message: '医疗保险公司承担比例不能为空', trigger: 'blur' }
],
ysbxCompanyMoney: [
{ required: true, message: '医疗保险公司承担金额不能为空', trigger: 'blur' }
],
ysbxPersonalRate: [
{ required: true, message: '医疗保险个人承担比例不能为空', trigger: 'blur' }
],
ysbxPersonalMoney: [
{ required: true, message: '医疗保险个人承担金额不能为空', trigger: 'blur' }
],
syubxBase: [
{ required: true, message: '生育保险缴费基数不能为空', trigger: 'blur' }
],
syubxCompanyRate: [
{ required: true, message: '生育保险公司承担比例不能为空', trigger: 'blur' }
],
syubxCompanyMoney: [
{ required: true, message: '生育保险公司承担金额不能为空', trigger: 'blur' }
],
syubxPersonalRate: [
{ required: true, message: '生育保险个人承担比例不能为空', trigger: 'blur' }
],
syubxPersonalMoney: [
{ required: true, message: '生育保险个人承担金额不能为空', trigger: 'blur' }
],
providentFundBase: [
{ required: true, message: '公积金缴费基数不能为空', trigger: 'blur' }
],
providentFundCompanyRate: [
{ required: true, message: '公积金企业承担比例不能为空', trigger: 'blur' }
],
providentFundCompanyMoeny: [
{ required: true, message: '公积金企业承担金额不能为空', trigger: 'blur' }
],
providentFundPersonalRate: [
{ required: true, message: '公积金个人承担比例不能为空', trigger: 'blur' }
],
providentFundPersonalMoney: [
{ required: true, message: '公积金个人承担金额不能为空', trigger: 'blur' }
],
operationCost: [
{ required: true, message: '管理费不能为空', trigger: 'blur' }
],
deptId: [
{ required: true, message: "所属部门不能为空", trigger: "blur" }
],
},
ylbxCompanyRateAmount: '--',//养老保险单位金额
ylbxPersonalRateAmount: '--',//养老保险个人金额
gsbxCompanyRateAmount: '--',//工伤保险单位金额
gsbxPersonalRateAmount: '--',//工伤保险个人金额
ysbxCompanyRateAmount: '--',//医疗保险单位金额
ysbxPersonalRateAmount: '--',//医疗保险个人金额
sybxCompanyRateAmount: '--',//失业保险单位金额
sybxPersonalRateAmount: '--',//个人保险个人金额
syubxCompanyRateAmount: '--',//生育保险单位金额
syubxPersonalRateAmount: '--',//生育保险个人金额
providentFundCompanyRateAmount: '--',//公积金单位金额
providentFundPersonalRateAmount: '--',//公积金个人金额
// 路由参数部分
batchNo: null,
batchName: null,
}
},
created() {
},
mounted() {
this.reset()
this.batchNo = this.$route.query.batchNo
this.batchName = this.$route.query.batchName
if (this.$route.query.id) {
this.getOutContractFN(this.$route.query.id)
}
},
methods: {
// 公积金个人比例变化执行
providentFundPersonalRateChange(e) {
if (this.formData.providentFundBase > 0 && e > 0) {
this.providentFundPersonalRateAmount = (this.formData.providentFundBase * e / 100).toFixed(2)
} else {
this.providentFundPersonalRateAmount = '--'
}
},
// 公积金单位比例变化执行
providentFundCompanyRateChange(e) {
if (this.formData.providentFundBase > 0 && e > 0) {
this.providentFundCompanyRateAmount = (this.formData.providentFundBase * e / 100).toFixed(2)
} else {
this.providentFundCompanyRateAmount = '--'
}
},
// 公积金基数变化执行
providentFundBaseChange(e) {
if (!this.formData.providentFundBase) {
this.formData.providentFundBase = 0
}
if (!this.formData.providentFundCompanyRate) {
this.formData.providentFundCompanyRate = 0
}
if (!this.formData.providentFundPersonalRate) {
this.formData.providentFundPersonalRate = 0
}
if (this.formData.providentFundCompanyRate > 0 && this.formData.providentFundBase > 0) {
this.providentFundCompanyRateAmount = (this.formData.providentFundBase * this.formData.providentFundCompanyRate / 100).toFixed(2)
} else {
this.providentFundCompanyRateAmount = '--'
}
if (this.formData.providentFundPersonalRate > 0 && this.formData.providentFundBase > 0) {
this.providentFundPersonalRateAmount = (this.formData.providentFundBase * this.formData.providentFundPersonalRate / 100).toFixed(2)
} else {
this.providentFundPersonalRateAmount = '--'
}
},
// 生育保险个人比例变化执行
syubxPersonalRateChange(e) {
if (this.formData.syubxBase > 0 && e > 0) {
this.syubxPersonalRateAmount = (this.formData.syubxBase * e / 100).toFixed(2)
} else {
this.syubxPersonalRateAmount = '--'
}
},
// 生育保险单位比例变化执行
syubxCompanyRateChange(e) {
if (this.formData.syubxBase > 0 && e > 0) {
this.syubxCompanyRateAmount = (this.formData.syubxBase * e / 100).toFixed(2)
} else {
this.syubxCompanyRateAmount = '--'
}
},
// 生育保险基数变化执行
syubxBaseChange(e) {
if (!this.formData.syubxBase) {
this.formData.syubxBase = 0
}
if (!this.formData.syubxCompanyRate) {
this.formData.syubxCompanyRate = 0
}
if (!this.formData.syubxPersonalRate) {
this.formData.syubxPersonalRate = 0
}
if (this.formData.syubxCompanyRate > 0 && this.formData.syubxBase > 0) {
this.syubxCompanyRateAmount = (this.formData.syubxBase * this.formData.syubxCompanyRate / 100).toFixed(2)
} else {
this.syubxCompanyRateAmount = '--'
}
if (this.formData.syubxPersonalRate > 0 && this.formData.syubxBase > 0) {
this.syubxPersonalRateAmount = (this.formData.syubxBase * this.formData.syubxPersonalRate / 100).toFixed(2)
} else {
this.syubxPersonalRateAmount = '--'
}
},
// 失业保险个人比例变化执行
sybxPersonalRateChange(e) {
if (this.formData.sybxBase > 0 && e > 0) {
this.sybxPersonalRateAmount = (this.formData.sybxBase * e / 100).toFixed(2)
} else {
this.sybxPersonalRateAmount = '--'
}
},
// 失业保险单位比例变化执行
sybxCompanyRateChange(e) {
if (this.formData.sybxBase > 0 && e > 0) {
this.sybxCompanyRateAmount = (this.formData.sybxBase * e / 100).toFixed(2)
} else {
this.sybxCompanyRateAmount = '--'
}
},
// 失业保险基数金额变化执行
sybxBaseChange(e) {
if (!this.formData.sybxBase) {
this.formData.sybxBase = 0
}
if (!this.formData.sybxCompanyRate) {
this.formData.sybxCompanyRate = 0
}
if (!this.formData.sybxPersonalRate) {
this.formData.sybxPersonalRate = 0
}
if (this.formData.sybxCompanyRate > 0 && this.formData.sybxBase > 0) {
this.sybxCompanyRateAmount = (this.formData.sybxBase * this.formData.sybxCompanyRate / 100).toFixed(2)
} else {
this.sybxCompanyRateAmount = '--'
}
if (this.formData.sybxPersonalRate > 0 && this.formData.sybxBase > 0) {
this.sybxPersonalRateAmount = (this.formData.sybxBase * this.formData.sybxPersonalRate / 100).toFixed(2)
} else {
this.sybxPersonalRateAmount = '--'
}
},
// 医疗保险个人比例变化
ysbxPersonalRateChange(e) {
if (this.formData.ysbxBase > 0 && e > 0) {
this.ysbxPersonalRateAmount = (this.formData.ysbxBase * e / 100).toFixed(2)
} else {
this.ysbxPersonalRateAmount = '--'
}
},
// 医疗保险单位比例变化
ysbxCompanyRateChange(e) {
if (this.formData.ysbxBase > 0 && e > 0) {
this.ysbxCompanyRateAmount = (this.formData.ysbxBase * e / 100).toFixed(2)
} else {
this.ysbxCompanyRateAmount = '--'
}
},
// 医疗保险基数变化执行
ysbxBaseChange(e) {
if (!this.formData.ysbxBase) {
this.formData.ysbxBase = 0
}
if (!this.formData.ysbxCompanyRate) {
this.formData.ysbxCompanyRate = 0
}
if (!this.formData.ysbxPersonalRate) {
this.formData.ysbxPersonalRate = 0
}
if (this.formData.ysbxCompanyRate > 0 && this.formData.ysbxBase > 0) {
this.ysbxCompanyRateAmount = (this.formData.ysbxBase * this.formData.ysbxCompanyRate / 100).toFixed(2)
} else {
this.ysbxCompanyRateAmount = '--'
}
if (this.formData.ysbxPersonalRate > 0 && this.formData.ysbxBase > 0) {
this.ysbxPersonalRateAmount = (this.formData.ysbxBase * this.formData.ysbxPersonalRate / 100).toFixed(2)
} else {
this.ysbxPersonalRateAmount = '--'
}
},
// 工伤保险个人比例变化执行
gsbxPersonalRateChange(e) {
if (this.formData.gsbxBase > 0 && e > 0) {
this.gsbxPersonalRateAmount = (this.formData.gsbxBase * e / 100).toFixed(2)
} else {
this.gsbxPersonalRateAmount = '--'
}
},
// 工伤保险单位比例变化执行
gsbxCompanyRateChange(e) {
if (this.formData.gsbxBase > 0 && e > 0) {
this.gsbxCompanyRateAmount = (this.formData.gsbxBase * e / 100).toFixed(2)
} else {
this.gsbxCompanyRateAmount = '--'
}
},
// 工伤保险基数变化
gsbxBaseChange(e) {
if (!this.formData.gsbxBase) {
this.formData.gsbxBase = 0
}
if (!this.formData.gsbxCompanyRate) {
this.formData.gsbxCompanyRate = 0
}
if (!this.formData.gsbxPersonalRate) {
this.formData.gsbxPersonalRate = 0
}
if (this.formData.gsbxCompanyRate > 0 && this.formData.gsbxBase > 0) {
this.gsbxCompanyRateAmount = (this.formData.gsbxBase * this.formData.gsbxCompanyRate / 100).toFixed(2)
} else {
this.gsbxCompanyRateAmount = '--'
}
if (this.formData.gsbxPersonalRate > 0 && this.formData.gsbxBase > 0) {
this.gsbxPersonalRateAmount = (this.formData.gsbxBase * this.formData.gsbxPersonalRate / 100).toFixed(2)
} else {
this.gsbxPersonalRateAmount = '--'
}
},
// 个人养老保险百分比变化
ylbxPersonalRateChange(e) {
if (this.formData.ylbxBase > 0 && e > 0) {
this.ylbxPersonalRateAmount = (this.formData.ylbxBase * e / 100).toFixed(2)
} else {
this.ylbxPersonalRateAmount = '--'
}
},
// 单位养老保险百分比变化
ylbxCompanyRateChange(e) {
if (this.formData.ylbxBase > 0 && e > 0) {
this.ylbxCompanyRateAmount = (this.formData.ylbxBase * e / 100).toFixed(2)
} else {
this.ylbxCompanyRateAmount = '--'
}
},
// 养老保险基数变化
ylbxBaseChange(e) {
if (!this.formData.ylbxBase) {
this.formData.ylbxBase = 0
}
if (!this.formData.ylbxCompanyRate) {
this.formData.ylbxCompanyRate = 0
}
if (!this.formData.ylbxPersonalRate) {
this.formData.ylbxPersonalRate = 0
}
if (this.formData.ylbxCompanyRate > 0 && this.formData.ylbxBase > 0) {
this.ylbxCompanyRateAmount = (this.formData.ylbxBase * this.formData.ylbxCompanyRate / 100).toFixed(2)
} else {
this.ylbxCompanyRateAmount = '--'
}
if (this.formData.ylbxPersonalRate > 0 && this.formData.ylbxBase > 0) {
this.ylbxPersonalRateAmount = (this.formData.ylbxBase * this.formData.ylbxPersonalRate / 100).toFixed(2)
} else {
this.ylbxPersonalRateAmount = '--'
}
},
// 获取订单的详情
getOutContractFN(id) {
getPayOutDetail(id).then(res => {
// console.log('获取的详情数据', res);
if (res.code == 200) {
this.formData = res.data
console.log('返回的数据', this.formData);
this.ylbxBaseChange()
this.gsbxBaseChange()
this.ysbxBaseChange()
this.sybxBaseChange()
this.syubxBaseChange()
this.providentFundBaseChange()
}
})
},
// 确定功能方法
submitFN() {
this.$refs["formRef"].validate(valid => {
if (valid) {
this.formData.bxMoneyTemplate = {}
if (this.ylbxCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.ylbxCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.ylbxCompanyRateAmount = Number(this.ylbxCompanyRateAmount)
}
if (this.ylbxPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.ylbxPersonalRateAmount = '--'
} else {
this.formData.bxMoneyTemplate.ylbxPersonalRateAmount = Number(this.ylbxPersonalRateAmount)
}
if (this.gsbxCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.gsbxCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.gsbxCompanyRateAmount = Number(this.gsbxCompanyRateAmount)
}
if (this.gsbxPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.gsbxPersonalRateAmount = 0
} else {
this.formData.bxMoneyTemplate.gsbxPersonalRateAmount = Number(this.gsbxPersonalRateAmount)
}
if (this.ysbxCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.ysbxCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.ysbxCompanyRateAmount = Number(this.ysbxCompanyRateAmount)
}
if (this.ysbxPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.ysbxPersonalRateAmount = 0
} else {
this.formData.bxMoneyTemplate.ysbxPersonalRateAmount = Number(this.ysbxPersonalRateAmount)
}
if (this.sybxCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.sybxCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.sybxCompanyRateAmount = Number(this.sybxCompanyRateAmount)
}
if (this.sybxPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.sybxPersonalRateAmount = 0
} else {
this.formData.bxMoneyTemplate.sybxPersonalRateAmount = Number(this.sybxPersonalRateAmount)
}
if (this.syubxCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.syubxCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.syubxCompanyRateAmount = Number(this.syubxCompanyRateAmount)
}
if (this.syubxPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.syubxPersonalRateAmount = 0
} else {
this.formData.bxMoneyTemplate.syubxPersonalRateAmount = Number(this.syubxPersonalRateAmount)
}
if (this.providentFundCompanyRateAmount == '--') {
this.formData.bxMoneyTemplate.providentFundCompanyRateAmount = 0
} else {
this.formData.bxMoneyTemplate.providentFundCompanyRateAmount = Number(this.providentFundCompanyRateAmount)
}
if (this.providentFundPersonalRateAmount == '--') {
this.formData.bxMoneyTemplate.providentFundPersonalRateAmount = 0
} else {
this.formData.bxMoneyTemplate.providentFundPersonalRateAmount = Number(this.providentFundPersonalRateAmount)
}
if (this.formData.id != null) {
updatePayOutDetail(this.formData).then(response => {
this.$modal.msgSuccess("修改成功");
// this.$router.push({ path: "/contract" })
// 关闭当前tabs
this.$store.dispatch("tagsView/delView", this.$route);
// 跳转路由
this.$router.push({ path: '/business/payOutDetail', query: { batchNo: this.batchNo, batchName: this.batchName } });
});
} else {
addPayOutDetail(this.formData).then(response => {
this.$modal.msgSuccess("新增成功");
// 关闭当前tabs
this.$store.dispatch("tagsView/delView", this.$route);
// 跳转路由
this.$router.push({ path: '/business/payOutDetail', query: { batchNo: this.batchNo, batchName: this.batchName } });
});
}
} else {
this.$modal.msgWarning("请检查表单数据是否填写完整");
}
})
},
// 返回功能
goBackFN() {
this.reset()
// 关闭当前tabs
this.$store.dispatch("tagsView/delView", this.$route);
// 跳转路由
this.$router.push({ path: '/business/payOutDetail', query: { batchNo: this.batchNo, batchName: this.batchName } });
},
// 表单重置方法
reset() {
this.formData = {
contractName: null,
contractCode: null,
groupName: null,
groupCode: null,
sybxBase: 0,
sybxCompanyRate: 0,
sybxPersonalRate: 0,
ylbxBase: 0,
ylbxCompanyRate: 0,
ylbxPersonalRate: 0,
gsbxBase: 0,
gsbxCompanyRate: 0,
gsbxPersonalRate: 0,
ysbxBase: 0,
ysbxCompanyRate: 0,
ysbxPersonalRate: 0,
syubxBase: 0,
syubxCompanyRate: 0,
syubxPersonalRate: 0,
providentFundBase: 0,
providentFundCompanyRate: 0,
providentFundPersonalRate: 0,
operationCost: null,
deptId: null,
bearType: 1,
}
this.resetForm("formRef");
},
},
}
</script>
<style scoped lang="scss">
.app-container ::v-deep {
// 表单部分样式
.formData {
.box-card {
// 卡片头部样式
.clearfix {
.cardHeartTitle {
font-size: 22px;
font-weight: 600;
}
}
// 控制头部的底部分割线
.el-card__header {
border-bottom: none;
}
// 表单主题部分样式
.cardMain {
// 表单label样式
.el-form-item__label {
color: #000;
font-size: 14px;
font-weight: 530;
}
// 参数信息-首个参数
.parameterFirst {
width: 100%;
padding-left: 25%;
text-align: center;
color: #000;
font-size: 14px;
font-weight: 530;
}
// 参数信息-剩余标题
.parameterConter {
width: 100%;
text-align: center;
color: #000;
font-size: 14px;
font-weight: 530;
}
// 金额盒子样式
.amountMain {
width: 100%;
text-align: center;
}
.el-input-number--small {
width: 100% !important;
}
.projectTitle {
color: #000;
font-size: 14px;
font-weight: 530;
}
}
}
}
// 底部操作按钮部分
.fixdBottom {
margin-top: 22px;
display: flex;
align-items: center;
justify-content: center;
.fixdBottomMain {
width: 270px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
</style>
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