EP-WachatApp/eaterplanet_ecommerce/distributionCenter/pages/excharge.js

401 lines
9.4 KiB
JavaScript

var app = getApp();
var util = require('../../utils/util.js');
Page({
mixins: [require('../../mixin/commonMixin.js')],
/**
* 页面的初始数据
*/
data: {
type: 1,
items: [{
name: '1',
value: '系统余额',
show: true,
checked: false
},
{
name: '2',
value: '微信零钱',
show: true,
checked: false
},
{
name: '3',
value: '支付宝',
show: true,
checked: false
},
{
name: '4',
value: '银行卡',
show: true,
checked: false
}
],
info: [],
tixian_money: '',
final_money: 0
},
canTixian: true,
handlerGobackClick(delta) {
const pages = getCurrentPages();
if (pages.length >= 2) {
wx.navigateBack({
delta: delta
});
} else {
wx.switchTab({
url: '/eaterplanet_ecommerce/pages/index/index'
});
}
},
handlerGohomeClick(url) {
wx.switchTab({
url: '/eaterplanet_ecommerce/pages/index/index'
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
wx.showLoading();
this.getData();
},
onShow: function() {
let that = this;
util.check_login_new().then((res) => {
if (res) {
that.setData({
needAuth: false
})
} else {
that.setData({
needAuth: true
})
}
})
},
/**
* 授权成功回调
*/
authSuccess: function() {
let that = this;
this.setData({
needAuth: false
}, () => {
wx.showLoading();
that.getData();
})
},
getData: function() {
var token = wx.getStorageSync('token');
let that = this;
//Todo
app.util.request({
url: 'entry/wxapp/user',
data: {
controller: 'distribution.get_commission_info',
token: token
},
dataType: 'json',
success: function(res) {
wx.hideLoading();
if (res.data.code == 0) {
let commiss_tixian_publish = res.data.data.commiss_tixian_publish;
let items = that.data.items;
let rdata = res.data.data;
if (rdata.commiss_tixianway_yuer == 0) items[0].show = false;
if (rdata.commiss_tixianway_weixin == 0) items[1].show = false;
if (rdata.commiss_tixianway_alipay == 0) items[2].show = false;
if (rdata.commiss_tixianway_bank == 0) items[3].show = false;
let type = that.data.type;
for (let i = 0; i < items.length; i++) {
if (items[i].show) {
items[i].checked = true;
type = items[i].name;
break
}
}
let { is_need_subscript, need_subscript_template } = res.data;
that.setData({
info: res.data.data,
items,
type,
is_need_subscript,
need_subscript_template,
commiss_tixian_publish
})
} else {
wx.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
success(res) {
if (res.confirm) {
console.log('用户点击确定')
wx.reLaunch({
url: '/eaterplanet_ecommerce/pages/user/me',
})
}
}
})
}
}
})
},
formSubmit: function(event) {
let that = this;
let is_need_subscript = this.data.is_need_subscript;
if(is_need_subscript==1) {
//弹出订阅消息
this.subscriptionNotice().then(()=>{
that.resSubmit(event);
}).catch(()=>{
that.resSubmit(event);
});
} else {
that.resSubmit(event);
}
},
resSubmit: function(e) {
const params = e.detail.value;
let isNull = 0;
let type = this.data.type;
let errortip = [{}, {}, {
bankusername: '微信真实姓名'
}, {
bankusername: '支付宝真实姓名',
bankaccount: '支付宝账户'
}, {
bankname: '银行卡名称',
bankusername: '持卡人姓名',
bankaccount: '银行卡账户'
}];
for (let item in params) {
params[item] = params[item].replace(/(^\s*)|(\s*$)/g, "");
if (!params[item]) {
const itemTip = errortip[type][item];
wx.showToast({
title: '请输入' + (itemTip || '正确的表单内容'),
icon: 'none'
})
isNull = 1;
break;
}
if (item == 'money' && params[item] * 1 <= 0) {
wx.showToast({
title: '请输入正确的金额',
icon: 'none'
})
return;
}
}
if (isNull == 1) return;
params.type = type;
let tdata = this.data;
let tixian_money = parseFloat(tdata.tixian_money);
let max_tixian_money = tdata.info.money;
let community_min_money = parseFloat(tdata.info.commiss_min_tixian_money);
if (tixian_money == '' || community_min_money > tixian_money) {
wx.showToast({
title: '最小提现' + community_min_money + '元',
icon: "none",
})
return false;
}
if (tixian_money > max_tixian_money) {
wx.showToast({
title: '本次最大可提现' + max_tixian_money + '元',
icon: "none",
})
let fee = tdata.info.commiss_tixian_bili;
let final_money = (max_tixian_money * (100 - fee) / 100).toFixed(2);
this.setData({
tixian_money: max_tixian_money,
final_money: final_money
})
return false;
}
if (!this.canTixian) return;
this.canTixian = false;
wx.showLoading();
var token = wx.getStorageSync('token');
let that = this;
app.util.request({
url: 'entry/wxapp/user',
data: {
controller: 'distribution.tixian_sub',
token: token,
...params
},
dataType: 'json',
success: function(res) {
wx.hideLoading();
if (res.data.code == 0) {
wx.showToast({
title: '已提交申请',
icon: 'none',
duration: 2000,
success: function(){
that.setData({
canPay: false,
tixian_money: '',
final_money: 0
})
that.getData();
}
})
} else {
wx.showToast({
title: res.data.msg ? res.data.msg : '提交失败,请重试',
icon: 'none'
})
}
that.canTixian = true;
}
})
},
/**
* 订阅消息
*/
subscriptionNotice: function() {
let that = this;
return new Promise((resolve, reject)=>{
let obj = that.data.need_subscript_template;
let tmplIds = Object.keys(obj).map(key => obj[key]); // 订阅消息模版id
if (wx.requestSubscribeMessage) {
tmplIds.length && wx.requestSubscribeMessage({
tmplIds: tmplIds,
success(res) {
let is_need_subscript = 1;
let acceptId = [];
tmplIds.forEach(item=>{
if (res[item] == 'accept') {
//用户同意了订阅,添加进数据库
acceptId.push(item);
} else {
//用户拒绝了订阅或当前游戏被禁用订阅消息
is_need_subscript = 0;
}
})
if(acceptId.length) {
that.addAccept(acceptId);
}
that.setData({ is_need_subscript })
resolve();
},
fail(err) {
console.log(err)
reject();
}
})
} else {
// 兼容处理
reject();
}
})
},
// 用户点击订阅添加到数据库
addAccept: function (acceptId) {
let token = wx.getStorageSync('token');
let type = acceptId.join(',');
app.util.request({
url: 'entry/wxapp/user',
data: {
controller: 'user.collect_subscriptmsg',
token,
type
},
dataType: 'json',
method: 'POST',
success: function () {}
})
},
/**
* 获得焦点
*/
bindIptFocus: function() {
this.setData({
onFocus: true
})
},
/**
* 失去焦点
*/
bindIptBlur: function() {
this.setData({
onFocus: false
})
},
radioChange(e) {
this.setData({
type: e.detail.value
})
},
bindTixianMoneyInput: function(t) {
let max_val = this.data.info.money;
var value = t.detail.value;
if (!(/^(\d?)+(\.\d{0,2})?$/.test(value))) {
value = value.substring(0, value.length - 1);
value = parseFloat(value);
}
if (value > max_val) {
wx.showToast({
title: '本次最大可提现' + max_val + '元',
icon: "none",
})
}
let fee = this.data.info.commiss_tixian_bili;
let val = parseFloat(value) > 0 ? parseFloat(value) : 0;
let final_money = (val * (100 - fee) / 100).toFixed(2);
let canPay = false;
value ? canPay = true : canPay = false;
this.setData({
tixian_money: value,
final_money: final_money,
canPay
})
return value;
},
getAll: function() {
const tdata = this.data;
var max_tixian_money = tdata.info.money * 1;
let fee = tdata.info.commiss_tixian_bili;
let final_money = (max_tixian_money * (100 - fee) / 100).toFixed(2);
let canPay = false;
max_tixian_money ? canPay = true : canPay = false;
this.setData({
tixian_money: max_tixian_money,
final_money: final_money,
canPay
})
}
})