yuminge-app/yun-min-program-plugin-master/packageE/pickUpCard/pickUpCardIndex/pickUpCardIndex.js

480 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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;
},
});