Commit a76aab3c authored by 许珑标's avatar 许珑标

安全发签约及合作机构账号分配

parent c75b12c6
......@@ -62,3 +62,14 @@ export function getAccAliInfo(cardNo) {
}
})
}
// 查询阿里账本详细信息
export function getTaxAccAliInfo(cardNo) {
return request({
url: '/business/unitAccInfo/detail',
method: 'get',
params: {
cardNo: cardNo
}
})
}
......@@ -9,6 +9,15 @@ export function listCompanyInfo(query) {
})
}
// 查询没有开发信息的全部自有付款主体
export function allHasNoOpenInfoCompany(query) {
return request({
url: '/business/companyInfo/hasNoOpenInfo/listAll',
method: 'get',
params: query
})
}
// 查询付款主体信息所有列表
export function listAllCompanyInfo(query) {
return request({
......@@ -51,3 +60,14 @@ export function delCompanyInfo(id) {
method: 'get'
})
}
// 绑定发薪账户
export function bindCompanyAcc(companyId) {
return request({
url: '/business/companyInfo/acc/bind',
method: 'post',
data: {
id: companyId
}
})
}
......@@ -59,3 +59,11 @@ export function agreeSign(id) {
method: 'post'
})
}
// 删除代发合约签订
export function giveAccToLabor(laborId) {
return request({
url: '/business/unitInfo/acc/give/' + laborId,
method: 'post'
})
}
......@@ -27,6 +27,14 @@ export function listAllUnitInfo(query) {
})
}
// 查询所有没有签约安全发的税地单位信息列表
export function listAllHasNoOpenInfo() {
return request({
url: '/business/unitInfo/hasNoOpenInfo/listAll',
method: 'get',
})
}
// 查询税地单位信息详细
export function getUnitInfo(id) {
return request({
......@@ -86,3 +94,23 @@ export function listToSignUnit(query) {
params: query
})
}
// 绑定发薪账户
export function bindUnitAcc(unitId) {
return request({
url: '/business/unitInfo/acc/bind',
method: 'post',
data: {
id: unitId
}
})
}
// 查询税地单位信息所有列表
export function listAllUnitAccInfo(query) {
return request({
url: '/business/unitAccInfo/listAll',
method: 'get',
params: query
})
}
......@@ -389,13 +389,39 @@
</div>
</el-dialog>
<!-- 绑定账户 -- 外部-->
<el-dialog title="绑定账户" :visible.sync="bindAcc.panel" width="80%">
<tax-sign-component></tax-sign-component>
<div slot="footer" class="dialog-footer">
<el-button @click="bindAcc.panel = false">关 闭</el-button>
</div>
</el-dialog>
<!-- 绑定账户 - 自有账户-->
<el-dialog title="绑定账户" :visible.sync="openSign.panel" width="300">
<el-form label-width="80px">
<el-form-item label="账户主体">
<el-select v-model="openSign.companyId" placeholder="请选择账户对应的企业主体">
<el-option v-for="item in openSign.companyList" :label="item.companyName" :value="item.id"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitBind">确定</el-button>
<el-button @click="openSign.panel = false">关 闭</el-button>
</div>
</el-dialog>
<el-dialog title="扫码签约" :visible.sync="openSign.codePanel" width="300px" style="text-align: center">
<h3>1、请打开对应企业的支付宝</h3>
<h3>2、扫描下方二维码</h3>
<qr-code-component :text="openSign.codeUrl" />
<h3>操作完成后大约5-10分钟</h3>
<h3>可刷新页面查看结果</h3>
<div slot="footer" class="dialog-footer">
<el-button @click="openSign.codePanel = false">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -407,11 +433,20 @@ import { addDateRange } from '@/utils/ruoyi'
import { formatDate } from '@/utils'
import QrCodeComponent from '@/components/QrCode.vue'
import TaxSignComponent from '@/views/business/salaryAccount/taxSignComponent.vue'
import { bindUnitAcc, listAllHasNoOpenInfo } from '@/api/business/unitInfo'
import { allHasNoOpenInfoCompany, bindCompanyAcc } from '@/api/business/companyInfo'
export default {
name: 'SalaryAccount',
components: { TaxSignComponent, QrCodeComponent, AccSelect },
data() {
return {
openSign: {
panel: false,
companyId: null,
companyList: [],
codePanel: false,
codeUrl: '',
},
bindAcc: {
panel: false,
......@@ -666,8 +701,26 @@ export default {
})
},
goRegister() {
window.open('https://admins.openbanks.cn/#/register?parameters=MPf%2Flhts8VrGmGDCjFNey4AqyYOJk1pQAc0KS6cZqp2QcvSNrm9LqLlqELVUfoVT', '_blank')
allHasNoOpenInfoCompany().then(resp => {
if (200 === resp.code) {
this.openSign.companyList = resp.data
}
}).finally(() => {
this.openSign.panel = true
})
},
submitBind() {
this.$modal.loading()
bindCompanyAcc(this.openSign.companyId).then(resp => {
if (200 === resp.code) {
this.openSign.codePanel = true;
this.openSign.codeUrl = resp.data
}
}).finally(() => {
this.$modal.closeLoading()
this.openSign.panel = false;
})
}
}
}
</script>
......
......@@ -197,6 +197,9 @@ export default {
}
},
created() {
},
mounted() {
this.getList()
},
methods: {
......
<template>
<div class="app-container">
<!-- 发薪账户管理页面 -->
<el-tabs v-model="payType" @tab-click="handleClick" type="card">
<el-tab-pane label="自有发薪账号" name="first">
<el-form label-width="120px" label-position="left" class="formMain">
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="支付宝外卡卡号">
<el-input v-model="params.payAccNo" placeholder="请输入支付宝外卡卡号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" icon="el-icon-search" @click="getListAllAccInfoFN">查询</el-button>
</el-col>
<el-col :span="8">
<div class="buttonOperate">
<el-button type="primary" @click="goRegister">绑定发薪账户</el-button>
</div>
</el-col>
</el-row>
</el-form>
<el-card class="box-card" v-for="ele in ownList" :key="ele.id">
<el-row>
<el-col :span="16">
<div class="companyConterMain">
<div class="enterpriseImageMain">
<img class="enterpriseImage" src="@/assets/images/enterprise.png" alt="">
</div>
<div class="companyConterInformation">
<div style="width:90%;">
<el-row>
<el-col :span="14">
账户:({{ ele.accName }})
</el-col>
<el-col :span="8">
<el-button type="info" @click="viewDetail(ele)" plain>账户详情</el-button>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="16">
卡号:{{ ele.accNo }}
</el-col>
</el-row>
<!-- <div style="width:90%;">
<el-row>
<el-col :span="8">
可转帐余额:<span style="color:#4aa3ff;">1111</span>
</el-col>
<el-col :span="8">
可用服务费:<span style="color:#4aa3ff;">1111</span>
</el-col>
<el-col :span="8">
服务费率:<span style="color:#4aa3ff;">11111</span>
</el-col>
</el-row>
</div> -->
</div>
</div>
</el-col>
<el-col :span="6" :offset="2">
<div class="operateConterMain">
<div style="width: 90%;">
<el-row>
<el-col :span="12"><el-button style="width:120px;" type="primary"
@click="ownBalanceRecharge(ele)">余额充值</el-button></el-col>
<el-col :span="12"><el-button style="width:120px;" type="primary"
@click="ownServiceChargeRecharge(ele)">服务费充值</el-button></el-col>
</el-row>
</div>
<div style="width: 90%;">
<el-row>
<el-col :span="12"><el-button style="width:120px;" type="primary" plain
@click="showBill(ele.payAccNo)">充值记录</el-button></el-col>
<el-col :span="12"><el-button style="width:120px;" type="primary" plain
@click="salarySelection(ele.payAccNo)">去发薪</el-button></el-col>
</el-row>
</div>
</div>
</el-col>
</el-row>
</el-card>
<el-empty v-if="ownList.length == 0" description="暂无账号"></el-empty>
</el-tab-pane>
</el-tabs>
<!-- 去发薪对话框 -->
<el-dialog title="发薪选择" :visible.sync="payVisible" width="38%" center>
<div class="salarySelectionStyle">
<div class="salarySelectionMain" @click="toLinkBankCard">
<div class="salarySelectionImageDiv">
<img class="salarySelectionImage" src="../../../assets/images/yhk.png" alt="">
</div>
<p class="salarySelectionText">批量到银行卡</p>
</div>
<div class="salarySelectionMain" @click="toLinkAlipay">
<div class="salarySelectionImageDiv">
<img class="salarySelectionImage" src="../../../assets/images/zfb.png" alt="">
</div>
<p class="salarySelectionText">批量到支付宝</p>
</div>
</div>
</el-dialog>
<!-- 充值弹窗 -->
<el-dialog title="支付宝充值" :visible.sync="aliQRCodeRechargeOpen" width="500px" style="text-align: center">
<!-- <h3>转账完成后,工作时间最晚2小时到账,最快1分钟充值到您的支付宝账户</h3>-->
<el-form :model="aliQRCodeRechargeForm" ref="signNewForm" size="small" label-width="120px"
:rules="aliQRCodeRechargeRules">
<el-form-item label="收款账户" prop="payeeAccNo">
<el-input v-model="aliQRCodeRechargeForm.payeeAccNo" placeholder="请输入收款账号" disabled />
</el-form-item>
<el-form-item label="付款账户" prop="payerAccNo"
v-if="aliQRCodeRechargeForm.bindType && 2 === aliQRCodeRechargeForm.bindType">
<accSelect :bindType="1" v-model="aliQRCodeRechargeForm.payerAccNo"></accSelect>
</el-form-item>
<el-form-item label="余额/服务费" prop="rechargeType">
<template>
<el-select v-model="aliQRCodeRechargeForm.rechargeType" style="width: 100%" disabled>
<el-option label="余额" :value="2">余额</el-option>
<el-option label="服务费" :value="1">服务费</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item label="充值金额" prop="amount">
<el-input-number v-model="aliQRCodeRechargeForm.amount" placeholder="请输入充值金额" :precision="2"
style="width: 100%" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="getAliPayUrl">确认支付</el-button>
<el-button @click="aliQRCodeRechargeOpen = false">取 消</el-button>
</div>
</el-dialog>
<!-- 账户详情弹窗 -->
<el-dialog title="账号信息查询" :visible.sync="accDetail.panel" width="30%" center>
<el-descriptions :title="accDetail.companyName" :column="1" :label-style="accDetail.label_style"
:contentStyle="accDetail.content_style">
<el-descriptions-item label="账号">{{ accDetail.info.cardNo }}</el-descriptions-item>
<el-descriptions-item label="户名">{{ accDetail.info.bankAccName }}</el-descriptions-item>
<el-descriptions-item label="银行">{{ accDetail.info.cardBank }}</el-descriptions-item>
<el-descriptions-item label="支行">{{ accDetail.info.cardBranch }}</el-descriptions-item>
<el-descriptions-item label="开户地">{{ accDetail.info.cardLocation }}</el-descriptions-item>
<el-descriptions-item label="联行号">{{ accDetail.info.cardDeposit }}</el-descriptions-item>
<!-- <el-descriptions-item label="备付金余额">{{ offlineRecharge.availableAmount }}</el-descriptions-item>-->
<el-descriptions-item label="可转账金额">{{ accDetail.info.availableTransferAmount }}</el-descriptions-item>
<el-descriptions-item label="可用服务费">{{ accDetail.info.availableFeeAmount }}</el-descriptions-item>
</el-descriptions>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="accDetail.panel = false">确 定</el-button>
</div>
</el-dialog>
<!-- 自有账户充值 -->
<el-dialog :title="ownRechargeTitle" :visible.sync="ownAliQRCodeRechargeOpen" width="42%" center>
<el-row :gutter="64">
<el-col :span="12">
<p style="text-align: center;">通过与账本同主体的企业支付宝进行充值,可在手机端和电脑端充值</p>
</el-col>
<el-col :span="12">
<p style="text-align: center;">通过银行系统进行打款充值</p>
</el-col>
</el-row>
<el-row :gutter="64">
<el-col :span="12">
<div class="ownRechargeMain">
<img class="ownRechargeImage" src="@/assets/images/zfb.png" alt="">
<el-button class="ownRechargeButton"
@click="ownAliQRCodeRechargeOpen = false; aliQRCodeRechargeOpen = true">支付宝充值</el-button>
</div>
</el-col>
<el-col :span="12">
<div class="ownRechargeMain">
<img class="ownRechargeImage" src="@/assets/images/xianxia.png" alt="">
<el-button class="ownRechargeButton" @click="offlineRecharge">线下充值</el-button>
</div>
</el-col>
</el-row>
</el-dialog>
<!-- 线下充值 -->
<el-dialog title="汇款充值" :visible.sync="rechargeCoursePanel" width="50%">
<h2 style="font-weight: bold;font-size: 22px;margin-top: -15px;color: #1a1a1a">什么是汇款充值</h2>
<el-row>
<el-col :span="24">
商户可通过银行转账方式完成对应支付宝专属收款账户的充值。支付宝会为商户的每个支付宝账户提供独立的"专属收款账户",商户从任一同名银行账户向其对应的"专属收款账户"转账,即可完成充值。
</el-col>
</el-row>
<el-row style="margin-top: 15px;">
<el-col :span="24">
<span style="font-weight: bold;font-size: 22px;color: #1a1a1a">
三步完成充值
</span>
<a style="color: #69b1ff" href="https://render.alipay.com/p/yuyan/180020040000423002/de59b"
target="_blank">(查看教程)</a>
</el-col>
</el-row>
<el-row style="margin-top: 15px;">
<el-col :span="24">
<el-timeline>
<el-timeline-item>
<span style="font-weight: bold;font-size: 18px">登录你的网上银行</span>
<span style="color: gray;font-size: 14px">(支持任意银行)</span>
<div style="font-size: 14px;margin-top: 5px">必须使用本公司同名的银行账户进行汇款转账,首次使用建议小金额转入测试</div>
</el-timeline-item>
<el-timeline-item>
<span style="font-weight: bold;font-size: 18px">转账时填写以下专属账户</span>
<div style="font-size: 14px;margin-top: 5px">请注意收款账户支行选择:
<span style="color: red">支付宝-备付金账户</span>
<span>、开户地选择:</span>
<span style="color: red">上海市-上海市</span>
<span>,否则支付宝无法收到资金</span>
</div>
<el-descriptions title="你的企业备付金余额账户" :column="1" :border="true" style="margin-top: 15px"
:label-style="accDetail.label_style" :contentStyle="accDetail.content_style">
<el-descriptions-item label="账号">{{ offlineRechargeData.cardNo }}</el-descriptions-item>
<el-descriptions-item label="户名">{{ offlineRechargeData.bankAccName
}}</el-descriptions-item>
<el-descriptions-item label="银行">{{ offlineRechargeData.cardBank
}}</el-descriptions-item>
<el-descriptions-item label="支行">{{ offlineRechargeData.cardBranch
}}</el-descriptions-item>
<el-descriptions-item label="开户地">{{ offlineRechargeData.cardLocation
}}</el-descriptions-item>
<el-descriptions-item label="联行号">{{ offlineRechargeData.cardDeposit
}}</el-descriptions-item>
</el-descriptions>
</el-timeline-item>
<el-timeline-item>
<span style="font-weight: bold;font-size: 18px">转账完成后,工作时间最晚2小时到账,最快1分钟充值到您的支付宝账户</span>
<div style="font-size: 14px;margin-top: 5px">非工作时间预计最晚下个工作日到账(具体以银行为准)</div>
</el-timeline-item>
</el-timeline>
<div style="margin-top: 15px;">
<span style="font-weight: bold;font-size: 18px">温馨提示:</span>
<span style="color: gray;font-size: 14px">充值金额
<span style="color: red;"><strong>分数位为1</strong></span>的(如:10.01,119.31,1235.81等)会
<span style="color: red;"><strong>充值到服务费</strong></span>;其它金额会充值到余额;</span>
</div>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="rechargeCoursePanel = false">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="确认支付" :visible.sync="qrPayPanel.open" width="20%">
<div>
<span style="font-size: 18px;">1、使用手机支付宝扫码支付;</span>
<qr-code-component :text="qrPayPanel.payUrl" />
</div>
<div style="margin-top: 12px;">
<span style="font-size: 18px;">2、通过支付宝官网支付,<a :href="qrPayPanel.payUrl" target="_blank"
style="font-size: 20px;color: #409EFF;"><strong>去支付</strong></a>;</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="qrPayPanel.open = false">取 消</el-button>
</div>
</el-dialog>
<el-dialog title="充值记录" :visible.sync="billPanel" width="80%">
<el-form :model="billQuery" size="small" :inline="true" label-width="100px">
<el-form-item label="账单类型" prop="tranType">
<el-select v-model="billQuery.capitalPurpose" clearable placeholder="请选择">
<el-option label="全部" :value="''" />
<el-option label="服务费" :value="1" />
<el-option label="余额" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getBillList">搜索</el-button>
</el-form-item>
</el-form>
<el-tabs value="first" @tab-click="billTypeTabClick">
<el-tab-pane label="账单列表" name="first"></el-tab-pane>
</el-tabs>
<el-table v-loading="loading" :data="billDataList">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="账单类型" align="center" prop="capitalPurpose">
<template slot-scope="scope">
<span v-if="scope.row.capitalPurpose == 1">服务费</span>
<span v-if="scope.row.capitalPurpose == 2">余额</span>
</template>
</el-table-column>
<el-table-column label="收支类型" align="center" prop="tranType">
<template slot-scope="scope">
<el-button type="success" size="mini">收入</el-button>
</template>
</el-table-column>
<el-table-column label="金额" align="center" prop="tranAmount">
<template slot-scope="scope">
<span style="color: rgb(255, 208, 75)">
+ {{ scope.row.tranAmount }}
</span>
</template>
</el-table-column>
<el-table-column label="时间" align="center" prop="createTime" width="180" />
</el-table>
<el-pagination small layout="prev, pager, next" :total="billTotal" :page.sync="billQuery.pageNum"
@size-change="handleSizeChange" @current-change="handleCurrentChange" :limit.sync="billQuery.pageSize"
@pagination="getBillList()">
</el-pagination>
<div slot="footer" class="dialog-footer">
<el-button @click="billPanel = false">关 闭</el-button>
</div>
</el-dialog>
<el-dialog title="绑定账户" :visible.sync="bindAcc.panel" width="300">
<el-form label-width="80px">
<el-form-item label="账户主体">
<el-select v-model="bindAcc.companyId" placeholder="请选择账户对应的企业主体">
<el-option v-for="item in bindAcc.taxUnitList" :label="item.unitName" :value="item.id"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitBind">确定</el-button>
<el-button @click="bindAcc.panel = false">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import AccSelect from '@/views/business/accInfo/accSelect.vue'
import { listAllAccInfo, getAccAliInfo, getTaxAccAliInfo } from '@/api/business/accInfo'
import { addAccRecharge, listBill } from '@/api/business/accRecharge.js'
import { addDateRange } from '@/utils/ruoyi'
import { formatDate } from '@/utils'
import QrCodeComponent from '@/components/QrCode.vue'
import TaxSignComponent from '@/views/business/salaryAccount/taxSignComponent.vue'
import { bindUnitAcc, listAllHasNoOpenInfo, listAllUnitAccInfo, listAllUnitInfo } from '@/api/business/unitInfo'
export default {
name: 'SalaryAccount',
components: { TaxSignComponent, QrCodeComponent, AccSelect },
data() {
return {
bindAcc: {
panel: false,
companyId: null,
taxUnitList: []
},
billPanel: false,
qrPayPanel: {
open: false,
payUrl: ''
},
// 账户详情
accDetail: {
content_style: {
'font-size': '16px',
},
label_style: {
'font-size': '16px',
},
panel: false,
info: {}
},
// tab选择参数
payType: 'first',
// 发薪选择对话框参数
payVisible: false,
params: {
bindType: 1,
payAccNo: null,
},
// 自有发薪数据
ownList: [],
// 第三方发薪数据
thirdParty: [],
// 去发薪-当前选中的卡号
cardNo: null,
// 充值参数-第三方
aliQRCodeRechargeOpen: false,
aliQRCodeRechargeForm: {
payeeAccNo: '',
rechargeType: 1,
amount: '',
payerAccNo: ''
},
aliQRCodeRechargeRules: {
payerAccNo: [
{ required: true, message: '请选择付款账号', trigger: 'change' }
],
amount: [
{
validator: (rule, value, callback) => {
if (value <= 0) {
callback(new Error('充值金额必须大于零'));
} else {
callback()
}
},
trigger: 'blur'
}
]
},
// 充值参数-自有
ownAliQRCodeRechargeOpen: false,
ownRechargeTitle: null,
ownAliQRCodeRechargeForm: {},
// 线下充值
rechargeCoursePanel: false,
offlineRechargeData: {},
// 充值记录相关参数
billQuery: {
pageNum: 1,
pageSize: 10,
capitalPurpose: 1, //账单类型:1-服务费;2-余额
tranType: '', //收支类型:1-收入;2-支出
startTime: '',
endTime: '',
},
dateRange: [formatDate(new Date()), formatDate(new Date())],
billDataList: [],
billTotal: 0,
userInfoName: null,
accountCollection: [],
loading: false
}
},
created() {
},
mounted() {
if (this.payType == 'first') {
this.params.bindType = 1
this.getListAllAccInfoFN()
} else if (this.payType == 'second') {
this.params.bindType = 2
this.getListAllAccInfoFN()
}
},
methods: {
getListAllAccInfoFN() {
listAllUnitAccInfo(this.params).then(res => {
if (res.code == 200) {
if (this.params.bindType == 1) {
this.ownList = res.data
} else if (this.params.bindType == 2) {
this.thirdParty = res.data
}
}
})
},
toSign() {
this.bindAcc.panel = true;
},
billTypeTabClick(tab) {
// this.billQuery.capitalPurpose = tab.name === "second" ? 2 : 1 //1:服务费 2:余额
// this.getBillList();
},
showBill(cardNo) {
this.billQuery.cardNo = cardNo;
this.billPanel = true;
this.getBillList();
},
handleSizeChange(val) {
this.billQuery.pageSize = Number(val)
this.getBillList()
},
handleCurrentChange(val) {
this.billQuery.pageNum = Number(val)
this.getBillList()
},
getBillList() {
if (this.dateRange && this.dateRange.length > 0) {
let searchVal = addDateRange(this.billQuery, this.dateRange)
this.billQuery.startTime = searchVal.params.beginTime.split(" ")[0] + " 00:00:00"
this.billQuery.endTime = searchVal.params.endTime.split(" ")[0] + " 23:59:59"
} else {
this.billQuery.startTime = ''
this.billQuery.endTime = ''
}
this.loading = true
listBill(this.billQuery).then(res => {
if (res.code == 200) {
this.billDataList = res.rows
this.billTotal = res.total
}
}).finally(() => {
this.loading = false
})
},
// 选择线下充值方法
offlineRecharge() {
this.ownAliQRCodeRechargeOpen = false
this.$modal.loading('...加载中')
getAccAliInfo(this.aliQRCodeRechargeForm.payeeAccNo).then(resp => {
if (200 === resp.code) {
this.offlineRechargeData = resp.data
this.rechargeCoursePanel = true
// this.accDetail.companyName = card.companyName
// this.accDetail.info = resp.data
// this.accDetail.panel = true
}
}).finally(() => {
this.$modal.closeLoading()
})
},
// 点击服务分充值方法-自有
ownServiceChargeRecharge(val) {
this.aliQRCodeRechargeForm.rechargeType = 1
this.aliQRCodeRechargeForm.payeeAccNo = val.payAccNo
this.aliQRCodeRechargeForm.bindType = val.bindType
this.ownRechargeTitle = '自有服务费充值'
this.ownAliQRCodeRechargeOpen = true
},
// 点击余额充值方法-自有
ownBalanceRecharge(val) {
this.aliQRCodeRechargeForm.rechargeType = 2
this.aliQRCodeRechargeForm.payeeAccNo = val.payAccNo
this.aliQRCodeRechargeForm.bindType = val.bindType
this.ownRechargeTitle = '自有余额充值'
this.ownAliQRCodeRechargeOpen = true
},
// 点击余额充值方法-第三方
balanceRecharge(val) {
this.aliQRCodeRechargeForm.rechargeType = 2
this.aliQRCodeRechargeForm.payeeAccNo = val.payAccNo
this.aliQRCodeRechargeForm.bindType = val.bindType
this.aliQRCodeRechargeOpen = true
},
// 点击服务费充值方法-第三方
serviceChargeRecharge(val) {
this.aliQRCodeRechargeForm.rechargeType = 1
this.aliQRCodeRechargeForm.payeeAccNo = val.payAccNo
this.aliQRCodeRechargeForm.bindType = val.bindType
this.aliQRCodeRechargeOpen = true
},
// 确认支付按钮
getAliPayUrl() {
this.$refs.signNewForm.validate((valid) => {
if (valid) {
this.$modal.loading('充值中....')
addAccRecharge(this.aliQRCodeRechargeForm).then(res => {
this.aliQRCodeRechargeOpen = false
if (200 === res.code) {
if (1 === this.aliQRCodeRechargeForm.bindType) {
this.qrPayPanel.payUrl = res.data.msg
this.qrPayPanel.open = true
this.$forceUpdate()
} else {
this.$modal.msgSuccess("充值成功!");
}
}
}).finally(() => {
this.$modal.closeLoading()
})
}
})
},
// 跳转到批量到支付宝
toLinkAlipay() {
this.$router.push({ path: "/transfer/batchToAli", query: { number: this.cardNo } });
this.payVisible = false
},
// 跳转到批量到银行卡
toLinkBankCard() {
this.$router.push({ path: "/transfer/batchToBank", query: { number: this.cardNo } });
this.payVisible = false
},
// 点击去发薪按钮执行
salarySelection(number) {
this.cardNo = number
this.payVisible = true
},
// tab发生变化时执行
handleClick(tab, event) {
if (this.payType == 'first') {
this.params.bindType = 1
this.getListAllAccInfoFN()
} else if (this.payType == 'second') {
this.params.bindType = 2
this.getListAllAccInfoFN()
}
// console.log(tab, event);
// console.log('payType', this.payType);
},
viewDetail(card) {
this.$modal.loading("...")
getTaxAccAliInfo(card.accNo).then(resp => {
if (200 === resp.code) {
this.accDetail.companyName = card.companyName
this.accDetail.info = resp.data
this.accDetail.panel = true
}
}).finally(() => {
this.$modal.closeLoading()
})
},
goRegister() {
listAllHasNoOpenInfo().then(resp => {
if (200 === resp.code) {
this.bindAcc.taxUnitList = resp.data
}
}).finally(() => {
this.bindAcc.panel = true
})
},
submitBind() {
this.$modal.loading()
bindUnitAcc(this.bindAcc.companyId).then(resp => {
if (200 === resp.code) {
this.$modal.msgSuccess("操作成功")
}
}).finally(() => {
this.$modal.closeLoading()
this.bindAcc.panel = false;
})
}
}
}
</script>
<style lang="scss" scoped>
.app-container ::v-deep {
// 表单部分样式
.formMain {
padding-left: 12px;
// 操作按钮样式
.buttonOperate {
text-align: right;
padding-right: 20px;
}
}
// 卡片样式
.box-card {
margin-top: 12px;
// 公司信息部分样式
.companyConterMain {
width: 100%;
height: 140px;
display: flex;
align-items: center;
justify-content: space-between;
// 公司图标样式
.enterpriseImageMain {
width: 200px;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
.enterpriseImage {
width: 120px;
height: 68px;
}
}
// 公司信息内容部分样式
.companyConterInformation {
width: calc(100% - 180px);
height: 90%;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: center;
justify-content: space-evenly;
}
}
// 操作按钮部分样式
.operateConterMain {
width: 90%;
height: 120px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: center;
justify-content: space-evenly;
}
}
// 去发薪-发薪选择对话框样式
.salarySelectionStyle {
width: 90%;
margin: 0 auto;
height: 200px;
display: flex;
justify-content: space-evenly;
align-items: center;
.salarySelectionMain {
width: 40%;
height: 90%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
background-color: rgba(117, 190, 245, .1);
border-radius: 12px;
padding: 12px;
.salarySelectionImageDiv {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.salarySelectionImage {
width: 120px;
height: 120px;
z-index: 9999;
}
}
.salarySelectionText {
text-align: center;
width: 100%;
font-size: 18px;
font-weight: bold;
}
}
}
// 自有充值选中对话框样式-选择充值方式
.ownRechargeMain {
height: 160px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: space-around;
align-content: center;
.ownRechargeImage {
width: 100px;
height: 100px;
}
.ownRechargeButton {
width: 32%;
border-radius: 16px;
}
}
}
</style>
......@@ -57,14 +57,15 @@
v-hasPermi="['business:laborSign:add']"
>签约合约
</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['business:unitInfo:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-lollipop"
@click="givePayAcc(scope.row)"
v-if="scope.row.signStatus && 2 === scope.row.signStatus && !scope.row.payAccNo"
v-hasPermi="['business:unitInfo:add']"
>分配账户
</el-button>
</template>
</el-table-column>
</el-table>
......@@ -81,7 +82,7 @@
<script>
import { querySignList } from '@/api/business/unitInfo'
import { agreeSign } from '@/api/business/laborSign'
import { agreeSign, giveAccToLabor } from '@/api/business/laborSign'
export default {
name: 'signList',
......@@ -147,6 +148,20 @@ export default {
}
})
}).catch(() => {});
},
givePayAcc(row) {
this.$confirm(`确认给${row.inviterName}的分配付款专户吗?`, '操作提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
giveAccToLabor(row.id).then(resp => {
if (200 === resp.code) {
this.$modal.msgSuccess("操作成功")
this.getList()
}
})
}).catch(() => {});
}
}
}
......
......@@ -34,14 +34,14 @@
</el-col>
<el-col :span="12"><div class="grid-content bg-purple-light"></div></el-col>
</el-row>
<!-- <div class="home">-->
<!-- <el-card class="margin-bottom-small">-->
<!-- <div>-->
<!-- &lt;!&ndash; <img src="@/assets/images/welcome.png" alt="welcome" />&ndash;&gt;-->
<!-- <img src="@/assets/images/index-barder.png" alt="welcome" />-->
<!-- </div>-->
<!-- </el-card>-->
<!-- </div>-->
<div class="home">
<el-card class="margin-bottom-small">
<div>
<!-- <img src="@/assets/images/welcome.png" alt="welcome" />-->
<img src="@/assets/images/index-barder.png" alt="welcome" />
</div>
</el-card>
</div>
</div>
</template>
......
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