yuminge-app/yun-min-program-plugin-master/packageD/buy/myOrder_v2/myOrder_v2.js

3746 lines
114 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.

// pages/buy/myOrder_v2/myOrder_v2.js
import Toast from "../../../dist/toast/toast";
import util from "../../../utils/util.js";
var location = require("../../../mybehaviors/location/location");
var app = getApp();
// var WxParse = require('../../../wxParse/wxParse.js');
// var qqmapsdk;
Page({
behaviors: [location],
/**
* 页面的初始数据
*/
data: {
plugin_id: "", // 应用市场用来判断请求的接口
isDomain: false,
clicktag: 0, // 方式提交订单多次点击
language: "",
//不同购买方式
pre_order_url: "", // 预下单的请求url
order_url: "", // 提交订单的请求url
order_other_json: {}, // 每种类型下单的格外的请求数据
isCartsOrder: false, // 判断是不是购物车下单类型
options: {}, //路由参数购买方式
_root_tag: "",
TAG_ACTION_BUY: "-2", //直接购买
TAG_ACTION_CART: "-1", //-1购物车结算
_goodsId: "",
_optionsId: "",
_total: 1,
_cart_ids: [],
currentAddId: "",
currentAddress: {},
//O2O部分
store_id: 0,
storeCarts: [],
store_info: {},
linkinfo: {
mobile: "",
name: "",
},
selectedMode: 0,
selected: 0,
dispatch: [],
//优惠券标识
cup_notice: true,
isShowCoupon: false, //是否显示优惠券
defaultAddress: {},
realname: "", //收件人
mobile: "",
address: "",
order_data: "",
dispatch_price: 0,
goods_price: 0,
price: 0,
discount_price: 0,
deduction_price: 0,
goodsInfo: {},
//优惠券
popupCouponSpecs: false,
checkCouponList: [],
coupon_size: 0,
use_coupon_size: 0,
coupons: [],
//积分抵扣 其他抵扣
checkDeductionList: [],
//个人信息和修改
myRealname: "",
myIdcard: "",
showMyinfo: false,
showFrom: false,
currentIndex: "999",
//是否开启会员权益开关
isOpenRight: false,
//是否选择权益商品
isRightChoose: false,
//租赁商品标识
isRent: false,
//租期
rentTime: [],
//可以免租的件数
rentFree: "",
//免押件数
rent_deposit_free: 0,
//租赁协议
agreeCon: {},
//免租件数
rent_free: 0,
rentShow: false,
tenancy: "",
//留言
note: {},
//跨境
isTaxGoods: false,
// explain_title: "",
// explain_content: "",
//同意租赁协议
agreement: false,
agreementShow: false,
submit_active: true,
//是否显示支付协议
AgreementPay: "",
//同意支付协议
agreementPay: false,
//支付协议
agreementPayShow: false,
_show_address: false,
// 发票
isShowInvoice: true, //71182
invoiceData: {
papery_status: "",
electron_status: "",
},
invoice_list: {},
total_items: [],
discount_amount_items: [],
service_fee_items: [],
//服务费
service: {},
isCash: "",
goodsId: "",
show1: false,
isOpenTeam: false, //是否为一键开团
isJoinTeam: false, //是否为去参团
point: {
lat: "",
lng: "",
},
city: "",
defaultSelfCarry: {},
diyShow: false,
orders_goods: {},
diyform: {
form_id: "",
diyform_data_id: "",
pre_id: "",
},
// 门店配送 start +++++++++++++++++++++++++++++++++++
markers_2: [{
// 获取返回结果放到mks数组中
latitude: "",
longitude: "",
iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
width: 20,
height: 25,
callout: {
padding: "10rpx",
borderRadius: "5rpx",
},
},],
polygons_2: [{
points: [],
fillColor: "#FF88887F",
strokeColor: "#FFF",
strokeWidth: 2,
zIndex: 1,
},],
deliveryScopeShow: false,
default_member_address: "",
delivery: {
longitude: "113.324520",
latitude: "23.099994",
},
delivery_note: "", //门店配送说明
delivery_area: [
[116.403322, 39.920255]
], // 配送范围经纬度
locations: [116.403322, 39.920255], //门店经纬度
// 门店配送 end-------------------------
integral: "",
is_region: 0,
activity_id: "",
TemplateArray: [],
orderLocationObj: {
positioning_success: 0,
province: "",
city: ""
},
isCueCoupon: false,
openCueCoupon: false,
getParams_status: false, //是否已请求接口
fromStock: "", // 是否是云库存商品
// 话费慢充
show_recharge_mobile: "",
recharge_tips: "",
recharge_mobile: "",
// 自定义表单
hasGoodOpenDF: false,
// 聚合cps
iscps: false,
cpstype: 2,
cpsTxt: "",
// end
storeSearchBtn: {}, //门店搜索插件自定义下单页按钮
service_fee: [], //服务费、运费说明
//上门安装 插件名live-install
minDate: new Date().getTime(),
installDateShow: false,
installDate: null, //预约时间(10位时间戳)
installDateText: "",
install_comment: "", //安装备注不要超过120个字符
location: {}, //定位信息
showLocation: false,
showInstallPop: false,
default_deduction: 0, //判断积分抵扣默认是否开启
showPage: true, //为了解决跳转的时候显示自提点的bug #64574
delivery_amount: 0, //门店起送金额
phone_bill_pro_goods: false, //是否话费充值pro版根据url是否有mobile来判断
clickMiniTemplate: false, //判断是否已经点击订阅订单
// 供应商定位和经纬度
// supp_adress:'',
supp_point: {
lng: '',
lat: '',
address: ''
},
recommend_goods: [], //满额包邮推荐商品
// 电费充值规格组合id
electricity_Guide: "",
electricity: false,
// 充值户号
eleUser: [],
ele_no_showAdress: false,
// 二开页面设置插件-胜天半子#79514
sexSelect: '1',
showArea: false,
// 使用微信地址,页面设置插件
use_wechat_address: false,
design_info: {
cityName: "",
countyName: "",
detailInfo: "",
provinceName: "",
telNumber: "",
userName: "",
},
ferightExplainPop: false,
freightExplain: {},
o2odeliverName: "自提点", //门店自提点自定义名称
o2oSelfCarry: {},
deliveryTimeShow: false,
costSpecShow: false,
selectCommunityShow: false,
serviceRegionShow: false,
//同城配送
cityDelivery: null,
cityDelivery_community: {},
cityDelivery_community_id: 0,
cityDelivery_deliveryTime: {},
yz_subscribe_disabled: false,
//分时预约商品
reserve_tel_name: '',
reserve_mobile: '',
reserve_order: null,
reserve_obj_text: "预约人员",
plugin_setting: '', //插件信息 获取默认地址
camilo_resources_coupon_type: '', //插件id140 卡券商品 卡券商品 1直冲2卡券
recharge_number: '',
addressList_caller:"", //地址组件调用着,识别是地址调用还是发票插件调用
//油卡充值
oil_mobile:"",
oil_account:"",
oil_pre_id:"",
consigneeName: '', // 自提点提货人自定义
consigneeMobile: '' // 自提点提货人手机号
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.getStorage({
key: "yz_basic_info",
success: (res) => {
this.setData({
reserve_obj_text: res.data.lang.reserve_simple.reserve_obj || '预约人员',
});
},
});
this.handleQueryData(options);
let yz_basic_info = wx.getStorageSync('yz_basic_info');
this.setData({
vip_show:yz_basic_info.globalParameter.vip_show?yz_basic_info.globalParameter.vip_show:false
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let language = wx.getStorageSync("langIndex");
this.setData({
language: language.en,
});
const value = wx.getStorageSync("integral");
const loveName = wx.getStorageSync('yz_basic_info') ? wx.getStorageSync('yz_basic_info').love : '';
if (value) {
this.setData({
integral: value,
love_name: loveName
});
}
let plugin_setting = wx.getStorageSync("yz_basic_info").plugin_setting || '';
this.setData({
plugin_setting
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.data.submit_active = true;
this.setData({
showPage: true,
});
if (this.data.selected == 10) {
// 供应商订单配送自动定位
this._getLocation((res) => {
let point = app.qqMapTransBMap(parseFloat(res.location.lng), parseFloat(res.location.lat));
this.setData({
'supp_point.lng': point.lng,
'supp_point.lat': point.lat,
'supp_point.address': res.address
});
});
}
},
tolocation() {
wx.navigateTo({
url: '/packageC/o2o/o2oLocation_loc/o2oLocation_loc?tag=suppligoodsOrde',
});
},
setFreightExplainPop() {
this.setData({
ferightExplainPop: !this.data.ferightExplainPop
});
},
getWxAdress() {
wx.chooseAddress({
success: (res) => {
console.log(res, 'sssss');
let e = res;
this.setData({
userAdress: `${e.provinceName} ${e.cityName} ${e.countyName}`,
design_address: `${e.detailInfo}`,
design_info: e
});
this._requestByAddress()
}
});
},
async handleQueryData(options) {
//不同购买方式
this.setData({
options: options,
});
if (options.tag) {
this.setData({
_root_tag: options.tag,
});
}
let userLocationFlag = await this.checkAlbum("scope.userLocation");
console.log("userLocationFlag", userLocationFlag);
if (!userLocationFlag) {
return app.tips("获取位置失败,请重新进入后授权");
}
if (!app.globalData.qqmapkey) {
app._getTemplate().then((res) => {
this.getCurrentOrderLocation();
});
} else {
this.getCurrentOrderLocation();
}
if (options.fromStock && options.fromStock != '') {
this.setData({
fromStock: options.fromStock,
});
}
// 聚合cps
if (options.iscps) {
this.setData({
_root_tag: "cps",
iscps: options.iscps,
});
}
if (options.mobile) {
this.setData({
phone_bill_pro_goods: true,
recharge_mobile: options.mobile
});
}
if (options.cpstype) {
this.setData({
cpstype: options.cpstype,
});
}
//end
if (options.activity_id) {
this.setData({
activity_id: options.activity_id,
});
}
if (options.ind) {
this.setData({
ind: options.ind,
});
}
if (options.reserve_order) {
this.setData({
reserve_order: JSON.parse(options.reserve_order)
});
}
//是否为一键开团(拼团)
let isOpenTeam = !app._isTextEmpty(options.level_id);
//是否为去参团(拼团)
let isJoinTeam = !app._isTextEmpty(options.team_id);
this.setData({
isOpenTeam,
isJoinTeam,
});
if (options.changeSelfCarry) {
let changeSelfCarry = JSON.parse(options.changeSelfCarry);
if (options.ind == 12) {
this.setData({
o2oSelfCarry: changeSelfCarry,
});
} else {
this.setData({
defaultSelfCarry: changeSelfCarry,
});
}
}
//如果Storage里有保存自提点的信息则自动获取填写
let _zdtInfo = wx.getStorageSync("selfCarryInfo");
if (_zdtInfo) {
_zdtInfo = JSON.parse(_zdtInfo);
this.setData({
"linkinfo.name": _zdtInfo.distributionUserName || "",
"linkinfo.mobile": _zdtInfo.distributionUserMobile || "",
});
}
// 设置主要参数
this.setData({
_goodsId: options.goodsId || "",
_optionsId: options.optionsId || "",
_total: options.total || 1,
});
if (options.cart_ids && options.cart_ids != 'undefined') {
this.setData({
_cart_ids: options.cart_ids ? JSON.parse(options.cart_ids) : [],
});
}
// if (this.data._root_tag == this.data.TAG_ACTION_BUY || this.data._root_tag == "store") {
if (options.store_id && options.store_id != 'undefined') {
// 门店拓客
this.setData({
store_id: options.store_id,
});
}
// }
if (options.electricity && options.electricity == "electricity") {
this.setData({
electricity: true
});
}
if(options.oil_account && options.oil_mobile){
this.setData({
oil_account:options.oil_account,
oil_mobile:options.oil_mobile
});
}
// 置换亿栈债务人id
if(options.debtId){
this.setData({
debtId:options.debtId
})
}
if (this.data._root_tag != "POrder" && this.data._root_tag != "store") {
//第请求接口获取配送方式后取默认第一个的dispatch_type_id再请求预下单接口; 挂单POrder走固定的配送方式
this.getDispatchMethod();
} else {
this.handleBuy();
}
},
// 获取配送方式
getDispatchMethod(cart_ids) {
if (this.data._root_tag == "communityBuy") {
// 社区团购直接设置,走配送方式接口返回为空,前端自定义,自提点不可更换
let dispatch = [{ dispatch_type_id: 8, name: "自提点" }];
this.setData({
dispatch: dispatch,
selected: 8
});
this.handleBuy();
return;
}
let json = {
goods_id: this.data._goodsId ? this.data._goodsId.toString() : "",
cart_ids: this.data._cart_ids.toString() || cart_ids,
store_id: this.data.options.store_id || this.data.options.groupStoreID,
model: "",
};
if (this.data._root_tag == "store") {
json.model = "store";
}
if (this.data._root_tag == "warehouse") {
let _goods_ids = [];
JSON.parse(this.options.goodCollection).forEach(item => {
_goods_ids.push(item.goods_id);
});
json.goods_ids = JSON.stringify(_goods_ids);
}
let urlStr = app.getNetAddresss("memberCart.dispatch-type.index");
app._postNetWork({
url: urlStr,
data: json,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
if(!app._isTextEmpty(this.data.debtId)){
// 置换亿栈地址默认为快递
this.setData({
dispatch:[{dispatch_type_id: 1,name: "快递"}],
selected:res.data && res.data.length > 0 ? res.data[0].dispatch_type_id : 0
})
}else{
this.setData({
dispatch: res.data,
selected: res.data && res.data.length > 0 ? res.data[0].dispatch_type_id : 0, //默认第一
});
this.data.dispatch.forEach((items, i) => {
if (items.dispatch_type_id == 8) {
console.log("有自提点配送方式,请求定位获取自提点列表");
if (this.data.ind) {
this.setData({
selected: this.data.ind,
selectedMode: i,
ind: false,
});
}
} else if (items.dispatch_type_id == 12) {
//从门店自提点列表选择后来
if (this.data.ind == 12 && this.data.o2oSelfCarry && this.data.o2oSelfCarry.id) {
this.setData({
selected: 12,
selectedMode: i
});
}
}
});
}
if (this.data._root_tag == "store") {
this._getStoreCartBuy(this.data.storeCarts);
} else {
this.handleBuy();
}
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1000,
});
}
},
fail: (res) => {
console.log(res);
},
});
},
handleBuy(is_again) {
// is_again判断是否重新请求数据 选择地址后是1 优惠券或者抵扣是2
switch (this.data._root_tag) {
case this.data.TAG_ACTION_BUY:
case "appointment_goods":
case "yun_sign_goods":
case "yunqian_api":
case "cps":
case "starGroup":
case "blindBox":
case "fromExchange":
case "newRetail":
case "auction":
case "zhpGroup":
case "o2oDeposit":
// 通常是单个商品的预下单
if (!is_again) {
if (this.data.options.store_id) {
// 门店拓客 门店预约
this._initStore("is_activity");
} else if (this.data.options.groupStoreID && this.data.options.groupStoreID != 0 && this.data.options.groupStoreID != "undefined") {
//门店拼团
this._initStore();
}
// 只为了获取配送方式
} else if (this.data._root_tag == "fromExchange" && is_again === "2") {
//会员中心-兑换中心-去兑换(商城商品)
this._getDataActionBuy(0);
return;
}
this._getDataActionBuy(); // 直接购买
break;
case this.data.TAG_ACTION_CART: // 商城购物车结算
case "packagBuy": // 商品套餐
case "-10": // 一口价
case "communityBuy": // 社区团购
this.data.isCartsOrder = true;
// 通常是购物车的预下单
this._getDataActionCart();
break;
case "store":
this.data.isCartsOrder = true;
if (!is_again) {
// 门店购物车购买
if (this.data.options.isCash == 1) {
// 门店过期(续费 isCash =='1')商品下单
this.getCashGood();
} else {
this._initStore();
}
} else {
this._getDataActionStoreCart(); // 门店结算
}
break;
case "rentCartBuy":
case "rentBuy":
if (!is_again) {
// 租赁购物车或租赁预下单
this.setData({
currentIndex: "999",
isRent: true,
});
this._getRentDataActionCart([], []);
this._getRentTimeList();
this._judgeIsRight();
} else {
this._rentGoodBuy();
}
break;
case "POrder":
//挂单商品
this.getPendingOrder_type(); //批发区下单页类型判断,即导航栏判断
break;
default:
this._getDataActionBuy(); // 直接购买
}
},
// 处理单个商品的预下单 设置预下单链接 提交订单链接 类型额外的数据
handleDataActionBuyUrl(json, tag) {
if (this.data.isRent) {
// 租赁
this.data.order_url = "plugin.lease-toy.api.order.create";
} else if (this.data.fromStock == 1 || this.data.fromStock == 2) {
//云库存
this.data.pre_order_url = app.getNetAddresss("plugin.agency.api.goods-buy.index");
this.data.order_url = "plugin.agency.api.create.index";
let agencySaleman = this.selectComponent("#agencySaleman");
if (this.data.fromStock == 2) {
this.data.order_other_json = {
is_retail: true, //云库存零售传值
salesman_uid: (agencySaleman && agencySaleman.data.self_member_id) || "" //销售员id
};
}
} else if (this.data.isOpenTeam || this.data.isJoinTeam) {
// 拼团
this.data.order_other_json = {
option_level_id: this.options.option_level_id, //规格层级id
};
if (this.data.isOpenTeam) {
this.data.order_other_json.level_id = this.options.level_id; //一键开团 拼团层级id
this.data.pre_order_url = "plugin.fight-groups.frontend.controllers.team.pre-open-team";
} else if (this.data.isJoinTeam) {
this.data.order_other_json.team_id = this.options.team_id; //一键参团 拼团层级id
this.data.pre_order_url = "plugin.fight-groups.frontend.controllers.team.pre-join-team";
}
this.data.order_url = "plugin.fight-groups.frontend.controllers.create.index";
if (this.options.groupStoreID && this.options.groupStoreID != 0 && this.options.groupStoreID != "undefined") {
this.data.order_other_json.store_id = this.options.groupStoreID;
//门店拼团
this.data.pre_order_url = this.data.isOpenTeam ? "plugin.fight-groups.frontend.store.frontend-team.pre-open-team" : "plugin.fight-groups.frontend.store.frontend-team.pre-join-team";
this.data.order_url = "plugin.fight-groups.frontend.store.create.index";
}
} else if (this.options.tag == "appointment_goods") {
this.data.order_url = "plugin.appointment.frontend.order.create";
} else if (this.options.type == "groupBuy_open" || this.options.type == "groupBuy_join") {
this.data.order_other_json = {
at_id: this.options.at_id, //活动ID
leader_id: this.options.leader_id || 0, //团长ID
};
delete json.option_id;
this.data.pre_order_url = this.options.type == "groupBuy_open" ? "plugin.together-purchase.api.team.preOpenTeam" : "plugin.together-purchase.api.team.preJoinTeam";
this.data.order_url = "plugin.together-purchase.api.create.index";
} else if (this.options.type == "grabGroup_open" || this.options.type == "grabGroup_join") {
//抢团
this.data.order_other_json = {
at_id: this.options.at_id, //活动ID
leader_id: this.options.leader_id || 0, //团长ID
snatch_option_id: this.data._optionsId,
};
json.option_id = 0;
this.data.pre_order_url = this.options.type == "grabGroup_open" ? "plugin.snatch-regiment.api.team.preOpenTeam" : "plugin.snatch-regiment.api.team.preJoinTeam";
this.data.order_url = "plugin.snatch-regiment.api.create.index";
} else if (this.data._root_tag == "POrder") {
this.data.order_other_json = {
pending_order_type: this.data.selected, //批发订单使用类型
};
this.data.pre_order_url = "plugin.pending-order.frontend.goods-buy.index";
this.data.order_url = "plugin.pending-order.frontend.create.index";
} else if (this.data._root_tag == "o2oDeposit") {
//门店定金团
this.data.order_other_json = {
store_id: this.options.store_id || 0, //门店ID
};
this.data.pre_order_url = "plugin.deposit-ladder.frontend.store.activity-buy";
} else if (this.options.store_id) {
if (this.data._root_tag == "reserve") {
this.data.order_other_json = {
date_id: this.options.date_id,
store_id: this.options.store_id,
goods_id: this.options.goodsId
};
if (tag == 'order') {
this.data.order_other_json.date_id = this.options.date_id;
}
this.data.pre_order_url = "plugin.store-reserve.frontend.GoodsBuy.index";
this.data.order_url = "plugin.store-reserve.frontend.create.index";
} else {
//门店拓客
this.data.order_other_json = {
store_id: this.options.store_id || 0, //门店ID
};
if (tag === "order") {
this.data.order_other_json.mobile = this.data.linkinfo.mobile;
this.data.order_other_json.realname = this.data.linkinfo.name;
this.data.order_other_json.cart_ids = [];
}
this.data.pre_order_url = "plugin.store-cashier.frontend.store.goods-buy";
}
// 走门店下单
} else if (this.options.type == "starGroup") {
//星拼乐
this.data.order_other_json = {
at_id: this.options.at_id, //活动ID
leader_id: this.options.leader_id || 0, //团ID
goods_data: {
goods_id: this.data._goodsId,
total: this.options.total,
option_id: this.options.option_id,
},
};
this.data.pre_order_url = "plugin.star-spell.frontend.team.joinTeam";
this.data.order_url = "plugin.star-spell.frontend.create.index";
} else if (this.data._root_tag == "blindBox") {
this.data.order_other_json = {
activity_id: this.data.activity_id, //活动ID
goods_id: this.data._goodsId,
};
this.data.pre_order_url = "plugin.blind-box.api.buy";
this.data.order_url = "plugin.blind-box.api.create";
} else if (this.data._root_tag == "fromExchange") {
//会员中心-兑换中心
if (this.options.store_id && this.options.store_id != "undefined") {
this.data.order_other_json.store_id = this.options.store_id;
this.data.pre_order_url = "plugin.store-cashier.frontend.store.exchange-center";
} else {
this.data.pre_order_url = "coupon.exchange-center.exchange-buy";
}
} else if (this.options.tag == "newRetail") {
//新零售 0-自由零售 1-成为代理商订单 2-自由发货 3-线上零售 4-进货订单 5-销售代理套餐订单
this.data.order_other_json = {
retail_state: Number(this.options.retailState),
level_id: Number(this.options.NRLevelId) || 0, //等级id
sales_id: Number(this.options.sales_id) || 0, //记录id
};
// if (this.options.retailState == 2) {
// this.data.order_other_json.goods = JSON.parse(this.options.goods) || []; // 自由发货
// }
this.data.pre_order_url = this.newRetailApi(this.options.retailState);
if (Number(this.options.retailState) == 0) {
this.data.order_url = "plugin.new-retail.frontend.create.ordinary"; // 自由发货
} else {
this.data.order_url = "plugin.new-retail.frontend.create.index";
}
} else if (this.data._root_tag == "auction") {
//拍卖商品
this.data.order_other_json = {
fixed_price: this.data.options.fixed_price,
acution_sn: this.data.options.acution_sn,
};
this.data.pre_order_url = "plugin.auction.api.goods-buy";
this.data.order_url = "plugin.auction.api.order-create";
} else if (this.data._root_tag == "zhpGroup") {
this.data.pre_order_url = "plugin.zhp-group-lottery.frontend.goods.get-goods-Info";
json.option_id = this.data._optionsId ? this.data._optionsId : '0';
this.data.order_other_json = {
activity_id: this.data.activity_id,
};
this.data.order_url = "plugin.zhp-group-lottery.frontend.order.index";
} else if (this.data._root_tag == "groupWork") {
this.data.order_other_json = {
alliance_detail_id: this.data.options.alliance_detail_id,
activity_option_id: this.data.options.activity_option_id
};
this.data.pre_order_url = "plugin.group-work.frontend.modules.order.controllers.buy.index";
this.data.order_url = "plugin.group-work.frontend.modules.order.controllers.create.index";
} else if (this.data._root_tag == "warehouse") {
this.data.order_other_json = {
goods: this.options.goodCollection
};
this.data.pre_order_url = "plugin.warehouse.frontend.controllers.takeDelivery.goods-buy";
this.data.order_url = "plugin.warehouse.frontend.controllers.takeDelivery.order-create";
}else if(!app._isTextEmpty(this.data.debtId)){
this.data.order_other_json = {
debtor_id: this.data.options.debtId
};
this.data.pre_order_url = "plugin.debt-shop.frontend.goods-buy";
this.data.order_url = "plugin.debt-shop.frontend.create";
}
if (this.data.reserve_order != null) {
this.data.order_url = "plugin.reserve-simple.frontend.order.create";
let {
service_id,
obj_id,
begin_time
} = this.data.reserve_order;
let customer_name = this.data.reserve_tel_name;
let customer_tel = this.data.reserve_mobile;
json.reserve_order = {
service_id,
obj_id,
begin_time,
customer_name,
customer_tel
};
json.dispatch_type_id = 0;
}
if (this.options.electricity == "electricity") {
this.data.order_other_json.account_id = this.options.account_id;
}
if (!this.data.pre_order_url) {
this.data.pre_order_url = "order.goods-buy";
}
if (!this.data.order_url) {
if (this.data.iscps) {
// 如果是聚合cps的商品走立即购买换这个接口
this.data.order_url = "plugin.aggregation-cps.api.create-order";
} else {
this.data.order_url = "order.create";
}
}
if (this.options.merchant_meeting) {
//线下招商会商品下单多传一个活动id
this.data.order_other_json.merchant_meeting = this.options.merchant_meeting;
}
if (this.data.default_deduction != 0) {
// 默认积分抵扣
json.no_deduction_ids = this.data.default_deduction;
}
if (this.data.cityDelivery && this.data.cityDelivery.future_state == 1) {
if (this.data.cityDelivery_deliveryTime.start_time && this.data.cityDelivery_deliveryTime.end_time) {
json.expect_start_time = this.data.cityDelivery_deliveryTime.start_time;
json.expect_end_time = this.data.cityDelivery_deliveryTime.end_time;
}
}
if (this.data.use_wechat_address && (this.data.selected == 1 || this.data.selected == 0)) {
// 只用于快递,并且开启了使用微信地址
let usejson = {
address: this.data.design_address || "",
city: this.data.design_info.cityName,
district: this.data.design_info.countyName,
id: "",
isdefault: "",
latitude: "",
longitude: "",
mobile: this.data.design_info.telNumber,
province: this.data.design_info.provinceName,
street: "",
uid: "",
uniacid: "",
username: this.data.design_info.userName,
zipcode: "",
};
// 没有选择微信地址的时候是整个adress都为空
json.address = usejson.address?encodeURIComponent(JSON.stringify(usejson)):[];
}
return Object.assign(json, this.data.order_other_json);
},
// 处理购物车的预下单 设置预下单链接 提交订单链接 类型额外的数据
handleDataActionCartUrl(json, tag) {
if (this.data._root_tag == "communityBuy") {
//社区团购
this.data.pre_order_url = "plugin.package-deliver.frontend.cartBuy.index";
this.data.order_other_json = {
dispatch_type_id: 8,
package_deliver_id: this.options.package_deliver_id,
group_id: this.options.group_id,
};
this.data.order_url = "plugin.package-deliver.frontend.create.index";
} else if (this.data._root_tag == "-10") {
// 一口价下单
this.data.pre_order_url = "plugin.pack-fixed-price.api.cart-buy.index";
if (tag === "order") {
this.data.order_other_json.cart_ids = JSON.stringify(this.data._cart_ids);
}
this.data.order_url = "plugin.pack-fixed-price.api.create.index";
}
if (this.data._root_tag == "packagBuy") {
let packagJson = JSON.parse(this.data.options.packagJson);
this.data.order_other_json = {
package_id: packagJson.package_id,
goods: JSON.stringify(packagJson.goods_list),
};
console.log(this.data.order_other_json, 963);
this.data.pre_order_url = "plugin.goods-package.frontend.package.package-buy.index";
}
if (tag === "order" && this.data._root_tag != "-10" && this.data._root_tag != "packagBuy") {
// 购物车下单需要购物车id
this.data.order_other_json.cart_ids = JSON.stringify(this.data._cart_ids);
}
if (!this.data.pre_order_url) {
this.data.pre_order_url = "order.cart-buy";
}
if (!this.data.order_url) {
this.data.order_url = "order.create";
}
if (this.data.default_deduction != 0) {
// 默认积分抵扣
json.no_deduction_ids = this.data.default_deduction;
}
return Object.assign(json, this.data.order_other_json);
},
newRetailApi(states) {
let state = Number(states);
//新零售 0-自由零售 1-成为代理商订单 2-自由发货 3-线上零售 4-进货订单 5-销售代理套餐订单c
if (state == 0) {
return "plugin.new-retail.frontend.order.ordinaryPay";
} else if (state == 1) {
return "plugin.new-retail.frontend.order.purchaseRetailGoods";
} else if (state == 2) {
return "plugin.new-retail.frontend.order.freeSend";
} else if (state == 3) {
return "plugin.new-retail.frontend.order.retailCodePay";
} else if (state == 4) {
return "plugin.new-retail.frontend.order.purchaseStock";
} else if (state == 5) {
return "plugin.new-retail.frontend.order.retailCodePay";
}
},
setPopShow(evt) {
let name = evt.currentTarget.dataset.name;
this.setData({
[name]: !this.data[name]
});
},
setInstallDateShow() {
this.setData({
installDateShow: !this.data.installDateShow,
});
},
bindInstallDateChange(e) {
this.setInstallDateShow();
let val = e.detail;
this.setData({
installDate: parseInt(val / 1000),
installDateText: util.formatTime(new Date(val)),
});
},
// 门店配送-查看配送范围
showDeliveryMap() {
this.setData({
deliveryScopeShow: true,
});
},
showLocationPop() {
this.setData({
showInstallPop: !this.data.showInstallPop,
});
},
deliveryScopeShowClose() {
this.setData({
deliveryScopeShow: false,
});
},
confirmLocation(e) {
this.setData({
"location.latitude": e.detail.lat,
"location.longitude": e.detail.lng,
"location.address": e.detail.address,
});
this.showLocationPop();
},
_checkTaxGoods(data) {
if (data && data.status) {
//显示个人信息
this.setData({
showMyinfo: data.status,
});
this.data.isTaxGoods = true;
} else {
this.data.isTaxGoods = false;
this.setData({
showMyinfo: false,
});
//隐藏个人信息
}
},
_getMemberInfo(data) {
this.setData({
myRealname: data.realname,
myIdcard: data.idcard,
});
},
// _getExplain(data) {
// this.data.explain_title = data.explain_title;
// this.data.explain_content = data.explain_content;
// },
//保税真实信息添加
alertMyInfo() {
this.setData({
showFrom: true,
});
},
confirmFrom(e) {
this.setData({
myRealname:e.detail.name,
myIdcard:e.detail.card,
showFrom: e.detail.status,
});
},
//更换自提点
gotochangeSelfCarry() {
let that = this;
//保存自提点信息到本地,任务编号: 35632
let _memberInfoes = {
distributionUserName: this.data.linkinfo.name ? this.data.linkinfo.name : "",
distributionUserMobile: this.data.linkinfo.mobile ? this.data.linkinfo.mobile : "",
};
try {
wx.setStorageSync("selfCarryInfo", JSON.stringify(_memberInfoes));
} catch (e) {
console.log(e);
}
let url =
"/packageC/selfCarry/selfCarry_info/selfCarry_info?tag=" +
that.data.options.tag +
"&goodsId=" +
that.data.options.goodsId +
"&cart_ids=" +
that.data.options.cart_ids +
"&optionsId=" +
that.data.options.optionsId +
"&total=" +
that.data.options.total +
"&goods=" +
JSON.stringify(this._assembleGoods()) +
"&ind=" +
that.data.selected;
console.log(that.data.isOpenTeam, "that.data.isOpenTeam");
if (that.data.isOpenTeam) {
url = url + "&level_id=" + that.options.level_id + "&option_level_id=" + that.options.option_level_id;
} else if (that.data.isJoinTeam) {
url = url + "&team_id=" + that.options.team_id + "&option_level_id=" + that.options.option_level_id;
}
if (this.data._root_tag == "warehouse") {
// 圈仓
url = url + "&goodCollection=" + this.options.goodCollection;
}
if (this.options.store_id) {
// 门店id
url = url + "&store_id=" + this.options.store_id;
}
wx.redirectTo({
url: url,
});
},
// 切换配送方式
setDispatch(e) {
let title = e.detail.title;
this.data.dispatch.forEach((items) => {
if (items.name == title) {
this.setData({
selected: items.dispatch_type_id,
selectedMode: e.detail.index,
});
}
});
if (this.data.selected == 10) {
// 供应商订单配送自动定位
this._getLocation((res) => {
let point = app.qqMapTransBMap(parseFloat(res.location.lng), parseFloat(res.location.lat));
this.setData({
'supp_point.lng': point.lng,
'supp_point.lat': point.lat,
'supp_point.address': res.address
});
});
}
if (this.data.selected == "11") {
//selected = 11 同城配送
this.getDeliverySetting();
} else {
this._requestByAddress();
}
},
getDeliverySetting() {
if (this.data.cityDelivery != null) {
this._requestByAddress();
return;
}
let urlStr = app.getNetAddresss("plugin.city-delivery.frontend.order.getDeliverySetting");
app._postNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
let changeData = {};
changeData.cityDelivery = res.data;
if (res.data.fence_setting) {
changeData["markers_2[0].longitude"] = res.data.fence_setting.store_longitude;
changeData["markers_2[0].latitude"] = res.data.fence_setting.store_latitude;
changeData["delivery.longitude"] = res.data.fence_setting.store_longitude;
changeData["delivery.latitude"] = res.data.fence_setting.store_latitude;
if (res.data.fence_setting.delivery_area) {
changeData["polygons_2[0].points"] = res.data.fence_setting.delivery_area.map((item) => {
let o = {};
o.longitude = item[0];
o.latitude = item[1];
return o;
});
}
}
changeData.need_lat = 1;
this.data.order_data.forEach((item) => {
// *1 只是为了转数字类型
if ((res.data.min_amount * 1) > (item.goods_price * 1)) {
changeData.yz_subscribe_disabled = true; //商品价格不够最低配送,按钮灰色不能提交
}
});
this.setData(changeData);
this.selectComponent(`.deliveryTime`).setListData(res.data.time_setting, res.data.default_choose);
if (!res.data.default_choose) {
this._requestByAddress();
}
}
}
});
},
//直接购买
_getDataActionBuy(is_exchange) {
let that = this;
let _json = {
goods_id: this.data._goodsId,
total: this.data._total,
option_id: this.data._optionsId || '0',
member_coupon_ids: this._assembleCoupons(),
orders: JSON.stringify(this._assembleDeduction()),
address: encodeURIComponent(JSON.stringify(this.data.currentAddress)), //encodeURIComponent为了解决地址#号问题
dispatch_type_id: this.data.selected,
mark: this.data.options.mark ? this.data.options.mark : 0,
};
//自提点开启
if (this.data.selected == 8) {
_json.package_deliver_id = this.data.defaultSelfCarry.id;
}
if (this.data.selected == 12) {
// 门店自提点
_json.package_deliver_id = this.data.o2oSelfCarry.id;
}
if (this.data._root_tag == "fromExchange") {
//兑换中心商品
_json.data = JSON.parse(this.data.options.exchangeData);
_json.is_exchange = is_exchange == 0 ? 0 : 1;
}
if (this.options.tag == "newRetail" && this.options.retailState == 2) {
_json.goods = JSON.parse(this.options.goods) || []; // 自由发货
}
_json = this.handleDataActionBuyUrl(_json);
let urlStr = app.getNetAddresss(this.data.pre_order_url);
wx.showLoading({
title: "加载中",
icon: "none",
duration: 1500,
});
if (this.data.clicktag == 0) {
this.setData({
clicktag: 1,
});
app._postNetWork({
url: urlStr,
data: _json,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
console.log(that.options, res, 'ssawwww');
if (that.options.tag == "reserve") {
// 门店预约商品
if (res.data.reserve_date) {
this.setData({
reserveDate: res.data.reserve_date.date
});
}
if (res.data.reserve_deduction) {
this.setData({
reserve_deduction: res.data.reserve_deduction
});
}
if (res.data.reserve_deduction_love) {
this.setData({
reserve_deduction_love: res.data.reserve_deduction_love
});
}
}
if (that.options.type == "groupBuy_open" || that.options.type == "groupBuy_join") {
that.setData({
isGetAgreementPay: true,
AgreementPay: that.data.goodsInfo.together_purchase_agreement ? that.data.goodsInfo.together_purchase_agreement : "",
});
}
that.setData({
goodsInfo: res.data,
cup_notice: true,
diyShow: false,
});
that._setViewData(res.data); //设置界面
if (this.data._root_tag == "fromExchange") {
//兑换中心
that.defaultSelectCoupon(res.data.discount.member_coupons); //设置默认优惠券信息
} else if (res.data.discount) {
that._initCoupon(res.data.discount); //设置优惠券信息
}
} else {
wx.showModal({
title: "提示",
content: res.msg,
success(res) {
if (res.confirm) {
try {
const orderErrReturnUrl = wx.getStorageSync('orderErrReturnUrl')
if (orderErrReturnUrl) {
wx.redirectTo({
url: orderErrReturnUrl
});
} else{
wx.navigateBack({
delta: 1
});
}
} catch (e) {
wx.navigateBack({
delta: 1
});
}
} else if (res.cancel) {
wx.navigateBack({
delta: 1
});
}
},
});
}
setTimeout(() => {
that.setData({
cup_notice: true,
clicktag: 0,
});
wx.hideLoading();
}, 1000);
},
fail: (res) => {
console.log(res);
},
});
}
},
//购物车结算
_getDataActionCart() {
let that = this;
let _json = {
cart_ids: this.data._cart_ids.toString(),
member_coupon_ids: this._assembleCoupons(),
orders: JSON.stringify(this._assembleDeduction()),
address: encodeURIComponent(JSON.stringify(this.data.currentAddress)),
dispatch_type_id: this.data.selected,
};
if (this.data.selected == 8) {
_json.package_deliver_id = this.data.defaultSelfCarry.id;
}
if (this.data.selected == 12) {
// 门店自提点
_json.package_deliver_id = this.data.o2oSelfCarry.id;
}
_json = this.handleDataActionCartUrl(_json);
let urlStr = app.getNetAddresss(this.data.pre_order_url);
app._getNetWork({
url: urlStr,
data: _json,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
that.setData({
goodsInfo: res.data,
cup_notice: true,
diyShow: false,
});
that._initCoupon(res.data.discount); //设置优惠券信息
that._setViewData(res.data); //设置界面
} else {
that.setData({
cup_notice: true,
});
Toast(res.msg);
wx.showModal({
title: "提示",
content: res.msg,
showCancel: false,
success(res) {
wx.navigateBack({
delta: 1,
});
},
});
}
},
fail: (res) => {
console.log(res);
},
});
},
// 获取门店数据
_initStore(str) {
var that = this;
this.setData({
recipient_name: "",
recipient_mobile: "",
});
let store_id = this.options.groupStoreID && this.options.groupStoreID != "undefined" ? this.options.groupStoreID : this.data.store_id;
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-info-by-store-id");
urlStr += "&store_id=" + store_id;
app._getNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
store_info: res.data,
recipient_name: res.data.store_carry.name,
recipient_mobile: res.data.store_carry.number,
});
if (str !== "is_activity" && !that.options.groupStoreID) {
that._getDataActionStoreCart();
}
// 门店配送规则数据
if ((res.data.store_delivery && res.data.store_delivery.delivery_status) || res.data.need_lat == 1) {
that.setData({
need_lat: res.data.need_lat, //跑腿配送插件res.data.need_lat为1的时候需要设置经纬度
delivery_status: res.data.store_delivery.delivery_status,
delivery_note: res.data.store_delivery ? res.data.store_delivery.delivery_note : "",
delivery_amount: res.data.store_delivery ? res.data.store_delivery.delivery_amount : 0,
});
let delivery_area = res.data.store_delivery && res.data.store_delivery.delivery_area != "" ? res.data.store_delivery.delivery_area : [];
let locations = res.data.store_delivery ? res.data.store_delivery.locations : {};
let arr_delivery_area = [];
delivery_area.forEach((item, index) => {
arr_delivery_area.push([Number(item.R), Number(item.Q)]);
});
that.setData({
delivery_area: arr_delivery_area,
locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)],
});
if (that.data.locations && that.data.locations.length > 0) {
that.setData({
"markers_2[0].longitude": that.data.locations[0],
"markers_2[0].latitude": that.data.locations[1],
"delivery.longitude": that.data.locations[0],
"delivery.latitude": that.data.locations[1],
});
}
if (that.data.delivery_area && that.data.delivery_area.length > 0) {
let points = [];
for (let i = 0; i < that.data.delivery_area.length; i++) {
points.push({
longitude: that.data.delivery_area[i][0],
latitude: that.data.delivery_area[i][1],
});
}
that.setData({
"polygons_2[0].points": points,
});
}
}
} else {
Toast(res.msg);
}
},
fail: (res) => {
console.log(res);
},
});
},
//门店过期商品下单
getCashGood() {
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.enter.getSetGoodsId");
let that = this;
app._getNetWork({
url: urlStr,
data: {},
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goods_id: res.data.goods_id,
});
if (!res.data.store) {
that.setData({
_root_tag: "-2",
_goodsId: res.data.goods_id,
store_id: 0,
});
that._getDataActionBuy();
} else {
that.setData({
_root_tag: "store",
store_info: res.data.store,
store_id: res.data.store.id || res.data.store.store_id,
});
that._getDataActionStoreCart();
}
} else {
Toast(res.msg);
}
},
fail: (res) => {
console.log(res);
},
});
},
//门店购物车商品
_getDataActionStoreCart() {
if (!this.data.store_id) {
return;
}
if (this.data.storeCarts.length > 0) {
// 已经有storeCarts就不重复请求了
this.setData({
cup_notice: true,
});
this._getStoreCartBuy(this.data.storeCarts);
return;
}
let that = this;
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.shoppingCart.member-cart.index");
urlStr += "&store_id=" + this.data.store_id;
app._getNetWork({
url: urlStr,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
let storeCarts = [];
res.data.forEach((item) => {
storeCarts.push(item.id);
});
that.setData({
cup_notice: true,
storeCarts: storeCarts,
});
this.getDispatchMethod(that.data.storeCarts.toString());
} else {
that.setData({
cup_notice: true,
});
wx.showToast({
icon: "none",
title: "无商品",
duration: 1500,
});
}
},
fail: (res) => {
console.log(res);
},
});
},
//门店结算
_getStoreCartBuy(cart_ids) {
let that = this;
let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.cart-buy");
urlStr += "&cart_ids=" + cart_ids;
urlStr += "&store_id=" + that.data.store_id;
urlStr += "&dispatch_type_id=" + this.data.selected;
if (this.data.selected == 8) {
urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
}
if (this.data.selected == 12) {
// 门店自提点
urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
}
urlStr += "&member_coupon_ids=" + this._assembleCoupons();
urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
app._getNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goodsInfo: res.data,
});
that._initCoupon(res.data.discount); //设置优惠券信息
that._setViewData(res.data, cart_ids); //设置界面
} else {
that.setData({
none_loc: false,
});
if (that.data.showAddressList) {
return;
}
if (res.msg === "请完善地址经纬度信息") {
// 门店配送提示不能返回上一页 #62588
wx.showModal({
title: '提示',
content: "请完善收件人的地址经纬度信息",
confirmText: '确认',
showCancel: false,
success(res) {
if (res.confirm) {
console.log(res);
}
}
});
} else {
wx.showModal({
title: '提示',
content: res.msg,
confirmText: '确认',
showCancel: false,
success(response) {
if (response.confirm) {
if (res.msg.indexOf('配送范围') < 0) {
wx.navigateBack({
delta: 1,
});
}
}
}
});
// Toast(res.msg);
// setTimeout(() => {
// wx.navigateBack({
// delta: 1,
// });
// }, 4000);
}
}
},
fail: (res) => {
console.log(res);
},
});
},
//租赁购物车结算
_getRentDataActionCart(right, rent) {
if (this.data._root_tag == "rentCartBuy") {
let that = this;
let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.cart-buy");
urlStr += "&lease_rights=" + right;
urlStr += "&lease_term=" + rent;
urlStr += "&cart_ids=" + this.data._cart_ids.toString();
urlStr += "&member_coupon_ids=" + this._assembleCoupons();
urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
urlStr += "&dispatch_type_id=" + this.data.selected;
//自提点开启
if (this.data.selected == 8) {
urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
}
if (this.data.selected == 12) {
// 门店自提点提货
urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
}
urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
app._getNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goodsInfo: res.data,
cup_notice: true,
});
that._initCoupon(res.data.discount); //设置优惠券信息
that._setViewData(res.data); //设置界面
} else {
that.setData({
cup_notice: true,
});
Toast(res.msg);
}
},
fail: (res) => {
console.log(res);
},
});
} else if (this.data._root_tag == "rentBuy") {
let that = this;
let urlStr = app.getNetAddresss("plugin.lease-toy.api.order.goods-buy");
urlStr += "&lease_rights=" + right;
urlStr += "&lease_term=" + rent;
urlStr += "&goods_id=" + this.data._goodsId;
urlStr += "&total=" + this.data._total;
urlStr += "&option_id=" + this.data._optionsId;
urlStr += "&member_coupon_ids=" + this._assembleCoupons();
urlStr += "&orders=" + JSON.stringify(this._assembleDeduction());
urlStr += "&address=" + encodeURIComponent(JSON.stringify(this.data.currentAddress));
urlStr += "&dispatch_type_id=" + this.data.selected;
//自提点开启
if (this.data.selected == 8) {
urlStr += "&package_deliver_id=" + this.data.defaultSelfCarry.id;
}
if (this.data.selected == 12) {
// 门店自提点提货
urlStr += "&package_deliver_id=" + this.data.o2oSelfCarry.id;
}
urlStr += "&mark=" + (this.data.options.mark ? this.data.options.mark : 0);
if (this.data.clicktag == 0) {
this.setData({
clicktag: 1,
});
app._getNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
goodsInfo: res.data,
cup_notice: true,
});
that._initCoupon(res.data.discount); //设置优惠券信息
that._setViewData(res.data); //设置界面
} else {
Toast(res.msg);
}
setTimeout(() => {
that.setData({
clicktag: 0,
});
}, 1000);
},
fail: (res) => {
console.log(res);
},
});
}
}
},
//获取租期列表
_getRentTimeList() {
let that = this;
let urlStr = app.getNetAddresss("plugin.lease-toy.api.lease-term.index");
app._getNetWork({
url: urlStr,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
that.setData({
rentTime: res.data.list,
rentFree: res.data.level.rent_free,
agreeCon: res.data.lease_toy_set,
rent_deposit_free: res.data.level.deposit_free,
rent_free: res.data.level.rent_free,
});
// let article_1 = that.data.agreeCon.lease_toy_pact ? that.data.agreeCon.lease_toy_pact : '';
/**
* WxParse.wxParse(bindName , type, data, target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
// WxParse.wxParse('article_1', 'html', article_1, that);
}
},
fail: (res) => {
console.log(res);
},
});
},
_rentGoodBuy() {
if (this.data.isOpenRight) {
let rentTimeRight = "";
const value = wx.getStorageSync("rentTimeRight");
if (value) {
rentTimeRight = value;
}
this._getRentDataActionCart(rentTimeRight, []);
} else {
if (this.data.currentIndex == "999") {
let rentTimeSelf = "";
const value = wx.getStorageSync("rentTimeSelf");
if (value) {
rentTimeSelf = value;
}
if (!app._isTextEmpty(rentTimeSelf)) {
this._getRentDataActionCart([], rentTimeSelf);
} else {
this._getRentDataActionCart([], []);
}
} else {
let rentTimeChoose = "";
const value = wx.getStorageSync("rentTimeChoose");
if (value) {
rentTimeChoose = value;
}
if (!app._isTextEmpty(rentTimeChoose)) {
this._getRentDataActionCart([], rentTimeChoose);
}
}
}
},
// 挂单
getPendingOrder_type() {
//获取批发区下单页类型判断
//挂单不适合配送方式
let urlStr = app.getNetAddresss("plugin.pending-order.frontend.wholesale-area.pending-order-type");
let that = this;
app._getNetWork({
url: urlStr,
data: {
small_type: 1,
},
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
if (res.data.status == 0) {
let dispatch = [{
name: "零售",
dispatch_type_id: 0,
},
{
name: "自用",
dispatch_type_id: 1,
},
];
that.setData({
dispatch: dispatch,
selected: 0,
});
} else {
let dispatch = [{
name: "自用",
dispatch_type_id: 1,
},];
that.setData({
dispatch: dispatch,
selected: 1,
});
}
that._getDataActionBuy();
} else {
Toast(res.msg);
}
},
fail: (res) => {
console.log(res);
},
});
},
//显示地址pop
showAddress() {
//获取收货地址
this.setData({
showAddressList: true,
addressList_caller:"express"
});
},
invoiceShowAddressFun(){
this.setData({
showAddressList: true,
addressList_caller:"invoice"
});
},
confirmSelectAddress(e) {
let info;
if (e.detail.loc) {
info = e.detail.form;
} else {
info = e.detail;
}
if(this.data.addressList_caller == "express"){
this._setAddressViewData(info);
this._requestByAddress();
this.setData({
showAddressList: false,
});
} else if(this.data.addressList_caller == "invoice") {
this.selectComponent('.invoicePop').setAddress(info);
this.setData({
showAddressList: false,
});
}
},
//设置地址界面
_setAddressViewData(model) {
if (model == undefined || model == "" || model == []) {
return;
}
if (this.data.selected == "11") {
if (!model.latitude || !model.longitude) {
app.confirm("请重新编辑您的地址,在地图上选择您所在的位置", null, false);
return;
}
}
//设置地址id
this.data.currentAddId = model.id || model.address_id;
this.data.currentAddress = model;
this.setData({
realname: app._isTextEmpty(model.username) ? "" : model.username,
mobile: app._isTextEmpty(model.mobile) ? "" : model.mobile,
address: app._isTextEmpty(model.province) ? "" : model.province + " " + model.city + " " + model.district + " " + (app._isTextEmpty(model.street) ? "" : model.street + " ") + model.address,
});
},
//组装优惠券json信息
_assembleCoupons() {
let coupons = [];
for (let i = 0; i < this.data.checkCouponList.length; i++) {
if (this.data.is_coupon_SELE) {
//开启折叠优惠券
let conpon_arr = this.data.checkCouponList[i].has_conpon_id;
// console.log("............", this.data.coupons_temp[this.data.checkCouponList[i].coupon_id].num);
coupons = coupons.concat(conpon_arr.slice(0, this.data.coupons_temp[this.data.checkCouponList[i].coupon_id].num));
this.setData({
use_coupon_size: coupons.length,
});
} else {
coupons.push(this.data.checkCouponList[i].id);
}
}
return coupons;
},
//组装优惠抵扣信息
_assembleDeduction() {
let deductions = [];
for (let i = 0; i < this.data.checkDeductionList.length; i++) {
if (this.data.checkDeductionList[i]) {
deductions.push(this.data.checkDeductionList[i]);
}
}
return deductions;
},
_initDiyForm() {
if (JSON.stringify(this.data.orders_goods) != "{}") {
//解决填写完表单后,去操作其他会重新请求接口的覆盖了,导致填写记录为空了
return;
}
let orders_goods = {};
for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
if (this.data.goodsInfo.orders[j].order_goods[i].diy_form) {
let model = {};
model.pre_id = this.data.goodsInfo.orders[j].order_goods[i].pre_id;
model.diyform_data_id = "";
orders_goods[model.pre_id] = model;
}
}
}
this.setData({
orders_goods: orders_goods,
});
},
findGoodOpen() {
for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
if (this.data.goodsInfo.orders[j].camilo_resources_coupon_type) {
// 卡券商品
this.setData({
camilo_resources_coupon_type: this.data.goodsInfo.orders[j].camilo_resources_coupon_type,
});
if (this.data.plugin_setting.yz_supply_camilo_resources.is_default_order_address == 1) {
// 是否开启默认地址
this.setData({
_show_address: true
});
this.data.currentAddId = 1; //地址没有id 写死一个
let {
address,
city,
district,
province,
street,
mobile,
username
} = this.data.plugin_setting.yz_supply_camilo_resources;
this._setAddressViewData({
address,
city,
district,
province,
street,
mobile,
username,
address_id: 1
}); // 设置地址界面
}
}
if (this.options.electricity && this.options.electricity == "electricity") {
this.setData({
electricity_Guide: this.data.goodsInfo.orders[j].order_goods[0].pre_id,
ele_no_showAdress: this.data.goodsInfo.orders[j].order_goods[0] ? this.data.goodsInfo.orders[0].not_show_address : false,
eleUser: this.data.goodsInfo.orders[j].order_goods[0] ? this.data.goodsInfo.orders[0].user_account : ''
});
}
if (this.data.goodsInfo.orders[j].require_mobile) {
console.log("有商品开启话费慢充!!!");
let _tips = "";
if (this.data.goodsInfo.orders[j].tips) {
_tips = this.data.goodsInfo.orders[j].tips.replace(/<img/g, '<img style="width:100%"');
}
this.setData({
recharge_tips: _tips,
show_recharge_mobile: this.data.goodsInfo.orders[j].order_goods[0].pre_id,
});
}
//油卡充值
if(this.data.oil_mobile && this.data.oil_account){
this.data.oil_pre_id = this.data.goodsInfo.orders[j].order_goods[0].pre_id;
}
for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
if (this.data.goodsInfo.orders[j].order_goods[i].diy_form) {
console.log("有商品开启自定义表单!!!");
this.data.hasGoodOpenDF = true;
}
}
}
},
_checkDiyForm() {
for (let i in this.data.orders_goods) {
if (!this.data.orders_goods[i].diyform_data_id) {
// this.data.submit_active = true;
return false;
}
}
return true;
},
_setDiyForm(pre_id, diyform_data_id) {
for (let i in this.data.orders_goods) {
if (this.data.orders_goods[i].pre_id == pre_id) {
this.data.orders_goods[i].diyform_data_id = diyform_data_id;
this.setData({
orders_goods: this.data.orders_goods,
});
return;
}
}
},
_findDiyForm(pre_id) {
for (let i in this.data.orders_goods) {
if (this.data.orders_goods[i].pre_id == pre_id) {
return this.data.orders_goods[i].diyform_data_id;
}
}
return false;
},
_assembleDiyForm() {
let orders_goods = [];
for (let i in this.data.orders_goods) {
orders_goods.push(this.data.orders_goods[i]);
}
return orders_goods;
},
onTELChange(e) {
this.setData({
recharge_mobile: e.detail,
});
},
assembleGoodsTELData() {
//组装商品话费慢充信息
let newGoodsDF = [];
let modelDF = {};
if (this.options.electricity == "electricity") {
modelDF.pre_id = this.data.electricity_Guide;
modelDF.account_id = this.options.account_id;
} else if(this.data.oil_account && this.data.oil_mobile){ //油卡充值
modelDF.pre_id = this.data.oil_pre_id;
modelDF.account = this.data.oil_account;
modelDF.mobile = this.data.oil_mobile;
} else {
modelDF.pre_id = this.data.show_recharge_mobile;
modelDF.mobile = this.data.recharge_mobile;
}
newGoodsDF.push(modelDF);
return newGoodsDF;
},
//设置界面
_setViewData(data, cart_ids) {
this.setData({
_show_address: this.isOrderAddress_M(data.orders),
recommend_goods: data.dispatch.recommend_goods ? data.dispatch.recommend_goods : []
});
if (data.is_agency_restock && data.is_agency_restock == 1) {
this.setData({
_show_address: true,
});
}
if (this.data._show_address) { //跟H5一样有这个判断
this.setData({
selected: 0
});
}
this._setAddressViewData(data.dispatch.default_member_address); //设置地址界面
this.setData({
consigneeName: data.dispatch.custom_data ? data.dispatch.custom_data.custom_consignee : '提货人姓名',
consigneeMobile: data.dispatch.custom_data ? data.dispatch.custom_data.custom_phone : '提货人手机'
});
this._initDiyForm();
if (data.discount && data.discount.default_deduction && data.discount.default_deduction != 0) {
this.data.default_deduction = data.discount.default_deduction;
}
if (this.data.default_deduction != 0) {
// 默认积分抵扣要获取order_deductions里checked=true的传给第二次接口
for (let i = 0; i < data.orders.length; i++) {
let arr = data.orders[i].order_deductions;
if (!(data.orders[i].order_deductions instanceof Array)) {
arr = Object.values(data.orders[i].order_deductions);
}
arr.map((item) => {
if (item.checked) {
this._screenDiscount(data.orders[i], item);
}
});
}
}
// let that = this;
this.findGoodOpen(); // 循环订单列表是否开启表单和慢充
if (!this.data.getParams_status) {
this.data.getParams_status = true;
this.getParams(cart_ids);
}
this.checkOrders(data); //判断有订单是否有绑定域名
this.data.dispatch.forEach((items, i) => {
if (items.dispatch_type_id == 8) {
console.log("有自提点配送方式,请求定位获取自提点列表");
if (JSON.stringify(this.data.defaultSelfCarry) == "{}") {
this._getLocation(() => {
this.getList("shop");
});
}
}
if (items.dispatch_type_id == 12) {
console.log("有门店自提点配送方式,请求定位获取自提点列表");
if (!this.data.o2oSelfCarry.id) {
this._getLocation(() => {
this.getList("o2o");
});
}
}
});
if(this.data.selected == 11){
this.getDeliverySetting()
}
this.setData({
order_data: data.orders,
price: data.total_price, //设置总价格(合计)
total_items: data.amount_items,
discount_amount_items: data.discount_amount_items,
service_fee_items: data.service_fee_items,
service: data.orders[0].order_fees,
none_loc: true,
clicktag: 0,
});
if (this.data._root_tag == "store" && this.data.price < 0) {
wx.showToast({
icon: "none",
title: "下单错误",
duration: 1500,
});
}
if (data.dispatch.use_wechat_address) {
this.setData({
use_wechat_address: data.dispatch.use_wechat_address
});
}
},
isOrderAddress_M(_data) {
//判断是否有订单需要填写地址,有一单需要填写地址则需要填写地址才可以下单
//return false 提交订单需要填写地址
for (let j = 0; j < _data.length; j++) {
if (this.data.phone_bill_pro_goods) {
if (!_data[j].not_show_address) {
// console.log("有订单需要填写地址");
return false;
}
} else if(this.data.oil_account && this.data.oil_mobile){
if (!_data[j].not_show_address ) {
// console.log("有订单需要填写地址");
return false;
}
}else {
if (!_data[j].need_address) {
console.log("有订单需要填写地址");
return false;
}
}
}
return true;
},
checkOrders(data) {
for (let i = 0; i < data.orders.length; i++) {
if (data.orders[i].plugin_id === 58) {
this.setData({
plugin_id: 58,
});
}
}
for (let i = 0; i < data.orders.length; i++) {
if ("domain" in data.orders[i]) {
this.setData({
isDomain: true,
domain: data.orders[i].domain,
});
} else {
this.setData({
isDomain: false,
});
return;
}
}
},
// 整合了发票、是否显示个人信息接口
getParams(cart_ids) {
let json = {};
let that = this;
if (this.data._root_tag == "store" && !cart_ids) {
return;
} else if (this.data._root_tag == "store" && cart_ids) {
this.setData({
_cart_ids: cart_ids,
});
}
let good_ids = [];
// 不清楚this.data.options.cart_ids这个字段作用但是这个字段导致选择完自提点后返回报错打印这个cart_ids为字符串得undefined
if (this.data.options.cart_ids && this.data.options.cart_ids != "undefined") {
this.setData({
_cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : [],
});
}
if (this.data.isCartsOrder) {
// 购物车商品下单的循环商品
this.setData({
_cart_ids: this.data.options.cart_ids ? JSON.parse(this.data.options.cart_ids) : [],
});
for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
good_ids.push(this.data.goodsInfo.orders[j].order_goods[i].goods_id);
}
}
} else {
if (this.data.options.goodsId) {
this.setData({
_goodsId: Number(this.data.options.goodsId),
});
}
good_ids.push(this.data._goodsId);
}
let urlStr = app.getNetAddresss("from.div-from.get-params");
json = {
goods_ids: JSON.stringify(good_ids),
};
app._getNetWork({
url: urlStr,
data: json,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
if (that.options.type != "groupBuy_open" || that.options.type != "groupBuy_join") {
//拼购显示自己的支付协议
that.setData({
isGetAgreementPay: true,
AgreementPay: res.data.getPayProtocol ? res.data.getPayProtocol : "",
});
}
this.setData({
freightExplain: res.data.freightExplain
});
try {
that.setData({
storeSearchBtn: res.data.storeSearch || {},
openCueCoupon: res.data.getCouponSet == 0 ? false : true, //是否开启下单优惠券提示
});
that._checkTaxGoods(res.data.isDisplay);
if (res.data.getMemberInfo) {
that._getMemberInfo(res.data.getMemberInfo);
}
// if (res.data.explain) {
// that._getExplain(res.data.explain);
// }
that.getInvoice(res.data.sinvoice);
} catch (error) {
console.log(error);
}
} else {
that.setData({
isGetAgreementPay: false,
});
}
},
fail: (res) => {
console.log(res);
},
});
},
// 发票数据
getInvoice(data) {
let address = {
realname: this.data.realname,
mobile: this.data.mobile,
address: this.data.address
}
this.selectComponent('.invoicePop').initData({sinvoice: data, address});
},
subInvoice(data) {
// 弹窗获取发票数据
this.setData({
invoice_list: data.detail, //72638
});
},
//初始化优惠券
_initCoupon(data) {
if (data.deduction_lang) {
this.setData({
deduction_lang: data.deduction_lang
});
}
this.setData({
isShowCoupon: data.whether_show_coupon == "1" ? true : false,
});
let coupon = data.member_coupons;
this.setData({
is_coupon_SELE: data.coupon_show == "1" ? true : false,
});
this.setData({
coupon_size: coupon.length,
});
if (coupon != undefined && coupon != "" && coupon != null) {
if (this.data.is_coupon_SELE) {
//按过期时间排序
let arr2 = coupon.sort((a, b) => {
return a.expired_at - b.expired_at;
});
this.initSelectCoupon(arr2);
} else {
this.setData({
coupons: coupon,
});
}
}
},
//初始化带有默认选中优惠券
defaultSelectCoupon(coupon) {
let checkCouponList = [];
coupon.forEach((item, ind) => {
if (item.checked == true) {
checkCouponList.push(item);
}
});
this.setData({
coupon_size: coupon.length,
coupons: coupon,
use_coupon_size: checkCouponList.length,
checkCouponList: checkCouponList,
});
console.log(this.data.coupons);
},
//折叠优惠券
initSelectCoupon(coupon) {
let coupon_data = coupon;
let result = [];
let temp = {};
for (let i = 0; i < coupon_data.length; i++) {
let num = 0; //同类型已选中并符合使用条件的优惠券数量
let valid = 0; //最高限制使用数量
let has_conpon_id = [coupon_data[i].id];
if (coupon_data[i].checked) {
num++;
}
if (coupon_data[i].valid) {
valid++;
}
for (let j = i + 1; j < coupon_data.length; j++) {
// console.log("33333333==================", coupon_data[j].coupon_id)
if (coupon_data[i].coupon_id == coupon_data[j].coupon_id) {
if (coupon_data[j].checked) {
num++;
}
if (coupon_data[j].valid) {
valid++;
}
has_conpon_id.push(coupon_data[j].id);
coupon_data.splice(j, 1);
j--;
}
}
let _data = coupon_data[i];
_data.has_conpon_id = has_conpon_id;
_data.valid_num = valid;
result.push(_data);
temp[coupon_data[i].coupon_id] = {};
temp[coupon_data[i].coupon_id].num = num;
}
this.setData({
coupons_temp: temp,
coupons: result,
});
console.log(this.data.coupons, this.data.coupons_temp);
},
changeConpon(e) {
let valObj = e.target.dataset.item;
let num = e.detail;
let index = e.target.dataset.index;
console.log("=================", e.detail, valObj);
if (num > valObj.valid_num) {
wx.showToast({
icon: "none",
title: "使用张数已达上限",
duration: 1000,
});
clearTimeout(this.data.timer);
this.data.timer = setTimeout(() => {
// 注意此时修改 value 后会再次触发 change 事件
this.data.coupons_temp[valObj.coupon_id].num = valObj.valid_num;
this.setData({
coupons_temp: this.data.coupons_temp,
});
}, 200);
return;
} else if (num == "" || num == undefined || num == 0) {
wx.showToast({
icon: "none",
title: "暂不使用请取消勾选",
duration: 1000,
});
return;
} else {
clearTimeout(this.data.timer);
this.data.coupons_temp[valObj.coupon_id].num = num;
this.setData({
coupons_temp: this.data.coupons_temp,
});
}
// clearTimeout方法以便控制连续触发带来的无用调用
let value = {
detail: true,
currentTarget: {
dataset: {
index: index,
item: valObj,
},
},
};
if (this.data.timeoutId) {
clearTimeout(this.data.timeoutId); // 先清除之前的延时,并在下面重新开始计算时间
}
this.data.timeoutId = setTimeout(() => {
// 100毫秒以后执行方法
this.selectCoupon(value);
}, 1000); // 如果还没有执行就又被触发会根据上面的clearTimeout来清除并重新开始计算
},
//提货人输入
infonamebtn(e) {
let infoname = e.detail;
this.setData({
"linkinfo.name": infoname,
});
},
infonameclear() {
this.setData({
"linkinfo.name": "",
});
},
infomobileclear() {
this.setData({
"linkinfo.mobile": "",
});
},
//提货人手机输入
infomobilebtn(e) {
let infomobile = e.detail;
this.setData({
"linkinfo.mobile": infomobile,
});
},
//选择地址后重新计算数据
_requestByAddress() {
//重新计算
this.handleBuy(1);
},
//判断是否选择权益商品
_judgeIsRight() {
if (this.data.isOpenRight) {
this.setData({
isRightChoose: false,
});
} else {
this.setData({
isRightChoose: true,
});
}
},
//权益商品选择事件
rentSelect(e) {
let isOpenRight = e.detail;
this.setData({
isOpenRight: isOpenRight,
});
//1.判断是否选择权益商品,有则租期按照会员权益日期计算
this._clearStorage();
this._judgeIsRight();
if (this.data.isOpenRight) {
let arr = [];
this.data.order_data.forEach((val) => {
val.order.order_goods.forEach((item) => {
let obj = {
goods_id: item.goods_id,
total: item.total,
};
arr.push(obj);
});
});
wx.setStorage({
key: "rentTimeRight",
data: JSON.stringify(arr),
});
this._getRentDataActionCart(JSON.stringify(arr), []);
} else if (!this.data.isOpenRight) {
this.setData({
currentIndex: "999",
});
this._getRentDataActionCart([], []);
}
},
//清除租赁localstorage
_clearStorage() {
wx.removeStorage({
key: "rentTimeSelf",
});
wx.removeStorage({
key: "rentTimeChoose",
});
wx.removeStorage({
key: "rentTimeRight",
});
},
switchChange(e) {
let dindex = e.currentTarget.dataset.dindex;
let orindex = e.currentTarget.dataset.orindex;
let pre_id = this.data.order_data[orindex].pre_id;
let item = e.currentTarget.dataset.item;
let codeind = e.currentTarget.dataset.codeind;
if (item.checked) {
this.setData({
['order_data[' + orindex + '].order_service_fees[' + codeind + '].checked']: false,
['order_data[' + orindex + '].order_service_fees[' + codeind + '].show']: false,
["service_fee." + pre_id]: [],
});
} else {
this.setData({
['order_data[' + orindex + '].order_service_fees[' + codeind + '].checked']: true,
['order_data[' + orindex + '].order_service_fees[' + codeind + '].show']: true,
["service_fee." + pre_id]: [item.code],
});
}
this.serviceFeesHandle(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
//重新计算
this.handleBuy(2);
},
//抵扣选择响应
discountHandle(e) {
let dischecked = e.detail;
let dindex = e.currentTarget.dataset.dindex;
let orindex = e.currentTarget.dataset.orindex;
let tag = e.currentTarget.dataset.tag;
if (!this.data.none_loc) {
// 超出门店配送范围不可以使用积分抵扣
dischecked = false;
}
if (tag == "discount") {
if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == "[object Object]") {
// object要用.的方式调用
this.setData({
["order_data[" + orindex + "].order_deductions." + dindex + ".checked"]: dischecked,
});
} else if (Object.prototype.toString.call(this.data.order_data[orindex].order_deductions) == "[object Array]") {
this.setData({
["order_data[" + orindex + "].order_deductions[" + dindex + "].checked"]: dischecked,
});
}
this._screenDiscount(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
} else if (tag == "serviceFee") {
let pre_id = this.data.order_data[orindex].pre_id;
this.setData({
["service_fee." + pre_id]: e.detail,
});
console.log(e.detail, this.data.service_fee, 's:::::');
this.serviceFeesHandle(this.data.order_data[orindex], this.data.order_data[orindex].order_deductions[dindex]);
}
//重新计算
this.handleBuy(2);
},
// 留言
noteHandle(e) {
let preid = e.target.dataset.preid;
let item = e.target.dataset.item;
let val = e.detail.value;
this.setData({
["note." + preid]: val,
});
// 触发抵扣事件
this.deductionListHandle(item);
},
//筛选抵扣
_screenDiscount(item, value) {
this.deductionListHandle(item, value);
},
serviceFeesHandle(item, value) {
//服务费、运费复选框
this.deductionListHandle(item);
},
deductionListHandle(item, value) {
let checkDeductionList = this.data.checkDeductionList;
let service_fee = this.data.service_fee;
let note = this.data.note;
let isHasPreId = false;
if (checkDeductionList.length > 0) {
checkDeductionList.map((deduction, index) => {
if (deduction && deduction.pre_id == item.pre_id) {
isHasPreId = true;
if (value && value.checked) {
// 选中的时候检查是否有对应的code
if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) == -1) {
deduction.deduction_ids.push(value.code);
}
} else if (value && !value.checked) {
// 取消选中的时候检查去掉对应的code
if (deduction.deduction_ids && deduction.deduction_ids.indexOf(value.code) > -1) {
deduction.deduction_ids.splice(deduction.deduction_ids.indexOf(value.code), 1);
}
}
// 留言和安装选项重新赋值
deduction.note = note[item.pre_id];
deduction.service_fee = service_fee[item.pre_id];
}
});
}
if (!isHasPreId) {
checkDeductionList.push({
deduction_ids: value && value.code ? [value.code] : [],
pre_id: item.pre_id,
note: note[item.pre_id],
service_fee: service_fee[item.pre_id],
});
}
this.setData({
checkDeductionList
});
// console.log('checkDeductionList:', this.data.checkDeductionList)
},
//选择自定义租期
rentSelfChoose() {
this._clearStorage();
this.setData({
currentIndex: "999",
});
this.setData({
rentShow: true,
});
},
rentShowClose(event) {
if (event.detail === "confirm") {
if (app._isTextEmpty(this.data.tenancy)) {
wx.showToast({
icon: "none",
title: "租期不能为空",
duration: 1000,
});
return;
}
let obj = {
days: this.data.tenancy,
lease_term_id: 0,
};
wx.setStorage({
key: "rentTimeSelf",
data: JSON.stringify(obj),
});
this._getRentDataActionCart([], JSON.stringify(obj));
// 异步关闭弹窗
setTimeout(() => {
this.setData({
rentShow: false,
});
}, 1000);
} else {
this.setData({
rentShow: false,
});
console.log("取消自定义租期!!!");
}
},
//自定义租期数值绑定
rentShowinp(e) {
let rentval = e.detail;
this.setData({
tenancy: rentval,
});
},
//自定义租期值清除
rentclear() {
this.setData({
tenancy: "",
});
},
//选择租期
rentTimeChoose(e) {
let item = e.currentTarget.dataset.item;
let index = e.currentTarget.dataset.index;
if (this.data.currentIndex == index) {
this.setData({
currentIndex: "999",
});
this._clearStorage();
this._getRentDataActionCart([], []);
} else {
this._clearStorage();
this.setData({
currentIndex: index,
});
let obj = {
days: 0,
lease_term_id: item.id,
};
wx.setStorage({
key: "rentTimeChoose",
data: JSON.stringify(obj),
});
this._getRentDataActionCart([], JSON.stringify(obj));
}
},
//优惠券
showCoupon() {
if (this.data.coupon_size == 0) {
wx.showToast({
icon: "none",
title: "暂无优惠券使用",
duration: 1500,
});
return;
}
this.setData({
popupCouponSpecs: true,
});
},
//选择优惠券
selectCoupon(e) {
let couponBol = e.detail;
let index = e.currentTarget.dataset.index;
let item = e.currentTarget.dataset.item;
console.log(couponBol, index, item, e.type);
this.setData({
["coupons[" + index + "].checked"]: couponBol,
});
this._screenCoupon(couponBol, item, e.type);
//设置view
this._setCouponView();
//重新计算
this.handleBuy(2);
},
//筛选数据优惠券状态
_screenCoupon(couponBol, valObj, type) {
let tarValue = valObj;
let checkCouponList = this.data.checkCouponList;
if (this.data.checkCouponList.length > 0) {
for (let i = 0; i < this.data.checkCouponList.length; i++) {
if (this.data.checkCouponList[i].id == tarValue.id) {
checkCouponList.splice(i, 1);
}
}
}
if (this.data.is_coupon_SELE && type) {
//开启折叠优惠券并且为点击复选框为选中状态
this.data.coupons_temp[tarValue.coupon_id].num = couponBol ? 1 : 0;
this.setData({
coupons_temp: this.data.coupons_temp
});
}
if (couponBol) {
//选中添加
checkCouponList.push(tarValue);
} else {
//取消选中
this.setData({
cup_notice: true
});
}
this.setData({
checkCouponList: checkCouponList
});
},
//设置view
_setCouponView() {
this.setData({
use_coupon_size: this.data.checkCouponList.length,
});
},
mustSelectCoupon() {
// 后台设置,下单前判断有优惠券数量但没使用时,是否提示并展开选择优惠券弹窗,只提示一次!
if (this.data.openCueCoupon && this.data.coupon_size > 0 && this.data.use_coupon_size < 1 && !this.data.isCueCoupon) {
//显示优惠券列表弹窗
// 按钮文字改变
this.setData({
isCueCoupon: true,
popupCouponSpecs: true,
});
return true;
}
return false;
},
//关闭优惠卷
couponclose() {
this.setData({
popupCouponSpecs: false,
});
},
//租赁协议
agreementbtn(e) {
let agreeBol = e.detail;
this.setData({
agreement: agreeBol,
});
},
//租赁弹窗显示
showAgreement() {
this.setData({
agreementShow: true,
});
},
agreementClose() {
this.setData({
agreementShow: false,
});
},
toSite() {
wx.navigateTo({
url: "/packageE/others/application_market/binding_site/binding_site?plugin_id=" + this.data.plugin_id,
});
},
//获取模板id
getTemplate() {
let urlStr = app.getNetAddresss("member.member.getMiniTemplateCorrespond");
let that = this;
app._getNetWork({
url: urlStr,
data: {
small_type: 1,
},
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
let array = [];
for (let i = 0; i < res.data.length; i++) {
array.push(res.data[i].template_id);
}
that.setData({
TemplateArray: array,
});
if (that.data.TemplateArray.length > 0) {
wx.requestSubscribeMessage({
tmplIds: that.data.TemplateArray,
success(res) {
that.setData({
clickMiniTemplate: true
});
console.log(res, "success");
that.submitBtn();
},
fail(err) {
console.log(err, "err");
that.submitBtn();
},
});
} else {
that.submitBtn();
}
} else {
Toast(res.msg);
}
},
fail: (res) => {
console.log(res);
},
});
},
//提交订单
submit() {
if (this.data.yz_subscribe_disabled) return;
if (this.data.clickMiniTemplate) {
this.submitBtn();
} else {
this.getTemplate();
}
},
checkDispatch() {
if (this.data.selected == 8 || this.data.selected == 12 || this.data.selected == 15) {
if (app._isTextEmpty(this.data.linkinfo.name)) {
wx.showModal({
title: "提示",
content: "请填写提货人姓名",
showCancel: false,
confirmText: "确定",
confirmColor: "#000000",
success: (res) => {},
});
this.data.submit_active = true;
return false;
}
if (app._isTextEmpty(this.data.linkinfo.mobile)) {
wx.showModal({
title: "提示",
content: "请输入提货人手机",
showCancel: false,
confirmText: "确定",
confirmColor: "#000000",
success: (res) => {},
});
this.data.submit_active = true;
return false;
}
}
if (this.data.selected == 8 || this.data.selected == 12) {
if ((this.data.selected == 8 && app._isTextEmpty(this.data.defaultSelfCarry)) || (this.data.selected == 12 && app._isTextEmpty(this.data.o2oSelfCarry))) {
wx.showToast({
title: "该地区暂无自提点",
duration: 1000,
icon: "none",
});
return false;
}
if ((this.data.selected == 8 && app._isTextEmpty(this.data.defaultSelfCarry.id)) || (this.data.selected == 12 && app._isTextEmpty(this.data.o2oSelfCarry.id))) {
wx.showModal({
title: "提示",
content: "请选择自提点",
showCancel: false,
confirmText: "确定",
confirmColor: "#000000",
success: (res) => {},
});
this.data.submit_active = true;
return false;
}
//保存自提点信息到本地,任务编号: 35632
let _memberInfoes = {
distributionUserName: this.data.linkinfo.name ? this.data.linkinfo.name : "",
distributionUserMobile: this.data.linkinfo.mobile ? this.data.linkinfo.mobile : "",
};
try {
wx.setStorageSync("selfCarryInfo", JSON.stringify(_memberInfoes));
} catch (e) {
console.log(e);
}
}
if (this.data.store_info.delivery_information == 1) {
if (this.data.selected == "2" && (app._isTextEmpty(this.data.linkinfo.name) || app._isTextEmpty(this.data.linkinfo.mobile))) {
wx.showToast({
icon: "none",
title: "请输入提货人信息",
duration: 1500,
});
return false;
}
if (this.data.selected == "2" && !/^[0-9]{1,}$/.test(this.data.linkinfo.mobile)) {
wx.showToast({
icon: "none",
title: "请输入正确的联系电话",
duration: 1500,
});
this.data.submit_active = true;
return false;
}
}
if (!this.data._show_address && (this.data.selected == 0 || this.data.selected == 1 || this.data.selected == 3) && !this.data.ele_no_showAdress && !this.data.reserve_order) {
if ((this.data.selected == 0 || this.data.selected == 1) && this.data.use_wechat_address) {
// 页面设计插件和商城设置 - 订单设置 - 调用微信地址开启了 只用于快递
if (app._isTextEmpty(this.data.design_info.userName)) {
app.tips('请输入收货人姓名');
this.data.submit_active = true;
return false;
}
if (app._isTextEmpty(this.data.design_info.telNumber)) {
app.tips('请填写收货手机号');
this.data.submit_active = true;
return false;
}
if (app._isTextEmpty(this.data.userAdress)) {
app.tips('请选择所在区域');
this.data.submit_active = true;
return false;
}
if (app._isTextEmpty(this.data.design_address)) {
app.tips('请输入街道、楼牌号等');
this.data.submit_active = true;
return false;
}
return true;
}
if (app._isTextEmpty(this.data.currentAddId)) {
wx.showModal({
title: "提示",
content: "请选择收货地址",
showCancel: false,
confirmText: "确定",
confirmColor: "#000000",
success: (res) => {
this.showAddress();
},
});
this.data.submit_active = true;
return false;
}
}
return true;
},
checkSubmit() {
if (this.mustSelectCoupon()) {
// 提示优惠券【51723】
return false;
}
if (this.data.isDomain) {
if (app._isTextEmpty(this.data.domain)) {
wx.showToast({
icon: "none",
title: "请绑定站点",
duration: 1500,
});
return false;
}
}
if (this.data.cpstype == "1" && this.data.cpsTxt == "") {
wx.showToast({
title: "请输入帐号",
duration: 1000,
icon: "none",
});
return false;
}
// 手机慢充
if (this.data.show_recharge_mobile && !this.data.recharge_mobile) {
wx.showToast({
icon: "none",
title: "请输入充值手机号码!",
duration: 1500,
});
return false;
} else if (this.data.show_recharge_mobile && this.data.recharge_mobile) {
let reg_txt = /^[1][0-9]{10}$/;
if (!reg_txt.test(this.data.recharge_mobile)) {
wx.showToast({
icon: "none",
title: "请输入正确的充值手机号码!",
duration: 1500,
});
return false;
}
}
if (this.data.reserve_order != null) {
if (this.data.reserve_tel_name == '') return app.tips("请输入联系人");
if (this.data.reserve_mobile == '') return app.tips("请输入联系电话");
}
if (this.data.camilo_resources_coupon_type == 1) {
// 卡券商品
if (!this.data.recharge_number) {
return app.tips("请输入充值账号");
}
}
if (this.options.tag == "newRetail" && this.options.retailState == 3 && this.data.price == 0) {
//新零售-自由发货下单不能为0
wx.showToast({
icon: "none",
title: "价格有误",
duration: 1500,
});
this.data.submit_active = true;
return false;
}
if (this.data.hasGoodOpenDF && !this._checkDiyForm()) {
wx.showToast({
icon: "none",
title: "请先填写表单",
duration: 1500,
});
this.data.submit_active = true;
return false;
}
if (!this.checkDispatch()) {
return false;
}
if (this.data.AgreementPay && !this.data.isRent) {
if (!this.data.agreementPay) {
wx.showToast({
icon: "none",
title: "请勾选支付协议",
duration: 1500,
});
return false;
}
}
if (this.data.isRent && !this.data.agreement) {
wx.showToast({
icon: "none",
title: "请勾选租赁协议",
duration: 1500,
});
this.data.submit_active = true;
return false;
}
return true;
},
submitBtn() {
let that = this;
if (!this.checkSubmit()) {
return;
}
let json = this._assembleJson();
if (this.data.store_id && this.options.tag != "reserve") {
if (this.isHasInstall()) {
//有勾选了上门安装服务,需要填写经纬度和时间
if (!this.data.installDate) {
app.tips("请选择预约时间!");
return;
}
if (!this.data.location && !this.data.location.latitude) {
app.tips("请选择地理位置!");
return;
}
let live_install_json = {
live_install: {
longitude: this.data.location.longitude,
latitude: this.data.location.latitude,
reserve_time: this.data.installDate,
install_comment: this.data.install_comment,
},
};
Object.assign(json, live_install_json);
}
this.data.order_url = "plugin.store-cashier.frontend.store.create";
}
switch (this.data._root_tag) {
case "store_projects_goods":
//* 门店核销
this.data.order_url = "plugin.store-projects.frontend.order.create";
json.goods_type = "store_projects_goods";
break;
}
if (this.data.selected == "10") {
if (json.supplier_driver_distribution_address) {
if (app._isTextEmpty(json.supplier_driver_distribution_address.lat) || app._isTextEmpty(json.supplier_driver_distribution_address.lng)) {
app.tips('请选择供应商配送定位');
return;
}
}
}
if (this.data.selected == "11") {
// selected == "11" 同城配送
if (this.data.cityDelivery.distance_type == 3) {
if (!this.data.cityDelivery_community.id) {
app.tips("请选择配送社区");
return;
}
json.community_id = this.data.cityDelivery_community.id;
}
if (this.data.cityDelivery.future_state == 1) {
if (!this.data.cityDelivery_deliveryTime.start_time || !this.data.cityDelivery_deliveryTime.end_time) {
app.tips("请选择配送时间");
return;
}
json.expect_start_time = this.data.cityDelivery_deliveryTime.start_time;
json.expect_end_time = this.data.cityDelivery_deliveryTime.end_time;
}
}
console.log(this.data.submit_active);
if (this.data.submit_active == true) {
this.data.submit_active = false;
let urlStr = app.getNetAddresss(this.data.order_url);
if (this.data.clicktag == 0) {
this.setData({
clicktag: 1,
});
app._postNetWork({
url: urlStr,
showToastIn: false,
data: json,
success: (resdata) => {
let res = resdata.data;
that.data.submit_active = true;
if (res.result == 1) {
that.setData({
showPage: false,
});
wx.showLoading({
title: "跳转中",
});
if (that.data.iscps) {
wx.redirectTo({
url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2" + `&iscps=${that.data.iscps ? true : false}`,
});
return;
}
if (that.options.option_level_id) {
wx.redirectTo({
url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2" + "&name=groups",
});
return;
}
if (that.data.store_id) {
// 门店
wx.redirectTo({
url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2&store_id=" + that.data.store_id,
});
return;
}
// 盲盒
if (that.data._root_tag == "blindBox") {
wx.redirectTo({
url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2&name=" + that.data._root_tag,
});
return;
}
wx.redirectTo({
url: "../orderPay/orderPay?order_id=" + res.data.order_ids + "&status=2",
});
} else {
Toast(res.msg);
}
setTimeout(() => {
that.setData({
clicktag: 0,
});
}, 1000);
},
fail: (res) => {
console.log(res);
},
});
}
}
},
isHasInstall() {
//判断是否有勾选了上门安装服务
for (let j = 0; j < this.data.goodsInfo.service_fee_items.length; j++) {
if (this.data.goodsInfo.service_fee_items[j].code == "liveInstall") {
return true;
}
}
return false;
},
inpCpsTxt(e) {
console.log(e);
let txt = e.detail.value;
this.setData({
cpsTxt: txt,
});
},
//组装商品信息
_assembleGoods() {
let newGoods = [];
for (let j = 0; j < this.data.goodsInfo.orders.length; j++) {
for (let i = 0; i < this.data.goodsInfo.orders[j].order_goods.length; i++) {
let model = {};
model.goods_id = this.data.goodsInfo.orders[j].order_goods[i].goods_id;
model.total = this.data.goodsInfo.orders[j].order_goods[i].total;
model.option_id = this.data.goodsInfo.orders[j].order_goods[i].goods_option_id;
newGoods.push(model);
}
}
return newGoods;
},
//组装json数据
_assembleJson() {
let json = {
//公共数据
address: encodeURIComponent(JSON.stringify(this.data.currentAddress)),
goods: JSON.stringify(this._assembleGoods()),
member_coupon_ids: JSON.stringify(this._assembleCoupons()),
orders: JSON.stringify(this._assembleDeduction()),
// 发票
// invoice_type: this.data.invoice_list.invoice_type === "electron" ? 0 : 1,
// rise_type: this.data.invoice_list.invoice_status === "person" ? 1 : 0,
// call: this.data.invoice_list.call,
// email: this.data.invoice_list.email,
// company_number: this.data.invoice_list.company_number,
//新的发票-发票插件
invoice:this.data.invoice_list,
mark: this.data.options.mark ? this.data.options.mark : 0,
dispatch_type_id: this.data.selected, //配送方式 1快递 ||2门店自提||3门店配送送货上门||8自提点
};
if (this.data.use_wechat_address && (this.data.selected == 1 || (this.data.selected == 0 && !this.data.use_wechat_address))) {
// 只用于快递,并且开启了使用微信地址
let usejson = {
address: this.data.design_address || "",
city: this.data.design_info.cityName,
district: this.data.design_info.countyName,
id: "",
isdefault: "",
latitude: "",
longitude: "",
mobile: this.data.design_info.telNumber,
province: this.data.design_info.provinceName,
street: "",
uid: "",
uniacid: "",
username: this.data.design_info.userName,
zipcode: "",
};
// 没有选择微信地址的时候是整个adress都为空
json.address = usejson.address?encodeURIComponent(JSON.stringify(usejson)):[];
}
// 分销活动页面购买的商品带活动id
if (this.data.activity_id) {
json.activity_id = this.data.activity_id;
}
if (this.data.hasGoodOpenDF) {
//有商品开启自定义表单
json.order_goods = this._assembleDiyForm();
}
if (this.data.show_recharge_mobile) {
//有商品开启话费慢充
json.order_goods = JSON.stringify(this.assembleGoodsTELData());
}
if (this.options.electricity == "electricity") {
//有商品开启话费慢充
json.order_goods = JSON.stringify(this.assembleGoodsTELData());
}
//油卡充值
if(this.data.oil_account && this.data.oil_mobile){
json.order_goods = JSON.stringify(this.assembleGoodsTELData());
}
if (this.data.cpstype == "1") {
json.recharge_number = this.data.cpsTxt;
}
if (this.data.camilo_resources_coupon_type == 1) {
// 直冲需要填写帐号
json.recharge_number = this.data.recharge_number;
}
json = this.handleDataActionBuyUrl(json, "order");
json = this.handleDataActionCartUrl(json, "order");
if (this.data._root_tag == "store") {
json.store_id = this.data.store_id;
json.mobile = this.data.linkinfo.mobile;
json.realname = this.data.linkinfo.name;
json.cart_ids = JSON.stringify(this.data.storeCarts);
} else if (this.data._root_tag == "rentCartBuy" || this.data._root_tag == "rentBuy") {
let right = wx.getStorageSync("rentTimeRight") || "";
let choose = wx.getStorageSync("rentTimeChoose") || "";
let self = wx.getStorageSync("rentTimeSelf") || "";
let lease_term = {};
if (!app._isTextEmpty(choose)) {
lease_term = choose;
} else if (!app._isTextEmpty(self)) {
lease_term = self;
}
json.lease_rights = app._isTextEmpty(right) == null ? [] : right;
json.lease_term = lease_term;
json.cart_ids = JSON.stringify(this.data._cart_ids);
}
if (this.data.selected == 2 || this.data.selected == 8 || this.data.selected == 12 || this.data.selected == 15) {
json.mobile = this.data.linkinfo.mobile;
json.realname = this.data.linkinfo.name;
if (this.data._root_tag === 'o2oDeposit') {
// 门店定金 后端需要把门店的地址给传过去 #86280
this.data.currentAddId = 1; //地址没有id 写死一个
let arr = this.data.store_info.store_address.split(' ');
this.setAddressViewData({
province: arr[0],
city: arr[1],
district: arr[2],
street: arr[3],
address: arr[4],
mobile: this.store_info.store_mobile,
username: this.store_info.store_name,
address_id: 1
});
json.address = encodeURIComponent(JSON.stringify(currentAddress));
// 设置地址界面
}
}
if (this.data.selected == 8 || this.data.selected == 12) {
json.package_deliver_id = this.data.selected == 8 ? this.data.defaultSelfCarry.id : this.data.o2oSelfCarry.id;
delete json.address;
}
if (this.data.selected == 3) {
json.mobile = this.data.store_info.store_mobile;
json.realname = this.data.store_info.store_name;
}
if (this.data.selected == 10) {
json.supplier_driver_distribution_address = this.data.supp_point;
}
Object.assign(json, this.data.orderLocationObj);
return json;
},
//支付协议
agreementPaybtn(e) {
let agreeBol = e.detail;
this.setData({
agreementPay: agreeBol,
});
},
showPay() {
this.setData({
agreementPayShow: true,
});
},
showPayClose() {
this.setData({
agreementPayShow: false,
});
},
showDiy(e) {
this.setData({
"diyform.form_id": e.currentTarget.dataset.id,
"diyform.pre_id": e.currentTarget.dataset.preid,
});
if (this._findDiyForm(e.currentTarget.dataset.preid)) {
let diyform_data_id = this._findDiyForm(e.currentTarget.dataset.preid);
this.setData({
"diyform.diyform_data_id": diyform_data_id,
});
}
this.setData({
diyShow: true,
});
},
showDiyClose() {
this.setData({
diyShow: false,
});
},
traCheckedData(data) {
console.log(data);
this._setDiyForm(data.detail.pre_id, data.detail.diyform_data_id);
this.showDiyClose();
},
getList(type) {
let that = this;
let _type = type;
let urlStr = app.getNetAddresss("plugin.package-deliver.frontend.deliver.getList");
if (_type == "o2o") {
urlStr = app.getNetAddresss("plugin.package-deliver.frontend.store.deliver.getList");
}
let point = app.qqMapTransBMap(parseFloat(that.data.point.lng), parseFloat(that.data.point.lat));
app._getNetWork({
url: urlStr,
data: {
city_name: that.data.city,
lat: point.lat,
lng: point.lng,
kwd: "",
goods: JSON.stringify(this._assembleGoods()),
store_id: this.data.options.store_id || 0,
deliver_id: this.options.package_deliver_id|| ''
},
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
if (_type == "shop") {
that.setData({
defaultSelfCarry: JSON.stringify(that.data.defaultSelfCarry) == "{}" ? res.data.list.data[0] : that.data.defaultSelfCarry,
});
} else if (_type == "o2o") {
if (!this.data.o2oSelfCarry.id) {
this.setData({
o2odeliverName: res.data.name,
o2oSelfCarry: res.data.list.data[0] ? res.data.list.data[0] : "" //没有就取第一个为默认自提点
});
}
}
} else {
wx.showToast({
icon: "none",
title: "获取自提点失败",
duration: 1000,
});
}
},
fail: (res) => {
console.log(res);
},
});
},
//获取经纬度
getCurrentOrderLocation() {
wx.getLocation({
type: "gcj02",
success: (res) => {
console.log("userLocationFlag", res);
const latitude = res.latitude;
const longitude = res.longitude;
this._setOrderLocation({
lat: latitude,
lng: longitude,
});
},
});
},
//根据经纬度转换具体地址名称
_setOrderLocation(e) {
let that = this;
app
.getReverseGeocoder(e.lat, e.lng)
.then((res) => {
console.log("userLocationFlag", res);
let recommend = res.address_component;
let orderLocationObj = {
positioning_success: 1,
province: recommend.province,
city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province,
};
that.data.orderLocationObj = orderLocationObj;
})
.catch((err) => {
console.log(err);
});
},
async checkAlbum(scopeName) {
let writePhotosAlbum = await this.getAuthSetting(scopeName);
return new Promise((resolve, reject) => {
if (!writePhotosAlbum) {
wx.showModal({
title: "请开启授权",
content: "是否跳转设置页开启授权",
success(res) {
if (res.confirm) {
wx.openSetting({
success(settingdata) {
if (settingdata.authSetting[scopeName]) {
resolve(true);
} else {
resolve(false);
}
},
});
} else if (res.cancel) {
resolve(false);
}
},
fail: () => {
resolve(false);
},
});
} else resolve(true);
});
},
getAuthSetting(authName) {
return new Promise((resolve, reject) => {
wx.getSetting({
success(res) {
if (!res.authSetting[authName]) {
wx.authorize({
scope: authName,
success() {
resolve(true);
},
fail() {
resolve(false);
},
});
} else resolve(true);
},
fail() {
resolve(false);
},
});
});
},
toO2oSearchDiyBtn() {
//门店搜索插件 自定义下单页按钮
try {
wx.redirectTo({
url: this.data.storeSearchBtn.app_url,
});
} catch (e) {
console.log(e);
}
},
toFullPage() {
// 跳转满额包邮页
if (this.data._root_tag == this.data.TAG_ACTION_BUY) {
//立即购买的,把他添加到购物车,从包邮页去结算变成购物车结算
// 设置主要参数
let urlStr = app.getNetAddresss("postageIncludedCategory.member-cart.store");
app._postNetWork({
url: urlStr,
data: {
goods_id: this.data._goodsId,
total: this.data._total || 1,
option_id: this.data._optionsId || 0
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
let _cart_ids = [];
_cart_ids.push(Number(res.data.cart_id));
wx.navigateTo({
url: '/packageE/orderullPackage/orderullPackage?cart_id=' + JSON.stringify(_cart_ids)
});
}
},
fail: (res) => {
console.log(res);
},
});
} else if (this.data._root_tag == this.data.TAG_ACTION_CART) {
// 购物车下单 JSON.stringify(this.data._cart_ids)
wx.navigateTo({
url: '/packageE/orderullPackage/orderullPackage?cart_id=' + this.options.cart_ids
});
}
},
// 二开页面开发-胜天半子#79514
onChange(e) {
this.setData({
sexSelect: e.detail
});
},
cell_from_inp(e) {
if (e.currentTarget.dataset.key == 'name') {
this.setData({
'design_info.userName': e.detail.value
});
}
if (e.currentTarget.dataset.key == 'phone') {
this.setData({
'design_info.telNumber': e.detail.value
});
}
if (e.currentTarget.dataset.key == 'adress') {
this.setData({
design_address: e.detail.value,
'design_info.detailInfo': e.detail.value
});
}
},
tapShowArea() {
this.setData({
showArea: true
});
},
confirmArea(e) {
this.setData({
userAdress: `${e.detail[0].name} ${e.detail[1].name} ${e.detail[2].name}`,
'design_info.provinceName': e.detail[0].name,
'design_info.cityName': e.detail[1].name,
'design_info.countyName': e.detail[2].name
});
},
changeCityDeliveryCommunity(e) {
this.setData({
cityDelivery_community_id: e.detail
});
},
setCityDeliveryCommunity() {
let cityDelivery_community = this.data.cityDelivery.community_setting.community_list.find((item) => {
return item.id == this.data.cityDelivery_community_id;
});
this.setData({
cityDelivery_community,
selectCommunityShow: false
});
},
openCityDeliveryDay() {
this.selectComponent(`.deliveryTime`).setPopShow();
},
cityDeliveryDayConfirm(evt) {
this.setData({
cityDelivery_deliveryTime: evt.detail
});
this.handleBuy();
},
});