add file
This commit is contained in:
@@ -0,0 +1,233 @@
|
||||
import Toast from '@vant/weapp/toast/toast';
|
||||
import { API } from './../../../utils/network/api'
|
||||
const api = new API()
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
data: {
|
||||
navbarData: {
|
||||
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
|
||||
title: '绑定银行卡', //导航栏 中间的标题
|
||||
},
|
||||
height: app.globalData.height,
|
||||
realname: "",
|
||||
idcard: "",
|
||||
bankcard: "",
|
||||
city_show: false,
|
||||
bank_show: false,
|
||||
bank_note: "请选择开户行",
|
||||
city_note: "请选择开户行所在城市",
|
||||
areaList: [],
|
||||
bankList: [],
|
||||
select_province_id: "",
|
||||
select_city_id: "",
|
||||
select_county_id: "",
|
||||
select_bank_index: "",
|
||||
select_bank_id: "",
|
||||
area_sub_titles: ["省份","市区","区县"],
|
||||
areaprovince_data_ready: false,
|
||||
banklist_data_ready: false,
|
||||
bank_card_id: ""
|
||||
},
|
||||
onLoad(options){
|
||||
console.log("options: ", options);
|
||||
let bank_card_id = options.bank_card_id;
|
||||
console.log("options bank_card_id: ", bank_card_id);
|
||||
if(bank_card_id){
|
||||
this.setData({
|
||||
bank_card_id: bank_card_id
|
||||
})
|
||||
}
|
||||
let _this = this;
|
||||
//加载省份列表
|
||||
api.getAreaProvince().then(response => {
|
||||
console.log(response);
|
||||
const list = _this.formatArea(response, -1, true);
|
||||
_this.setData({
|
||||
areaprovince_data_ready: true,
|
||||
areaList: list
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
//加载银行卡列表
|
||||
api.getBasicBank().then(response => {
|
||||
console.log(response);
|
||||
const list = _this.formatBankList(response, -1, true);
|
||||
_this.setData({
|
||||
banklist_data_ready: true,
|
||||
bankList: list
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
|
||||
},
|
||||
onShow(){
|
||||
//获取实名认证信息
|
||||
api.getDoctorAuthReal().then(response => {
|
||||
console.log(response);
|
||||
if(response.data){
|
||||
this.setData({
|
||||
realname:response.data.card_name,
|
||||
idcard:response.data.card_num
|
||||
});
|
||||
}
|
||||
}).catch(errors => {
|
||||
console.error(errors);
|
||||
})
|
||||
},
|
||||
onCityShow(e) {
|
||||
console.log("onCityShow");
|
||||
this.setData({ city_show: true });
|
||||
},
|
||||
onBankShow(e) {
|
||||
console.log("onBankShow");
|
||||
this.setData({ bank_show: true });
|
||||
},
|
||||
onBankClose(e) {
|
||||
console.log("onBankShow");
|
||||
this.setData({ bank_show: false });
|
||||
},
|
||||
onBankCancel(event) {
|
||||
console.log("onBankCancel");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({
|
||||
bank_show: false
|
||||
});
|
||||
|
||||
},
|
||||
onBankConfirm(event) {
|
||||
console.log("onBankConfirm");
|
||||
const { picker, value, index } = event.detail;
|
||||
console.log(event.detail);
|
||||
this.setData({
|
||||
bank_show: false,
|
||||
select_bank_id: `${value.value}`,
|
||||
bank_note: `${value.text}`
|
||||
});
|
||||
},
|
||||
onBankChange(event) {
|
||||
console.log("onYiYuanChange");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
},
|
||||
onChangeCity(e) {
|
||||
this.setData({
|
||||
select_county_id: "",
|
||||
select_yiyuan_id: ""
|
||||
})
|
||||
console.log("onChangeCity");
|
||||
const { selectedOptions } = e.detail;
|
||||
console.log(e.detail)
|
||||
let area = selectedOptions[selectedOptions.length-1];
|
||||
if(!area){
|
||||
area = selectedOptions[selectedOptions.length-2];
|
||||
}
|
||||
const type = area.type;
|
||||
const value = area.value;
|
||||
const index = area.index;
|
||||
const p_index = area.p_index;
|
||||
if(type == 2){//省份
|
||||
api.getAreaCity({area_id: value}).then(response => {// 请求市区列表
|
||||
const list = this.formatArea(response, index, true);
|
||||
const _city = "areaList[" + index + "].children";
|
||||
this.setData({
|
||||
[_city]: list,
|
||||
select_province_id: value
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}
|
||||
if(type == 3){//市区
|
||||
api.getAreaCounty({area_id: value}).then(response => {// 请求市区列表
|
||||
const list = this.formatArea(response, index, false);
|
||||
const _county = "areaList[" + p_index + "].children[" +index+ "].children";
|
||||
this.setData({
|
||||
[_county]: list,
|
||||
select_city_id: value
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}
|
||||
|
||||
console.log("type: " + type);
|
||||
if(type == 4){//区县
|
||||
this.setData({
|
||||
select_county_id: value,
|
||||
bank_show: true,
|
||||
city_note: this.getCityNote(selectedOptions)
|
||||
});
|
||||
|
||||
}else{
|
||||
this.setData({
|
||||
city_show: true
|
||||
})
|
||||
}
|
||||
},
|
||||
getCityNote(selectedOptions){
|
||||
let txt = [];
|
||||
selectedOptions.forEach(item => {
|
||||
if(item){
|
||||
txt.push(item.label);
|
||||
}
|
||||
})
|
||||
return txt.join("/");
|
||||
},
|
||||
formatArea(response, p_index, has_children){
|
||||
var list = []
|
||||
let index = 0;
|
||||
response.data.forEach(data => {
|
||||
let area = {};
|
||||
area.index = index++;
|
||||
area.p_index = p_index;
|
||||
area.type = data.area_type;
|
||||
area.label = data.area_name;
|
||||
area.value = data.area_id;
|
||||
if(has_children){
|
||||
area.children = [];
|
||||
}
|
||||
list.push(area)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
formatBankList(response){
|
||||
let list = [];
|
||||
response.data.forEach(item => {
|
||||
let data = {};
|
||||
data.text = item.bank_name;
|
||||
data.value = item.bank_id;
|
||||
list.push(data)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
addBank(e){
|
||||
console.log("addbank, ", e);
|
||||
//绑定医生银行卡
|
||||
let params = {};
|
||||
params.county_id = this.data.select_county_id;
|
||||
params.city_id = this.data.select_city_id;
|
||||
params.province_id = this.data.select_province_id;
|
||||
params.bank_card_code = this.data.bankcard;
|
||||
params.bank_id = this.data.select_bank_id;
|
||||
console.log(params);
|
||||
let bank_card_id = this.data.bank_card_id;
|
||||
if(bank_card_id){
|
||||
params.bank_card_id = bank_card_id;
|
||||
//更换医生银行卡
|
||||
api.putDoctorBank(params).then(response => {
|
||||
console.log(response);
|
||||
wx.showToast({
|
||||
title: '更换成功',
|
||||
icon: "success"
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}else{
|
||||
//绑定医生银行卡
|
||||
api.postDoctorBank(params).then(response => {
|
||||
console.log(response);
|
||||
wx.showToast({
|
||||
title: '绑定成功',
|
||||
icon: "success"
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"te-nav-bar": "/commpents/te_navbar",
|
||||
"van-cell": "@vant/weapp/cell/index",
|
||||
"van-cell-group": "@vant/weapp/cell-group/index",
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index",
|
||||
"van-toast": "@vant/weapp/toast/index",
|
||||
"t-cascader": "tdesign-miniprogram/cascader/cascader"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<!-- 绑定银行卡页面 -->
|
||||
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
|
||||
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
|
||||
<view class="top_note">
|
||||
请确定开户人姓名与账户医生的姓名一致
|
||||
</view>
|
||||
<view class="info">
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名" value="{{realname}}" />
|
||||
<van-cell title="身份证号" value="{{idcard}}" border="{{ false }}" />
|
||||
</van-cell-group>
|
||||
</view>
|
||||
|
||||
<view class="bankcard">
|
||||
<van-cell-group>
|
||||
<van-cell title="所在城市" value="{{city_note}}" is-link bindtap="onCityShow"/>
|
||||
<van-cell title="开户行" value="{{bank_note}}" is-link bindtap="onBankShow"/>
|
||||
<van-field
|
||||
label="银行卡号"
|
||||
placeholder="请输入卡号"
|
||||
model:value="{{ bankcard }}"
|
||||
input-align="right"
|
||||
/>
|
||||
</van-cell-group>
|
||||
</view>
|
||||
|
||||
<view class="note">
|
||||
提示:银行卡提交即绑定成功,上述信息请保证信息真实准确性,避免影响提取服务费。
|
||||
</view>
|
||||
|
||||
<van-button bind:click="addBank" custom-style="font-size: 30rpx;border-radius: 10rpx;background-color:#3CC7C0;border: none;width: 92vw;margin: 50rpx auto;" type="primary" block>提交</van-button>
|
||||
|
||||
<van-popup
|
||||
show="{{ bank_show }}"
|
||||
position="bottom"
|
||||
bind:close="onBankClose"
|
||||
round
|
||||
>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
title="请选择开户行"
|
||||
columns="{{ bankList }}"
|
||||
default-index="{{select_bank_index}}"
|
||||
bind:cancel="onBankCancel"
|
||||
bind:confirm="onBankConfirm"
|
||||
bind:change="onBankChange" />
|
||||
</van-popup>
|
||||
|
||||
<t-cascader
|
||||
visible="{{ city_show }}"
|
||||
theme="tab"
|
||||
value="{{ select_county_id }}"
|
||||
options="{{ areaList }}"
|
||||
title="请选择地址"
|
||||
sub-titles="{{area_sub_titles}}"
|
||||
bind:change="onChangeCity"
|
||||
></t-cascader>
|
||||
</view>
|
||||
@@ -0,0 +1,23 @@
|
||||
.container{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: #F4F4F4;
|
||||
}
|
||||
.top_note{
|
||||
padding-left: 4vw;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
color: #3CC7C0;
|
||||
background-color: #F0FFFB;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.bankcard{
|
||||
margin-top: 50rpx;
|
||||
}
|
||||
.note{
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
width: 92vw;
|
||||
margin: 50rpx auto;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
Reference in New Issue
Block a user