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

优化

parent 8ece81bb
import request from '@/utils/request'
// 查询商户付款账户列表
export function pageBanks(bankName) {
return request({
url: '/business/bank/info/list',
method: 'get',
params: {
bankName: bankName,
pageNum: 1,
pageSize: 100
}
})
}
......@@ -35,6 +35,15 @@ export function addPayOutRecord(data) {
})
}
// 新增发薪批次信息
export function buildPayOutRecord(data) {
return request({
url: '/business/payOutRecord/build',
method: 'post',
data: data
})
}
// 修改发薪批次信息
export function updatePayOutRecord(data) {
return request({
......
......@@ -3,7 +3,8 @@
<div class="app-container">
<!-- 表单 -->
<el-form :model="formData" ref="formRef" :rules="formRules" class="formData" label-width="80px"
label-position="left">
label-position="left"
>
<!-- 基本信息部分 -->
<el-card class="box-card">
<div slot="header" class="clearfix">
......@@ -14,7 +15,8 @@
<el-col :span="8">
<el-form-item label="所属合同" prop="contractName">
<el-input v-model="formData.contractName" :disabled="true"
placeholder="请输入所属合同"></el-input>
placeholder="请输入所属合同"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -36,43 +38,52 @@
<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-col :span="8">
<el-form-item label="管理费" prop="operationCost">
<el-input-number @change="postcalculateShow = true" v-model="formData.operationCost"
placeholder="请输入请输入管理费" :precision="2" :step="1" :min="0"
controls-position="right"
></el-input-number>
</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 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="actualPayable">
<el-input v-model="formData.actualPayable" placeholder="请输入实发金额"></el-input>
<el-form-item label="账号类型" prop="payeeAccType">
<el-select v-model="formData.payeeAccType" placeholder="请选择账号类型" clearable>
<el-option v-for="dict in dict.type.payee_acc_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="8">
<el-form-item label="管理费" prop="operationCost">
<el-input-number @change="postcalculateShow = true" v-model="formData.operationCost"
placeholder="请输入请输入管理费" :precision="2" :step="1" :min="0"
controls-position="right"></el-input-number>
<el-form-item label="开户行" prop="payeeAccBank">
<el-select
v-model="formData.payeeAccBank"
filterable
remote
placeholder="请输入关键词"
:remote-method="listBanks"
:loading="loading"
>
<el-option
v-for="item in banks"
:key="item.id"
:label="item.bankName"
:value="item.bankName"
>
</el-option>
</el-select>
</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>
......@@ -108,14 +119,16 @@
<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>
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="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -125,7 +138,8 @@
<el-form-item label-width="0px" prop="ylbxPersonalRate">
<el-input-number @change="ylbxPersonalRateChange" v-model="formData.ylbxPersonalRate"
placeholder="请输入养老保险个人占比" :precision="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -141,14 +155,16 @@
<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>
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="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -158,7 +174,8 @@
<el-form-item label-width="0px" prop="gsbxPersonalRate">
<el-input-number @change="gsbxPersonalRateChange" v-model="formData.gsbxPersonalRate"
placeholder="请输入工伤保险个人占比" :precision="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -174,14 +191,16 @@
<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>
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="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -191,7 +210,8 @@
<el-form-item label-width="0px" prop="ysbxPersonalRate">
<el-input-number @change="ysbxPersonalRateChange" v-model="formData.ysbxPersonalRate"
placeholder="请输入医疗保险个人占比" :precision="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -207,14 +227,16 @@
<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>
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="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -224,7 +246,8 @@
<el-form-item label-width="0px" prop="sybxPersonalRate">
<el-input-number @change="sybxPersonalRateChange" v-model="formData.sybxPersonalRate"
placeholder="请输入失业保险个人占比" :precision="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -240,14 +263,16 @@
<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>
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="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -257,7 +282,8 @@
<el-form-item label-width="0px" prop="syubxPersonalRate">
<el-input-number @change="syubxPersonalRateChange" v-model="formData.syubxPersonalRate"
placeholder="请输入生育保险个人占比" :precision="0" :step="1" :min="0" :max="100"
controls-position="right"></el-input-number>
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -273,14 +299,17 @@
<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>
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="0"
:step="1" :min="0" :max="100" controls-position="right"></el-input-number>
v-model="formData.providentFundCompanyRate" placeholder="请输入公积金单位占比"
:precision="0"
:step="1" :min="0" :max="100" controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -289,8 +318,10 @@
<el-col :span="5">
<el-form-item label-width="0px" prop="providentFundPersonalRate">
<el-input-number @change="providentFundPersonalRateChange"
v-model="formData.providentFundPersonalRate" placeholder="请输入公积金个人占比" :precision="0"
:step="1" :min="0" :max="100" controls-position="right"></el-input-number>
v-model="formData.providentFundPersonalRate" placeholder="请输入公积金个人占比"
:precision="0"
:step="1" :min="0" :max="100" controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
......@@ -342,27 +373,34 @@
<el-col :span="7">
<el-form-item label="岗位工资" :prop="formData.calculaType == 1 ? 'postWage' : ''">
<el-input-number @change="postcalculateShow = true" v-model="formData.postWage"
placeholder="请输入请输入岗位工资" :precision="2" :step="1" :min="0" controls-position="right"
:disabled="formData.calculaType == 2"></el-input-number>
placeholder="请输入请输入岗位工资" :precision="2" :step="1" :min="0"
controls-position="right"
:disabled="formData.calculaType == 2"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="应发工资" :prop="formData.calculaType == 2 ? 'salaryPayable' : ''">
<el-input-number @change="postcalculateShow = true" v-model="formData.salaryPayable"
placeholder="请输入请输入应发工资" :precision="2" :step="1" :min="0" controls-position="right"
:disabled="formData.calculaType == 1"></el-input-number>
placeholder="请输入请输入应发工资" :precision="2" :step="1" :min="0"
controls-position="right"
:disabled="formData.calculaType == 1"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="实发工资">
<el-input-number v-model="formData.actualPayable" placeholder="请输入请输入实发工资:"
:precision="2" :step="1" :min="0" controls-position="right"
:disabled="true"></el-input-number>
:disabled="true"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="3">
<el-button type="success" icon="el-icon-circle-plus-outline" @click="postcalculateFN"
v-if="postcalculateShow">计算</el-button>
v-if="postcalculateShow"
>计算
</el-button>
</el-col>
</el-row>
</div>
......@@ -378,13 +416,19 @@
</template>
<script>
import { getOutPersonal, addOutPersonal, updateOutPersonal, postcalculateAPI } from "@/api/business/outPersonal";
import { getOutContract } from "@/api/business/outContract";
import { getOutPersonal, addOutPersonal, updateOutPersonal, postcalculateAPI } from '@/api/business/outPersonal'
import { getOutContract } from '@/api/business/outContract'
import { pageBanks } from '@/api/business/bank'
export default {
name: "PaidUsers",
name: 'PaidUsers',
dicts: ['payee_acc_type'],
data() {
return {
banks: [],
loading: false,
formData: {
payeeAccBank: null,
contractId: null,
userName: null,
userCode: null,
......@@ -416,101 +460,104 @@ export default {
operationCost: null,
deptId: null,
gender: null,
calculaType: 1,
calculaType: 1
},
formRules: {
payeeAccBank: [
{ required: true, message: '开户行不能为空', trigger: 'blur' }
],
contractId: [
{ required: true, message: "所属合同不能为空", trigger: "blur" }
{ required: true, message: '所属合同不能为空', trigger: 'blur' }
],
userName: [
{ required: true, message: "人员名称不能为空", trigger: "blur" }
{ required: true, message: '人员名称不能为空', trigger: 'blur' }
],
userCode: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
{ required: true, message: '身份证号不能为空', trigger: 'blur' }
],
payeeAccType: [
{ required: true, message: "收款账号类型;1-银行卡;2-支付宝不能为空", trigger: "change" }
{ required: true, message: '收款账号类型;1-银行卡;2-支付宝不能为空', trigger: 'change' }
],
payeeAccNo: [
{ required: true, message: "收款账号不能为空", trigger: "blur" }
{ required: true, message: '收款账号不能为空', trigger: 'blur' }
],
postName: [
{ required: true, message: "岗位名称不能为空", trigger: "blur" }
{ required: true, message: '岗位名称不能为空', trigger: 'blur' }
],
postWage: [
{ required: true, message: "岗位工资不能为空", trigger: "blur" }
{ required: true, message: '岗位工资不能为空', trigger: 'blur' }
],
salaryPayable: [
{ required: true, message: "应发工资不能为空", trigger: "blur" }
{ required: true, message: '应发工资不能为空', trigger: 'blur' }
],
actualPayable: [
{ required: true, message: "实发金额不能为空", trigger: "blur" }
{ required: true, message: '实发金额不能为空', trigger: 'blur' }
],
bearType: [
{ required: true, message: "五险一金承担方式:1、各自承担;2、个人承担不能为空", trigger: "change" }
{ required: true, message: '五险一金承担方式:1、各自承担;2、个人承担不能为空', trigger: 'change' }
],
sybxBase: [
{ required: true, message: "失业保险缴费基数不能为空", trigger: "blur" }
{ required: true, message: '失业保险缴费基数不能为空', trigger: 'blur' }
],
sybxCompanyRate: [
{ required: true, message: "失业保险公司承担比例不能为空", trigger: "blur" }
{ required: true, message: '失业保险公司承担比例不能为空', trigger: 'blur' }
],
sybxPersonalRate: [
{ required: true, message: "失业保险个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '失业保险个人承担比例不能为空', trigger: 'blur' }
],
ylbxBase: [
{ required: true, message: "养老保险缴费基数不能为空", trigger: "blur" }
{ required: true, message: '养老保险缴费基数不能为空', trigger: 'blur' }
],
ylbxCompanyRate: [
{ required: true, message: "养老保险公司承担比例不能为空", trigger: "blur" }
{ required: true, message: '养老保险公司承担比例不能为空', trigger: 'blur' }
],
ylbxPersonalRate: [
{ required: true, message: "养老保险个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '养老保险个人承担比例不能为空', trigger: 'blur' }
],
gsbxBase: [
{ required: true, message: "工伤保险缴费基数不能为空", trigger: "blur" }
{ required: true, message: '工伤保险缴费基数不能为空', trigger: 'blur' }
],
gsbxCompanyRate: [
{ required: true, message: "工伤保险公司承担比例不能为空", trigger: "blur" }
{ required: true, message: '工伤保险公司承担比例不能为空', trigger: 'blur' }
],
gsbxPersonalRate: [
{ required: true, message: "工伤保险个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '工伤保险个人承担比例不能为空', trigger: 'blur' }
],
ysbxBase: [
{ required: true, message: "医疗保险缴费基数(可包含生育险)不能为空", trigger: "blur" }
{ required: true, message: '医疗保险缴费基数(可包含生育险)不能为空', trigger: 'blur' }
],
ysbxCompanyRate: [
{ required: true, message: "医疗保险公司承担比例不能为空", trigger: "blur" }
{ required: true, message: '医疗保险公司承担比例不能为空', trigger: 'blur' }
],
ysbxPersonalRate: [
{ required: true, message: "医疗保险个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '医疗保险个人承担比例不能为空', trigger: 'blur' }
],
syubxBase: [
{ required: true, message: "生育保险缴费基数不能为空", trigger: "blur" }
{ required: true, message: '生育保险缴费基数不能为空', trigger: 'blur' }
],
syubxCompanyRate: [
{ required: true, message: "生育保险公司承担比例不能为空", trigger: "blur" }
{ required: true, message: '生育保险公司承担比例不能为空', trigger: 'blur' }
],
syubxPersonalRate: [
{ required: true, message: "生育保险个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '生育保险个人承担比例不能为空', trigger: 'blur' }
],
providentFundBase: [
{ required: true, message: "公积金缴费基数不能为空", trigger: "blur" }
{ required: true, message: '公积金缴费基数不能为空', trigger: 'blur' }
],
providentFundCompanyRate: [
{ required: true, message: "公积金企业承担比例不能为空", trigger: "blur" }
{ required: true, message: '公积金企业承担比例不能为空', trigger: 'blur' }
],
providentFundPersonalRate: [
{ required: true, message: "公积金个人承担比例不能为空", trigger: "blur" }
{ required: true, message: '公积金个人承担比例不能为空', trigger: 'blur' }
],
operationCost: [
{ required: true, message: "管理费不能为空", trigger: "blur" }
{ required: true, message: '管理费不能为空', trigger: 'blur' }
],
deptId: [
{ required: true, message: "所属部门不能为空", trigger: "blur" }
{ required: true, message: '所属部门不能为空', trigger: 'blur' }
],
gender: [
{ required: true, message: "性别不能为空", trigger: "change" }
{ required: true, message: '性别不能为空', trigger: 'change' }
]
},
radio: 1,
......@@ -529,10 +576,11 @@ export default {
companyTotalAmount: '--',//单位总金额
personTotalAmount: '--',//个人总金额
// 控制计算按钮是否显示与隐藏
postcalculateShow: true,
postcalculateShow: true
}
},
created() { },
created() {
},
mounted() {
this.reset()
if (this.$route.query.id) {
......@@ -585,7 +633,7 @@ export default {
this.formData.postWage = res.data.postWage
this.formData.actualPayable = res.data.actualPayable
this.postcalculateShow = false
this.$modal.msgSuccess("计算成功");
this.$modal.msgSuccess('计算成功')
}
})
},
......@@ -696,7 +744,7 @@ export default {
},
// 确定按钮方法
submitFN() {
this.$refs["formRef"].validate(valid => {
this.$refs['formRef'].validate(valid => {
if (valid) {
this.formData.bxMoneyTemplate = {}
if (this.ylbxCompanyRateAmount == '--') {
......@@ -761,25 +809,31 @@ export default {
}
if (this.formData.id != null) {
updateOutPersonal(this.formData).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess('修改成功')
// 关闭当前tabs
this.$store.dispatch("tagsView/delView", this.$route);
this.$store.dispatch('tagsView/delView', this.$route)
// 跳转路由
this.$router.push({ path: "/business/payOutPersonal", query: { id: this.$route.query.contractId, name: this.$route.query.contractName } })
});
this.$router.push({
path: '/business/payOutPersonal',
query: { id: this.$route.query.contractId, name: this.$route.query.contractName }
})
})
} else {
addOutPersonal(this.formData).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess('新增成功')
// 关闭当前tabs
this.$store.dispatch("tagsView/delView", this.$route);
this.$store.dispatch('tagsView/delView', this.$route)
// 跳转路由
this.$router.push({ path: '/business/payOutPersonal', query: { id: this.$route.query.contractId, name: this.$route.query.contractName } });
});
this.$router.push({
path: '/business/payOutPersonal',
query: { id: this.$route.query.contractId, name: this.$route.query.contractName }
})
})
}
} else {
this.$modal.msgWarning("请检查表单数据是否填写完整");
this.$modal.msgWarning('请检查表单数据是否填写完整')
}
});
})
},
// 表单重置
reset() {
......@@ -815,17 +869,20 @@ export default {
operationCost: null,
deptId: null,
gender: null,
calculaType: 1,
};
this.resetForm("formRef");
calculaType: 1
}
this.resetForm('formRef')
},
// 返回功能
goBackFN() {
this.reset()
this.$store.dispatch("tagsView/delView", this.$route);
this.$store.dispatch('tagsView/delView', this.$route)
// 跳转路由
this.$router.push({ path: '/business/payOutPersonal', query: { id: this.$route.query.contractId, name: this.$route.query.contractName } });
this.$router.push({
path: '/business/payOutPersonal',
query: { id: this.$route.query.contractId, name: this.$route.query.contractName }
})
},
// 公积金个人比例变化执行
providentFundPersonalRateChange(e) {
......@@ -1019,7 +1076,14 @@ export default {
}
this.TotalAmountFN()
},
},
listBanks(bankName) {
pageBanks(bankName).then(resp => {
if (resp.code == 200) {
this.banks = resp.rows
}
})
}
}
}
</script>
......
......@@ -35,6 +35,10 @@
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['business:outContract:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" icon="el-icon-help" size="mini" :disabled="single" @click="createBatchTask"
v-hasPermi="['business:outContract:bco']">生成发薪任务</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['business:outContract:remove']">删除</el-button>
......@@ -52,10 +56,9 @@
<el-table-column label="合同编号" align="center" prop="contractCode" fixed />
<el-table-column label="单位名称" align="center" prop="groupName" fixed />
<el-table-column label="单位信用代码" align="center" prop="groupCode" />
<el-table-column label="五险一金承担方式" align="center" prop="bearType">
<el-table-column label="五险一金承担方式" align="center" prop="bearType" width="110">
<template slot-scope="scope">
<el-tag v-if="scope.row.bearType && 1 == scope.row.bearType">各自承担</el-tag>
<el-tag type="success" v-if="scope.row.bearType && 2 == scope.row.bearType">个人承担全部</el-tag>
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.bearType"/>
</template>
</el-table-column>
<el-table-column label="保险缴纳基数">
......@@ -91,6 +94,8 @@
v-hasPermi="['business:outContract:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-user" @click="staffManage(scope.row)"
v-hasPermi="['business:outContract:manage']">员工管理</el-button>
<el-button type="text" icon="el-icon-s-help" size="mini" @click="createBatchTaskOne(scope.row)"
v-hasPermi="['business:outContract:bco']">生成发薪任务</el-button>
</template>
</el-table-column>
</el-table>
......@@ -179,16 +184,62 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 生成发薪任务窗口 -->
<el-dialog title="生成发薪任务" :visible.sync="bcoOpen" width="500px" append-to-body>
<el-form ref="bcoForm" :model="bcoForm" :rules="bcoFormRules" label-width="80px">
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="bcoForm.contractName" disabled placeholder="请输入合同名称" />
</el-form-item>
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="bcoForm.taskName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="工资月份" prop="salaryMonth">
<el-date-picker
v-model="bcoForm.salaryMonth"
type="month"
placeholder="选择月">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitBcoForm">确 定</el-button>
<el-button @click="bcoOpen = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listOutContract, getOutContract, delOutContract, addOutContract, updateOutContract } from "@/api/business/outContract";
import { listOutContract, delOutContract, addOutContract, updateOutContract } from "@/api/business/outContract";
import { buildPayOutRecord } from '@/api/business/payOutRecord'
export default {
name: "OutContract",
dicts: ['bx_bear_type'],
data() {
return {
// 生成发薪任务相关字段
bcoOpen: false,
bcoForm: {
targetIds: [],
targetType: 1,
taskName: null,
contractName: null,
salaryMonth: null,
},
bcoFormRules: {
salaryMonth: [
{ required: true, message: "工资月份不能为空", trigger: "blur" }
],
taskName: [
{ required: true, message: "任务名称不能为空", trigger: "blur" }
],
targetIds: [
{ required: true, message: "合同不能为空", trigger: "blur" }
],
},
// 生成发薪任务字段 -- 结束
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
......@@ -449,6 +500,29 @@ export default {
this.download('business/outContract/export', {
...this.queryParams
}, `outContract_${new Date().getTime()}.xlsx`)
},
createBatchTask() {
const ids = row.id || this.ids;
},
// 单条生成发薪任务
createBatchTaskOne(row) {
this.bcoForm.contractName = row.contractName
this.bcoForm.targetIds[0] = row.id
this.bcoOpen = true
},
submitBcoForm() {
this.$refs["bcoForm"].validate(valid => {
if (valid) {
console.log(this.bcoForm);
buildPayOutRecord(this.bcoForm).then(resp => {
if (resp.code == 200) {
this.bcoOpen = false
this.$modal.alertSuccess("操作成功,请耐心等待任务生成")
}
})
}
});
}
}
};
......
......@@ -48,18 +48,16 @@
<el-table-column label="收款账号" align="center" prop="payeeAccNo">
<template slot-scope="scope">
{{ scope.row.payeeAccNo }}
<el-tag v-if="scope.row.payeeAccType && 2 == scope.row.payeeAccType">支付宝</el-tag>
<el-tag type="success" v-if="scope.row.payeeAccType && 1 == scope.row.payeeAccType">银行卡</el-tag>
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.bearType"/>
</template>
</el-table-column>
<el-table-column label="岗位名称" align="center" prop="postName" />
<el-table-column label="岗位工资(¥)" align="center" prop="postWage" />
<el-table-column label="应发工资(¥)" align="center" prop="salaryPayable" />
<el-table-column label="实发金额(¥)" align="center" prop="actualPayable" />
<el-table-column label="五险一金承担方式" align="center" prop="bearType">
<el-table-column label="五险一金承担方式" align="center" prop="bearType" width="110">
<template slot-scope="scope">
<el-tag v-if="scope.row.bearType && 1 == scope.row.bearType">各自承担</el-tag>
<el-tag type="success" v-if="scope.row.bearType && 2 == scope.row.bearType">个人承担全部</el-tag>
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.bearType"/>
</template>
</el-table-column>
<el-table-column label="保险缴纳基数">
......@@ -112,6 +110,24 @@
<el-form-item label="身份证号" prop="userCode">
<el-input v-model="form.userCode" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="开户行" prop="userCode">
<el-select
v-model="form.payeeAccBank"
multiple
filterable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="listBanks"
:loading="loading">
<el-option
v-for="item in banks"
:key="item.bankName"
:label="item.bankName"
:value="item.bankName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="收款账号" prop="payeeAccNo">
<el-input v-model="form.payeeAccNo" placeholder="请输入收款账号" />
</el-form-item>
......@@ -199,10 +215,13 @@
<script>
import { listOutPersonal, getOutPersonal, delOutPersonal, addOutPersonal, updateOutPersonal } from "@/api/business/outPersonal";
export default {
name: "OutPersonal",
dicts: ['bx_bear_type', 'payee_acc_type'],
data() {
return {
banks: [],
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="工资批次编号" prop="batchNo">
<el-form-item label="工资批次" v-show="batchName">
<el-input v-model="batchName" disabled />
</el-form-item>
<el-form-item label="工资批次号" prop="batchNo">
<el-input
v-model="queryParams.batchNo"
disabled
placeholder="请输入工资批次编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工资分组编号" prop="groupNo">
<el-input
v-model="queryParams.groupNo"
placeholder="请输入工资分组编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工资月份" prop="salaryMonth">
<el-date-picker clearable
v-model="queryParams.salaryMonth"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择工资月份">
</el-date-picker>
</el-form-item>
<el-form-item label="发放单位" prop="companyName">
<el-input
v-model="queryParams.companyName"
placeholder="请输入发放单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发放单位编码(信用代码)" prop="companyCode">
<el-input
v-model="queryParams.companyCode"
placeholder="请输入发放单位编码(信用代码)"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发放时间" prop="payTime">
<el-date-picker clearable
v-model="queryParams.payTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择发放时间">
</el-date-picker>
</el-form-item>
<el-form-item label="收薪人员ID" prop="personalId">
<el-input
v-model="queryParams.personalId"
placeholder="请输入收薪人员ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="人员名称" prop="userName">
<el-input
v-model="queryParams.userName"
......@@ -73,298 +29,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="收款账号" prop="payeeAccNo">
<el-input
v-model="queryParams.payeeAccNo"
placeholder="请输入收款账号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="岗位名称" prop="postName">
<el-input
v-model="queryParams.postName"
placeholder="请输入岗位名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input
v-model="queryParams.postWage"
placeholder="请输入岗位工资"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input
v-model="queryParams.salaryPayable"
placeholder="请输入应发工资"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="实发金额" prop="actualPayable">
<el-input
v-model="queryParams.actualPayable"
placeholder="请输入实发金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="失业保险缴费基数" prop="sybxBase">
<el-input
v-model="queryParams.sybxBase"
placeholder="请输入失业保险缴费基数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="失业保险公司承担比例" prop="sybxCompanyRate">
<el-input
v-model="queryParams.sybxCompanyRate"
placeholder="请输入失业保险公司承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="失业保险公司承担金额" prop="sybxCompanyMoney">
<el-input
v-model="queryParams.sybxCompanyMoney"
placeholder="请输入失业保险公司承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="失业保险个人承担比例" prop="sybxPersonalRate">
<el-input
v-model="queryParams.sybxPersonalRate"
placeholder="请输入失业保险个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="失业保险个人承担金额" prop="sybxPersonalMoney">
<el-input
v-model="queryParams.sybxPersonalMoney"
placeholder="请输入失业保险个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="养老保险缴费基数" prop="ylbxBase">
<el-input
v-model="queryParams.ylbxBase"
placeholder="请输入养老保险缴费基数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="养老保险公司承担比例" prop="ylbxCompanyRate">
<el-input
v-model="queryParams.ylbxCompanyRate"
placeholder="请输入养老保险公司承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="养老保险公司承担金额" prop="ylbxCompanyMoney">
<el-input
v-model="queryParams.ylbxCompanyMoney"
placeholder="请输入养老保险公司承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="养老保险个人承担比例" prop="ylbxPersonalRate">
<el-input
v-model="queryParams.ylbxPersonalRate"
placeholder="请输入养老保险个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="养老保险个人承担金额" prop="ylbxPersonalMoney">
<el-input
v-model="queryParams.ylbxPersonalMoney"
placeholder="请输入养老保险个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工伤保险缴费基数" prop="gsbxBase">
<el-input
v-model="queryParams.gsbxBase"
placeholder="请输入工伤保险缴费基数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工伤保险公司承担比例" prop="gsbxCompanyRate">
<el-input
v-model="queryParams.gsbxCompanyRate"
placeholder="请输入工伤保险公司承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工伤保险公司承担金额" prop="gsbxCompanyMoney">
<el-input
v-model="queryParams.gsbxCompanyMoney"
placeholder="请输入工伤保险公司承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工伤保险个人承担比例" prop="gsbxPersonalRate">
<el-input
v-model="queryParams.gsbxPersonalRate"
placeholder="请输入工伤保险个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工伤保险个人承担金额" prop="gsbxPersonalMoney">
<el-input
v-model="queryParams.gsbxPersonalMoney"
placeholder="请输入工伤保险个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="医疗保险缴费基数(可包含生育险)" prop="ysbxBase">
<el-input
v-model="queryParams.ysbxBase"
placeholder="请输入医疗保险缴费基数(可包含生育险)"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="医疗保险公司承担比例" prop="ysbxCompanyRate">
<el-input
v-model="queryParams.ysbxCompanyRate"
placeholder="请输入医疗保险公司承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="医疗保险公司承担金额" prop="ysbxCompanyMoney">
<el-input
v-model="queryParams.ysbxCompanyMoney"
placeholder="请输入医疗保险公司承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="医疗保险个人承担比例" prop="ysbxPersonalRate">
<el-input
v-model="queryParams.ysbxPersonalRate"
placeholder="请输入医疗保险个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="医疗保险个人承担金额" prop="ysbxPersonalMoney">
<el-input
v-model="queryParams.ysbxPersonalMoney"
placeholder="请输入医疗保险个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生育保险缴费基数" prop="syubxBase">
<el-input
v-model="queryParams.syubxBase"
placeholder="请输入生育保险缴费基数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生育保险公司承担比例" prop="syubxCompanyRate">
<el-input
v-model="queryParams.syubxCompanyRate"
placeholder="请输入生育保险公司承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生育保险公司承担金额" prop="syubxCompanyMoney">
<el-input
v-model="queryParams.syubxCompanyMoney"
placeholder="请输入生育保险公司承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生育保险个人承担比例" prop="syubxPersonalRate">
<el-input
v-model="queryParams.syubxPersonalRate"
placeholder="请输入生育保险个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生育保险个人承担金额" prop="syubxPersonalMoney">
<el-input
v-model="queryParams.syubxPersonalMoney"
placeholder="请输入生育保险个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公积金缴费基数" prop="providentFundBase">
<el-input
v-model="queryParams.providentFundBase"
placeholder="请输入公积金缴费基数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公积金企业承担比例" prop="providentFundCompanyRate">
<el-input
v-model="queryParams.providentFundCompanyRate"
placeholder="请输入公积金企业承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公积金企业承担金额" prop="providentFundCompanyMoeny">
<el-input
v-model="queryParams.providentFundCompanyMoeny"
placeholder="请输入公积金企业承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公积金个人承担比例" prop="providentFundPersonalRate">
<el-input
v-model="queryParams.providentFundPersonalRate"
placeholder="请输入公积金个人承担比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="公积金个人承担金额" prop="providentFundPersonalMoney">
<el-input
v-model="queryParams.providentFundPersonalMoney"
placeholder="请输入公积金个人承担金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="管理费" prop="operationCost">
<el-form-item label="发放单位" prop="companyName">
<el-input
v-model="queryParams.operationCost"
placeholder="请输入管理费"
v-model="queryParams.companyName"
placeholder="请输入发放单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<el-form-item label="单位信用代码" prop="companyCode">
<el-input
v-model="queryParams.deptId"
placeholder="请输入所属部门"
v-model="queryParams.companyCode"
placeholder="请输入发放单位编码(信用代码)"
clearable
@keyup.enter.native="handleQuery"
/>
......@@ -419,64 +95,131 @@
<el-table v-loading="loading" :data="payOutDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="工资批次编号" align="center" prop="batchNo" />
<el-table-column label="工资分组编号" align="center" prop="groupNo" />
<el-table-column label="工资月份" align="center" prop="salaryMonth" width="180">
<el-table-column label="工资月份" align="center" prop="salaryMonth">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.salaryMonth) }}</span>
<span>{{ parseTime(scope.row.salaryMonth, '{y}-{m}') }}</span>
</template>
</el-table-column>
<el-table-column label="发放单位" align="center" prop="companyName" />
<el-table-column label="发放单位编码(信用代码)" align="center" prop="companyCode" />
<el-table-column label="发放状态" align="center" prop="payStatus" />
<el-table-column label="发放时间" align="center" prop="payTime" width="180">
<el-table-column label="发放单位" align="center" prop="companyName">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.payTime) }}</span>
{{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag>
</template>
</el-table-column>
<el-table-column label="收薪人员ID" align="center" prop="personalId" />
<el-table-column label="发放状态" align="center" prop="payStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus"/>
</template>
</el-table-column>
<!-- <el-table-column label="发放时间" align="center" prop="payTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.payTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="人员名称" align="center" prop="userName" />
<el-table-column label="人员身份证号" align="center" prop="userCode" />
<el-table-column label="收款账号类型" align="center" prop="payeeAccType" />
<el-table-column label="收款账号" align="center" prop="payeeAccNo" />
<el-table-column label="收款账号" align="center" prop="payeeAccNo">
<template slot-scope="scope">
{{ scope.row.payeeAccNo }}
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.bearType"/>
</template>
</el-table-column>
<el-table-column label="岗位名称" align="center" prop="postName" />
<el-table-column label="岗位工资" align="center" prop="postWage" />
<el-table-column label="应发工资" align="center" prop="salaryPayable" />
<el-table-column label="实发金额" align="center" prop="actualPayable" />
<el-table-column label="五险一金承担方式:1、各自承担;2、个人承担" align="center" prop="bearType" />
<el-table-column label="失业保险缴费基数" align="center" prop="sybxBase" />
<el-table-column label="失业保险公司承担比例" align="center" prop="sybxCompanyRate" />
<el-table-column label="失业保险公司承担金额" align="center" prop="sybxCompanyMoney" />
<el-table-column label="失业保险个人承担比例" align="center" prop="sybxPersonalRate" />
<el-table-column label="失业保险个人承担金额" align="center" prop="sybxPersonalMoney" />
<el-table-column label="养老保险缴费基数" align="center" prop="ylbxBase" />
<el-table-column label="养老保险公司承担比例" align="center" prop="ylbxCompanyRate" />
<el-table-column label="养老保险公司承担金额" align="center" prop="ylbxCompanyMoney" />
<el-table-column label="养老保险个人承担比例" align="center" prop="ylbxPersonalRate" />
<el-table-column label="养老保险个人承担金额" align="center" prop="ylbxPersonalMoney" />
<el-table-column label="工伤保险缴费基数" align="center" prop="gsbxBase" />
<el-table-column label="工伤保险公司承担比例" align="center" prop="gsbxCompanyRate" />
<el-table-column label="工伤保险公司承担金额" align="center" prop="gsbxCompanyMoney" />
<el-table-column label="工伤保险个人承担比例" align="center" prop="gsbxPersonalRate" />
<el-table-column label="工伤保险个人承担金额" align="center" prop="gsbxPersonalMoney" />
<el-table-column label="医疗保险缴费基数(可包含生育险)" align="center" prop="ysbxBase" />
<el-table-column label="医疗保险公司承担比例" align="center" prop="ysbxCompanyRate" />
<el-table-column label="医疗保险公司承担金额" align="center" prop="ysbxCompanyMoney" />
<el-table-column label="医疗保险个人承担比例" align="center" prop="ysbxPersonalRate" />
<el-table-column label="医疗保险个人承担金额" align="center" prop="ysbxPersonalMoney" />
<el-table-column label="生育保险缴费基数" align="center" prop="syubxBase" />
<el-table-column label="生育保险公司承担比例" align="center" prop="syubxCompanyRate" />
<el-table-column label="生育保险公司承担金额" align="center" prop="syubxCompanyMoney" />
<el-table-column label="生育保险个人承担比例" align="center" prop="syubxPersonalRate" />
<el-table-column label="生育保险个人承担金额" align="center" prop="syubxPersonalMoney" />
<el-table-column label="公积金缴费基数" align="center" prop="providentFundBase" />
<el-table-column label="公积金企业承担比例" align="center" prop="providentFundCompanyRate" />
<el-table-column label="公积金企业承担金额" align="center" prop="providentFundCompanyMoeny" />
<el-table-column label="公积金个人承担比例" align="center" prop="providentFundPersonalRate" />
<el-table-column label="公积金个人承担金额" align="center" prop="providentFundPersonalMoney" />
<el-table-column label="五险一金承担方式" align="center" prop="bearType">
<template slot-scope="scope">
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.bearType"/>
</template>
</el-table-column>
<el-table-column label="保险缴纳基数">
<el-table-column label="失业保险(¥)" align="center" prop="sybxBase" />
<el-table-column label="养老保险(¥)" align="center" prop="ylbxBase" />
<el-table-column label="工伤保险(¥)" align="center" prop="gsbxBase" />
<el-table-column label="医疗保险(¥)" align="center" prop="ysbxBase" />
<el-table-column label="生育保险(¥)" align="center" prop="syubxBase" />
<el-table-column label="公积金(¥)" align="center" prop="providentFundBase" />
</el-table-column>
<el-table-column label="单位缴纳保险情况">
<el-table-column label="失业保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.sybxCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.sybxCompanyMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="养老保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.ylbxCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.ylbxCompanyMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="工伤保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.gsbxCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.gsbxCompanyMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="医疗保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.ysbxCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.ysbxCompanyMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="生育保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.syubxCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.syubxCompanyMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="公积金" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.providentFundCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.providentFundCompanyMoeny}}</el-tag>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="个人缴纳保险情况">
<el-table-column label="失业保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.sybxPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.sybxPersonalMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="养老保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.ylbxPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.ylbxPersonalMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="工伤保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.gsbxPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.gsbxPersonalMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="医疗保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.ysbxPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.ysbxPersonalMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="生育保险" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.syubxPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.syubxPersonalMoney}}</el-tag>
</template>
</el-table-column>
<el-table-column label="公积金" align="center">
<template slot-scope="scope">
<el-tag type="warning">{{scope.row.providentFundPersonalRate}}%</el-tag>
<el-tag>¥{{scope.row.providentFundPersonalMoney}}</el-tag>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="管理费" align="center" prop="operationCost" />
<el-table-column label="所属部门" align="center" prop="deptId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
......@@ -670,8 +413,10 @@ import { listPayOutDetail, getPayOutDetail, delPayOutDetail, addPayOutDetail, up
export default {
name: "PayOutDetail",
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() {
return {
batchName: null,
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
......@@ -697,54 +442,11 @@ export default {
pageNum: 1,
pageSize: 10,
batchNo: null,
groupNo: null,
salaryMonth: null,
companyName: null,
companyCode: null,
payStatus: null,
payTime: null,
personalId: null,
userName: null,
userCode: null,
payeeAccType: null,
payeeAccNo: null,
postName: null,
postWage: null,
salaryPayable: null,
actualPayable: null,
bearType: null,
sybxBase: null,
sybxCompanyRate: null,
sybxCompanyMoney: null,
sybxPersonalRate: null,
sybxPersonalMoney: null,
ylbxBase: null,
ylbxCompanyRate: null,
ylbxCompanyMoney: null,
ylbxPersonalRate: null,
ylbxPersonalMoney: null,
gsbxBase: null,
gsbxCompanyRate: null,
gsbxCompanyMoney: null,
gsbxPersonalRate: null,
gsbxPersonalMoney: null,
ysbxBase: null,
ysbxCompanyRate: null,
ysbxCompanyMoney: null,
ysbxPersonalRate: null,
ysbxPersonalMoney: null,
syubxBase: null,
syubxCompanyRate: null,
syubxCompanyMoney: null,
syubxPersonalRate: null,
syubxPersonalMoney: null,
providentFundBase: null,
providentFundCompanyRate: null,
providentFundCompanyMoeny: null,
providentFundPersonalRate: null,
providentFundPersonalMoney: null,
operationCost: null,
deptId: null,
},
// 表单参数
form: {},
......@@ -904,6 +606,11 @@ export default {
};
},
created() {
// this.getList();
},
mounted() {
this.queryParams.batchNo = this.$route.query.batchNo
this.batchName = this.$route.query.batchName
this.getList();
},
methods: {
......@@ -985,6 +692,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.batchNo = this.$route.query.batchNo
this.handleQuery();
},
// 多选框选中数据
......
......@@ -94,6 +94,7 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-if="scope.row.payStatus && scope.row.payStatus > 0"
v-hasPermi="['business:payOutRecord:edit']"
>修改</el-button>
<el-button
......@@ -101,8 +102,17 @@
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-if="scope.row.payStatus && scope.row.payStatus > 0"
v-hasPermi="['business:payOutRecord:remove']"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-s-grid"
@click="batchDetails(scope.row)"
v-if="scope.row.payStatus && scope.row.payStatus > 0"
v-hasPermi="['business:payOutRecord:list']"
>发薪详情</el-button>
</template>
</el-table-column>
</el-table>
......@@ -381,6 +391,9 @@ export default {
this.download('business/payOutRecord/export', {
...this.queryParams
}, `payOutRecord_${new Date().getTime()}.xlsx`)
},
batchDetails(row) {
this.$router.push({ path: "/business/payOutDetail", query: { batchNo: row.batchNo, batchName: row.batchName } });
}
}
};
......
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