vr-shopxo-source/sourcecode/qq/default/pages/user-address/user-address.js

319 lines
8.1 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

const app = getApp();
Page({
data: {
data_list_loding_status: 1,
data_bottom_line_status: false,
data_list: [],
params: null,
is_default: 0,
},
onLoad(params) {
this.setData({params: params});
},
onShow() {
qq.setNavigationBarTitle({title: app.data.common_pages_title.user_address});
this.init();
},
// 初始化
init() {
var user = app.get_user_info(this, "init");
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
qq.redirectTo({
url: "/pages/login/login?event_callback=init"
});
return false;
} else {
// 获取数据
this.get_data_list();
}
} else {
this.setData({
data_list_loding_status: 0,
data_bottom_line_status: false,
});
}
},
// 获取数据列表
get_data_list() {
// 加载loding
qq.showLoading({title: "加载中..." });
this.setData({
data_list_loding_status: 1
});
// 获取数据
qq.request({
url: app.get_request_url("index", "useraddress"),
method: "POST",
data: {},
dataType: "json",
success: res => {
qq.hideLoading();
qq.stopPullDownRefresh();
if (res.data.code == 0) {
var data = res.data.data;
if (data.data.length > 0) {
// 获取当前默认地址
var is_default = 0;
for(var i in data.data)
{
if(data.data[i]['is_default'] == 1)
{
is_default = data.data[i]['id'];
}
}
// 设置数据
this.setData({
data_list: data.data,
is_default: is_default,
data_list_loding_status: 3,
data_bottom_line_status: true,
});
} else {
this.setData({
data_list_loding_status: 0
});
}
} else {
this.setData({
data_list_loding_status: 0
});
if (app.is_login_check(res.data, this, 'get_data_list')) {
app.showToast(res.data.msg);
}
}
},
fail: () => {
qq.hideLoading();
qq.stopPullDownRefresh();
this.setData({
data_list_loding_status: 2
});
app.showToast("服务器请求出错");
}
});
},
// 下拉刷新
onPullDownRefresh() {
this.get_data_list();
},
// 删除地址
address_delete_event(e) {
var index = e.currentTarget.dataset.index;
var value = e.currentTarget.dataset.value || null;
if(value == null)
{
app.showToast("地址ID有误");
return false;
}
var self = this;
qq.showModal({
title: "温馨提示",
content: "删除后不可恢复,确定继续吗?",
confirmText: "确认",
cancelText: "不了",
success: result => {
if (result.confirm) {
// 加载loding
qq.showLoading({title: "处理中..." });
// 获取数据
qq.request({
url: app.get_request_url("delete", "useraddress"),
method: "POST",
data: {id: value},
dataType: "json",
success: res => {
qq.hideLoading();
if (res.data.code == 0)
{
var temp_data = self.data.data_list;
temp_data.splice(index, 1);
self.setData({
data_list: temp_data,
data_list_loding_status: temp_data.length == 0 ? 0 : 3,
data_bottom_line_status: temp_data.length == 0 ? false : true,
});
app.showToast(res.data.msg, "success");
// 当前删除是否存在缓存中,存在则删除
var cache_address = qq.getStorageSync(app.data.cache_buy_user_address_select_key);
if ((cache_address.data || null) != null) {
if (cache_address.data.id == value) {
// 删除地址缓存
qq.removeStorageSync(app.data.cache_buy_user_address_select_key);
}
}
} else {
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
} else {
app.showToast('提交失败,请重试!');
}
}
},
fail: () => {
qq.hideLoading();
app.showToast("服务器请求出错");
}
});
}
}
});
},
// 默认地址设置
address_default_event(e) {
var value = e.currentTarget.dataset.value || null;
if(value == null)
{
app.showToast("地址ID有误");
return false;
}
var self = this;
if(value == self.data.is_default)
{
app.showToast("设置成功", "success");
return false;
}
// 加载loding
qq.showLoading({title: "处理中..." });
// 获取数据
qq.request({
url: app.get_request_url("setdefault", "useraddress"),
method: "POST",
data: {id: value},
dataType: "json",
success: res => {
qq.hideLoading();
if (res.data.code == 0)
{
self.setData({is_default: value});
app.showToast(res.data.msg, "success");
} else {
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
} else {
app.showToast('提交失败,请重试!');
}
}
},
fail: () => {
qq.hideLoading();
app.showToast("服务器请求出错");
}
});
},
// 地址内容事件
address_conent_event(e) {
var index = e.currentTarget.dataset.index || 0;
var is_back = this.data.params.is_back || 0;
if(is_back == 1)
{
qq.setStorage({
key: app.data.cache_buy_user_address_select_key,
data: this.data.data_list[index]
});
qq.navigateBack();
}
},
// 获取系统地址
choose_system_address_event(e) {
var self = this;
qq.chooseAddress({
success (res) {
var data = {
"name": res.userName || '',
"tel": res.telNumber || '',
"province": res.provinceName || '',
"city": res.cityName || '',
"county": res.countyName || '',
"address": res.detailInfo || '',
};
// 加载loding
qq.showLoading({ title: "处理中..." });
// 获取数据
qq.request({
url: app.get_request_url("outsystemadd", "useraddress"),
method: "POST",
data: data,
dataType: "json",
headers: { 'content-type': 'application/x-www-form-urlencoded' },
success: res => {
qq.hideLoading();
if (res.data.code == 0) {
self.get_data_list();
} else {
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
} else {
app.showToast('提交失败请重试');
}
}
},
fail: () => {
qq.hideLoading();
app.showToast("服务器请求出错");
}
});
}
});
},
// 地址编辑
address_edit_event(e) {
var index = e.currentTarget.dataset.index || 0;
var data = this.data.data_list[index] || null;
if (data == null)
{
app.showToast("地址有误");
return false;
}
// 进入编辑页面
qq.navigateTo({
url: '/pages/user-address-save/user-address-save?id='+data.id
});
},
// 地图查看
address_map_event(e) {
var index = e.currentTarget.dataset.index || 0;
var data = this.data.data_list[index] || null;
if (data == null)
{
app.showToast("地址有误");
return false;
}
// 打开地图
var name = data.alias || data.name || '';
var address = (data.province_name || '') + (data.city_name || '') + (data.county_name || '') + (data.address || '');
app.open_location(data.lng, data.lat, name, address);
},
});