添加:提现申请 添加第三方代发

This commit is contained in:
wuhui_zzw 2023-11-25 18:15:30 +08:00
parent cf811cfc92
commit dc99b47277
3 changed files with 369 additions and 16 deletions

View File

@ -10431,8 +10431,6 @@ const routes = [
foot: true
}
},
// 典藏室
{
path: "/member/collection_room",
@ -10455,6 +10453,7 @@ const routes = [
},
]
.concat(BlockChain)
.concat(customizedPlugin)

View File

@ -1,9 +1,10 @@
import cTitle from "components/title";
import { Toast } from 'vant';
import {Toast} from 'vant';
import yzSubscribe from "components/ui_components/yz_subscribe";
import eplusWithdraw from "../../others/wisdom/components/withdraw.vue";
import {bindDrainageScene} from "../../../fun/modules/drainage_scene";
import jianzhimaoPopup from "../balance/componet/jianzhimaoPopup.vue"
export default {
data() {
return {
@ -192,6 +193,29 @@ export default {
consol_withdraw_bank_data:{},
consol_withdraw_wechat:false,
consol_withdraw_wechat_data:{},
// 第三方代发相关信息
staff: {
name: '',
tel: '',
card_type: '1',// 卡类型1=对私2=对公
bank_sub_name: '',// 开户银行支行名称:对公必填
bank_act_name: '',//银行卡持有人姓名
card_num: '',// 银行卡卡号
account_id: '',// 银行卡持有人身份证号码
account_id_start: '',// 证件有效期开始时间,格式YYYYMMDD
mer_type: '3',// 商户类型1=个体户3=个人
},
third_party_show: false,
date_time_show: false,
minDate: new Date(2000, 0, 1),
selectedTime: new Date(),
currentDate: new Date(),
is_show_signing: false,
signing_url: '',
};
},
@ -392,7 +416,7 @@ export default {
},
// 获取提现方式
getWithdrawType(key = true) {
console.log("--------------------");
// console.log("--------------------");
// if(Object.keys(this.pay_typeList).length != 0){
// if(key){
// this.show1 = true;
@ -908,6 +932,7 @@ export default {
dynamicTxt(){
let list = this.pay_typeList;
let manual;
console.log("打款类型:",this.pay_type);
switch (this.pay_type) {
case "balance":
this.withTypeTipsTitle=`${list.balance.name}`;
@ -931,6 +956,9 @@ export default {
}else if(manual.manual_type == 3){
this.withTypeTipsTitle=`${manual.name}-支付宝`;
this.withTypeTips = `通过审核后将由工作人员打款到您的支付宝!`;
} else if (manual.manual_type == 4) {
this.withTypeTipsTitle=`${manual.name}-第三方代发`;
this.withTypeTips=`通过审核后将第三方代发到您的银行卡!`;
}
break;
case "alipay":
@ -1001,11 +1029,11 @@ export default {
this.withTypeTipsTitle=`支付宝-汇聚代发薪`;
this.withTypeTips=`通过审核后将由工作人员打款到您的支付宝!`;
break;
case "consol_withdraw_wechat_data":
this.withTypeTipsIcon = 'iconfont icon-balance_i';
this.withTypeTipsTitle=`微信-汇聚代发薪`;
this.withTypeTips=`通过审核后将由工作人员打款到您的微信!`;
break;
case "consol_withdraw_wechat_data":
this.withTypeTipsIcon = 'iconfont icon-balance_i';
this.withTypeTipsTitle=`微信-汇聚代发薪`;
this.withTypeTips=`通过审核后将由工作人员打款到您的微信!`;
break;
default:
// this.withTypeTipsIcon = 'iconfont icon-fontclass-fanli';
// this.withTypeTipsTitle='余额';
@ -1258,6 +1286,7 @@ export default {
msg = "请先填写微信信息";
routerPath = "wx";
break;
case "third_party":msg = "请先完善相关信息";break;
case "alipay":
msg = "请先填写支付宝信息";
routerPath = "Alipay";
@ -1265,7 +1294,6 @@ export default {
default:
break;
}
// let that = this
this.$dialog.alert({ message: msg})
.then(() => {
@ -1273,7 +1301,9 @@ export default {
this.getBankCard();
}else if(routerPath == 'wx'){
this.setWX = true;
}else if(routerPath == 'Alipay'){
}else if (manual_type == 'third_party') {
this.thirdPartyBankCardInfo();
} else if(routerPath == 'Alipay'){
this.setAlipay = true;
// this.$router.push(this.fun.getUrl(routerPath));
}
@ -1630,7 +1660,120 @@ export default {
this.fun.setWXTitle(
`${this.income_name_text}${this.fun.initWithdrawal()}`
);
}
},
/****** 第三方代发相关操作 ********************/
// 获取第三方银行卡配置信息
thirdPartyBankCardInfo(){
let _this = this;
let defaultStaff = this.staff;
console.log("开始请求",defaultStaff);
$http.post("plugin.use-staff.api.index.getInfo", {}, "加载中...")
.then((response) => {
console.log("请求结果",response);
if (response.result === 1) {
let res = response.data;
_this.staff = Object.values(res).length > 0 ? res : defaultStaff;
_this.third_party_show = true;
// 处理时间
if (res.account_id_start) {
let start = res.account_id_start;
let year = start.slice(0, 4);
let month = parseInt(start.slice(4, 6)) - 1;
let day = start.slice(6, 8);
_this.selectedTime = new Date(year, month, day).getTime();
}
}
})
.catch(error => {
console.log(error);
});
},
// 关闭第三方配置弹出框
thirdPartyPopupClose(){
this.third_party_show = false;
},
// 显示时间选择器
showDateTime(){
console.log("时间cureent",this.selectedTime);
this.date_time_show = true;
},
// 隐藏时间选择器
closeDateTime(){
this.date_time_show = false;
},
// 确认改变时间
confirmChangeDatetime(){
let datetime = this.selectedTime;
let time = new Date(datetime);
console.log('当前时间',time);
let year = time.getFullYear() + "";
let month = time.getMonth() + 1;
let day = time.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
this.staff.account_id_start = year + month + day;
this.date_time_show = false;
},
// 提交第三方配置信息
thirdPartySubmitEdit(){
let _this = this;
let staff = _this.staff;
let tips = '';
// 判断信息是否完善
console.log('提交第三方配置信息:',staff);
if (_this.fun.isTextEmpty(staff.name)) tips = '请输入联系人姓名';
else if (_this.fun.isTextEmpty(staff.tel)) tips = '请输入联系人电话';
else if (staff.card_type == 2 && _this.fun.isTextEmpty(staff.bank_sub_name)) tips = '请输入开户银行支行名称';
else if (_this.fun.isTextEmpty(staff.bank_act_name)) tips = '请输入银行卡持有人姓名';
else if (_this.fun.isTextEmpty(staff.card_num)) tips = '请输入银行卡卡号';
else if (_this.fun.isTextEmpty(staff.account_id)) tips = '请输入银行卡持有人身份证号码';
else if (_this.fun.isTextEmpty(staff.account_id_start)) tips = '请选择银行卡持有人身份证有效期开始时间';
if (!_this.fun.isTextEmpty(tips)){
_this.$dialog.alert({ message:tips });
return;
}
// 提交信息
$http.post("plugin.use-staff.api.index.applyToJoin", { info: staff }, "加载中...")
.then((response) => {
if (response.result === 1) {
_this.$dialog.alert({ message:'提交成功,审核开户中...' }).then(()=>{
_this.thirdPartyBankCardInfo();
});
}else{
_this.$dialog.alert({ message: response.msg }).then(()=>{
_this.thirdPartyBankCardInfo();
});
}
})
.catch(error => {
console.log(error);
});
},
// 获取签约合同信息
goToSigning(){
let _this = this;
$http.post("plugin.use-staff.api.index.getContractInfo", { }, "加载中...")
.then((response) => {
if (response.result === 1) {
_this.is_show_signing = true;
// _this.signing_url = response.data.sign_url;
window.location.href = response.sign_url;
}else{
_this.$dialog.alert({ message: response.msg }).then(()=>{
_this.thirdPartyBankCardInfo();
});
}
})
.catch(error => {
console.log(error);
});
},
// 关闭签约弹框
closeSigning(){
this.is_show_signing = false;
},
},
components: { cTitle,yzSubscribe,eplusWithdraw,jianzhimaoPopup }

View File

@ -251,10 +251,16 @@
<span class="txt" v-if="manual.manual_type == 1">{{ manual.other_name }}-银行卡</span>
<span class="txt" v-if="manual.manual_type == 2">{{ manual.other_name }}-微信</span>
<span class="txt" v-if="manual.manual_type == 3">{{ manual.other_name }}-支付宝</span>
<span class="txtTwo">通过审核后将由工作人员打款到您的{{ manual.manual_type == 1 ? "银行卡" : manual.manual_type == 2 ? "微信" : "支付宝" }}</span>
<div class="userTxt txtTwo">
<span v-if="manual.manual_type == 1">{{ manual.member_name }} {{ manual.bank_card }}</span>
<span class="modify" v-if="manual.manual_type == 1 && manual.bank_card" @click="editUser">修改信息</span>
<span class="txt" v-if="manual.manual_type == 4">{{ manual.other_name }}-第三方代发</span>
<span class="txtTwo" v-if="manual.manual_type != 4">通过审核后将由工作人员打款到您的{{ manual.manual_type == 1 ? "银行卡" : manual.manual_type == 2 ? "微信" : "支付宝" }}</span>
<span class="txtTwo" v-else>通过审核后将由第三方代发到您的银行卡</span>
<div class="userTxt txtTwo" v-if="manual.manual_type == 1">
<span v-if="manual.member_name && manual.bank_card">{{ manual.member_name }} {{ manual.bank_card }}</span>
<span class="modify" v-if="manual.bank_card" @click="editUser">修改信息</span>
</div>
<div class="userTxt txtTwo" v-if="manual.manual_type == 4">
<span v-if="manual.use_staff_name && manual.use_staff_card_num">{{ manual.use_staff_name }} {{ manual.use_staff_card_num }}</span>
<span class="modify" v-if="manual.use_staff_card_num" @click="thirdPartyBankCardInfo">修改信息</span>
</div>
</div>
<div class="withdrawal_box_list_check">
@ -502,6 +508,108 @@
<eplusWithdraw :list="list" @confirm="onConfirm" :actual_amount="actual_amount" :cost_money="totalwithdrawal" :poundageHj="poundage_hj"></eplusWithdraw>
</van-popup>
<jianzhimaoPopup @closePopup='closePopupJZM' :show="jianzhimao_bank_show" :bank_card_status="bank_card_status" :set_verify="set_verify"></jianzhimaoPopup>
<!-- 第三方代发信息 -->
<van-popup v-model="third_party_show" position="bottom" :style="{ height: '85%' }" @close="thirdPartyPopupClose">
<div class="bandBox">
<div class="h2">
完善信息
<i class="iconfont icon-close11" @click="thirdPartyPopupClose"></i>
</div>
<div class="rule">
<div class="ruleLeft">联系人:</div>
<div class="ruleRighe">
<van-field v-model="staff.name" required placeholder="请输入联系人姓名" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">联系人电话:</div>
<div class="ruleRighe">
<van-field v-model="staff.tel" required placeholder="请输入联系人电话" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">银行卡类型:</div>
<div class="ruleRighe">
<van-radio-group v-model="staff.card_type" direction="horizontal">
<div class="ruleRightContent">
<van-radio class="ruleRightContentRadio" name="1">对私</van-radio>
<van-radio class="ruleRightContentRadio" name="2">对公</van-radio>
</div>
</van-radio-group>
</div>
</div>
<div class="rule" v-if="staff.card_type == 2">
<div class="ruleLeft">开户银行支行:</div>
<div class="ruleRighe">
<van-field v-model="staff.bank_sub_name" required placeholder="请输入开户银行支行名称" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">持有人姓名:</div>
<div class="ruleRighe">
<van-field v-model="staff.bank_act_name" required placeholder="请输入银行卡持有人姓名" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">卡号:</div>
<div class="ruleRighe">
<van-field v-model="staff.card_num" required placeholder="请输入银行卡卡号" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">身份证号码:</div>
<div class="ruleRighe">
<van-field v-model="staff.account_id" required placeholder="请输入银行卡持有人身份证号码" />
</div>
</div>
<div class="rule">
<div class="ruleLeft">身份证有效期:</div>
<div class="ruleRighe">
<van-field v-model="staff.account_id_start" required readonly placeholder="请选择身份证有效期开始时间" @click="showDateTime"/>
</div>
</div>
<div class="rule">
<div class="ruleLeft">商户类型:</div>
<div class="ruleRighe">
<van-radio-group v-model="staff.mer_type" required>
<div class="ruleRightContent">
<van-radio class="ruleRightContentRadio" name="1">个体户</van-radio>
<van-radio class="ruleRightContentRadio" name="3">个人</van-radio>
</div>
</van-radio-group>
</div>
</div>
<!--操作按钮-->
<div v-if="staff.id > 0">
<!--入驻状态1=待开户2=开户成功待签约3=开户失败4=签约成功5=签约失败-->
<div v-if="staff.status == 2" class="bandSave" @click="goToSigning">去签约</div>
<div v-else class="bandSave" @click="thirdPartySubmitEdit">提交修改</div>
</div>
<div v-else class="bandSave" @click="thirdPartySubmitEdit">提交保存</div>
<!--开户状态-->
<div class="status-tips" v-if="staff.status == 1">待审核开户中...</div>
<!--<div class="status-tips" v-if="staff.status == 2">开户成功待签约</div>-->
<div class="status-tips" v-if="staff.status == 3">开户失败请检查信息是否填写错误</div>
<!--<div class="status-tips" v-if="staff.status == 4">签约成功</div>-->
<div class="status-tips" v-if="staff.status == 5">签约失败</div>
<!-- 签约页面 -->
</div>
</van-popup>
<!-- 时间选择器 年月日 -->
<van-popup v-model="date_time_show" position="bottom" :style="{ height: '85%' }" @close="closeDateTime">
<div class="bandBox">
<div class="h2">
身份证有效期开始时间
<i class="iconfont icon-close11" @click="closeDateTime"></i>
</div>
<van-datetime-picker v-model="selectedTime" type="date" title="选择年月日" :min-date="minDate" visible-item-count="8" :show-toolbar="false" />
<div class="bandSave" @click="confirmChangeDatetime">确认</div>
</div>
</van-popup>
</div>
</template>
<script>
@ -1030,4 +1138,107 @@ export default member_income_withdrawal_controller;
font-size: 18px;
}
}
.bandBox{
.h2 {
margin-bottom: 32px;
background: #fff;
line-height: 46px;
text-align: center;
font-size: 18px;
position: sticky;
top: 0;
left: 0;
z-index: 1;
.icon-close11 {
width: 46px;
display: inline-block;
position: absolute;
right: 0;
font-size: 16px;
color: #666;
}
}
.rule {
display: flex;
align-items: center;
padding: 0 15.04px;
margin-bottom:22.08px;
.ruleLeftDist {
display: flex;
align-items: center;
font-size: 15.04px;
}
.rightDist {
height: 0.6875rem;
flex: 1;
display: flex;
justify-content: flex-end;
font-size: 15.04px;
align-items: center;
}
.rightDist span {
margin-right: 6.24px;
}
.rightDist i {
margin-top: 0.0938rem;
}
.ruleRighe {
flex: 1;
}
.ruleRighe ::-webkit-input-placeholder {
/* placeholder字体大小 */
font-size: 15.04px;
}
.ruleRighe .van-cell {
padding-top: 0;
padding-bottom: 0;
}
.ruleLeft {
display: flex;
align-items: center;
font-size: 15.04px;
margin-top: -0.1563rem;
}
}
.bandSave {
width: 320px;
height: 40px;
background-color: #f96d20;
border-radius: 20px;
font-size: 15.04px;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
margin-top: 30px;
}
}
.ruleRightContent{
width: calc(100% - (var(--cell-horizontal-padding,16px) * 2));
display: inline-flex!important;
flex-direction: row;
flex-wrap: wrap;
padding: 0 var(--cell-horizontal-padding,16px);
}
.ruleRightContent .ruleRightContentRadio:not(:first-child){
margin-left: var(--cell-horizontal-padding,16px);
}
.status-tips{
width: 100%;
text-align: center;
height: 25px;
line-height: 25px;
font-size: 14px;
color: #eb6f6f;
}
</style>