480 lines
12 KiB
JavaScript
480 lines
12 KiB
JavaScript
// packageE/picUpCard/picUpCardIndex/picUpCardIndex.js
|
||
var app = getApp();
|
||
Page({
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
agreement: false,
|
||
promiseRadio: 0,
|
||
addressName: "选择地区",
|
||
addressShow: false,
|
||
|
||
provinceData: [],
|
||
cityData: [],
|
||
districtData: [],
|
||
pickerValue: [0, 0, 0],
|
||
selectAddressData: [],
|
||
districtVal: [],
|
||
districtFieldShow: false,
|
||
districtPopupShow: false,
|
||
|
||
provice: "",
|
||
city: "",
|
||
district: "",
|
||
|
||
street: "选择街道",
|
||
applyModel: {
|
||
provinceId: "",
|
||
cityId: "",
|
||
districtId: "",
|
||
streetId: "",
|
||
},
|
||
|
||
th_name: "",
|
||
th_pass: "",
|
||
th_mobile: "",
|
||
th_address: "",
|
||
promiseText: "输入提货密码查询",
|
||
configInfo: {},
|
||
goods_id: 0,
|
||
th_pass_flag: false,
|
||
|
||
pluginOptions: {
|
||
plugin_name: "旅游激活卡",
|
||
password_name: "激活密码",
|
||
city_name: "出发城市",
|
||
address_name: "出发地址"
|
||
},
|
||
plugin: "picking-card"
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.scene) {
|
||
let scene = decodeURIComponent(options.scene);
|
||
if (scene) {
|
||
var info_arr = [];
|
||
info_arr = scene.split(",");
|
||
for (let i = 0; i < info_arr.length; i++) {
|
||
let chil_arr = [];
|
||
chil_arr = info_arr[i].split("=");
|
||
if (chil_arr[0] == "mid") {
|
||
app._setMid(chil_arr[1]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if(options.plugin && options.plugin == "one") {
|
||
//#78882,提货卡一期独立的新插件picking-card-one
|
||
wx.setNavigationBarTitle({
|
||
title: '提货卡'
|
||
});
|
||
let pluginOptions = {
|
||
plugin_name: "提货卡",
|
||
password_name: "提货密码",
|
||
city_name: "所在城市",
|
||
address_name: "收货地址"
|
||
};
|
||
this.setData({
|
||
pluginOptions:pluginOptions,
|
||
plugin: "picking-card-one"
|
||
});
|
||
}else{
|
||
wx.setNavigationBarTitle({
|
||
title: '旅游激活卡'
|
||
});
|
||
}
|
||
this.getConfigInfo();
|
||
|
||
this._initAddressInfo();
|
||
},
|
||
addressShowbtn() {
|
||
this.setData({
|
||
addressShow: true,
|
||
});
|
||
},
|
||
|
||
getConfigInfo() {
|
||
let _api = "plugin.picking-card.frontend.pickingCard.getConfig";
|
||
if (this.data.plugin == "picking-card-one") _api = "plugin.picking-card-one.frontend.pickingCard.getConfig";
|
||
let urlStr = app.getNetAddresss(_api);
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
console.log(res);
|
||
this.setData({
|
||
configInfo: res.data,
|
||
});
|
||
}
|
||
},
|
||
});
|
||
},
|
||
selectPromisePrice() {
|
||
let _api = "plugin.picking-card.frontend.pickingCard.getPrice";
|
||
if (this.data.plugin == "picking-card-one") _api = "plugin.picking-card-one.frontend.pickingCard.getPrice";
|
||
let urlStr = app.getNetAddresss(_api);
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: { password: this.data.th_pass },
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) {
|
||
console.log(res);
|
||
this.setData({ th_pass_flag: false });
|
||
return this.tips(res.msg);
|
||
}
|
||
this.setData({
|
||
promiseText: res.data.margin,
|
||
th_pass_flag: true,
|
||
goods_id: res.data.goods_id,
|
||
});
|
||
},
|
||
});
|
||
},
|
||
send() {
|
||
let {
|
||
th_pass_flag,
|
||
th_pass,
|
||
th_name,
|
||
th_mobile,
|
||
districtFieldShow,
|
||
applyModel,
|
||
provice,
|
||
city,
|
||
district,
|
||
street,
|
||
th_address,
|
||
promiseText,
|
||
promiseRadio,
|
||
goods_id,
|
||
} = this.data;
|
||
if (th_pass == "") return this.tips("提货密码不能为空");
|
||
if (!th_pass_flag) return this.tips("提货密码错误");
|
||
if (th_name == "") return this.tips("姓名不能为空");
|
||
if (th_mobile == "") return this.tips("手机号不能为空");
|
||
if (!applyModel.provinceId || !applyModel.cityId || !applyModel.districtId)
|
||
return this.tips("请选择地区");
|
||
if (districtFieldShow == true && !applyModel.streetId)
|
||
return this.tips("请选择街道");
|
||
if (th_address == "") return this.tips("收货地址不能为空");
|
||
if (this.data.plugin == "picking-card-one" && this.data.promiseRadio == 0) return this.tips(`请选择是否使用${this.data.configInfo.commitment}兑换滤芯`);
|
||
if (this.data.plugin == "picking-card-one" && !this.data.agreement) return this.tips("请阅读提货说明");
|
||
console.log("发送请求");
|
||
let address = {
|
||
username: th_name,
|
||
mobile: th_mobile,
|
||
address: th_address,
|
||
province: provice,
|
||
city,
|
||
district,
|
||
};
|
||
if (districtFieldShow == true) {
|
||
address.street = street;
|
||
}
|
||
let _api = "plugin.picking-card.frontend.create.index";
|
||
if (this.data.plugin == "picking-card-one") _api = "plugin.picking-card-one.frontend.create.index";
|
||
|
||
let urlStr = app.getNetAddresss(_api);
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
data: {
|
||
dispatch_type_id: 1,
|
||
address: JSON.stringify(address),
|
||
goods: JSON.stringify([{ goods_id, total: 1, option_id: 0 }]),
|
||
price: promiseText,
|
||
password: this.data.th_pass,
|
||
is_filter: promiseRadio - 1,
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) {
|
||
console.log(res);
|
||
return this.tips(res.msg);
|
||
}
|
||
wx.redirectTo({
|
||
url:
|
||
"/packageD/buy/orderPay/orderPay?order_id=" +
|
||
res.data.order_ids +
|
||
"&status=2",
|
||
});
|
||
//packageD/buy/orderPay/orderPay
|
||
},
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {},
|
||
onChange(evt) {
|
||
this.setData({
|
||
agreement: evt.detail,
|
||
});
|
||
},
|
||
onChangePromiseRadio(event) {
|
||
this.setData({
|
||
promiseRadio: event.detail,
|
||
});
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {},
|
||
streetShowbtn() {
|
||
this.setData({
|
||
districtPopupShow: true,
|
||
});
|
||
},
|
||
treetShowLeft() {
|
||
this.setData({
|
||
districtPopupShow: false,
|
||
});
|
||
},
|
||
streetConfirm(e) {
|
||
let item = e.currentTarget.dataset.item;
|
||
this.setData({
|
||
street: item.areaname,
|
||
"applyModel.streetId": item.id,
|
||
districtPopupShow: false,
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {},
|
||
setExplainFlag() {
|
||
this.setData({
|
||
explainFlag: !this.data.explainFlag,
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {},
|
||
//地址选择器数据初始化
|
||
_initAddressInfo: function () {
|
||
var that = this;
|
||
var _keyName = "provinceData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地址信息准备就绪");
|
||
that._getProvinceData();
|
||
},
|
||
fail: function (res) {
|
||
console.log("省fail");
|
||
app._getNetWork({
|
||
url: app.getNetAddresss("member.member-address.address"),
|
||
success: function (res) {
|
||
var response = res.data;
|
||
var province = response.data.province;
|
||
var city = response.data.city;
|
||
var district = response.data.district;
|
||
wx.setStorage({
|
||
key: "provinceData",
|
||
data: province,
|
||
});
|
||
wx.setStorage({
|
||
key: "cityData",
|
||
data: city,
|
||
});
|
||
wx.setStorage({
|
||
key: "districtData",
|
||
data: district,
|
||
});
|
||
that._initAddressInfo();
|
||
},
|
||
fail: function (res) {},
|
||
state: true,
|
||
});
|
||
},
|
||
});
|
||
},
|
||
// 读取省key
|
||
_getProvinceData: function () {
|
||
var that = this;
|
||
var _keyName = "provinceData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("省读取成功", res.data);
|
||
that.setData({
|
||
provinceData: res.data,
|
||
});
|
||
that.setData({
|
||
"selectAddressData[0].name":
|
||
res.data[that.data.pickerValue[0]].areaname,
|
||
"selectAddressData[0].id": res.data[that.data.pickerValue[0]].id,
|
||
"selectAddressData[0].index": that.data.pickerValue[0],
|
||
});
|
||
that._getCityData();
|
||
},
|
||
});
|
||
},
|
||
// 读取城市key,筛选城市data
|
||
_getCityData: function () {
|
||
var _data = this.data.selectAddressData[0];
|
||
console.log("城市", "_data", _data);
|
||
var that = this;
|
||
var _keyName = "cityData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("城市读取成功", res);
|
||
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("城市数据筛选", _json);
|
||
that.setData({
|
||
cityData: _json,
|
||
});
|
||
that.setData({
|
||
"selectAddressData[1].name": _json[that.data.pickerValue[1]].areaname,
|
||
"selectAddressData[1].id": _json[that.data.pickerValue[1]].id,
|
||
"selectAddressData[1].index": that.data.pickerValue[1],
|
||
});
|
||
that._getDistrictData();
|
||
},
|
||
});
|
||
},
|
||
// 读取地区key,筛选地区data
|
||
_getDistrictData: function () {
|
||
var _data = this.data.selectAddressData[1];
|
||
console.log("地区", "_data", _data);
|
||
console.log(_data);
|
||
var that = this;
|
||
var _keyName = "districtData";
|
||
wx.getStorage({
|
||
key: _keyName,
|
||
success: function (res) {
|
||
console.log("地区读取成功");
|
||
var _json = [];
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
if (res.data[i].parentid == _data.id) {
|
||
_json.push(res.data[i]);
|
||
}
|
||
}
|
||
console.log("地区数据筛选", _json);
|
||
that.setData({
|
||
districtData: _json,
|
||
});
|
||
console.log("districtData", _json);
|
||
that.setData({
|
||
"selectAddressData[2].name": _json[that.data.pickerValue[2]].areaname,
|
||
"selectAddressData[2].id": _json[that.data.pickerValue[2]].id,
|
||
"selectAddressData[2].index": that.data.pickerValue[2],
|
||
});
|
||
console.log("over", that.data.selectAddressData);
|
||
},
|
||
});
|
||
},
|
||
// 收货地址滚动事件
|
||
bindChange: function (e) {
|
||
var val = e.detail.value;
|
||
if (this.data.pickerValue[0] != val[0]) {
|
||
val[1] = 0;
|
||
val[2] = 0;
|
||
}
|
||
if (this.data.pickerValue[1] != val[1]) {
|
||
val[2] = 0;
|
||
}
|
||
this.setData({
|
||
"pickerValue[0]": val[0],
|
||
"pickerValue[1]": val[1],
|
||
"pickerValue[2]": val[2],
|
||
});
|
||
this._initAddressInfo();
|
||
},
|
||
//城市结果
|
||
resultAdd: function () {
|
||
let seleData = this.data.selectAddressData;
|
||
let retCity =
|
||
seleData[0].name + " " + seleData[1].name + " " + seleData[2].name;
|
||
this.setData({
|
||
addressName: retCity,
|
||
provice: seleData[0].name,
|
||
city: seleData[1].name,
|
||
district: seleData[2].name,
|
||
});
|
||
this.setData({
|
||
"applyModel.provinceId": seleData[0].id,
|
||
"applyModel.cityId": seleData[1].id,
|
||
"applyModel.districtId": seleData[2].id,
|
||
addressShow: false,
|
||
});
|
||
this.getStreet(seleData[2].id);
|
||
},
|
||
//获取街道
|
||
getStreet(param) {
|
||
let that = this;
|
||
let urlStr = "";
|
||
urlStr += app.getNetAddresss("member.memberAddress.street");
|
||
urlStr += "&district_id=" + param;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
if (!app._isTextEmpty(res.data) && res.data.length > 0) {
|
||
that.setData({
|
||
districtVal: res.data,
|
||
districtFieldShow: true,
|
||
});
|
||
} else {
|
||
that.setData({
|
||
districtFieldShow: false,
|
||
});
|
||
}
|
||
} else {
|
||
that.setData({
|
||
districtFieldShow: false,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
},
|
||
});
|
||
},
|
||
// 关闭选择收货地址
|
||
_closeDateLw: function () {
|
||
this.setData({
|
||
addressShow: false,
|
||
});
|
||
},
|
||
tips(msg) {
|
||
wx.showToast({
|
||
icon: "none",
|
||
title: msg,
|
||
});
|
||
return false;
|
||
},
|
||
});
|