Commit 1974ed1b authored by 许珑标's avatar 许珑标

付款账户增加绑定类型、开票金额字段;

付款账户封装为下拉框组件
parent 823f59d9
<!-- @author zhengjie -->
<template>
<div>
<el-select v-model="value" placeholder="请选择" @change="selected">
<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>
</div>
</template>
<script>
import { listAllAccInfo } from '@/api/business/accInfo'
export default {
name: 'AccSelect',
props: ['defaultVal'],
data() {
return {
value: '',
payAccList: []
}
},
mounted() {
this.getPayAccList()
if (this.defaultVal) {
this.value = this.defaultVal
}
},
methods: {
getPayAccList() {
listAllAccInfo().then(resp => {
if (resp.code == 200) {
let bindA = []
let bindB = []
if (resp.data && resp.data.length > 0) {
resp.data.forEach(item => {
let option = {
label: item.payAccNo + ' -- ' + item.companyName,
value: item.payAccNo
}
if (item.bindType) {
if (1 === item.bindType) {
bindA.push(option)
} else if (2 === item.bindType) {
bindB.push(option)
}
}
})
}
if (bindA && bindA.length > 0) {
this.payAccList[0] = {
label: '直属账户',
options: bindA
}
}
if (bindB && bindB.length > 0) {
this.payAccList[1] = {
label: '外部账户',
options: bindB
}
}
this.$forceUpdate()
}
})
},
selected(val) {
this.$emit('input', val)
document.body.click()
},
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.icon-body {
width: 100%;
padding: 10px;
.icon-list {
height: 200px;
overflow-y: scroll;
div {
height: 30px;
line-height: 30px;
margin-bottom: -5px;
cursor: pointer;
width: 33%;
float: left;
}
span {
display: inline-block;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
}
}
</style>
...@@ -71,6 +71,11 @@ ...@@ -71,6 +71,11 @@
<el-table-column label="信用代码" align="center" prop="companyCode" /> <el-table-column label="信用代码" align="center" prop="companyCode" />
<el-table-column label="法人姓名" align="center" prop="legalName" /> <el-table-column label="法人姓名" align="center" prop="legalName" />
<el-table-column label="法人电话" align="center" prop="legalPhone" /> <el-table-column label="法人电话" align="center" prop="legalPhone" />
<el-table-column label="绑定类型" align="center" prop="bindType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.payer_acc_bind_type" :value="scope.row.bindType"/>
</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 <el-button
...@@ -101,7 +106,7 @@ ...@@ -101,7 +106,7 @@
<!-- 添加或修改付款主体信息对话框 --> <!-- 添加或修改付款主体信息对话框 -->
<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="120px">
<el-form-item label="企业名称" prop="companyName"> <el-form-item label="企业名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入企业名称" /> <el-input v-model="form.companyName" placeholder="请输入企业名称" />
</el-form-item> </el-form-item>
...@@ -112,6 +117,15 @@ ...@@ -112,6 +117,15 @@
<el-cascader :props="cascaderProps" v-model="form.deptId" :options="deptOptions"> <el-cascader :props="cascaderProps" v-model="form.deptId" :options="deptOptions">
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="绑定类型" prop="bindType">
<el-select v-model="form.bindType" placeholder="请选择支付类型">
<el-option v-for="dict in dict.type.payer_acc_bind_type" :key="dict.value" :label="dict.label"
:value="dict.value * 1" />
</el-select>
</el-form-item>
<el-form-item label="可开票金额" prop="invoiceBalance">
<el-input-number style="width: 100%" v-model="form.invoiceBalance" :precision="2" :step="0.1" placeholder="请输入可开票金额" />
</el-form-item>
<el-form-item label="法人姓名" prop="legalName"> <el-form-item label="法人姓名" prop="legalName">
<el-input v-model="form.legalName" placeholder="请输入法人姓名" /> <el-input v-model="form.legalName" placeholder="请输入法人姓名" />
</el-form-item> </el-form-item>
...@@ -133,6 +147,7 @@ import { deptTreeSelect } from '@/api/system/user' ...@@ -133,6 +147,7 @@ import { deptTreeSelect } from '@/api/system/user'
export default { export default {
name: "CompanyInfo", name: "CompanyInfo",
dicts: ['payer_acc_bind_type'],
data() { data() {
return { return {
// 部门树选项 // 部门树选项
...@@ -172,7 +187,9 @@ export default { ...@@ -172,7 +187,9 @@ export default {
deptId: null, deptId: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {
invoiceBalance: 0
},
// 表单校验 // 表单校验
rules: { rules: {
id: [ id: [
......
...@@ -18,10 +18,7 @@ ...@@ -18,10 +18,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="付款账号" prop="payerAccNo"> <el-form-item label="付款账号" prop="payerAccNo">
<el-select v-model="batchForm.payerAccNo" placeholder="请选择付款账号"> <acc-select v-model="batchForm.payerAccNo" :defaultVal="batchForm.payerAccNo"></acc-select>
<el-option v-for="item in payAccList" :key="item.id" :label="item.payAccNo + ' -- ' + item.companyName" :value="item.payAccNo">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -164,9 +161,6 @@ ...@@ -164,9 +161,6 @@
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<!-- <div class="el-upload__tip" slot="tip">-->
<!-- <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据 -->
<!-- </div>-->
<span>仅允许导入xls、xlsx格式文件。</span> <span>仅允许导入xls、xlsx格式文件。</span>
<a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板" <a style="color:#1890ff;margin:0px;line-height:14px" class="download" download="收款人明细模板"
href="/收款人明细模板.xlsx" target="_blank">下载模板</a> href="/收款人明细模板.xlsx" target="_blank">下载模板</a>
...@@ -181,12 +175,13 @@ ...@@ -181,12 +175,13 @@
</template> </template>
<script> <script>
import { listAllAccInfo } from '@/api/business/accInfo'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { addPayOrder } from '@/api/business/payOrder' import { addPayOrder } from '@/api/business/payOrder'
import AccSelect from '@/views/business/accInfo/accSelect.vue'
export default { export default {
name: "batchToBank", name: "batchToBank",
components: { AccSelect },
dicts: ['pay_type_title', 'payee_acc_type'], dicts: ['pay_type_title', 'payee_acc_type'],
data() { data() {
return { return {
...@@ -209,8 +204,9 @@ export default { ...@@ -209,8 +204,9 @@ export default {
url: process.env.VUE_APP_BASE_API + "/business/payOrder/detail/importByExcel" url: process.env.VUE_APP_BASE_API + "/business/payOrder/detail/importByExcel"
}, },
indexList: [], indexList: [],
payAccList: [], batchForm: {
batchForm: {}, payerAccNo: ''
},
batchRules: { batchRules: {
payTitle: [ payTitle: [
{ required: true, message: "支付类型不能为空", trigger: "blur" } { required: true, message: "支付类型不能为空", trigger: "blur" }
...@@ -260,17 +256,7 @@ export default { ...@@ -260,17 +256,7 @@ export default {
}, },
created() { created() {
}, },
mounted() {
this.getPayAccList()
},
methods: { methods: {
getPayAccList() {
listAllAccInfo().then(resp => {
if (resp.code == 200) {
this.payAccList = resp.data
}
})
},
// 新增明细 // 新增明细
handleAdd() { handleAdd() {
if (this.transMap && this.transMap.size >= 1000) { if (this.transMap && this.transMap.size >= 1000) {
......
...@@ -18,10 +18,7 @@ ...@@ -18,10 +18,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="付款账号" prop="payerAccNo"> <el-form-item label="付款账号" prop="payerAccNo">
<el-select v-model="batchForm.payerAccNo" placeholder="请选择付款账号"> <acc-select v-model="batchForm.payerAccNo" :defaultVal="batchForm.payerAccNo"></acc-select>
<el-option v-for="item in payAccList" :key="item.id" :label="item.payAccNo + ' -- ' + item.companyName" :value="item.payAccNo">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -181,12 +178,13 @@ ...@@ -181,12 +178,13 @@
</template> </template>
<script> <script>
import { listAllAccInfo } from '@/api/business/accInfo'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { addPayOrder } from '@/api/business/payOrder' import { addPayOrder } from '@/api/business/payOrder'
import AccSelect from '@/views/business/accInfo/accSelect.vue'
export default { export default {
name: "batchToBank", name: "batchToBank",
components: { AccSelect },
dicts: ['pay_type_title', 'payee_acc_type'], dicts: ['pay_type_title', 'payee_acc_type'],
data() { data() {
return { return {
...@@ -209,7 +207,6 @@ export default { ...@@ -209,7 +207,6 @@ export default {
url: process.env.VUE_APP_BASE_API + "/business/payOrder/detail/importByExcel" url: process.env.VUE_APP_BASE_API + "/business/payOrder/detail/importByExcel"
}, },
indexList: [], indexList: [],
payAccList: [],
batchForm: {}, batchForm: {},
batchRules: { batchRules: {
payTitle: [ payTitle: [
...@@ -260,17 +257,7 @@ export default { ...@@ -260,17 +257,7 @@ export default {
}, },
created() { created() {
}, },
mounted() {
this.getPayAccList()
},
methods: { methods: {
getPayAccList() {
listAllAccInfo().then(resp => {
if (resp.code == 200) {
this.payAccList = resp.data
}
})
},
// 新增明细 // 新增明细
handleAdd() { handleAdd() {
if (this.transMap && this.transMap.size >= 1000) { if (this.transMap && this.transMap.size >= 1000) {
......
...@@ -163,10 +163,7 @@ ...@@ -163,10 +163,7 @@
<el-input v-model="payForm.totalAmount" disabled placeholder="请输入发放总金额" /> <el-input v-model="payForm.totalAmount" disabled placeholder="请输入发放总金额" />
</el-form-item> </el-form-item>
<el-form-item label="付款账号" prop="payAccNo"> <el-form-item label="付款账号" prop="payAccNo">
<el-select v-model="payForm.payAccNo" placeholder="请选择"> <acc-select v-model="payForm.payAccNo" :defaultVal="payForm.payAccNo"></acc-select>
<el-option v-for="item in payAccList" :key="item.id" :label="item.payAccNo + ' -- ' + item.companyName" :value="item.payAccNo">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -179,14 +176,14 @@ ...@@ -179,14 +176,14 @@
<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 { listAccInfo, listAllAccInfo } from '@/api/business/accInfo' import AccSelect from '@/views/business/accInfo/accSelect.vue'
export default { export default {
name: "PayOutRecord", name: "PayOutRecord",
components: { AccSelect },
dicts: ['pay_status'], dicts: ['pay_status'],
data() { data() {
return { return {
payAccList: [],
payForm: { payForm: {
payAccNo: null, payAccNo: null,
}, },
...@@ -286,13 +283,6 @@ export default { ...@@ -286,13 +283,6 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
getPayAccList(payerCompanyId) {
listAllAccInfo({payerCompanyId: payerCompanyId}).then(resp => {
if (resp.code == 200) {
this.payAccList = resp.data
}
})
},
/** 查询发薪批次信息列表 */ /** 查询发薪批次信息列表 */
getList() { getList() {
this.loading = true; this.loading = true;
...@@ -406,7 +396,6 @@ export default { ...@@ -406,7 +396,6 @@ 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(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