vr-shopxo-source/alipay/boyuan/pages/buy/buy.js

196 lines
4.9 KiB
JavaScript

const app = getApp();
Page({
data: {
data_list_loding_status: 1,
buy_submit_disabled_status: false,
data_list_loding_msg: '',
params: null,
goods: [],
address: null,
is_first: 1,
address_id: 0,
total_price: 0,
user_note_value: '',
},
onLoad(params) {
if((params.data || null) == null || app.get_length(JSON.parse(params.data)) == 0)
{
my.alert({
title: '温馨提示',
content: '商品信息有误',
buttonText: '确认',
success: () => {
my.navigateBack();
},
});
} else {
this.setData({params: params.data});
// 删除地址缓存
my.removeStorageSync({key: app.data.cache_buy_user_address_select_key});
}
},
onShow() {
my.setNavigationBar({title: app.data.common_pages_title.buy});
this.init();
this.setData({is_first: 0});
},
// 获取数据列表
init() {
// 本地缓存地址
if(this.data.is_first == 0)
{
var cache_address = my.getStorageSync({
key: app.data.cache_buy_user_address_select_key
});
if((cache_address.data || null) != null)
{
this.setData({
address: cache_address.data,
address_id: cache_address.data.id
});
}
}
var self = this;
// 加载loding
my.showLoading({content: '加载中...'});
this.setData({
data_list_loding_status: 1
});
my.httpRequest({
url: app.get_request_url("Index", "Buy"),
method: "POST",
data: {goods: this.data.params, address_id: this.data.address_id},
dataType: "json",
success: res => {
my.hideLoading();
if (res.data.code == 0) {
var data = res.data.data;
if(data.goods.length == 0)
{
self.setData({data_list_loding_status: 0});
} else {
self.setData({
goods: data.goods,
total_price: data.total_price,
address: data.address,
address_id: ((data.address || null) == null) ? 0 : data.address.id,
data_list_loding_status: 3,
});
}
} else {
self.setData({
data_list_loding_status: 2,
data_list_loding_msg: res.data.msg,
});
my.showToast({
type: "fail",
content: res.data.msg
});
}
},
fail: () => {
my.hideLoading();
self.setData({
data_list_loding_status: 2,
data_list_loding_msg: '服务器请求出错',
});
my.showToast({
type: "fail",
content: "服务器请求出错"
});
}
});
},
// 用户留言事件
bind_user_note_event(e) {
this.setData({user_note_value: e.detail.value});
},
// 提交订单
buy_submit_event(e) {
if((this.data.address_id || 0) == 0)
{
my.showToast({
type: "fail",
content: "请选择地址"
});
return false;
}
var self = this;
// 加载loding
my.showLoading({content: '提交中...'});
this.setData({
buy_submit_disabled_status: true,
});
my.httpRequest({
url: app.get_request_url("Submit", "Buy"),
method: "POST",
data: {
goods: this.data.params,
address_id: this.data.address_id,
user_note: this.data.user_note_value,
},
dataType: "json",
success: res => {
my.hideLoading();
if (res.data.code == 0) {
var data = res.data.data;
if(data.status == 1)
{
my.confirm({
title: '',
content: res.data.msg,
confirmButtonText: '立即支付',
cancelButtonText: '进入订单',
success: (result) => {
self.setData({buy_submit_disabled_status: false});
var is_pay = (result.confirm) ? 1 : 0;
my.redirectTo({
url: '/pages/user-order/user-order?is_pay='+is_pay+'&order_id='+res.data.data.id
});
},
});
} else {
my.showToast({
type: "success",
content: res.data.msg
});
setTimeout(function()
{
self.setData({buy_submit_disabled_status: false});
my.redirectTo({
url: '/pages/user-order/user-order'
});
}, 1000);
}
} else {
self.setData({buy_submit_disabled_status: false});
my.showToast({
type: "fail",
content: res.data.msg
});
}
},
fail: () => {
my.hideLoading();
self.setData({buy_submit_disabled_status: false});
my.showToast({
type: "fail",
content: "服务器请求出错"
});
}
});
},
});