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