Commit 3d94ba6d authored by 许珑标's avatar 许珑标

优化、发薪

parent d1ed412b
import request from '@/utils/request'
export function listPayAccInfo() {
return request({
url: '/business/accInfo/listAll',
method: 'get',
})
}
This diff is collapsed.
......@@ -36,7 +36,7 @@
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"
<el-button type="success" icon="el-icon-help" size="mini" :disabled="multiple" @click="createBatchTask"
v-hasPermi="['business:outContract:bco']">生成发薪任务</el-button>
</el-col>
<el-col :span="1.5">
......@@ -246,6 +246,7 @@ export default {
loading: true,
// 选中数组
ids: [],
contractNames: [],
// 非单个禁用
single: true,
// 非多个禁用
......@@ -447,6 +448,7 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.contractNames = selection.map(item => item.contractName)
this.single = selection.length !== 1
this.multiple = !selection.length
},
......@@ -502,8 +504,9 @@ export default {
}, `outContract_${new Date().getTime()}.xlsx`)
},
createBatchTask() {
const ids = row.id || this.ids;
this.bcoForm.contractName = this.contractNames.join(',')
this.bcoForm.targetIds = this.ids
this.bcoOpen = true
},
// 单条生成发薪任务
createBatchTaskOne(row) {
......
......@@ -110,24 +110,6 @@
<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>
......
......@@ -130,53 +130,77 @@
<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" width="110">
<template slot-scope="scope">
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.bearType"/>
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.standard.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 label="失业保险(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.sybxBase}}
</template>
</el-table-column>
<el-table-column label="养老保险(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.ylbxBase}}
</template>
</el-table-column>
<el-table-column label="工伤保险(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.gsbxBase}}
</template>
</el-table-column>
<el-table-column label="医疗保险(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.ysbxBase}}
</template>
</el-table-column>
<el-table-column label="生育保险(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.syubxBase}}
</template>
</el-table-column>
<el-table-column label="公积金(¥)" align="center">
<template slot-scope="scope">
{{scope.row.standard.providentFundBase}}
</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.sybxCompanyRate}}%</el-tag>
<el-tag type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.providentFundCompanyRate}}%</el-tag>
<el-tag>¥{{scope.row.providentFundCompanyMoeny}}</el-tag>
</template>
</el-table-column>
......@@ -184,42 +208,43 @@
<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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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 type="warning">{{scope.row.standard.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="checkWorkCost" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
......@@ -229,6 +254,13 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['business:payOutDetail:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:payOutDetail:edit']"
>考勤核对</el-button>
<el-button
size="mini"
type="text"
......
......@@ -105,6 +105,14 @@
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-money"
@click="paySalary(scope.row)"
v-if="scope.row.payStatus && 1 == scope.row.payStatus"
v-hasPermi="['business:payOutRecord:list']"
>支付</el-button>
<el-button
size="mini"
type="text"
......@@ -183,17 +191,53 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog title="支付薪资" :visible.sync="payOpen" width="500px" append-to-body>
<el-form ref="payForm" :model="payForm" :rules="rules" label-width="80px">
<el-form-item label="任务名称" prop="batchName">
<el-input v-model="payForm.batchName" disabled placeholder="请输入发薪批/任务次名称" />
</el-form-item>
<el-form-item label="发薪单位" prop="companyName">
<el-input v-model="payForm.companyName" disabled placeholder="请输入发薪单位" />
</el-form-item>
<el-form-item label="下发人数" prop="totalCount">
<el-input v-model="payForm.totalCount" disabled placeholder="请输入发放条数" />
</el-form-item>
<el-form-item label="下发金额" prop="totalAmount">
<el-input v-model="payForm.totalAmount" disabled placeholder="请输入发放总金额" />
</el-form-item>
<el-form-item label="付款账号" prop="payAccNo">
<el-select v-model="payForm.payAccNo" placeholder="请选择">
<el-option
v-for="item in payAccList"
:key="item.id"
:label="item.payAccNo"
:value="item.payAccNo">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmPay">确定支付</el-button>
<el-button @click="payOpen = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listPayOutRecord, getPayOutRecord, delPayOutRecord, addPayOutRecord, updatePayOutRecord } from "@/api/business/payOutRecord";
import { listPayAccInfo } from '@/api/business/payAcc'
export default {
name: "PayOutRecord",
dicts: ['pay_status'],
data() {
return {
payAccList: [],
payForm: {
payAccNo: null,
},
payOpen: false,
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
......@@ -289,6 +333,15 @@ export default {
this.getList();
},
methods: {
getPayAccList() {
if (!this.payAccList || this.payAccList.length < 1) {
listPayAccInfo().then(resp => {
if (resp.code == 200) {
this.payAccList = resp.data
}
})
}
},
/** 查询发薪批次信息列表 */
getList() {
this.loading = true;
......@@ -394,7 +447,19 @@ export default {
},
batchDetails(row) {
this.$router.push({ path: "/business/payOutDetail", query: { batchNo: row.batchNo, batchName: row.batchName } });
},
paySalary(row) {
this.payForm.taskId = row.id;
this.payForm.batchName = row.batchName;
this.payForm.companyName = row.companyName;
this.payForm.totalCount = row.totalCount;
this.payForm.totalAmount = row.totalAmount;
this.payOpen = true
this.getPayAccList();
},
confirmPay() {
console.log(this.payForm)
}
}
},
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment