Commit 8d313d6d authored by 谢子梦's avatar 谢子梦

发薪账户管理-去发薪功能

parent 1cde7a4b
<!-- @author zhengjie -->
<template>
<div>
<el-select v-model="value" placeholder="请选择" @change="selected" clearable>
<el-option-group
v-for="group in payAccList"
:key="group.label"
:label="group.label">
<el-option
v-for="item in group.options"
:key="item.value"
:label="item.label"
:value="item.value">
<el-select :disabled="isSelectStatic" v-model="value" placeholder="请选择" @change="selected" clearable>
<el-option-group v-for="group in payAccList" :key="group.label" :label="group.label">
<el-option v-for="item in group.options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-option-group>
</el-select>
......@@ -21,11 +14,12 @@
import { listAllAccInfo } from '@/api/business/accInfo'
export default {
name: 'AccSelect',
props: ['defaultVal', 'bindType'],
props: ['defaultVal', 'bindType', 'isDisabled'],
data() {
return {
value: '',
payAccList: []
payAccList: [],
isSelectStatic: false
}
},
mounted() {
......@@ -34,6 +28,15 @@ export default {
this.value = this.defaultVal
}
},
watch: {
defaultVal(newVal, oldValue) {
if (newVal) {
this.value = newVal
this.isSelectStatic = true
}
this.$forceUpdate()
},
},
methods: {
getPayAccList() {
let params = {}
......@@ -87,9 +90,11 @@ export default {
.icon-body {
width: 100%;
padding: 10px;
.icon-list {
height: 200px;
overflow-y: scroll;
div {
height: 30px;
line-height: 30px;
......@@ -98,6 +103,7 @@ export default {
width: 33%;
float: left;
}
span {
display: inline-block;
vertical-align: -0.15em;
......
......@@ -12,13 +12,14 @@
<el-form-item label="支付类型" prop="payTitle">
<el-select v-model="batchForm.payTitle" placeholder="请选择支付类型">
<el-option v-for="dict in dict.type.pay_type_title" :key="dict.value" :label="dict.label"
:value="dict.value" />
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="付款账号" prop="payerAccNo">
<acc-select v-model="batchForm.payerAccNo" :defaultVal="batchForm.payerAccNo"></acc-select>
<acc-select v-model="batchForm.payerAccNo" :defaultVal="defaultPayerAccNo"
:isDisabled="defaultPayerAccNo"></acc-select>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -32,38 +33,28 @@
<div style="padding:10px;margin-top:20px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" icon="el-icon-upload2" @click="importClick"
v-hasPermi="['business:outPersonal:add']">导入</el-button>
v-hasPermi="['business:outPersonal:add']">导入</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="page.rows" @selection-change="handleSelectionChange"
:highlight-current-row="true" :highlight-selection-row="true" :stripe="true">
:highlight-current-row="true" :highlight-selection-row="true" :stripe="true">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="收款账户" align="center">
<el-table-column label="户名" align="center" prop="payeeAccName" fixed/>
<el-table-column label="账户" align="center" prop="payeeAccNo" fixed/>
<el-table-column label="户名" align="center" prop="payeeAccName" fixed />
<el-table-column label="账户" align="center" prop="payeeAccNo" fixed />
<el-table-column label="类型" align="center" prop="payeeAccType" fixed>
<template slot-scope="scope">
<el-row>
<el-col :span="12">
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType"/>
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType" />
</el-col>
<el-col :span="12">
<el-tag v-if="scope.row.isPrivateAcc && scope.row.isPrivateAcc === 1">对私账户</el-tag>
......@@ -79,34 +70,23 @@
<el-table-column label="备注" align="center" prop="payRemark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot="header" slot-scope="scope">
<el-input
v-model="page.search"
size="mini"
@change="searchEvt"
placeholder="输入姓名搜索"/>
<el-input v-model="page.search" size="mini" @change="searchEvt" placeholder="输入姓名搜索" />
</template>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row.indexKey, 'delRow')"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete"
@click="handleDelete(scope.row.indexKey, 'delRow')">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination style="margin-top: 10px"
v-show="page.total && page.total > 0"
@current-change="handleCurrentChange"
:current-page="page.pageNum"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
<el-pagination style="margin-top: 10px" v-show="page.total && page.total > 0"
@current-change="handleCurrentChange" :current-page="page.pageNum" :page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="page.total">
</el-pagination>
<el-row :gutter="10" class="mb8" style="margin-top: 15px">
<el-col :span="1.5" style="float: right">
<span v-if="page.total">合计: {{ page.countAmount }} 元</span>
<el-button style="margin-left: 100px" type="primary" icon="el-icon-s-promotion" size="mini" @click="confirmPay">确认支付</el-button>
<el-button style="margin-left: 100px" type="primary" icon="el-icon-s-promotion" size="mini"
@click="confirmPay">确认支付</el-button>
</el-col>
</el-row>
</div>
......@@ -116,7 +96,7 @@
<el-form-item label="支付类型" prop="payTitle">
<el-select v-model="form.payTitle" placeholder="请选择支付类型">
<el-option v-for="dict in dict.type.pay_type_title" :key="dict.value" :label="dict.label"
:value="dict.value" />
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="收款人户名" prop="payeeAccName">
......@@ -128,7 +108,7 @@
<el-form-item label="收款账户类型" prop="payeeAccType">
<el-select v-model="form.payeeAccType" placeholder="请选择收款账户类型" disabled>
<el-option v-for="dict in dict.type.payee_acc_type" :key="dict.value" :label="dict.label"
:value="dict.value * 1" />
:value="dict.value * 1" />
</el-select>
</el-form-item>
<el-form-item label="公户/私户" prop="isPrivateAcc">
......@@ -156,14 +136,14 @@
<!-- 导入对话框 -->
<el-dialog title="导入人员信息" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?templateType=' + upload.uploadRadio" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
:action="upload.url + '?templateType=' + upload.uploadRadio" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xls、xlsx格式文件。</span>
<a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板"
href="/收款人明细模板.xlsx" target="_blank">下载模板</a>
<a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板" href="/收款人明细模板.xlsx"
target="_blank">下载模板</a>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
......@@ -193,6 +173,8 @@ export default {
total: 0,
countAmount: 0
},
// 当前传入的卡号
defaultPayerAccNo: null,
upload: {
// 是否显示弹出层(用户导入)
open: false,
......@@ -254,7 +236,10 @@ export default {
}
};
},
created() {
mounted() {
if (this.$route.query.number) {
this.defaultPayerAccNo = String(this.$route.query.number)
}
},
methods: {
// 新增明细
......@@ -293,7 +278,7 @@ export default {
this.indexList = [];
this.getList()
}
}).catch(() => {});
}).catch(() => { });
},
// 多选框选中数据
handleSelectionChange(selection) {
......@@ -371,7 +356,7 @@ export default {
this.$router.push({ path: "/transfer/record" });
}
})
}).catch(() => {});
}).catch(() => { });
}
});
},
......
......@@ -12,13 +12,14 @@
<el-form-item label="支付类型" prop="payTitle">
<el-select v-model="batchForm.payTitle" placeholder="请选择支付类型">
<el-option v-for="dict in dict.type.pay_type_title" :key="dict.value" :label="dict.label"
:value="dict.value" />
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="付款账号" prop="payerAccNo">
<acc-select v-model="batchForm.payerAccNo" :defaultVal="batchForm.payerAccNo"></acc-select>
<acc-select v-model="batchForm.payerAccNo" :defaultVal="defaultPayerAccNo"
:isDisabled="defaultPayerAccNo"></acc-select>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -32,38 +33,28 @@
<div style="padding:10px;margin-top:20px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" icon="el-icon-upload2" @click="importClick"
v-hasPermi="['business:outPersonal:add']">导入</el-button>
v-hasPermi="['business:outPersonal:add']">导入</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="page.rows" @selection-change="handleSelectionChange"
:highlight-current-row="true" :highlight-selection-row="true" :stripe="true">
:highlight-current-row="true" :highlight-selection-row="true" :stripe="true">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="收款账户" align="center">
<el-table-column label="户名" align="center" prop="payeeAccName" fixed/>
<el-table-column label="账户" align="center" prop="payeeAccNo" fixed/>
<el-table-column label="户名" align="center" prop="payeeAccName" fixed />
<el-table-column label="账户" align="center" prop="payeeAccNo" fixed />
<el-table-column label="类型" align="center" prop="payeeAccType" fixed>
<template slot-scope="scope">
<el-row>
<el-col :span="12">
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType"/>
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.payeeAccType" />
</el-col>
<el-col :span="12">
<el-tag v-if="scope.row.isPrivateAcc && scope.row.isPrivateAcc === 1">对私账户</el-tag>
......@@ -79,34 +70,23 @@
<el-table-column label="备注" align="center" prop="payRemark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot="header" slot-scope="scope">
<el-input
v-model="page.search"
size="mini"
@change="searchEvt"
placeholder="输入姓名搜索"/>
<el-input v-model="page.search" size="mini" @change="searchEvt" placeholder="输入姓名搜索" />
</template>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row.indexKey, 'delRow')"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete"
@click="handleDelete(scope.row.indexKey, 'delRow')">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination style="margin-top: 10px"
v-show="page.total && page.total > 0"
:current-page="page.pageNum"
@current-change="handleCurrentChange"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
<el-pagination style="margin-top: 10px" v-show="page.total && page.total > 0" :current-page="page.pageNum"
@current-change="handleCurrentChange" :page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="page.total">
</el-pagination>
<el-row :gutter="10" class="mb8" style="margin-top: 15px">
<el-col :span="1.5" style="float: right">
<span v-if="page.total">合计: {{ page.countAmount }} 元</span>
<el-button style="margin-left: 100px" type="primary" icon="el-icon-s-promotion" size="mini" @click="confirmPay">确认支付</el-button>
<el-button style="margin-left: 100px" type="primary" icon="el-icon-s-promotion" size="mini"
@click="confirmPay">确认支付</el-button>
</el-col>
</el-row>
</div>
......@@ -116,7 +96,7 @@
<el-form-item label="支付类型" prop="payTitle">
<el-select v-model="form.payTitle" placeholder="请选择支付类型">
<el-option v-for="dict in dict.type.pay_type_title" :key="dict.value" :label="dict.label"
:value="dict.value" />
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="收款人户名" prop="payeeAccName">
......@@ -128,7 +108,7 @@
<el-form-item label="收款账户类型" prop="payeeAccType">
<el-select v-model="form.payeeAccType" placeholder="请选择收款账户类型" disabled>
<el-option v-for="dict in dict.type.payee_acc_type" :key="dict.value" :label="dict.label"
:value="dict.value * 1" />
:value="dict.value * 1" />
</el-select>
</el-form-item>
<el-form-item label="公户/私户" prop="isPrivateAcc">
......@@ -156,8 +136,8 @@
<!-- 导入对话框 -->
<el-dialog title="导入人员信息" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?templateType=' + upload.uploadRadio" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
:action="upload.url + '?templateType=' + upload.uploadRadio" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
......@@ -165,8 +145,8 @@
<!-- <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据 -->
<!-- </div>-->
<span>仅允许导入xls、xlsx格式文件。</span>
<a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板"
href="/收款人明细模板.xlsx" target="_blank">下载模板</a>
<a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板" href="/收款人明细模板.xlsx"
target="_blank">下载模板</a>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
......@@ -196,6 +176,8 @@ export default {
total: 0,
countAmount: 0
},
// 当前传入的卡号
defaultPayerAccNo: null,
upload: {
// 是否显示弹出层(用户导入)
open: false,
......@@ -255,7 +237,10 @@ export default {
}
};
},
created() {
mounted() {
if (this.$route.query.number) {
this.defaultPayerAccNo = String(this.$route.query.number)
}
},
methods: {
// 新增明细
......@@ -294,7 +279,7 @@ export default {
this.indexList = [];
this.getList()
}
}).catch(() => {});
}).catch(() => { });
},
// 多选框选中数据
handleSelectionChange(selection) {
......@@ -372,7 +357,7 @@ export default {
this.$router.push({ path: "/transfer/record" });
}
})
}).catch(() => {});
}).catch(() => { });
}
});
},
......
......@@ -31,14 +31,19 @@
<div style="width:90%;">
<el-row>
<el-col :span="14">
公司名称:({{ ele.companyName }})
账户:({{ ele.companyName }})
</el-col>
<el-col :span="8">
<el-button type="info" plain>账户详情</el-button>
</el-col>
</el-row>
</div>
<div style="width:90%;">
<el-row>
<el-col :span="16">
卡号:{{ ele.payAccNo }}
</el-col>
</el-row>
<!-- <div style="width:90%;">
<el-row>
<el-col :span="8">
可转帐余额:<span style="color:#4aa3ff;">1111</span>
......@@ -50,7 +55,7 @@
服务费率:<span style="color:#4aa3ff;">11111</span>
</el-col>
</el-row>
</div>
</div> -->
</div>
</div>
</el-col>
......@@ -69,7 +74,7 @@
<el-col :span="12"><el-button style="width:120px;" type="primary"
plain>账单查询</el-button></el-col>
<el-col :span="12"><el-button style="width:120px;" type="primary" plain
@click="salarySelection">去发薪</el-button></el-col>
@click="salarySelection(ele.payAccNo)">去发薪</el-button></el-col>
</el-row>
</div>
</div>
......@@ -107,7 +112,7 @@
<div style="width:90%;">
<el-row>
<el-col :span="14">
公司名称:({{ ele.companyName }})
账户:{{ ele.companyName }}
</el-col>
<el-col :span="8">
<el-button type="info" plain>账户详情</el-button>
......@@ -115,6 +120,13 @@
</el-row>
</div>
<div style="width:90%;">
<el-row>
<el-col :span="16">
卡号:{{ ele.payAccNo }}
</el-col>
</el-row>
</div>
<!-- <div style="width:90%;">
<el-row>
<el-col :span="8">
可转帐余额:<span style="color:#4aa3ff;">222</span>
......@@ -126,7 +138,7 @@
服务费率:<span style="color:#4aa3ff;">2222</span>
</el-col>
</el-row>
</div>
</div> -->
</div>
</div>
</el-col>
......@@ -144,8 +156,8 @@
<el-row>
<el-col :span="12"><el-button style="width:120px;" type="primary"
plain>账单查询</el-button></el-col>
<el-col :span="12"><el-button @click="salarySelection" style="width:120px;"
type="primary" plain>去发薪</el-button></el-col>
<el-col :span="12"><el-button @click="salarySelection(ele.payAccNo)"
style="width:120px;" type="primary" plain>去发薪</el-button></el-col>
</el-row>
</div>
</div>
......@@ -178,7 +190,7 @@
</template>
<script>
import { listAllAccInfo, getMerchantDetailsAPI } from '@/api/business/accInfo'
import { listAllAccInfo, getAccAliInfo } from '@/api/business/accInfo'
export default {
name: 'SalaryAccount',
data() {
......@@ -194,7 +206,9 @@ export default {
// 自有发薪数据
ownList: [],
// 第三方发薪数据
thirdParty: []
thirdParty: [],
// 去发薪-当前选中的卡号
cardNo: null,
}
},
created() { },
......@@ -210,11 +224,13 @@ export default {
methods: {
// 跳转到批量到支付宝
toLinkAlipay() {
this.$router.push({ path: "/transfer/batchToAli", query: { id: "1" } });
this.$router.push({ path: "/transfer/batchToAli", query: { number: this.cardNo } });
this.payVisible = false
},
// 跳转到批量到银行卡
toLinkBankCard() {
this.$router.push({ path: "/transfer/batchToBank", query: { id: "2" } });
this.$router.push({ path: "/transfer/batchToBank", query: { number: this.cardNo } });
this.payVisible = false
},
// 获取公司列表方法
getListAllAccInfoFN() {
......@@ -229,7 +245,8 @@ export default {
})
},
// 点击去发薪按钮执行
salarySelection() {
salarySelection(number) {
this.cardNo = number
this.payVisible = true
},
// tab发生变化时执行
......
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