196 lines
4.9 KiB
JavaScript
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: "服务器请求出错"
|
|
});
|
|
}
|
|
});
|
|
},
|
|
|
|
});
|