Commit 647a0851 authored by 许珑标's avatar 许珑标

发薪任务支付

parent d6eee0bb
......@@ -47,7 +47,7 @@ export function updatePayOutDetail(data) {
// 删除发薪详情
export function delPayOutDetail(id) {
return request({
url: '/business/payOutDetail/remove/' + id,
url: '/business/payOutRecord/detail/remove/' + id,
method: 'get'
})
}
......@@ -53,6 +53,15 @@ export function updatePayOutRecord(data) {
})
}
// 发薪任务支付
export function pay(data) {
return request({
url: '/business/payOutRecord/pay',
method: 'post',
data: data
})
}
// 删除发薪批次信息
export function delPayOutRecord(id) {
return request({
......
......@@ -98,7 +98,7 @@ export default {
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = '/ruoyi-vue-web/index';
location.href = '/index';
})
}).catch(() => {});
}
......
......@@ -171,8 +171,9 @@ Router.prototype.push = function push(location) {
}
export default new Router({
base: "/ruoyi-vue-web",
mode: 'history', // 去掉url中的#
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
})
mode: "history", // 去掉url中的#
scrollBehavior: () => ({
y: 0
}),
routes: constantRoutes,
});
......@@ -515,7 +515,8 @@ export default {
this.$refs["bcoForm"].validate(valid => {
if (valid) {
// console.log(this.bcoForm);
buildPayOutRecord(this.bcoForm).then(resp => {
this.bcoForm.salaryMonth =this.bcoForm.salaryMonth + '-01'
buildPayOutRecord(this.bcoForm).then(resp => {
if (resp.code == 200) {
this.bcoOpen = false
this.$modal.alertSuccess("操作成功,请耐心等待任务生成")
......
......@@ -56,7 +56,7 @@
<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"/>
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType"/>
</template>
</el-table-column>
<el-table-column label="性别" align="center" prop="gender" />
......
......@@ -66,7 +66,7 @@
<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" />
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType" />
</template>
</el-table-column>
<el-table-column label="岗位名称" align="center" prop="postName" />
......@@ -180,13 +180,16 @@
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus"
size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['business:payOutDetail:edit']">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="checkWork(scope.row)"
<el-button v-if="scope.row.payStatus && 1 == scope.row.payStatus"
size="mini" type="text" icon="el-icon-edit" @click="checkWork(scope.row)"
v-hasPermi="['business:payOutDetail:edit']">考勤核对
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus"
size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business:payOutDetail:remove']">删除
</el-button>
</template>
......@@ -630,6 +633,7 @@ export default {
// this.getList();
},
mounted() {
this.reset()
this.queryParams.batchNo = this.$route.query.batchNo
this.batchName = this.$route.query.batchName
this.getList()
......
<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="任务名称" v-show="batchName">
<el-input v-model="batchName" disabled />
</el-form-item>
<el-form-item label="人员名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入人员名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="身份证号" prop="userCode">
<el-input v-model="queryParams.userCode" placeholder="请输入人员身份证号" clearable @keyup.enter.native="handleQuery" />
</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>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['business:payOutDetail:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['business:payOutDetail:edit']">修改
</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:payOutDetail:remove']">删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['business:payOutDetail:export']">导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="payOutDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="工资月份" align="center" prop="salaryMonth">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.salaryMonth, '{y}-{m}') }}</span>
</template>
</el-table-column>
<el-table-column label="发放单位" align="center" prop="companyName">
<template slot-scope="scope">
{{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag>
</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="gender" />
<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.payeeAccType" />
</template>
</el-table-column>
<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="postName" />
<el-table-column label="单位缴纳保险情况" align="center">
<el-table-column label="失业保险" align="center" prop="sybxCompanyMoney">
<template slot-scope="scope">
{{ scope.row.sybxCompanyMoney }}
</template>
</el-table-column>
<el-table-column label="养老保险" align="center" prop="ylbxCompanyMoney" />
<el-table-column label="工伤保险" align="center" prop="gsbxCompanyMoney" />
<el-table-column label="医疗保险" align="center" prop="ysbxCompanyMoney" />
<el-table-column label="生育保险" align="center" prpo="syubxCompanyMoney">
<template slot-scope="{row}">
{{ row.syubxCompanyMoney }}
</template>
</el-table-column>
<el-table-column label="公积金" align="center" prpo="providentFundCompanyMoney">
<template slot-scope="{row}">
{{ row.providentFundCompanyMoney }}
</template>
</el-table-column>
</el-table-column>
<el-table-column label="个人缴纳保险情况" align="center">
<el-table-column label="失业保险" align="center" prpo="sybxPersonalMoney">
<template slot-scope="{row}">
{{ row.sybxPersonalMoney }}
</template>
</el-table-column>
<el-table-column label="养老保险" align="center" prpo="ylbxPersonalMoney">
<template slot-scope="{row}">
{{ row.ylbxPersonalMoney }}
</template>
</el-table-column>
<el-table-column label="工伤保险" align="center" prpo="gsbxPersonalMoney">
<template slot-scope="{row}">
{{ row.gsbxPersonalMoney }}
</template>
</el-table-column>
<el-table-column label="医疗保险" align="center" prpo="ysbxPersonalMoney">
<template slot-scope="{row}">
{{ row.ysbxPersonalMoney }}
</template>
</el-table-column>
<el-table-column label="生育保险" align="center" prpo="syubxPersonalMoney">
<template slot-scope="{row}">
{{ row.syubxPersonalMoney }}
</template>
</el-table-column>
<el-table-column label="公积金" align="center" prpo="providentFundPersonalMoney">
<template slot-scope="{row}">
{{ row.providentFundPersonalMoney }}
</template>
</el-table-column>
</el-table-column>
<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="operationCost" />
<el-table-column label="考勤扣除" align="center" prop="checkWorkCost">
<template slot-scope="{row}">
{{ row.checkWorkCost ? row.checkWorkCost : '--' }}
</template>
</el-table-column>
<el-table-column label="发放时间" align="center" prop="payTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.payTime ? scope.row.payTime : '--') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus"
size="mini" type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:payOutDetail:edit']">修改
</el-button>
<el-button v-if="scope.row.payStatus && 1 == scope.row.payStatus"
size="mini" type="text" icon="el-icon-edit" @click="checkWork(scope.row)"
v-hasPermi="['business:payOutDetail:edit']">考勤核对
</el-button>
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus"
size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business:payOutDetail:remove']">删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改发薪详情对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="工资批次编号" prop="batchNo">
<el-input v-model="form.batchNo" placeholder="请输入工资批次编号" />
</el-form-item>
<el-form-item label="工资分组编号" prop="groupNo">
<el-input v-model="form.groupNo" placeholder="请输入工资分组编号" />
</el-form-item>
<el-form-item label="工资月份" prop="salaryMonth">
<el-date-picker clearable v-model="form.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="form.companyName" placeholder="请输入发放单位" />
</el-form-item>
<el-form-item label="发放单位编码(信用代码)" prop="companyCode">
<el-input v-model="form.companyCode" placeholder="请输入发放单位编码(信用代码)" />
</el-form-item>
<el-form-item label="发放时间" prop="payTime">
<el-date-picker clearable v-model="form.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="form.personalId" placeholder="请输入收薪人员ID" />
</el-form-item>
<el-form-item label="人员名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入人员名称" />
</el-form-item>
<el-form-item label="人员身份证号" prop="userCode">
<el-input v-model="form.userCode" placeholder="请输入人员身份证号" />
</el-form-item>
<el-form-item label="收款账号" prop="payeeAccNo">
<el-input v-model="form.payeeAccNo" placeholder="请输入收款账号" />
</el-form-item>
<el-form-item label="岗位名称" prop="postName">
<el-input v-model="form.postName" placeholder="请输入岗位名称" />
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="form.postWage" placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="form.salaryPayable" placeholder="请输入应发工资" />
</el-form-item>
<el-form-item label="实发金额" prop="actualPayable">
<el-input v-model="form.actualPayable" placeholder="请输入实发金额" />
</el-form-item>
<el-form-item label="失业保险缴费基数" prop="sybxBase">
<el-input v-model="form.sybxBase" placeholder="请输入失业保险缴费基数" />
</el-form-item>
<el-form-item label="失业保险公司承担比例" prop="sybxCompanyRate">
<el-input v-model="form.sybxCompanyRate" placeholder="请输入失业保险公司承担比例" />
</el-form-item>
<el-form-item label="失业保险公司承担金额" prop="sybxCompanyMoney">
<el-input v-model="form.sybxCompanyMoney" placeholder="请输入失业保险公司承担金额" />
</el-form-item>
<el-form-item label="失业保险个人承担比例" prop="sybxPersonalRate">
<el-input v-model="form.sybxPersonalRate" placeholder="请输入失业保险个人承担比例" />
</el-form-item>
<el-form-item label="失业保险个人承担金额" prop="sybxPersonalMoney">
<el-input v-model="form.sybxPersonalMoney" placeholder="请输入失业保险个人承担金额" />
</el-form-item>
<el-form-item label="养老保险缴费基数" prop="ylbxBase">
<el-input v-model="form.ylbxBase" placeholder="请输入养老保险缴费基数" />
</el-form-item>
<el-form-item label="养老保险公司承担比例" prop="ylbxCompanyRate">
<el-input v-model="form.ylbxCompanyRate" placeholder="请输入养老保险公司承担比例" />
</el-form-item>
<el-form-item label="养老保险公司承担金额" prop="ylbxCompanyMoney">
<el-input v-model="form.ylbxCompanyMoney" placeholder="请输入养老保险公司承担金额" />
</el-form-item>
<el-form-item label="养老保险个人承担比例" prop="ylbxPersonalRate">
<el-input v-model="form.ylbxPersonalRate" placeholder="请输入养老保险个人承担比例" />
</el-form-item>
<el-form-item label="养老保险个人承担金额" prop="ylbxPersonalMoney">
<el-input v-model="form.ylbxPersonalMoney" placeholder="请输入养老保险个人承担金额" />
</el-form-item>
<el-form-item label="工伤保险缴费基数" prop="gsbxBase">
<el-input v-model="form.gsbxBase" placeholder="请输入工伤保险缴费基数" />
</el-form-item>
<el-form-item label="工伤保险公司承担比例" prop="gsbxCompanyRate">
<el-input v-model="form.gsbxCompanyRate" placeholder="请输入工伤保险公司承担比例" />
</el-form-item>
<el-form-item label="工伤保险公司承担金额" prop="gsbxCompanyMoney">
<el-input v-model="form.gsbxCompanyMoney" placeholder="请输入工伤保险公司承担金额" />
</el-form-item>
<el-form-item label="工伤保险个人承担比例" prop="gsbxPersonalRate">
<el-input v-model="form.gsbxPersonalRate" placeholder="请输入工伤保险个人承担比例" />
</el-form-item>
<el-form-item label="工伤保险个人承担金额" prop="gsbxPersonalMoney">
<el-input v-model="form.gsbxPersonalMoney" placeholder="请输入工伤保险个人承担金额" />
</el-form-item>
<el-form-item label="医疗保险缴费基数(可包含生育险)" prop="ysbxBase">
<el-input v-model="form.ysbxBase" placeholder="请输入医疗保险缴费基数(可包含生育险)" />
</el-form-item>
<el-form-item label="医疗保险公司承担比例" prop="ysbxCompanyRate">
<el-input v-model="form.ysbxCompanyRate" placeholder="请输入医疗保险公司承担比例" />
</el-form-item>
<el-form-item label="医疗保险公司承担金额" prop="ysbxCompanyMoney">
<el-input v-model="form.ysbxCompanyMoney" placeholder="请输入医疗保险公司承担金额" />
</el-form-item>
<el-form-item label="医疗保险个人承担比例" prop="ysbxPersonalRate">
<el-input v-model="form.ysbxPersonalRate" placeholder="请输入医疗保险个人承担比例" />
</el-form-item>
<el-form-item label="医疗保险个人承担金额" prop="ysbxPersonalMoney">
<el-input v-model="form.ysbxPersonalMoney" placeholder="请输入医疗保险个人承担金额" />
</el-form-item>
<el-form-item label="生育保险缴费基数" prop="syubxBase">
<el-input v-model="form.syubxBase" placeholder="请输入生育保险缴费基数" />
</el-form-item>
<el-form-item label="生育保险公司承担比例" prop="syubxCompanyRate">
<el-input v-model="form.syubxCompanyRate" placeholder="请输入生育保险公司承担比例" />
</el-form-item>
<el-form-item label="生育保险公司承担金额" prop="syubxCompanyMoney">
<el-input v-model="form.syubxCompanyMoney" placeholder="请输入生育保险公司承担金额" />
</el-form-item>
<el-form-item label="生育保险个人承担比例" prop="syubxPersonalRate">
<el-input v-model="form.syubxPersonalRate" placeholder="请输入生育保险个人承担比例" />
</el-form-item>
<el-form-item label="生育保险个人承担金额" prop="syubxPersonalMoney">
<el-input v-model="form.syubxPersonalMoney" placeholder="请输入生育保险个人承担金额" />
</el-form-item>
<el-form-item label="公积金缴费基数" prop="providentFundBase">
<el-input v-model="form.providentFundBase" placeholder="请输入公积金缴费基数" />
</el-form-item>
<el-form-item label="公积金企业承担比例" prop="providentFundCompanyRate">
<el-input v-model="form.providentFundCompanyRate" placeholder="请输入公积金企业承担比例" />
</el-form-item>
<el-form-item label="公积金企业承担金额" prop="providentFundCompanyMoeny">
<el-input v-model="form.providentFundCompanyMoeny" placeholder="请输入公积金企业承担金额" />
</el-form-item>
<el-form-item label="公积金个人承担比例" prop="providentFundPersonalRate">
<el-input v-model="form.providentFundPersonalRate" placeholder="请输入公积金个人承担比例" />
</el-form-item>
<el-form-item label="公积金个人承担金额" prop="providentFundPersonalMoney">
<el-input v-model="form.providentFundPersonalMoney" placeholder="请输入公积金个人承担金额" />
</el-form-item>
<el-form-item label="管理费" prop="operationCost">
<el-input v-model="form.operationCost" placeholder="请输入管理费" />
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入所属部门" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 考勤核对 -->
<el-dialog title="考勤核对" :visible.sync="checkWorkOpen" width="1000px" append-to-body>
<el-row>
<el-col :span="12">
<el-form :model="preForm" label-width="120px">
<el-form-item>
<el-tag>修正前</el-tag>
</el-form-item>
<el-form-item label="单位缴纳保险" prop="companyBxMoney">
<el-input v-model="preForm.companyBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="个人缴纳保险" prop="personalBxMoney">
<el-input v-model="preForm.personalBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="preForm.postWage" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="preForm.salaryPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="实发工资" prop="actualPayable">
<el-input v-model="preForm.actualPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="12">
<el-form ref="cwForm" :model="cwForm" :rules="cwFormRules" label-width="120px">
<el-form-item>
<el-tag type="success">修正后</el-tag>
</el-form-item>
<el-form-item label="单位缴纳保险" prop="companyBxMoney">
<el-input v-model="cwForm.companyBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="个人缴纳保险" prop="personalBxMoney">
<el-input v-model="cwForm.personalBxMoney" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="岗位工资" prop="postWage">
<el-input v-model="cwForm.postWage" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="应发工资" prop="salaryPayable">
<el-input v-model="cwForm.salaryPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="实发工资" prop="actualPayable">
<el-input v-model="cwForm.actualPayable" disabled placeholder="请输入岗位工资" />
</el-form-item>
<el-form-item label="考勤扣除" prop="checkWorkCost">
<el-input-number style="width: 200px" :precision="2" :step="1" :min="0" v-model="cwForm.checkWorkCost"
placeholder="请输入考勤扣除">
</el-input-number>
<el-button style="margin-left: 10px" size="mini" round @click="preCal">预览</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="checkWorkOpen = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listPayOutDetail,
getPayOutDetail,
delPayOutDetail,
addPayOutDetail,
updatePayOutDetail
} from '@/api/business/payOutDetail'
export default {
name: 'PayOutDetail',
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() {
return {
preForm: {},
preFormOpen: false,
checkWorkOpen: false,
cwForm: {
companyBxMoney: null,
personalBxMoney: null,
postWage: null,
salaryPayable: null,
actualPayable: null,
checkWorkCost: 0
},
cwFormRules: {},
batchName: null,
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 发薪详情表格数据
payOutDetailList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
batchNo: null,
companyName: null,
companyCode: null,
payStatus: null,
userName: null,
userCode: null
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: '$comment不能为空', trigger: 'blur' }
],
batchNo: [
{ required: true, message: '工资批次编号不能为空', trigger: 'blur' }
],
groupNo: [
{ required: true, message: '工资分组编号不能为空', trigger: 'blur' }
],
salaryMonth: [
{ required: true, message: '工资月份不能为空', trigger: 'blur' }
],
companyName: [
{ required: true, message: '发放单位不能为空', trigger: 'blur' }
],
companyCode: [
{ required: true, message: '发放单位编码(信用代码)不能为空', trigger: 'blur' }
],
payStatus: [
{ required: true, message: '发放状态不能为空', trigger: 'blur' }
],
payTime: [
{ required: true, message: '发放时间不能为空', trigger: 'blur' }
],
personalId: [
{ required: true, message: '收薪人员ID不能为空', trigger: 'blur' }
],
userName: [
{ required: true, message: '人员名称不能为空', trigger: 'blur' }
],
userCode: [
{ required: true, message: '人员身份证号不能为空', trigger: 'blur' }
],
payeeAccType: [
{ required: true, message: '收款账号类型不能为空', trigger: 'change' }
],
payeeAccNo: [
{ required: true, message: '收款账号不能为空', trigger: 'blur' }
],
postName: [
{ required: true, message: '岗位名称不能为空', trigger: 'blur' }
],
postWage: [
{ required: true, message: '岗位工资不能为空', trigger: 'blur' }
],
salaryPayable: [
{ required: true, message: '应发工资不能为空', trigger: 'blur' }
],
actualPayable: [
{ required: true, message: '实发金额不能为空', trigger: 'blur' }
],
bearType: [
{ required: true, message: '五险一金承担方式:1、各自承担;2、个人承担不能为空', trigger: 'change' }
],
sybxBase: [
{ required: true, message: '失业保险缴费基数不能为空', trigger: 'blur' }
],
sybxCompanyRate: [
{ required: true, message: '失业保险公司承担比例不能为空', trigger: 'blur' }
],
sybxCompanyMoney: [
{ required: true, message: '失业保险公司承担金额不能为空', trigger: 'blur' }
],
sybxPersonalRate: [
{ required: true, message: '失业保险个人承担比例不能为空', trigger: 'blur' }
],
sybxPersonalMoney: [
{ required: true, message: '失业保险个人承担金额不能为空', trigger: 'blur' }
],
ylbxBase: [
{ required: true, message: '养老保险缴费基数不能为空', trigger: 'blur' }
],
ylbxCompanyRate: [
{ required: true, message: '养老保险公司承担比例不能为空', trigger: 'blur' }
],
ylbxCompanyMoney: [
{ required: true, message: '养老保险公司承担金额不能为空', trigger: 'blur' }
],
ylbxPersonalRate: [
{ required: true, message: '养老保险个人承担比例不能为空', trigger: 'blur' }
],
ylbxPersonalMoney: [
{ required: true, message: '养老保险个人承担金额不能为空', trigger: 'blur' }
],
gsbxBase: [
{ required: true, message: '工伤保险缴费基数不能为空', trigger: 'blur' }
],
gsbxCompanyRate: [
{ required: true, message: '工伤保险公司承担比例不能为空', trigger: 'blur' }
],
gsbxCompanyMoney: [
{ required: true, message: '工伤保险公司承担金额不能为空', trigger: 'blur' }
],
gsbxPersonalRate: [
{ required: true, message: '工伤保险个人承担比例不能为空', trigger: 'blur' }
],
gsbxPersonalMoney: [
{ required: true, message: '工伤保险个人承担金额不能为空', trigger: 'blur' }
],
ysbxBase: [
{ required: true, message: '医疗保险缴费基数(可包含生育险)不能为空', trigger: 'blur' }
],
ysbxCompanyRate: [
{ required: true, message: '医疗保险公司承担比例不能为空', trigger: 'blur' }
],
ysbxCompanyMoney: [
{ required: true, message: '医疗保险公司承担金额不能为空', trigger: 'blur' }
],
ysbxPersonalRate: [
{ required: true, message: '医疗保险个人承担比例不能为空', trigger: 'blur' }
],
ysbxPersonalMoney: [
{ required: true, message: '医疗保险个人承担金额不能为空', trigger: 'blur' }
],
syubxBase: [
{ required: true, message: '生育保险缴费基数不能为空', trigger: 'blur' }
],
syubxCompanyRate: [
{ required: true, message: '生育保险公司承担比例不能为空', trigger: 'blur' }
],
syubxCompanyMoney: [
{ required: true, message: '生育保险公司承担金额不能为空', trigger: 'blur' }
],
syubxPersonalRate: [
{ required: true, message: '生育保险个人承担比例不能为空', trigger: 'blur' }
],
syubxPersonalMoney: [
{ required: true, message: '生育保险个人承担金额不能为空', trigger: 'blur' }
],
providentFundBase: [
{ required: true, message: '公积金缴费基数不能为空', trigger: 'blur' }
],
providentFundCompanyRate: [
{ required: true, message: '公积金企业承担比例不能为空', trigger: 'blur' }
],
providentFundCompanyMoeny: [
{ required: true, message: '公积金企业承担金额不能为空', trigger: 'blur' }
],
providentFundPersonalRate: [
{ required: true, message: '公积金个人承担比例不能为空', trigger: 'blur' }
],
providentFundPersonalMoney: [
{ required: true, message: '公积金个人承担金额不能为空', trigger: 'blur' }
],
operationCost: [
{ required: true, message: '管理费不能为空', trigger: 'blur' }
],
deptId: [
{ required: true, message: '所属部门不能为空', trigger: 'blur' }
]
}
}
},
created() {
// this.getList();
},
mounted() {
this.queryParams.batchNo = this.$route.query.batchNo
this.batchName = this.$route.query.batchName
this.getList()
},
methods: {
/** 查询发薪详情列表 */
getList() {
this.loading = true
listPayOutDetail(this.queryParams).then(response => {
this.payOutDetailList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
batchNo: null,
groupNo: null,
salaryMonth: null,
companyName: null,
companyCode: null,
payStatus: 0,
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
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.queryParams.batchNo = this.$route.query.batchNo
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加发薪详情'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getPayOutDetail(id).then(response => {
this.form = response.data
this.open = true
this.title = '修改发薪详情'
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePayOutDetail(this.form).then(response => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addPayOutDetail(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除发薪详情编号为"' + ids + '"的数据项?').then(function () {
return delPayOutDetail(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
/** 导出按钮操作 */
handleExport() {
this.download('business/payOutDetail/export', {
...this.queryParams
}, `payOutDetail_${new Date().getTime()}.xlsx`)
},
checkWork(row) {
// 单位总金额计算
let companyTotalAmount = 0
if (row.ylbxCompanyMoney) {
companyTotalAmount += Number(row.ylbxCompanyMoney)
}
if (row.gsbxCompanyMoney) {
companyTotalAmount += Number(row.gsbxCompanyMoney)
}
if (row.ysbxCompanyMoney) {
companyTotalAmount += Number(row.ysbxCompanyMoney)
}
if (row.sybxCompanyMoney) {
companyTotalAmount += Number(row.sybxCompanyMoney)
}
if (row.syubxCompanyMoney) {
companyTotalAmount += Number(row.syubxCompanyMoney)
}
if (row.providentFundCompanyMoney) {
companyTotalAmount += Number(row.providentFundCompanyMoney)
}
// 个人总金额方法
let personTotalAmount = 0
if (row.ylbxPersonalMoney) {
personTotalAmount += Number(row.ylbxPersonalMoney)
}
if (row.gsbxPersonalMoney) {
personTotalAmount += Number(row.gsbxPersonalMoney)
}
if (row.ysbxPersonalMoney) {
personTotalAmount += Number(row.ysbxPersonalMoney)
}
if (row.sybxPersonalMoney) {
personTotalAmount += Number(row.sybxPersonalMoney)
}
if (row.syubxPersonalMoney) {
personTotalAmount += Number(row.syubxPersonalMoney)
}
if (row.providentFundPersonalMoney) {
personTotalAmount += Number(row.providentFundPersonalMoney)
}
this.cwForm = {
companyBxMoney: companyTotalAmount,
personalBxMoney: personTotalAmount,
postWage: row.postWage,
salaryPayable: row.salaryPayable,
actualPayable: row.actualPayable,
bearType: row.standard.bearType
}
this.checkWorkOpen = true
this.preForm = { ...this.cwForm }
},
preCal() {
if (1 == this.cwForm.bearType) {
this.cwForm.salaryPayable = this.cwForm.salaryPayable - Number(this.cwForm.checkWorkCost)
} else {
this.cwForm.postWage = this.cwForm.postWage + Number(this.cwForm.checkWorkCost)
}
}
}
}
</script>
......@@ -70,8 +70,7 @@
<!-- <el-button size="mini" 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 size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-if="scope.row.payStatus && scope.row.payStatus > 0"
<el-button v-if="scope.row.payStatus && 3 != scope.row.payStatus && 2 != scope.row.payStatus" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business: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"
......@@ -168,7 +167,7 @@
</template>
<script>
import { listPayOutRecord, getPayOutRecord, delPayOutRecord, addPayOutRecord, updatePayOutRecord } from "@/api/business/payOutRecord";
import { listPayOutRecord, getPayOutRecord, delPayOutRecord, addPayOutRecord, updatePayOutRecord, pay} from "@/api/business/payOutRecord";
import { listPayAccInfo } from '@/api/business/payAcc'
export default {
......@@ -401,7 +400,13 @@ export default {
this.getPayAccList();
},
confirmPay() {
console.log(this.payForm)
pay(this.payForm).then(resp => {
if (resp.code == 200) {
this.payOpen = false
this.$modal.alertSuccess("操作成功,请等待支付结果")
this.getList()
}
})
}
},
};
......
......@@ -18,9 +18,9 @@ module.exports = {
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath: process.env.NODE_ENV === "production" ? "/ruoyi-vue-web" : "/",
publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
outputDir: 'ruoyi-vue-web',
outputDir: 'xrt',
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
assetsDir: 'static',
// 是否开启eslint保存检测,有效值:ture | false | 'error'
......
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