Commit 78fbf079 authored by 谢子梦's avatar 谢子梦

Merge branch 'develop' of http://git.manong.atliangtian.com/longbiao/hr-xinruitong-ui into develop

parents f0b1f283 247b6551
{
"name": "ruoyi-vue-web",
"name": "xrt",
"version": "3.8.3",
"description": "薪瑞通",
"author": "Tellsea",
......
import request from '@/utils/request'
// 查询发薪记录薪资调整列表
export function listAdjustInfo(query) {
return request({
url: '/business/adjustInfo/list',
method: 'get',
params: query
})
}
// 查询发薪记录薪资调整所有列表
export function listAllAdjustInfo(query) {
return request({
url: '/business/adjustInfo/listAll',
method: 'get',
params: query
})
}
// 查询发薪记录薪资调整详细
export function getAdjustInfo(id) {
return request({
url: '/business/adjustInfo/getInfo/' + id,
method: 'get'
})
}
// 计算调整薪资
export function adjustCalculate(data) {
return request({
url: '/business/adjustInfo/adjust/calculate',
method: 'post',
data: data
})
}
// 新增发薪记录薪资调整
export function addAdjustInfo(data) {
return request({
url: '/business/adjustInfo/add',
method: 'post',
data: data
})
}
// 修改发薪记录薪资调整
export function updateAdjustInfo(data) {
return request({
url: '/business/adjustInfo/edit',
method: 'post',
data: data
})
}
// 删除发薪记录薪资调整
export function delAdjustInfo(id) {
return request({
url: '/business/adjustInfo/remove/' + id,
method: 'get'
})
}
import request from '@/utils/request'
// 查询付款主体信息列表
export function listCompanyInfo(query) {
return request({
url: '/business/companyInfo/list',
method: 'get',
params: query
})
}
// 查询付款主体信息所有列表
export function listAllCompanyInfo(query) {
return request({
url: '/business/companyInfo/listAll',
method: 'get',
params: query
})
}
// 查询付款主体信息详细
export function getCompanyInfo(id) {
return request({
url: '/business/companyInfo/getInfo/' + id,
method: 'get'
})
}
// 新增付款主体信息
export function addCompanyInfo(data) {
return request({
url: '/business/companyInfo/add',
method: 'post',
data: data
})
}
// 修改付款主体信息
export function updateCompanyInfo(data) {
return request({
url: '/business/companyInfo/edit',
method: 'post',
data: data
})
}
// 删除付款主体信息
export function delCompanyInfo(id) {
return request({
url: '/business/companyInfo/remove/' + id,
method: 'get'
})
}
import request from '@/utils/request'
export function listPayAccInfo() {
return request({
url: '/business/accInfo/listAll',
method: 'get',
})
}
......@@ -52,14 +52,6 @@ export function updatePayOutDetail(data) {
})
}
// 调整薪资
export function adjustSalary(data) {
return request({
url: '/business/payOutDetail/adjust/salary',
method: 'post',
data: data
})
}
// 删除发薪详情
export function delPayOutDetail(id) {
......
......@@ -62,6 +62,15 @@ export function pay(data) {
})
}
// 调整薪资
export function saveAdjustCalculate(data) {
return request({
url: '/business/payOutRecord/adjust/calculate',
method: 'post',
data: data
})
}
// 删除发薪批次信息
export function delPayOutRecord(id) {
return request({
......
......@@ -65,22 +65,15 @@
<!-- 添加或修改商户付款账户对话框 -->
<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="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="legalName">
<el-input v-model="form.legalName" placeholder="请输入法人姓名" />
</el-form-item>
<el-form-item label="法人电话" prop="legalPhone">
<el-input v-model="form.legalPhone" placeholder="请输入法人电话" />
</el-form-item>
<el-form-item label="归属客户" prop="deptId">
<el-cascader :props="cascaderProps" v-model="form.deptId" :options="deptOptions">
</el-cascader>
<el-form-item label="发薪主体" prop="companyId">
<el-select v-model="form.companyId">
<el-option v-for="item in payerCompanyArr" :key="item.id" :value="item.id" :label="item.companyName" />
</el-select>
</el-form-item>
<!-- <el-form-item label="归属客户" prop="deptId">-->
<!-- <el-cascader :props="cascaderProps" v-model="form.deptId" :options="deptOptions">-->
<!-- </el-cascader>-->
<!-- </el-form-item>-->
<el-form-item label="发薪账户" prop="payAccNo">
<el-input v-model="form.payAccNo" placeholder="请输入发薪账户" />
</el-form-item>
......@@ -105,6 +98,7 @@
<script>
import { listAccInfo, getAccInfo, delAccInfo, addAccInfo, updateAccInfo } from "@/api/business/accInfo";
import { deptTreeSelect } from "@/api/system/user";
import { listAllCompanyInfo } from '@/api/business/companyInfo'
export default {
name: "AccInfo",
computed: {
......@@ -155,25 +149,14 @@ export default {
},
// 表单参数
form: {},
payerCompanyArr: [],
// 表单校验
rules: {
id: [
{ required: true, message: "$comment不能为空", trigger: "blur" }
],
companyName: [
{ required: true, message: "单位名称不能为空", trigger: "blur" }
],
companyCode: [
{ required: true, message: "单位机构代码不能为空", trigger: "blur" }
],
legalName: [
{ required: true, message: "法人姓名不能为空", trigger: "blur" }
],
legalPhone: [
{ required: true, message: "法人电话不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "所属部门不能为空", trigger: "blur" }
companyId: [
{ required: true, message: "请选择发薪主体", trigger: "blur" }
],
payAccNo: [
{ required: true, message: "发薪账户不能为空", trigger: "blur" }
......@@ -193,6 +176,7 @@ export default {
created() {
this.getList();
this.getDeptTree();
this.getPayerCompanyList()
},
methods: {
getDeptTree() {
......@@ -261,6 +245,13 @@ export default {
this.title = "修改商户付款账户";
});
},
getPayerCompanyList() {
listAllCompanyInfo().then(resp => {
if (200 == resp.code) {
this.payerCompanyArr = resp.data
}
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="任务名称" prop="batchName">
<el-input v-model="queryParams.batchName" placeholder="请输入发薪任务名称" clearable @keyup.enter.native="handleQuery" />
<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="companyName">
<el-input v-model="queryParams.companyName" placeholder="请输入发薪单位" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="下发状态" prop="payStatus">
<el-select v-model="queryParams.payStatus" placeholder="请选择订单状态" clearable>
<el-option v-for="dict in dict.type.pay_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
<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>
......@@ -20,98 +25,94 @@
<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:payOutRecord: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:payOutRecord:edit']">修改</el-button>
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:companyInfo:add']"
>新增</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:payOutRecord:remove']">删除</el-button>
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:companyInfo:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['business:payOutRecord:export']">导出</el-button>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:companyInfo: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:companyInfo:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="payOutRecordList" @selection-change="handleSelectionChange" :height="650">
<el-table v-loading="loading" :data="companyInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务名称" align="center" prop="batchName" />
<el-table-column label="发薪单位" align="center" prop="companyName" />
<el-table-column label="下发人数" align="center" prop="totalCount" />
<el-table-column label="总金额" align="center" prop="totalAmount" />
<el-table-column label="生成时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</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="companyName" />
<el-table-column label="信用代码" align="center" prop="companyCode" />
<el-table-column label="法人姓名" align="center" prop="legalName" />
<el-table-column label="法人电话" align="center" prop="legalPhone" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['business:payOutRecord:edit']">修改</el-button>
<el-button 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-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:companyInfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:companyInfo: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" />
<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="batchName">
<el-input v-model="form.batchName" 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="发薪单位" 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="batchNo">
<el-input v-model="form.batchNo" 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="totalCount">
<el-input v-model="form.totalCount" placeholder="请输入发放条数" />
<el-form-item label="企业名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入企业名称" />
</el-form-item>
<el-form-item label="发放总金额" prop="totalAmount">
<el-input v-model="form.totalAmount" placeholder="请输入发放总金额" />
<el-form-item label="信用代码" prop="companyCode">
<el-input v-model="form.companyCode" placeholder="请输入信用代码" />
</el-form-item>
<el-form-item label="成功条数" prop="successCount">
<el-input v-model="form.successCount" placeholder="请输入成功条数" />
<el-form-item label="法人姓名" prop="legalName">
<el-input v-model="form.legalName" placeholder="请输入法人姓名" />
</el-form-item>
<el-form-item label="成功金额" prop="successAmount">
<el-input v-model="form.successAmount" placeholder="请输入成功金额" />
</el-form-item>
<el-form-item label="失败条数" prop="failCount">
<el-input v-model="form.failCount" placeholder="请输入失败条数" />
</el-form-item>
<el-form-item label="失败金额" prop="failAmount">
<el-input v-model="form.failAmount" placeholder="请输入失败金额" />
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入所属部门" />
<el-form-item label="法人电话" prop="legalPhone">
<el-input v-model="form.legalPhone" placeholder="请输入法人电话" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -123,11 +124,10 @@
</template>
<script>
import { listPayOutRecord, getPayOutRecord, delPayOutRecord, addPayOutRecord, updatePayOutRecord } from "@/api/business/payOutRecord";
import { listCompanyInfo, getCompanyInfo, delCompanyInfo, addCompanyInfo, updateCompanyInfo } from "@/api/business/companyInfo";
export default {
name: "PayOutRecord",
dicts: ['pay_status'],
name: "CompanyInfo",
data() {
return {
// 根路径
......@@ -144,8 +144,8 @@ export default {
showSearch: true,
// 总条数
total: 0,
// 发薪批次信息表格数据
payOutRecordList: [],
// 付款主体信息表格数据
companyInfoList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
......@@ -154,19 +154,8 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
batchName: null,
payTime: null,
companyName: null,
companyCode: null,
batchNo: null,
salaryMonth: null,
payStatus: null,
totalCount: null,
totalAmount: null,
successCount: null,
successAmount: null,
failCount: null,
failAmount: null,
deptId: null,
},
// 表单参数
......@@ -176,44 +165,11 @@ export default {
id: [
{ required: true, message: "$comment不能为空", trigger: "blur" }
],
batchName: [
{ required: true, message: "发薪批/任务次名称不能为空", trigger: "blur" }
],
payTime: [
{ required: true, message: "发薪完成时间不能为空", trigger: "blur" }
],
companyName: [
{ required: true, message: "发薪单位不能为空", trigger: "blur" }
{ required: true, message: "企业名称不能为空", trigger: "blur" }
],
companyCode: [
{ required: true, message: "发薪单位编码(信用代码)不能为空", trigger: "blur" }
],
batchNo: [
{ required: true, message: "工资批次编号不能为空", trigger: "blur" }
],
salaryMonth: [
{ required: true, message: "工资所属月份不能为空", trigger: "blur" }
],
payStatus: [
{ required: true, message: "发放状态不能为空", trigger: "blur" }
],
totalCount: [
{ required: true, message: "发放条数不能为空", trigger: "blur" }
],
totalAmount: [
{ required: true, message: "发放总金额不能为空", trigger: "blur" }
],
successCount: [
{ required: true, message: "成功条数不能为空", trigger: "blur" }
],
successAmount: [
{ required: true, message: "成功金额不能为空", trigger: "blur" }
],
failCount: [
{ required: true, message: "失败条数不能为空", trigger: "blur" }
],
failAmount: [
{ required: true, message: "失败金额不能为空", trigger: "blur" }
{ required: true, message: "信用代码不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "所属部门不能为空", trigger: "blur" }
......@@ -225,11 +181,11 @@ export default {
this.getList();
},
methods: {
/** 查询发薪批次信息列表 */
/** 查询付款主体信息列表 */
getList() {
this.loading = true;
listPayOutRecord(this.queryParams).then(response => {
this.payOutRecordList = response.rows;
listCompanyInfo(this.queryParams).then(response => {
this.companyInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
......@@ -243,19 +199,8 @@ export default {
reset() {
this.form = {
id: null,
batchName: null,
payTime: null,
companyName: null,
companyCode: null,
batchNo: null,
salaryMonth: null,
payStatus: 0,
totalCount: null,
totalAmount: null,
successCount: null,
successAmount: null,
failCount: null,
failAmount: null,
deptId: null,
};
this.resetForm("form");
......@@ -273,23 +218,23 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加发薪批次信息";
this.title = "添加付款主体信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPayOutRecord(id).then(response => {
getCompanyInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改发薪批次信息";
this.title = "修改付款主体信息";
});
},
/** 提交按钮 */
......@@ -297,13 +242,13 @@ export default {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePayOutRecord(this.form).then(response => {
updateCompanyInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPayOutRecord(this.form).then(response => {
addCompanyInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
......@@ -315,19 +260,18 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除发薪批次信息编号为"' + ids + '"的数据项?').then(function () {
return delPayOutRecord(ids);
this.$modal.confirm('是否确认删除付款主体信息编号为"' + ids + '"的数据项?').then(function() {
return delCompanyInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/payOutRecord/export', {
this.download('business/companyInfo/export', {
...this.queryParams
}, `payOutRecord_${new Date().getTime()}.xlsx`)
}, `companyInfo_${new Date().getTime()}.xlsx`)
}
}
};
......
......@@ -34,6 +34,11 @@
<el-input v-model="formData.userName" placeholder="请输入员工姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="userCode">
<el-input v-model="formData.userCode" placeholder="请输入身份证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="人员性别">
<el-select v-model="formData.gender" placeholder="请选择人员性别">
......@@ -42,11 +47,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="userCode">
<el-input v-model="formData.userCode" placeholder="请输入身份证号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="56">
<el-col :span="8">
......@@ -434,9 +434,9 @@ export default {
payeeAccNo: [
{ required: true, message: '收款账号不能为空', trigger: 'blur' }
],
postName: [
{ required: true, message: '所在岗位不能为空', trigger: 'blur' }
],
// postName: [
// { required: true, message: '所在岗位不能为空', trigger: 'blur' }
// ],
postWage: [
{ required: true, message: '岗位工资不能为空', trigger: 'blur' }
],
......
......@@ -19,7 +19,7 @@
</el-row>
<el-row :gutter="56">
<el-col :span="10">
<el-form-item label="所在单位" prop="groupName">
<el-form-item label="用工单位" prop="groupName">
<el-input v-model="formData.groupName" placeholder="请输入所在单位"></el-input>
</el-form-item>
</el-col>
......@@ -32,7 +32,14 @@
<el-row :gutter="56">
<el-col :span="10">
<el-form-item label="发薪主体">
<el-input placeholder="请输入发薪主题"></el-input>
<el-select v-model="formData.payerCompanyId" clearable placeholder="请选择发薪主体">
<el-option
v-for="item in payerCompanyArr"
:key="item.id"
:label="item.companyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
......@@ -292,11 +299,14 @@
<script>
import { getOutContract, addOutContract, updateOutContract } from "@/api/business/outContract";
import { listAllCompanyInfo } from '@/api/business/companyInfo'
export default {
name: "StaffForm",
data() {
return {
payerCompanyArr: [],
formData: {
payerCompanyId: null,
contractName: null,
contractCode: null,
groupName: null,
......@@ -420,8 +430,16 @@ export default {
if (this.$route.query.id) {
this.getOutContractFN(this.$route.query.id)
}
this.getPayerCompanyList()
},
methods: {
getPayerCompanyList() {
listAllCompanyInfo().then(resp => {
if (200 == resp.code) {
this.payerCompanyArr = resp.data
}
})
},
// 公积金个人比例变化执行
providentFundPersonalRateChange(e) {
if (this.formData.providentFundBase > 0 && e > 0) {
......
......@@ -54,13 +54,14 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="合同名称" align="center" prop="contractName" 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="groupCode" />
<el-table-column label="用工单位" align="center" prop="groupName" fixed />
<el-table-column label="信用代码" align="center" prop="groupCode" />
<el-table-column label="五险一金承担方式" align="center" prop="bearType" width="110">
<template slot-scope="scope">
<dict-tag :options="dict.type.bx_bear_type" :value="scope.row.bearType" />
</template>
</el-table-column>
<el-table-column label="发薪主体" align="center" prop="payerCompanyName" />
<el-table-column label="保险缴纳基数">
<el-table-column label="失业保险(¥)" align="center" prop="sybxBase" />
<el-table-column label="养老保险(¥)" align="center" prop="ylbxBase" />
......
......@@ -53,7 +53,7 @@
<el-table-column label="员工姓名" align="center" prop="userName" fixed />
<el-table-column label="身份证号" align="center" prop="userCode" fixed />
<el-table-column label="所属合同" align="center" prop="contractName" />
<el-table-column label="发薪主体" align="center" prop="companyName">
<el-table-column label="用工单位" align="center" prop="companyName">
<template slot-scope="scope">
{{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag>
......@@ -319,65 +319,50 @@
<!-- 考勤核对 -->
<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 label-width="120px">
<el-form-item label="原实发金额">
<el-input v-model="preForm.actualPayableNormal" disabled />
</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-button type="primary" size="small" @click="newAdjustItem">新增调整项</el-button>
</el-form-item>
<el-form-item label="调整类型" prop="adjustType">
<el-select v-model="cwForm.adjustType" placeholder="调整类型">
<el-option label="扣除" :value="1" />
<el-option label="增加" :value="2" />
<el-form-item label="调整类目">
<el-table :data="adjustItem" style="width: 100%" :height="300">
<el-table-column type="index" label="序号" />
<el-table-column prop="adjustName" label="调整原因" width="180">
<template slot-scope="{row}">
<el-input v-model="row.adjustName" />
</template>
</el-table-column>
<el-table-column prop="adjustType" label="类型" width="180">
<template slot-scope="{row}">
<el-select v-model="row.adjustType" @change="adjustView.open = false">
<el-option :value="1" label="扣除" />
<el-option :value="2" label="增加" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="adjustAmount" label="金额">
<template slot-scope="{row}">
<el-input-number v-model="row.adjustAmount" placeholder="请输入管理费" :precision="2"
:step="1" :min="0" controls-position="right" @change="adjustView.open = false"></el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" width="180">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete" @click="delAdjustItem(scope.$index)">删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="doAdjustCalculate">预览</el-button>
</el-form-item>
<el-form-item label="调整薪资" prop="adjustMoney">
<el-input-number style="width: 200px" :precision="2" :step="1" v-model="cwForm.adjustMoney"
placeholder="请输入调整金额">
</el-input-number>
<el-button style="margin-left: 10px" size="mini" round @click="preCal">预览</el-button>
<el-form-item v-show="adjustView.open">
<span>合计调整: {{adjustView.adjustSalary}}, 最终实发: {{adjustView.finalSalary}}</span>
</el-form-item>
</el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFormCwForm">确 定</el-button>
<el-button @click="checkWorkOpen = false">取 消</el-button>
......@@ -394,13 +379,18 @@ import {
addPayOutDetail,
updatePayOutDetail, adjustSalary, viewPayEvi
} from '@/api/business/payOutDetail'
import { adjustCalculate, listAllAdjustInfo } from '@/api/business/adjustInfo'
import { saveAdjustCalculate } from '@/api/business/payOutRecord'
export default {
name: 'PayOutDetail',
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() {
return {
preForm: {},
adjustItem: [],
preForm: {
actualPayableNormal: 0,
},
preFormOpen: false,
checkWorkOpen: false,
cwForm: {
......@@ -445,6 +435,11 @@ export default {
userName: null,
userCode: null
},
adjustView: {
open: false,
finalSalary: 0,
adjustSalary: '',
},
// 表单参数
form: {},
// 表单校验
......@@ -612,6 +607,13 @@ export default {
this.getList()
},
methods: {
newAdjustItem() {
this.adjustItem.push({
adjustName: '',
adjustType: 1,
adjustAmount: 0
})
},
/** 查询发薪详情列表 */
getList() {
this.loading = true
......@@ -754,73 +756,26 @@ export default {
...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 = {
id: row.id,
companyBxMoney: companyTotalAmount,
personalBxMoney: personTotalAmount,
postWage: row.postWage,
salaryPayable: row.salaryPayable,
actualPayable: row.actualPayable,
bearType: row.standard.bearType,
adjustType: 1
async checkWork(row) {
this.preForm.salaryPayDetailId = row.id
this.preForm.actualPayableNormal = row.actualPayableNormal
await listAllAdjustInfo({
salaryPayDetailId: row.id
}).then(resp => {
if (200 == resp.code) {
this.adjustItem = resp.data
}
})
this.checkWorkOpen = true
this.preForm = { ...this.cwForm }
},
preCal() {
this.cwForm.actualPayable = this.preForm.actualPayable
if (1 == this.cwForm.adjustType) {
this.cwForm.actualPayable = this.cwForm.actualPayable - Number(this.cwForm.adjustMoney)
} else {
this.cwForm.actualPayable = this.cwForm.actualPayable + Number(this.cwForm.adjustMoney)
}
},
submitFormCwForm() {
if (1 == this.cwForm.adjustType) {
this.cwForm.adjustMoney = 0 - this.cwForm.adjustMoney;
if (!this.adjustItem) {
this.$modal.msgWarning("没有调整项")
}
adjustSalary(this.cwForm).then(resp => {
saveAdjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) {
this.checkWorkOpen = false
this.$modal.msgSuccess("操作成功");
......@@ -828,6 +783,10 @@ export default {
}
});
},
delAdjustItem(index) {
this.adjustItem.splice(index, 1)
this.adjustView.open = false
},
eviView(row) {
this.$modal.loading("正在处理...")
viewPayEvi(row.id).then(resp => {
......@@ -837,7 +796,24 @@ export default {
}).finally(() => {
this.$modal.closeLoading()
})
},
doAdjustCalculate() {
if (!this.adjustItem) {
this.$modal.msgWarning("没有调整项")
}
adjustCalculate({
salaryDetailId: this.preForm.salaryPayDetailId,
adjusts: this.adjustItem
}).then(resp => {
if (200 == resp.code) {
this.adjustView = {
open: true,
adjustSalary: resp.data.adjustSalary + "",
finalSalary: resp.data.finalSalary + ""
}
}
})
},
}
}
</script>
......@@ -53,7 +53,7 @@
<el-table-column label="人员姓名" align="center" prop="userName" fixed />
<el-table-column label="身份证号" align="center" prop="userCode" fixed />
<el-table-column label="所属合同" align="center" prop="contractName" />
<el-table-column label="发薪主体" align="center" prop="companyName">
<el-table-column label="用工单位" align="center" prop="companyName">
<template slot-scope="scope">
{{ scope.row.companyName }}
<el-tag>{{ scope.row.companyCode }}</el-tag>
......
......@@ -179,7 +179,7 @@
<script>
import { listPayOutRecord, getPayOutRecord, delPayOutRecord, addPayOutRecord, updatePayOutRecord, pay } from "@/api/business/payOutRecord";
import { listPayAccInfo } from '@/api/business/payAcc'
import { listAccInfo, listAllAccInfo } from '@/api/business/accInfo'
export default {
name: "PayOutRecord",
......@@ -286,14 +286,12 @@ export default {
this.getList();
},
methods: {
getPayAccList() {
if (!this.payAccList || this.payAccList.length < 1) {
listPayAccInfo().then(resp => {
getPayAccList(payerCompanyId) {
listAllAccInfo({payerCompanyId: payerCompanyId}).then(resp => {
if (resp.code == 200) {
this.payAccList = resp.data
}
})
}
},
/** 查询发薪批次信息列表 */
getList() {
......@@ -408,7 +406,7 @@ export default {
this.payForm.totalCount = row.totalCount;
this.payForm.totalAmount = row.totalAmount;
this.payOpen = true
this.getPayAccList();
this.getPayAccList(row.payerCompanyId);
},
confirmPay() {
pay(this.payForm).then(resp => {
......
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