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