diff --git a/.idea/mshopweapp.iml b/.idea/mshopweapp.iml
deleted file mode 100644
index c956989..0000000
--- a/.idea/mshopweapp.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app.js b/app.js
index 82afd1c..0c0fdaf 100644
--- a/app.js
+++ b/app.js
@@ -51,7 +51,7 @@ App({
config2: null, //门店配置
code: null,
heigth:0,
- user_id:null,//13324010,//4755274,
+ user_id:null,//5682094,
buy_now:null,
picklist:null, //门店列表
wuliuprice: null, //物流价格表
@@ -129,47 +129,70 @@ App({
var th=this;
var pages = getCurrentPages(); //获取加载的页面
var currentPage = pages[pages.length - 1]; //获取当前页面的对象
- var turl="/api/weshop/storeconfig/get/" + th.globalData.setting.stoid;
-
- th.promiseGet(turl,{}).then(res=>{
- var o=res;
- if(o.data.code==0){
- th.globalData.config2 = o.data.data;
- //有配置成要验证过期,因为过期的小程序没有办法审核
- if(th.globalData.config2 && th.globalData.config2.is_overdue){
-
- //要开始验证,小程序有没有购买和过期
- if(!currentPage || currentPage.route.indexOf('error/error')==-1 || currentPage.route.indexOf('index/index')==-1){
- var tt=this.globalData.wxapp_buy_obj;
- if (!tt){
- this.get_isbuy(function (){
- tt=th.globalData.wxapp_buy_obj;
- if (tt.isout == 1){
- th.promiseGet('/api/weshop/store/get/'+t.stoid,{}).then(res=>{
-
- if(!th.err_going){
- wx.reLaunch({
- url: "/pages/error/error?msg=该商城已到期,暂停浏览1!\r\n可联系:"+res.data.data.store_tel,
- });
- }
- })
- }
- else if (tt.isbuy == 0){
-
- if(!th.err_going){
- wx.reLaunch({
- url: "/pages/error/error?msg=还未购买小程序",
- });
- }
-
- }
-
- })
- }
- }
- }
- }
- })
+
+ if(!th.globalData.wxapp_buy_obj) {
+ var turl = "/api/weshop/storeconfig/get/" + th.globalData.setting.stoid;
+ th.promiseGet(turl, {}).then(res => {
+ var o = res;
+ if (o.data.code == 0) {
+ th.globalData.config2 = o.data.data;
+ //有配置成要验证过期,因为过期的小程序没有办法审核
+ if (th.globalData.config2 && th.globalData.config2.is_overdue) {
+
+ //要开始验证,小程序有没有购买和过期
+ if (!currentPage || currentPage.route.indexOf('error/error') == -1 || currentPage.route.indexOf('index/index') == -1) {
+ var tt = this.globalData.wxapp_buy_obj;
+ if (!tt) {
+ this.get_isbuy(function () {
+ tt = th.globalData.wxapp_buy_obj;
+ if (tt && tt.isout == 1) {
+ th.promiseGet('/api/weshop/store/get/' + t.stoid, {}).then(res => {
+
+ if (!th.err_going) {
+ wx.reLaunch({
+ url: "/pages/error/error?msg=该商城已到期,暂停浏览1!\r\n可联系:" + res.data.data.store_tel,
+ });
+ }
+ })
+ }
+ else if (tt && tt.isbuy == 0) {
+
+ if (!th.err_going) {
+ wx.reLaunch({
+ url: "/pages/error/error?msg=还未购买小程序",
+ });
+ }
+
+ }
+
+ })
+ }
+ }
+ }
+ }
+ })
+
+ }
+ else{
+ var tt = th.globalData.wxapp_buy_obj;
+ if (tt && tt.isout == 1) {
+ th.promiseGet('/api/weshop/store/get/' + t.stoid, {}).then(res => {
+ if (!th.err_going) {
+ wx.reLaunch({
+ url: "/pages/error/error?msg=该商城已到期,暂停浏览1!\r\n可联系:" + res.data.data.store_tel,
+ });
+ }
+ })
+ }
+ else if (tt && tt.isbuy == 0) {
+ if (!th.err_going) {
+ wx.reLaunch({
+ url: "/pages/error/error?msg=还未购买小程序",
+ });
+ }
+
+ }
+ }
//获取一下门店的基本信息
this.getConfig();
@@ -417,11 +440,11 @@ App({
arr.splice(0, 2);
}
var arr_tabbar=["/pages/index/index/index",
- "/pages/goods/categoryList/categoryList",
+ "/pages/goods/categoryList/categoryList",
"/pages/goods/categoryList/categoryList?type=2",
"/pages/goods/categoryList/categoryList?type=1",
"/pages/cart/cart/cart","/pages/user/index/index",
- "/pages/distribution/distribution"];
+ "/pages/distribution/distribution"];
if(arr_tabbar.indexOf(url)!=-1){
if(url.indexOf("categoryList?type=1")!=-1) this.globalData.cat_type=1;
if(url.indexOf("categoryList?type=2")!=-1) this.globalData.cat_type=2;
@@ -481,8 +504,8 @@ App({
success:function (res) {
th.globalData.pk_store=null;
if(res.data.code==0 && res.data.data && res.data.data.isstop==0){
- //--门店的数量大于5个才要关心门店的分类有没有关闭--
- if(res.data.data.category_id && num>5){
+ //--门店的数量大于10个才要关心门店的分类有没有关闭--
+ if(res.data.data.category_id && num>10){
th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, {
data: {},
success: function (ee) {
@@ -537,7 +560,8 @@ App({
store_id: this.globalData.setting.stoid,
user_id: this.globalData.user_id,
state:0,
- is_gift:0
+ is_gift:0,
+ pageSize:300
},
success: function(e) {
var num = 0;
@@ -546,13 +570,11 @@ App({
num += e.data.data.pageData[i].goods_num;
}
}
-
/*---
wx.setTabBarBadge({ //tabbar右上角添加文本
index: 2, ////tabbar下标
text: '' + num //显示的内容
});--*/
-
//-- 读取服务卡的数量 --
that.promiseGet("/api/weshop/cartService/page",{
data:{
@@ -619,6 +641,7 @@ App({
this.globalData.config=null; //清除config的缓存
this.globalData.gr_index=0; //商品分组的序列
this.globalData.pk_store=null;
+ this.globalData.wxapp_buy_obj=null
},
@@ -719,12 +742,6 @@ App({
resolve(user_info);
};
});
-
-
-
-
-
-
},
diff --git a/packageC/pages/goods/distributionCategoryList/index.js b/packageC/pages/goods/distributionCategoryList/index.js
index a876f80..29661be 100644
--- a/packageC/pages/goods/distributionCategoryList/index.js
+++ b/packageC/pages/goods/distributionCategoryList/index.js
@@ -302,8 +302,6 @@ Page({
// brand_id:cid,
// })
var lurl = "/packageA/pages/distribution/shop/shop?brand_id=" + bid;
- // var lurl = "/packageA/pages/distribution/shop/shop";
- // wx.redirectTo({ url: lurl });
wx.navigateTo({ url: lurl })
// wx.navigateBack()
},
diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js
index bd4d42b..3382dc6 100644
--- a/packageC/pages/presell/cart/cart.js
+++ b/packageC/pages/presell/cart/cart.js
@@ -3,7 +3,7 @@ var t = getApp(), app = t, a = t.request, e = require("../../../../utils/common.
var oo = t.globalData.setting, os = oo;
var regeneratorRuntime = require('../../../../utils/runtime.js');
var util_pay = require("../../../../utils/pay.js");
-var zh_calc = require("zh_calculate.js");
+
Page({
data: {
@@ -24,15 +24,6 @@ Page({
//页面获取的参数
param: null,
//提交订单的格式
- formData: {
- order_amount: 0,//支付金额
- total_amount: 0,//总价
- all_price: 0,//商品卖的总价
- pay_points: 0,//使用积分
- user_money: 0,//使用余额
- couponCode: "",//使用优惠券(多单就用逗号隔开)
- shipping_price: 0,//物流费用
- },
/*-----------当是购物车结算的时候-------------*/
cartlist: null,
old_cartlist: null,
@@ -69,7 +60,7 @@ Page({
ckeck_quan_price: 0,
check_quan_price_list: '',
check_quan_ware_list: '',
-
+ isget_by_quan: {}, //是否调用了接口获取包邮券
// 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid
//using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"}
using_quan: {},
@@ -120,9 +111,17 @@ Page({
tabs: ['门店自提', '快递邮寄'],
currentTabIndex: 1,
+
+ order_sn:'',
+ order_id:'',
+
},
onLoad: function (t) {
- wx.setNavigationBarTitle({title: "填写订单",})
+
+ if(t.order_id) this.data.order_id=t.order_id;
+ if(t.order_sn) this.data.order_sn=t.order_sn;
+
+ wx.setNavigationBarTitle({title: "订单详情",})
var th = this;
this.setData({is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow,});
th.data.param = t;
@@ -134,7 +133,9 @@ Page({
success: function (s) {
}
});
-
+ if(!getApp().globalData.userInfo){
+ getApp().goto("/pages/togoin/togoin");
+ }
},
onUnload: function () {
@@ -153,18 +154,12 @@ Page({
var th = this;
th.setData({show_submit: 0}); //让提交先掩藏
th.data.g_cart_q_time = null;
-
if (th.data.isclose == 0) {
wx.navigateTo({
- url: "/pages/index/index/index"
+ url:"/pages/index/index/index"
})
-
- } else {
+ }else{
this.getuser_addr(function (ie) {
-
- console.log("getuser_addr")
- console.log(ie)
-
//地址切换要把包邮券清空
if (!th.data.user_addr || !ie || th.data.user_addr.address_id != ie.address_id) {
var using_quan = th.data.using_quan;
@@ -183,40 +178,16 @@ Page({
th.data.prom_goods_map = {};
th.data.is_summit_ing = 0;
//更换地址回来要重新调用计算价钱的接口
- if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) {
- th.setData({user_addr: ie});
- if (th.data.is_b_now == 1) {
- if (th.data.bn_goods) {
- th.setData({add_back: 1});
- //th.calculatePrice2();
- }
- } else {
- if (th.data.cartlist) {
- th.setData({add_back: 1});
- //th.calculatePrice();
- }
- }
+ if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id){
+ th.setData({user_addr: ie});
+ th.setData({add_back: 1});
+ th.calculatePrice2();
} else {
th.setData({user_addr: ie});
}
var going = 0;
-
-
- //使用计时器,避免空现象
- /*---
- var jishi= setInterval(function () {
- if (th.data.is_b_now == 1 && going==0) {
- if(th.data.bn_goods) {
- th.calculatePrice2();going=1;clearInterval(jishi);
- }
- }else if(going==0) {
- if (th.data.cartlist){
- th.calculatePrice();going = 1; clearInterval(jishi);
- }
- }
- },500)--*/
-
});
+
var is_card_back = getApp().globalData.is_card_back;
//--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司
if (!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back) {
@@ -238,7 +209,8 @@ Page({
is_close_quan: json_d.is_close_quan,
sales_rules: ee.sales_rules,
rank_switch: json_d.rank_switch,
- is_default_logistics: is_default_logistics
+ is_default_logistics: is_default_logistics,
+ sys_switch:json_d,
});
var rank_switch = json_d.rank_switch;
@@ -317,11 +289,7 @@ Page({
a.get("/api/weshop/useraddress/page", {
data: {user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600, t: Math.random()},
success: function (su) {
- /*---
- var user_addr=[
- { 'address_id': 882, 'user_id': 2661, 'consignee': '测试测试测', 'province': 3102, 'city': 3431, 'district': 3466,
- 'address': 'ed', 'more_address': '山西-长治市-襄垣县-虎(音si)亭镇', 'mobile': 13012345678,'is_default':1},
- ];---*/
+
var item = null;
if (su.data.code == 0 && su.data.data && su.data.data.pageData) {
var user_addr = su.data.data.pageData;
@@ -349,634 +317,328 @@ Page({
//----------------展示页面,是再获取用户信息之后--------------
show_page: function () {
- var th = this, ta = this.data.param;
- //th.setData({ userinfo: getApp().globalData.userInfo,}); //这个余额被缓存了
-
- //会员的信息,要获取最新
- var user = getApp().globalData.userInfo;
- getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, {
- data: {r: Math.random()},
- success: function (e) {
- getApp().globalData.userInfo = e.data.data;
- th.setData({userinfo: e.data.data});
-
- //选获取地址
- th.getuser_addr(function (addr) {
- th.setData({user_addr: addr});
- //--------------------------立即购买------------------
- if (ta.is_bnow == 1) {
- //读取门店
- to.get_allsto(function (e) {
- th.setData({allsto: e});
- //获取立即购买的商品信息
- th.get_buy_goods(ta.goods_id);
- });
- } else {
- //------------------------购物车结算----------------------
- //读取门店
- to.get_allsto(function (e) {
- th.setData({allsto: e});
- //-------获取购物车已经选择的商品--------
- th.get_cart();
- })
- }
- });
+ var th = this,
+ to = getApp();
+ th.setData({
+ userinfo: to.globalData.userInfo,
+ });
+ //选获取地址
+ th.getuser_addr(function (addr) {
- //获取提现金额
- getApp().request.get("/api/weshop/withdrawals/summoney", {
- data: {user_id: to.globalData.user_id, store_id: oo.stoid, status: 0},
- success: function (su) {
- if (su.data.code == 0) {
- var yuer = parseFloat(th.data.userinfo.user_money -
- (th.data.userinfo.frozen_money > 0 ? th.data.userinfo.frozen_money : 0) - su.data.data.summoney).toFixed(2);
- th.setData({txmon: su.data.data.summoney, yuer: yuer});
- }
- }
+ if (addr == null || addr == undefined || addr.length == 0) {
+ th.setData({
+ enterAddressPage: 1,
});
+ } else {
+ th.setData({
+ user_addr: addr, enterAddressPage: 0,
+ });
+ }
+ //获取立即购买的商品信息
+ th.get_buy_goods(th.data.order_id,th.data.order_sn);
+ });
+ //获取提现金额
+ getApp().request.get("/api/weshop/withdrawals/summoney", {
+ data: {
+ user_id: to.globalData.user_id,
+ store_id: oo.stoid,
+ status: 0
},
+ success: function (su) {
+ console.log("withdrawals");
+ if (su.data.code == 0) {
+ var yuer = parseFloat(th.data.userinfo.user_money -
+ th.data.userinfo.frozen_money - su.data.data.summoney).toFixed(2);
+ th.setData({
+ txmon: su.data.data.summoney,
+ yuer: yuer
+ });
+ }
+ }
});
-
},
+ //-----获取商品------
+ async get_buy_goods(ord,o_sn) {
+ var order = null,
+ order_goods = null,
+ goods = null,
+ pickup = null,
+ distr_type = 0,
+ exp_type = 0,
+ presell=null, //订单从表
+ pre_arr=null, //订单内容
+ th = this;
+
+
+ if(o_sn){
+ //获取order信息根据订单编号order_sn
+ await getApp().request.promiseGet("/api/weshop/order/page", {
+ data: { store_id: os.stoid, order_sn: o_sn,}
+ }).then(res => {
+ order = res.data.data.pageData[0];
+ })
+
- //-----真的获取购物车,入口--------
- get_cart: function () {
- var th = this, app = getApp();
- a.get("/api/weshop/cart/list", {
+ ord=order.order_id;
+ }else{
+ //---获取订单---
+ await getApp().request.promiseGet("/api/weshop/order/get/" + oo.stoid + "/" + ord, {}).then(res => {
+ order = res.data.data;
+ });
+ }
+ //---获取订单从表---
+ await getApp().request.promiseGet("/api/weshop/ordergoods/page", {
data: {
- user_id: to.globalData.user_id, selected: 1, state: 0,
- store_id: oo.stoid, pageSize: 600
- },
- success: async function (su) {
- //按门店分类的数组
- var arr = new Array();
- var carr = su.data.data.pageData;
- th.data.cartlist_y = carr; //存储原始购物车列表
-
- //---是不是购买等级卡成功的返回---等级卡显示的判断---
- var is_card_back = getApp().globalData.is_card_back;
-
- for (var i = 0; i < carr.length; i++) {
- var item1 = carr[i];
- //把已经购买了多少见的内容填入
-
- var goodsbuynum=0,promgoodsbuynum=0;
- //--要获得商品,该用户买了多少件,同步应用--
- await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
- data: {
- store_id: os.stoid,
- user_id: getApp().globalData.user_id,
- goods_id: item1.goods_id,
- prom_type: item1.prom_type,
- prom_id: item1.prom_id
- },
- }).then(res => {
- var buy_num_data = res.data.data;
- if (buy_num_data.promgoodsbuynum) {
- promgoodsbuynum = buy_num_data.promgoodsbuynum;
- }
- goodsbuynum = buy_num_data.goodsbuynum;
- })
- //如果有购买活动
- item1.promgoodsbuynum=promgoodsbuynum;
-
- //要把优惠活动加入,prom_goods_map中,赠品不要运算
- if (item1.prom_type == 3 && item1.is_gift != 1) {
- await th.add_prom_goods_map(item1);
- }
+ store_id: oo.stoid,
+ order_id: ord
+ }
+ }).then(res => {
+ order_goods = res.data.data.pageData[0];
+ });
- //要把组合购的东西拿出来算一下
- if (item1.prom_type == 7) {
- var isok = 1;
- //如果有组合购
- var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id+'/'+getApp().globalData.userInfo.user_id;
- await getApp().request.promiseGet(url, {}).then(res => {
- if (res.data.code == 0 && res.data.data) {
- //如果活动已经结束
- if (res.data.data.is_end == 1) {
- isok = 0;
- }
- if (ut.gettimestamp() > res.data.data.end_time) {
- isok = 0;
- }
- } else {
- //未找到商品的活动
- isok = 0;
- }
- item1.act = res.data.data;
- })
+ await getApp().request.promiseGet("/api/weshop/order/orderPresell/get/"+oo.stoid+"/"+order.order_id, {}).then(res => {
+ presell = res.data.data;
+ });
- if (!isok) {
- getApp().my_warnning("组合购的活动已经过期", 0, th);
- return false;
- }
+ var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: order_goods.goods_id };
+ if(presell.deposit_pay_time>0){
+ pre_data.timetype=12;
+ }
- }
- }
+ pre_data.user_id = order.user_id;
+ var isok=1;
+ await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", {
+ data: pre_data,
+ }).then(e => {
+ if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) {
+ pre_arr = e.data.data.pageData[0];
+ }else{
+ isok=0;
+ }
+ })
+ if(!isok){
+ getApp().confirmBox("活动已经结束,或者会员身份不符合");
+ return false;
+ }
- //在分组的时候,就不要再调用接口,await
- for (var i = 0; i < carr.length; i++) {
- var item = carr[i];
-
- //-- 如果是等级会员注册返回 --
- if (is_card_back) {
- th.data.card_name = th.data.userinfo.card_field;
- //如果是秒杀的返回,就要把活动弄回0
- if (item['prom_type'] == 1) {
- item['prom_type'] = 0;
- item['prom_id'] = 0;
- }
- // 拼团,搭配购不计算,赠品也不计算
- if (item['prom_type'] != 5 && item['prom_type'] != 6 && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
- item.goods_price = item[th.data.card_name];
- carr[i].goods_price = item[th.data.card_name];
+ //等待定金
+ if(order.order_status<2 && presell.deposit_pay_time<=0 ){
+ th.setData({wait_dj:1})
+ }
+ //等待尾款
+ if(order.order_status<2 && presell.deposit_pay_time>0 && presell.tail_pay_state==0 && presell.presell_type!=1){
+ th.setData({wait_wk:1})
+ wx.setNavigationBarTitle({title: "支付尾款",})
+ }
+ //等待发货
+ if(order.pay_status==1 && order.shipping_status==0){
+ th.setData({wait_fh:1})
+ }
- }
- } else {
- // 拼团,搭配购不计算,赠品也不计算,同时会员还未购买等级会员
- if (item[th.data.card_name] > 0 && item['prom_type'] != 5 && item['prom_type'] != 6 && !th.data.userinfo.card_field
- && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
- item.cut_price1 = item.goods_price - item[th.data.card_name];
- carr[i].cut_price1 = (item.goods_price - item[th.data.card_name]) * item.goods_num;
- }
+ if(order.pay_status==1 && order.shipping_status==1 && order.order_status<2){
+ th.setData({wait_sh:1})
+ }
- }
- item.original_img = oo.imghost + item.original_img;
-
- var car_item=item;
- /*----接口要弄出来的,先顶着-----*/
- var pcid = car_item.pick_id;
- var find = 0;
- //----如果有就加进去,没有就新增一个----
- //-----------循环查找门店-------------
- if (arr.length > 0) {
- for (var j = 0; j < arr.length; j++) {
- if (arr[j].pickup_id == pcid) {
- //if(item.is_gift!=1){
- //确定配送方式
- if (arr[j].distr_t == 0) {
- arr[j].distr_t = car_item.distr_type;
- }
- var e_t = 0
- switch (arr[j].distr_t) {
- case 0:
- e_t = 1;
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
- break;
- case 1:
- e_t = 1;
- break;
- case 2:
- e_t = 0;
- break;
- }
- arr[j].exp_type = e_t;
- if (e_t == 0) th.setData({is_all_zt: 0});
- //}
+ //------获取预售主表----------
+ await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell.prom_id, {}).then(res => {
+ if (res.data.code == 0 && res.data.data) {
+ th.setData({
+ act: res.data.data,
+ });
- //-- 把等级卡会优惠多少钱装进去 --
- if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1;
+ }
+ })
- arr[j].goods.push(car_item);
- find = 1;
- break;
- }
- }
- }
- //------如果没有找到-----
- if (find == 0) {
- var pikname = '', sto = null;
- //----找到门店名称-----
- for (var k = 0; k < th.data.allsto.length; k++) {
- if (pcid == th.data.allsto[k].pickup_id) {
- pikname = th.data.allsto[k].pickup_name;
- sto = th.data.allsto[k];
- break;
- }
- }
- var e_t = 0, dis_t = 0;//物流方式,配送方式
- if (item.distr_type == 0) {
- dis_t = sto.distr_type;
- } else {
- dis_t = item.distr_type;
- }
- switch (dis_t) {
- case 0:
- e_t = 1;
- //-- 系统后台有设置要默认的 --
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
- break;
- case 1:
- e_t = 1;
- break;
- case 2:
- e_t = 0;
- break;
- }
- //如果是物流的话,全部自提的控制要弄成0
- if (e_t == 0) th.setData({is_all_zt: 0});
-
- var narr = new Array();
- narr.push(car_item);
-
- //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下-----------------
- var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- if (def_exp_code) {
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
- }
- }
- }
- var ie = {
- pickup_id: pcid,
- pname: pikname,
- goods: narr,
- wind: m_wind,
- distr_t: dis_t,
- card_cut_price: 0,
- exp_type: e_t,
- goods_price: 0,
- shipping_price: 0,
- user_money: 0,
- total_amount: 0,
- order_amount: 0,
- user_note: 0
- };
-
- //-- 把等级卡会优惠多少钱装进去 --
- if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1;
- arr.push(ie);
+ //---获取商品---
+ await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + order_goods.goods_id, {}).then(res => {
+ goods = res.data.data;
+ order.market_price = goods.market_price;
+ order.show_img = oo.imghost + goods.original_img;
+ });
+ //判断使用优惠券的接口需要
+ th.data.check_quan_ware_list = goods.erpwareid;
+ //---获取门店---
+ await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + order.pickup_id, {}).then(res => {
+ pickup = res.data.data;
+ });
+ order['is_all_return'] = 0;
+ //------------对比一下有没有退款记录------------
+ await getApp().request.promiseGet("/api/weshop/order/returngoods/page",{
+ data: { order_id: order.order_id, store_id: oo.stoid,
+ user_id:order.user_id, pageSize: 200 }
+ }).then(rss=>{
+ var ttd=rss;
+ //----没有相关的退款记录----
+ if (ttd.data.data.total==0){
+ order['is_all_return'] = 0;
+ }else{
+ var eea = ttd.data.data.pageData[0];
+ //1.退款正在进行中,
+ //2.退款被拒绝就要显示可以退款
+ //3.退款已经完成
+ order['is_all_return']=1;
+ order['is_all_return_status'] = ttd.data.data.pageData[0].status;
+
+ if (order['order_status'] == 1 && order['pay_status'] == 1) {
+ switch (eea.status) {
+ case 0:
+ case 1:
+ order.order_status_detail="退款中";
+ order['return_btn'] = 2; break;
+ case 2:
+ order.order_status_detail="退款完成";
+ order['return_btn'] = 4; break;
+ case 3:
+ order['return_btn'] = 3; break;
+ default:
+ order['return_btn'] = 0;
}
}
- //-- 如果是回退回来的情况 --
- if (th.data.cartlist && th.data.cartlist.length > 0) {
- for (var kj in th.data.cartlist) {
- for (var ih in arr) {
- var ie = arr[ih];
- if (ie.pickup_id == th.data.cartlist[kj].pickup_id) {
- ie.exp_type = parseInt(th.data.cartlist[kj].exp_type);
- ie.wind = parseInt(th.data.cartlist[kj].wind);
- break;
- }
- }
- }
- }
+ }
+ })
- //-- 循环计算一下线下取价 --
- for (var k = 0; k < arr.length; k++) {
- var c_item = arr[k];
- var item = arr[k].goods;
- var offline_price = 0;
- var offline_num = 0;
- for (var c = 0; c < item.length; c++) {
- if(th.data.sales_rules!=2){
- item[c].offline_price=0;
- }
- //-- 如果这个商品是线下取价的时候 --
- if (item[c].offline_price > 0 && item[c].prom_type != 7 ) {
- offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;
- offline_num += item[c].goods_num;
- }
- }
- if (offline_price > 0) {
- c_item.offline_price = offline_price;
- c_item.offline_num = offline_num;
- c_item.is_offline = 1;
- }
- }
+ var price=presell.presell_price;
+ if(!goods) return false;
+ //--判断物流--
+ if (goods.distr_type)
+ distr_type = goods.distr_type;
+ else
+ distr_type = pickup.distr_type;
+
+ switch (distr_type) {
+ case 0:
+ exp_type = 1;
+ //-- 系统后台有设置要默认的 --
+ if (th.data.sys_switch.pickupway && th.data.sys_switch.pickupway == 1) exp_type = 0;
+ break; //自选
+ case 1:
+ exp_type = 1;
- //每一个门店内的组合购要进行拆分,
- //还得把组合商品的多余商品的线下价格算一算
- for (let var1 in arr) {
- var u_item = arr[var1];
- //把组合购进行分组
- var obj = zh_calc.find_split(u_item);
- if (!obj) continue;
- //存储不同活动的商品列表
- u_item.zh_prom_goods = {};
- for (let var1 in obj) {
- var h_item = obj[var1];
- var gdlist = null;
- var url1 = "/api/weshop/prom/zhbuyGoods/page";
- var req_data = {
- page: 1,
- pageSize: 2000,
- store_id: os.stoid,
- zh_id: h_item.prom_id,
- }
- await getApp().request.promiseGet(url1, {
- data: req_data
- }).then(res => {
- if (ut.ajax_ok(res)) {
- gdlist = res.data.data.pageData;
- }
- })
- //获取活动需要的商品列表
- u_item.zh_prom_goods[h_item.prom_id] = {gdlist: gdlist, act: h_item.act};
- }
- zh_calc.fir_set_arr(u_item, th);
- }
- //深拷贝
- th.data.old_cartlist = JSON.parse(JSON.stringify(arr));
- th.setData({
- cartlist: arr,
- });
- //--- 获取一下看有没有优惠券 ----
- setTimeout(function () {
- var frozenQuan = null;
- var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
- app.request.promiseGet(url0, {1: 1}).then(res => {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- th.calculatePrice();
- th.get_cart_quan();
- })
+ break //自提
+ case 2:
+ exp_type = 0;
+ break; //物流
+ }
- }, 500)
+ //等待发货的时候
+ if(th.data.wait_fh){
+ var send_time=pre_arr.delivery_date;
+ if(pre_arr.delivery_type==2){
+ send_time=pre_arr.delivery_daynum*3600;
+ }
- }
+ }
+
+
+ order.order_goods = order_goods;
+ var tail_pay=pre_arr.presell_price*order_goods.goods_num-presell.presell_deposit;
+ this.setData({
+ order: order,
+ distr_type: distr_type,
+ pickup: pickup,
+ exp_type: exp_type,
+ goods: goods,
+ presell:presell,
+ pre_arr:pre_arr,
+ show_submit:1,
+ userInfo:getApp().globalData.userInfo,
+ tail_pay:tail_pay,
+ order_goods:order_goods,
+ all_price:pre_arr.presell_price*order_goods.goods_num,
+ pickup_id:pickup.pickup_id,
+ send_time:send_time
});
+ th.get_diff();
+ //统一进行计算金额
+ th.calculatePrice2();
+ //如果可以
+ if(pre_arr.is_usecoupon){
+ th.get_buy_now_quan();
+ }
},
- //-----获取立即购买的商品信息,入口----
- get_buy_goods: function (e) {
- var th = this;
- var gg = to.get_b_now();
- //--------如果goods_id一样,就是要立即购买-----
- if (e == gg.goods_id) {
- a.get("/api/weshop/goods/get/" + oo.stoid + "/" + e, {
- success: async function (t) {
- var gd = t.data.data;
- if (!gd) return false;
-
- t.data.data.original_img = oo.imghost + t.data.data.original_img;
- t.data.data['buynum'] = gg.goods_num;
- var distr_t = 0, et = 0
- if (t.data.data.distr_type == 0) {
- distr_t = gg.pick_dis;
- } else {
- distr_t = t.data.data.distr_type;
- }
- switch (distr_t) {
- case 0:
- et = 1;
- //-- 系统后台有设置要默认的 --
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0;
- break;
- case 1:
- et = 1;
- break;
- case 2:
- et = 0;
- break;
+ async calculatePrice2(){
+ var th=this;
+ if(!this.data.pre_arr) return false;
+ //--计算物流--
+ if (this.data.exp_type == 0) {
+ this.calculate_wuliu();
+ } else {
+ var allpice =this.data.pre_arr.presell_price*this.data.order_goods.goods_num;
+ allpice = allpice.toFixed(2);
+ //--看一下有没有订单优惠--
+ var o_condition = parseFloat(allpice);
+ //---如果有选择优惠券的情况下---
+ var quan_price = 0, bn_pick = th.data.pickup.pickup_id;
+ var quan_no = null;
+ if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
+ quan_no = th.data.using_quan[bn_pick].coupon_no;
+ //-- 如果使用的券不是包邮券的时候 --
+ if (quan_no && th.data.using_quan[bn_pick].isby != 1) {
+ //---获取优惠券优惠---
+ await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
+ data: {
+ storeId: oo.stoid,
+ CashRepNo: quan_no,
+ WaresSum: th.data.ckeck_quan_price,
+ WareIds: th.data.check_quan_ware_list
}
-
-
- var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- if (et == 0 && def_exp_code) {
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
- }
- }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
+ quan_price = res.data.data[0].WareCashSum;
}
+ })
+ }
- if (th.data.bn_goods) {
- et = th.data.bn_exp_type;
- m_wind = th.data.index;
+ if(quan_price>0){
+ if (quan_price < o_condition) th.setData({quan_price: quan_price})
+ else {
+ th.setData({quan_price: o_condition})
}
+ o_condition=o_condition-quan_price;
- //---是不是购买等级卡成功的返回---等级卡显示的判断---
- var is_card_back = getApp().globalData.is_card_back;
- if (is_card_back) {
- th.data.card_name = th.data.userinfo.card_field;
- gg.goods_price = gd[th.data.card_name];
- getApp().globalData.is_card_back = 0;
- th.setData({card_cut_price: 0});
- //如果是秒杀的返回
- if (gd.prom_type == 1) gd.prom_type = 0;
- } else {
- //--- 商家等级卡开通的情况下, 会员不是等级会员的情况, 商品有设置等级卡价格,同时等级卡价格小于商品的价格
- //-- 搭配购的商品也可以单独购买,所以此时搭配购的商品要进行计算优惠 --
- if (!gg.collocation_goods && gd['prom_type'] != 6 && th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo.card_field) {
- var cut_p = (gg.goods_price - gd[th.data.card_name]) * gg.goods_num;
- th.setData({card_cut_price: cut_p});
+ }else{
+ th.setData({quan_price: 0})
+ }
+ if(o_condition<0) o_condition=0;
+
+ //如果同意参与订单优惠
+ if (o_condition > 0 && this.data.pre_arr.is_useorderyh) {
+ th.check_is_order_prom(o_condition, function () {
+ var bn_pick=th.data.pickup.pickup_id
+ var order_prom_amount = 0;
+ var order_prom_id = 0;
+ if (th.data.order_prom[bn_pick]) {
+ var ord_prom = th.data.order_prom[bn_pick];
+ order_prom_id = ord_prom['id'];
+ switch (ord_prom['type']) {
+ case 0:
+ o_condition = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
+ order_prom_amount = (o_condition - order_m).toFixed(2);
+ break;
+ case 1:
+ o_condition = o_condition - ord_prom['expression'];//满额优惠金额
+ order_prom_amount = ord_prom['expression'];
+ break;
}
}
-
- switch (gd.prom_type) {
- case 0:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的,
- // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券--
- t.data.data.shop_price = gg.goods_price;
- t.data.data.goods_price = gg.goods_price;
- t.data.data.goods_num = gg.goods_num;
- th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
-
- //-- 如果有线下取价的时候 --
- if (gg.offline_price) {
- t.data.data.offline_price = gg.offline_price;
- t.data.data.pricing_type = gg.pricing_type;
- t.data.data.is_offline = 1;
-
- th.data.ckeck_quan_price = t.data.data.offline_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.offline_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
- }
-
- t.data.data.prom_id = 0;
- t.data.data.prom_type = 0;
-
- //如果立即购买那边过来,就要读取接口,查看活动的优惠内容
- if (gg.prom_type == 3) {
- t.data.data.prom_id = gg.prom_id;
- t.data.data.prom_type = 3;
- //如果是优惠活动,就要调用活动,计算价格
- th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) {
- //判断一下购买商品的数量是不是超过
- if (data.gift_goods_id) {
- var num = 1;
- if (data.is_bz == 1) {
- num = data.bs;
- if (num > data.gift_limit_num) num = 0;
- }
- //如果赠品数量超出礼品库存,就取消
- if (num > data['gift_storecount']) num = 0;
- if (num > 0) {
- var ob = {};
- ob.is_gift = 1;
- ob.prom_id = data.prom_id;
- ob.goods_id = data.gift_goods_id;
- ob.goods_name = data.gift_goods_name;
- ob.goods_color = data.gift_goods_color;
- ob.goods_spec = data.gift_goods_spec;
- ob.original_img = os.imghost + data.gift_original_img;
- ob.market_price = data.gift_market_price;
- ob.gift_id = data.gift_id;
- ob.shop_price = 0;
- ob.buynum = num;
- ob.weight = data.gift_weight; //商品的重量
- ob.exp_sum_type = data.gift_exp_sum_type; //商品的物流计算方式
- ob.uniform_exp_sum = data.gift_uniform_exp_sum //统一运费的金额
-
- th.setData({buy_now_gift_goods: ob});
- }
- }
-
- th.setData({
- bn_goods: data, bn_pickname: gg.pick_name, index: m_wind,
- bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
- });
-
- //计算价格
- th.calculatePrice2();
- //获取优惠券
- th.get_buy_now_quan();
-
- })
- } else {
- //--看是不是搭配促销--
- if (gg.prom_type == 5) {
- t.data.data.prom_id = gg.prom_id;
- t.data.data.prom_type = 5;
- if (gg.room_id) {
- t.data.data.room_id = gg.room_id;
- }
- //--主商品要有导购id和导购类型--
- if (gg.guide_id) {
- t.data.data.guide_id = gg.guide_id;
- t.data.data.guide_type = gg.guide_type;
- }
- th.setData({collocation_goods: gg.collocation_goods});
-
- var cart_arr = new Array();
- //var narr=gg.collocation_goods;
- //修改成深拷贝,确保返回是数据正确
- var narr = JSON.parse(JSON.stringify(gg.collocation_goods));
-
- narr.push(t.data.data);
-
- //-- 搭配促销的门店配送方式的修复 --
- et = 1;
- distr_t = 0;
- for (var hi in narr) {
- var dis_t = narr[hi].distr_type;
- if (dis_t == 2) {
- th.setData({is_all_zt: 0});
- et = 0;
- }
- if (dis_t > 0) {
- distr_t = dis_t;
- }
- }
-
- //自选的时候,系统配置了默认的配送方式是物流的时候
- if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) {
- et = 0;
- }
-
-
- var ie = {
- pickup_id: gg.pick_id,
- pname: gg.pick_name,
- goods: narr,
- exp_type: et,
- wind: m_wind,
- distr_t: distr_t,
- bn_t_exp_t: distr_t,
- goods_price: 0,
- shipping_price: 0,
- user_money: 0,
- total_amount: 0,
- order_amount: 0,
- user_note: 0
- };
- cart_arr.push(ie);
- th.data.old_cartlist = cart_arr;
- }
- th.setData({
- bn_goods: t.data.data, bn_pickname: gg.pick_name, index: m_wind,
- bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
- });
-
-
- //--搭配促销也是按照购物车的方式来计算优惠券--
- if (gg.prom_type == 5) {
- var frozenQuan = null;
- var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
- app.request.promiseGet(url0, {1: 1}).then(res => {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- //计算价格
- th.calculatePrice2();
- th.get_cart_quan();
- });
- } else {
- //计算价格
- th.calculatePrice2();
- //获取优惠券,
- th.get_buy_now_quan();
- }
- }
-
- break;
- case 1: //---秒杀-----
- var quanlist = null;
- getApp().request.get("/api/weshop/activitylist/getSJGoodsPrice/" + gd.store_id
- + "/" + gd.goods_id + "/1/" + gd.prom_id, {
- success: async function (tt) {
- if (tt.data.code == 0) {
- t.data.data.shop_price = tt.data.data.prom_price;
- } else {
- t.data.data.prom_id = 0;
- t.data.data.prom_type = 0;
-
- th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
- }
-
- th.setData({
- bn_goods: t.data.data,
- bn_pickname: gg.pick_name,
- bn_exp_type: et,
- index: m_wind,
- bn_pick: gg.pick_id,
- bn_t_exp_t: distr_t,
- bn_exp_type: et
- });
-
- //计算价格
- th.calculatePrice2();
- //获取优惠券,如果有券的钱,就调用
- if(th.data.ckeck_quan_price>0) th.get_buy_now_quan();
- }
- });
-
- break;
+ //--订单优惠的显示--
+ if (order_prom_id > 0) {
+ var order_prom_txt1 = "order_prom_id";
+ var order_prom_txt2 = "order_prom_amount";
+ th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
}
- },
- });
+ th.setData({ exp_price: 0, order_m: o_condition })
+ })
+ }else{
+ th.setData({ exp_price: 0, order_m: o_condition })
+ }
}
},
@@ -1010,7 +672,8 @@ Page({
},
keyUpChangeNum: function (t) {
this.setData({
- maxWord: t.detail.value.length
+ maxWord: t.detail.value.length,
+ user_note:t.detail.value
});
},
@@ -1176,2618 +839,1797 @@ Page({
}
},
- //-------------------计算订单价格-------------------
- calculatePrice: function (t, s) {
+ set_can_num: function () {
var th = this;
- to.getConfig2(function (ee) {
- to.getwuliuprice(async function (rs) {
- wx.showLoading({
- title: "处理中."
- })
- var all_price = 0; //所有的商品总价
- var all_shipping_m = 0; //所有的物流总价
- var all_total_m = 0; //所有的订单应付总价
- var all_order_m = 0; //所有的订单应付总价
- var all_user_m = 0; //所有的订单用户使用金额
- var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格
- var all_cutprice = 0; //所有的优惠减
- var all_zh_cutprice = 0; //所有的组合优惠减
- var all_order_prom = 0; //所有的订单优惠
-
- var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0);
- var freight_free = ee.freight_free; //全场满多少包邮
- var no_ex_id = ee.no_ex_id;
- var no_ex_good = null;
- var by_qc = {};
-
- if (no_ex_id && freight_free > 0) {
- //-----------获取不包邮区域,不包邮商品-------
- await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods", {
- data: {store_id: os.stoid, id: no_ex_id}
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- by_qc = res.data.data[0];
- }
- })
+ //-- 这个地方,循环计算几张优惠券可用--
+ for (var iter in th.data.cartlist) {
+ var num = 0;
+ var c_item = th.data.cartlist[iter];
+ var pkid = c_item.pickup_id;
+ //-- 普通券 --
+ if (c_item.quan_list) {
+ for (var iter1 in c_item.quan_list) {
+ //判断是不是其他订单有选用
+ var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid);
+ if (!is_other_is_use) num++;
}
- ;
- var c_arr = JSON.parse(JSON.stringify(th.data.old_cartlist));
-
- if (th.data.cartlist && th.data.cartlist.length > 0) {
- for (var i = 0; i < c_arr.length; i++) {
- c_arr[i].exp_type = th.data.cartlist[i].exp_type;
- c_arr[i].wind = th.data.cartlist[i].wind;
- }
+ }
+ //-- 包邮券 --
+ var by_quan = th.data.get_by_quan_list_cart[pkid];
+ if (by_quan) {
+ for (var iter2 in by_quan) {
+ //判断是不是其他订单有选用
+ var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid);
+ if (!is_other_is_use) num++;
}
+ }
+ var set_txt = "cartlist[" + iter + "].can_num";
+ th.setData({[set_txt]: num});
+ }
+ },
+ useCoupon: function () {
+ if (this.data.order.couponNum <= 0) {
+ getApp().my_warnning("无可用优惠券", 0, this);
+ return;
+ }
- //调用函数计算每件商品的单价
- await th.calc_per(c_arr);
- //调用函数计算每件组合购商品的单价,
- await zh_calc.calc_zh_split_price(c_arr,th);
- //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品
- await th.get_cart_quan(c_arr);
- //---循环购物车---
- for (var i in c_arr) {
- //因为搭配购买也是再这里计算,搭配购的is_b_now==1
- if (th.data.is_b_now == 0) {
- //此时物流的选择方式要用th.data.cartlist;
- c_arr[i].exp_type = th.data.cartlist[i].exp_type;
- c_arr[i].wind = th.data.cartlist[i].wind;
- if (th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
- if (th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
- } else {
- c_arr[i].exp_type = th.data.bn_exp_type; //配送方式
- c_arr[i].wind = th.data.index; //立即购买选择的物流
- //c_arr[i].=th.data. //立即购买的使用余额
- if (th.data.cartlist) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
- if (th.data.cartlist) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
- }
+ var a = {
+ lid: this.data.coupon ? this.data.coupon.id : "0"
+ };
+ wx.navigateTo({
+ url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a)
+ });
+ },
+ enterAddressPage: function () {
+ if(!this.data.wait_wk) return false;
- var cart_item = c_arr[i]; //就是每一单的意思
- var pickid = cart_item.pickup_id;
- var o_price = 0;
- var o_price_no_zh=0; //不包含限制优惠叠加组合购的金额汇总
- var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
- var item = c_arr[i].goods; //就是每一单的从表的意思
-
- //---如果有选择优惠券的情况下---
- var quan_price = 0;
- var coupon_price = 0;
- var quan_no = null;
- var is_has_zh=c_arr[i].is_has_zh;
- var zh_prom_goods=c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间
-
- if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined)
- quan_no = th.data.using_quan[pickid].coupon_no;
-
- //普通券的时候
- if (quan_no && th.data.using_quan[pickid].isby != 1) {
- //---获取优惠券优惠---
- await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
- data: {
- storeId: oo.stoid,
- CashRepNo: quan_no,
- WaresSum: cart_item.check_quan_price_list,
- WareIds: cart_item.check_quan_ware_list
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- var q_data = res.data.data;
- //--存储商品优惠的内容--
- cart_item.quan_youhui_list = q_data;
- for (var k in q_data)
- quan_price += q_data[k].WareCashSum;
- }
- })
- }
+ getApp().globalData.is_cart_old = 1;
+ this.data.isget_by_quan = {};
+ this.data.enterAddressPage = !0, wx.navigateTo({
+ url: "/pages/user/address_list/address_list"
+ });
+ },
- //--------循环计算总价-----------
- for (var j = 0; j < item.length; j++) {
- if(item[j].prom_type!=7){
- o_price_no_zh += item[j].goods_price * item[j].goods_num;
- }
- //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加
- else if(zh_prom_goods && zh_prom_goods[item[j].prom_id] && zh_prom_goods[item[j].prom_id].act.is_orderyh )
- {
- o_price_no_zh += item[j].goods_price * item[j].goods_num;
- }
- o_price += item[j].goods_price * item[j].goods_num;
- }
- //判断是不是有组合购的金额
- var f_o_price = o_price;
- //如果又优惠的钱,就要减价
- if (c_arr[i].cut_price > 0){
- o_price -= c_arr[i].cut_price;
- o_price_no_zh-=c_arr[i].cut_price;
- }
- //如果有组合购优惠的钱,就要减价
- if (c_arr[i].zh_cut_price>0 || c_arr[i].zh_cut_price<0){
- o_price -= c_arr[i].zh_cut_price;
- if(o_price_no_zh>0){
- //找到那些可以订单优惠叠加的
- for(let ij in zh_prom_goods){
- let kitem=zh_prom_goods[ij];
- if(kitem.act.is_orderyh) continue;
- o_price_no_zh-=kitem.cut_price;
- }
- }
- }
-
- //-- 计算线下取价的功能 --
- if (cart_item.is_offline == 1) {
- o_price = o_price - cart_item.offline_price;
- o_price_no_zh-=c_arr[i].offline_price;
- }
- //判断包邮券的钱,组合购的商品不使用优惠券
- var q_conditin = 0;
- q_conditin = o_price - quan_price;
- if(is_has_zh){
- q_conditin = o_price_no_zh - quan_price;
- }
- cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算
- //计算物流费用
- cart_item.shipping_price = 0;
-
-
- //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额--
- if (no_ex_id && freight_free > 0 && (o_price - quan_price) >= freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list)) {
- //如果有设置不包邮区域的时候
- if (by_qc.region_list != "" && by_qc.region_list != null && by_qc.region_list != undefined) {
- if (th.check_by_area(by_qc.region_list)) {
- freight_free = 0;
- th.data.is_no_by[pickid] = 1;
- }
- }
- //如果有设置不包邮区商品
- if (by_qc.goods_list != "" && by_qc.goods_list != undefined && by_qc != null && freight_free > 0) {
- freight_free = 0;
- no_ex_good = by_qc.goods_list;
- }
- }
-
- //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额--
- if (cart_item.exp_type == 0 && th.data.user_addr != null) {
- //看是不是有调用过包邮券
- if (!th.data.isget_by_quan[pickid]) {
- //--判断要不要显示包邮券,调用接口,因为有for循环---
- await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
- data: {
- store_id: os.stoid,
- isuse: 0,
- condition: q_conditin,
- user_id: getApp().globalData.user_id,
- pageSize: 2000
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.total > 0) {
- //此时要循环判断包邮的地区,不包邮商品是不是符合
- var arr = [], quanlist = res.data.data.pageData;
- quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
- for (var i in quanlist) {
- var item = quanlist[i];
- var goods = cart_item.goods;
- var g_arr = [];
- for (var ii in goods) {
- g_arr.push(goods[ii].goods_id);
- }
- if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
- if (item.goods_list) {
- var no_goods_arr = item.goods_list.split(",");
- if (ut.isContained(no_goods_arr, g_arr)) continue; //如果是不包邮商品
- }
- arr.push(item);
- }
- if (arr) {
- th.data.get_by_quan_list_cart[pickid] = arr;
- //th.setData({get_by_quan_list_cart:th.data.get_by_quan_list_cart});
- if (th.data.is_b_now) {
- th.setData({get_by_quan_list: arr});
- }
- }
- th.data.isget_by_quan[pickid] = 1;
- }
- })
- }
- }
-
- //如果是包邮券的时候,要看看券的情况
- if (quan_no && th.data.using_quan[pickid].isby == 1) {
- var quan = th.data.using_quan[pickid];
- if (!quan.goods_list) {
- th.data.is_quan_by[pickid] = 1; //专门给券的判断用的
- } else {
- th.data.is_quan_by[pickid] = 0;
- //看有没有模板的包邮
- if (no_ex_good) {
- var arr = no_ex_good.split(",");
- var arr2 = quan.goods_list.split(",");
- if (ut.isContained(arr, arr2)) {
- getApp().my_warnning("全场不包邮商品和包邮券的重复", 0, th);
- th.data.using_quan[pickid] = {};
- th.setData({using_quan: th.data.using_quan})
- return false;
- }
- var n_arr = ut.mergeArray(arr, arr2);
- no_ex_good = n_arr.join(",");
- } else {
- no_ex_good = quan.goods_list;
- }
- }
- } else {
- th.data.is_quan_by[pickid] = 0; //专门给券的判断用的
- }
-
- //--------循环计算总价-----------
- for (var j = 0; j < item.length; j++) {
- //如果都包邮,都没必要等级数量了
- if (th.data.is_quan_by[pickid]) continue;
- //如果是优惠活动是包邮,就不用计算包邮的费用了
- if (item[j].is_past) continue;
- //是不是不包邮的商品
- var is_good_no_by = 0;
- if (no_ex_good) {
- is_good_no_by = th.check_by_goods(no_ex_good, item[j].goods_id);
- }
-
- //如果达到全场包邮的条件,同时,没有地区不包邮,或者商品不包邮
- if (o_price - quan_price >= freight_free && freight_free > 0 && !is_good_no_by && th.data.is_no_by[pickid] != 1) {
- continue;
- }
-
- //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算--
- if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && !is_good_no_by) {
- continue;
- }
-
- var no_ex_good_arr = null;
- if (no_ex_good) no_ex_good_arr = no_ex_good.split(',');
-
- //----------------如果是选择了物流---------------------
- if (cart_item.exp_type == 0 && item[j].is_free_shipping == 0 && (!no_ex_good_arr || no_ex_good_arr.indexOf(item[j].goods_id + '') > -1 )) {
-
- //如果地址不为空
- if (th.data.user_addr != null) {
- switch (item[j]['exp_sum_type']) {
- case 1:
- //统一运费
- o_shipping_price += item[j]['uniform_exp_sum'];
- break;
- case 2:
- +''
- if (goods_weight < 0) goods_weight = 0;
- //累积商品重量 每种商品的重量 * 数量
- goods_weight += item[j]['weight'] * item[j]['goods_num'];
-
- break;
- case 3:
- if (goods_piece < 0) goods_piece = 0;
- //累积商品数量
- goods_piece += item[j]['goods_num'];
- break;
- }
- }
-
- }
- }
-
- //计算物流价格
- if (cart_item.exp_type == 0) {
- //freight_free=0; //后面不在进行判断
- var code = "";
- if (th.data.wu_arr && th.data.wu_arr[cart_item.wind])
- code = th.data.wu_arr[cart_item.wind].code;
- cart_item.shipping_price =
- th.calculatewuliu(code, o_shipping_price, goods_weight,
- goods_piece, th.data.user_addr, freight_free, o_price - quan_price, rs);
-
- if (!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby != 1) {
- if (cart_item.shipping_price == 0) th.data.is_by[pickid] = 1; //已经全场包邮,就不要选择券了
- }
- } else {
- cart_item.shipping_price = 0;
- }
-
- cart_item.shipping_price = cart_item.shipping_price.toFixed(2);
-
- //总价计算,总价不包含运费
- cart_item.order_amount = (o_price - quan_price).toFixed(2);
- cart_item.total_amount = f_o_price.toFixed(2);
-
- var order_prom_amount = 0;
- var order_prom_id = 0;
- var o_condition = cart_item.order_amount;
- //看一下是不是不用组合购的订单优惠的叠加
- if(is_has_zh){
- o_condition=o_price_no_zh-quan_price;
- }
-
- var order_m = 0;
- //---判断是不是有订单优惠---
- await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
- data: {store_id: os.stoid, orderAmount: o_condition}
- }).then(res => {
- if (res.data.code == 0) {
- var ord_prom = res.data.data;
- order_prom_id = ord_prom['id'];
- switch (ord_prom['type']) {
- case 0:
- order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
- order_prom_amount = (o_condition - order_m).toFixed(2);
- break;
- case 1:
- //order_m = o_condition - ord_prom['expression'];//满额优惠金额
- order_prom_amount = ord_prom['expression'];
- break;
- }
- }
- })
-
- cart_item.order_prom_amount = 0;
- //--订单优惠的显示--
- if (order_prom_id > 0) {
- cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2);
- cart_item.order_prom_id = order_prom_id;
- cart_item.order_prom_amount = order_prom_amount;
- }
- coupon_price = quan_price;
- if (cart_item.order_amount < 0) {
- cart_item.order_amount = 0;
- coupon_price = o_price;
- }
-
- cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额
- cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额
- cart_item.total_amount = cart_item.total_amount.toFixed(2);
- cart_item.order_amount = cart_item.order_amount.toFixed(2);
-
- //搭配购在使用余额
- if (th.data.bn_use_money == 1 && th.data.is_b_now == 1) {
-
- if (umoney > cart_item.order_amount) {
- cart_item.user_money = cart_item.order_amount;
- umoney = umoney - cart_item.order_amount;
- } else {
- cart_item.user_money = umoney;
- umoney = 0;
- }
-
- } else {
- //--------------如果使用余额,购物车购买---------------------
- if (th.data.js_use_money == 1) {
- if (umoney > cart_item.order_amount) {
- cart_item.user_money = cart_item.order_amount;
- umoney = umoney - cart_item.order_amount;
- } else {
- cart_item.user_money = umoney;
- umoney = 0;
- }
- } else {
- cart_item.user_money = 0;
- }
- }
-
- cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2);
- if (coupon_price > 0) cart_item.coupon_price = coupon_price.toFixed(2);
- else cart_item.coupon_price = coupon_price
- if (quan_no) cart_item.quan_no = quan_no;
-
-
- //cart_item.goods_price = o_price.toFixed(2);
- cart_item.order_amount = cart_item.order_amount - cart_item.user_money; //会员使用余额
-
-
- all_price += parseFloat(f_o_price);
- all_total_m += parseFloat(cart_item.total_amount);
- all_shipping_m += parseFloat(cart_item.shipping_price);
- all_order_m += parseFloat(cart_item.order_amount);
- all_user_m += parseFloat(cart_item.user_money);
- all_coupon_price_m += parseFloat(cart_item.coupon_price);
- all_cutprice += parseFloat(cart_item.cut_price);
- all_zh_cutprice += parseFloat(cart_item.zh_cut_price);
- all_order_prom += parseFloat(cart_item.order_prom_amount);
- }
-
- all_shipping_m = parseFloat(all_shipping_m).toFixed(2);
- all_total_m = parseFloat(all_total_m).toFixed(2);
- all_order_m = parseFloat(all_order_m).toFixed(2);
- all_price = parseFloat(all_price).toFixed(2);
- all_user_m = parseFloat(all_user_m).toFixed(2);
- all_total_m = parseFloat(all_total_m).toFixed(2);
- all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2);
- all_cutprice = all_cutprice.toFixed(2);
- all_order_prom = all_order_prom.toFixed(2);
- all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2);
-
- var atxt = "formData.total_amount";
- var atxt1 = "formData.order_amount";
- var atxt2 = "formData.all_price";
- var atxt3 = "formData.user_money";
- var atxt4 = "formData.shipping_price";
- var atxt5 = "formData.coupon_price";
- var atxt6 = "formData.cut_price";
- var atxt7 = "formData.order_prom_amount";
- var atxt8 = "formData.zh_cut_price";
-
- th.setData({
- [atxt]: all_total_m, [atxt1]: all_order_m,
- [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m,
- [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice,
- [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice
- })
- th.data.order_prom_list_cart = c_arr;
- th.set_can_num();
- wx.hideLoading();
-
- });
- });
- },
-
- set_can_num: function () {
+ //--------立即购买时,选择自提和物流----------
+ setexptype: function (t) {
var th = this;
- //-- 这个地方,循环计算几张优惠券可用--
- for (var iter in th.data.cartlist) {
- var num = 0;
- var c_item = th.data.cartlist[iter];
- var pkid = c_item.pickup_id;
- //-- 普通券 --
- if (c_item.quan_list) {
- for (var iter1 in c_item.quan_list) {
- //判断是不是其他订单有选用
- var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid);
- if (!is_other_is_use) num++;
- }
- }
- //-- 包邮券 --
- var by_quan = th.data.get_by_quan_list_cart[pkid];
- if (by_quan) {
- for (var iter2 in by_quan) {
- //判断是不是其他订单有选用
- var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid);
- if (!is_other_is_use) num++;
- }
- }
- var set_txt = "cartlist[" + iter + "].can_num";
- th.setData({[set_txt]: num});
- }
- },
-
-
- //---------计算立即购买----------
- calculatePrice2: function () {
- var th = this, good = this.data.bn_goods;
-
- if (!good) return false;
-
- //搭配的计算要用购物的车计算方法
- if (good.prom_type == 5) {
- th.calculatePrice();
- return false;
- }
-
- wx.showLoading({
- title: "处理中."
- })
- //-----------计算商品总价--------------
- var allpice = good.shop_price * good.buynum;
- var cut_price = 0;
- var allpice1 = allpice;
-
-
- if (good.prom_type == 3 && good.prom_price !== null) {
- cut_price = allpice - good.prom_price;
+ var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ th.setData({bn_exp_type: ty});
+ if (ty == 0) {
+ th.setData({is_all_zt: 0});
}
- allpice = parseFloat(allpice).toFixed(2);
- var txt = "formData.all_price";
- th.setData({[txt]: allpice,});
- if (cut_price) {
- var c_txt = "formData.cut_price";
- th.setData({[c_txt]: cut_price,});
-
+ //当物流为空的时候。
+ if (ty == 0 && th.data.wu_arr == null) {
+ th.data.isget_by_quan = {};
+ return th.get_wuliu(th.calculatePrice2());
}
- //如果有线下取价的时候
- if (good.is_offline) {
- allpice = good.offline_price * good.buynum;
+ //--自提就要把包邮券清理掉--
+ if (ty == 1) {
+ th.data.isget_by_quan = {};
+ if (th.data.using_quan[bn_pick] && th.data.using_quan[bn_pick].isby == 1) {
+ th.setData({using_quan: {}});
+ }
}
-
- to.getConfig2(function (ee) {
- to.getwuliuprice(async function (rs) {
-
- var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
-
- //---如果有选择优惠券的情况下---
- var quan_price = 0, bn_pick = th.data.bn_pick;
- var quan_no = null;
- if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
- quan_no = th.data.using_quan[bn_pick].coupon_no;
-
- if (quan_no) {
- if (th.data.using_quan[bn_pick].isby != 1) {
- //---获取优惠券优惠---
- await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
- data: {
- storeId: oo.stoid,
- CashRepNo: quan_no,
- WaresSum: th.data.ckeck_quan_price,
- WareIds: th.data.check_quan_ware_list
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- quan_price = res.data.data[0].WareCashSum;
- }
- })
- }
- }
-
- //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
- if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1) {
- //看是不是有调用过包邮券
- if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) {
- var condition = allpice - cut_price - quan_price;
- //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱---
- getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
- data: {
- store_id: os.stoid,
- isuse: 0,
- condition: condition,
- user_id: getApp().globalData.user_id,
- pageSize: 2000
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.total > 0) {
- //此时要循环判断包邮的地区,不包邮商品是不是符合
- var arr = [], quanlist = res.data.data.pageData;
- quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
- for (var i in quanlist) {
- var item = quanlist[i];
- if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
- if (item.goods_list && th.check_by_goods(item.goods_list)) continue; //如果是不包邮商品
- arr.push(item);
- }
- if (arr) {
- th.setData({get_by_quan_list: arr});
- }
- th.data.isget_by_quan[th.data.bn_pick] = 1;
- }
- })
- }
-
- switch (good['exp_sum_type']) {
- case 1:
- //统一运费
- o_shipping_price += good['uniform_exp_sum'];
- break;
- case 2:
- if (goods_weight < 0) goods_weight = 0;
- //累积商品重量 每种商品的重量 * 数量
- goods_weight += good['weight'] * good['buynum'];
- break;
- case 3:
- if (goods_piece < 0) goods_piece = 0;
- //累积商品数量
- goods_piece += good['buynum'];
- break;
- }
-
- var code = "";
- if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code;
- var freight_free = ee.freight_free; //全场满多少包邮
- var no_ex_id = ee.no_ex_id;
- th.data.is_no_by[th.data.bn_pick] = 0;
-
- var no_by_data = null;
- var gift_freight_free = freight_free;
-
-
- //有不包邮区域,且不免运费
- if (no_ex_id && freight_free > 0 && freight_free <= parseFloat(allpice) - cut_price - quan_price) {
- //-----------获取不包邮区域,不包邮商品-------
- await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods", {
- data: {store_id: os.stoid, id: no_ex_id}
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- no_by_data = res.data.data[0];
- //如果有设置不包邮区域的时候
- if (res.data.data[0].region_list) {
- if (th.check_by_area(res.data.data[0].region_list)) {
- freight_free = 0;
- th.data.is_no_by[th.data.bn_pick] = 1;
- }
- }
- //如果有设置不包邮商品
- if (res.data.data[0].goods_list && freight_free) {
- if (th.check_by_goods(res.data.data[0].goods_list)) {
- freight_free = 0;
- th.data.is_no_by[th.data.bn_pick] = 1;
- }
- }
- }
- })
- }
-
- th.data.is_by[th.data.bn_pick] = 0;
- //--------------开始计算物流------------------
- var shipping_price =
- th.calculatewuliu(code, o_shipping_price, goods_weight,
- goods_piece, th.data.user_addr, freight_free, parseFloat(allpice) - cut_price - quan_price, rs);
-
- //如果有赠品的时候,也要计算赠品的物流费用
- if (th.data.buy_now_gift_goods) {
- shipping_price = th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free,
- parseFloat(allpice) - cut_price - quan_price, rs, shipping_price, no_by_data, goods_weight, goods_piece);
- }
-
- if (shipping_price <= 0) {
- th.data.is_by[th.data.bn_pick] = 1; //已经是包邮了,就不要选择包邮券
- }
-
- shipping_price = parseFloat(shipping_price).toFixed(2);
- var wl_txt = "formData.shipping_price";
- th.setData({[wl_txt]: shipping_price,})
-
- } else {
- var wl_txt = "formData.shipping_price";
- th.setData({[wl_txt]: 0,})
- }
-
- if (quan_no) {
- if (th.data.using_quan[bn_pick].isby == 1) {
- shipping_price = 0;
- var wl_txt = "formData.shipping_price";
- th.setData({[wl_txt]: 0,})
- }
- }
- //-----------------支付价,优惠券不减物流-----------------
- var total_m = (parseFloat(allpice1)).toFixed(2);
- var order_m = (parseFloat(allpice - cut_price) - quan_price).toFixed(2);
- var coupon_price = quan_price; //优惠券优惠了多少钱
- if (order_m < 0) {
- order_m = 0;
- coupon_price = parseFloat(order_m).toFixed(2);
- }
- //--看一下有没有订单优惠--
- var o_condition = parseFloat(order_m);
- if (o_condition > 0) {
- th.check_is_order_prom(o_condition, function () {
- var order_prom_amount = 0;
- var order_prom_id = 0;
- if (th.data.order_prom[th.data.bn_pick]) {
- var ord_prom = th.data.order_prom[th.data.bn_pick];
- order_prom_id = ord_prom['id'];
- switch (ord_prom['type']) {
- case 0:
- order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
- order_prom_amount = (o_condition - order_m).toFixed(2);
- break;
- case 1:
- order_m = o_condition - ord_prom['expression'];//满额优惠金额
- order_prom_amount = ord_prom['expression'];
- break;
- }
- }
- //--订单优惠的显示--
- if (order_prom_id > 0) {
- var order_prom_txt1 = "formData.order_prom_id";
- var order_prom_txt2 = "formData.order_prom_amount";
- th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
- }
-
- total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
- order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
-
- total_m = total_m.toFixed(2);
- order_m = order_m.toFixed(2);
-
- var atxt = "formData.total_amount";
- th.setData({[atxt]: total_m,})
-
- var txt = "formData.user_money";
- var txt2 = "formData.order_amount";
- var txt3 = "formData.coupon_price";
- var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
- //--------------如果使用余额---------------------
- if (th.data.bn_use_money == 1) {
- if (amoney > order_m) {
- order_m = parseFloat(order_m).toFixed(2);
- th.setData({[txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1})
- } else {
- order_m = parseFloat(order_m) - parseFloat(amoney);
- order_m = order_m.toFixed(2);
- th.setData({[txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1})
- }
- } else {
- th.setData({[txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1})
- }
- //优惠活动送积分
- if (good.s_intValue) {
- txt = "formData.give_integral";
- th.setData({[txt]: good.s_intValue});
- }
- //优惠送券
- if (good.s_coupon_id) {
- var i_txt = "formData.give_coupon_id";
- //这个是json格式的
- var i_txt1 = "formData.g_coupon_num";
- var ob = [{"num": good.s_coupon_num, "c_id": good.s_coupon_id}];
- ob = JSON.stringify(ob);
- th.setData({[i_txt]: good.s_coupon_id, [i_txt1]: ob});
- }
- //优惠礼包
- if (good.s_libao) {
- var l_txt = "formData.give_lb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_lb_num";
- var ob = [{"num": good.s_lb_num, "l_id": good.s_libao}];
- ob = JSON.stringify(ob);
- th.setData({[l_txt]: good.s_libao, [l_txt1]: ob});
- }
- })
- } else {
- total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
- order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
- var atxt = "formData.total_amount";
-
- total_m = total_m.toFixed(2);
- order_m = order_m.toFixed(2);
-
- th.setData({[atxt]: total_m,})
-
- var txt = "formData.user_money";
- var txt2 = "formData.order_amount";
- var txt3 = "formData.coupon_price";
- var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
- //--------------如果使用余额---------------------
- if (th.data.bn_use_money == 1) {
- if (amoney > order_m) {
- order_m = parseFloat(order_m).toFixed(2);
- th.setData({[txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1})
- } else {
- order_m = parseFloat(order_m) - parseFloat(amoney);
- order_m = order_m.toFixed(2);
- th.setData({[txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1})
- }
- } else {
- th.setData({[txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1})
- }
- //优惠活动送积分
- if (good.s_intValue) {
- txt = "formData.give_integral";
- th.setData({[txt]: good.s_intValue});
- }
- //优惠送券
- if (good.s_coupon_id) {
- var i_txt = "formData.give_coupon_id";
- //这个是json格式的
- var i_txt1 = "formData.g_coupon_num";
- var ob = [{"num": good.s_coupon_num, "c_id": good.s_coupon_id}];
- ob = JSON.stringify(ob);
- th.setData({[i_txt]: good.s_coupon_id, [i_txt1]: ob});
- }
- //优惠礼包
- if (good.s_libao) {
- var l_txt = "formData.give_lb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_lb_num";
- var ob = [{"num": good.s_lb_num, "l_id": good.s_libao}];
- ob = JSON.stringify(ob);
- th.setData({[l_txt]: good.s_coupon_id, [l_txt1]: ob});
+ //判断有没有默认的物流地址值
+ if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
+ var wu_arr = this.data.wu_arr;
+ if (wu_arr != null && wu_arr != "") {
+ for (var i = 0; i < wu_arr.length; i++) {
+ if (wu_arr[i].shipping_code == def_exp_code) {
+ th.setData({index: i});
}
}
-
- wx.hideLoading();
-
- });
- });
- },
-
- //--------------------提交订单-----------------------
- async submitForm(t){
- var sub_value = t;
-
- if (this.data.is_summit_ing == 1) return false; //--提交中退出--
- this.data.is_summit_ing = 1;
- var th = this, pdata = new Array();
- var ff = true;
- //------------立即购买-------------
- if (th.data.is_b_now == 1 && th.data.bn_goods.prom_type != 5) {
-
- if (th.data.bn_exp_type == 0 && th.data.user_addr == null) {
- ff = false;
- getApp().my_warnning("请选择收货地址", 0, th);
- th.data.is_summit_ing = 0;
- }
- if (!ff) return false;
- var addr = th.data.user_addr;
- if (th.data.bn_exp_type == 1) addr = null;
-
- if (th.data.bn_exp_type == 0)
- if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
- getApp().my_warnning("读取物流失败", 0, th);
- th.data.is_summit_ing = 0;
- return false;
- }
-
- var item = {
- 'user_id': to.globalData.user_id,
- 'consignee': addr == null ? "" : addr.consignee,
- 'province': addr == null ? 0 : addr.province,
- 'city': addr == null ? 0 : addr.city,
- 'district': addr == null ? 0 : addr.district,
- 'twon': addr == null ? 0 : addr.twon,
- 'address': addr == null ? "" : addr.address,
- 'more_address': addr == null ? "" : addr.more_address,
- //'mobile': th.data.userinfo.mobile,
- 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
- 'email': '',
- 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code,
- 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name,
- 'invoice_title': '',
- 'goods_price': th.data.formData.all_price, //商品总价
- 'shipping_price': th.data.formData.shipping_price, //物流金额
- 'user_money': th.data.formData.user_money, //使用余额
- 'total_amount': th.data.formData.total_amount, //订单总价
- 'order_amount': th.data.formData.order_amount, //应付
- 'user_note': t.detail.value.user_note, //用户备注
- 'store_id': oo.stoid, //商家
- 'pickup_id': th.data.bn_pick, //门店
- 'exp_type': th.data.bn_exp_type, //配送方式
- 'order_goods': new Array(),
- };
- //是不是重新提交
- if (th.data.is_continue == 1) item.is_continue = 1;
-
- //获取立即购买的商品的信息
- var gg = to.get_b_now();
- //--商品的房间号--
- if (gg.room_id && gg.room_id > 0) {
- item.room_ids = gg.room_id;
- }
-
- var order_prom_list = {};
- //--判断有没有优惠活动--
- if (th.data.order_prom[item.pickup_id]) {
- if (th.data.formData.order_prom_amount > 0) {
- order_prom_list.order_prom_id = th.data.formData.order_prom_id;
- order_prom_list.order_prom_amount = th.data.formData.order_prom_amount;
- }
- }
-
- //--判断优惠活动的提交--
- if (th.data.formData.cut_price > 0 ) {
- order_prom_list.discount_amount = th.data.formData.cut_price.toFixed(2);
- var ob = [{
- "prom_id": th.data.bn_goods.prom_id,
- "dis": parseFloat(th.data.formData.cut_price).toFixed(2),
- "ispt": 0
- }]
- order_prom_list.prom_pt_json = JSON.stringify(ob);
- }
- if (th.data.formData.give_integral > 0) {
- order_prom_list.give_integral = th.data.formData.give_integral;
- }
- if (th.data.formData.give_coupon_id > 0) {
- order_prom_list.give_coupon_id = th.data.formData.give_coupon_id;
- order_prom_list.g_coupon_num = th.data.formData.g_coupon_num;
- }
- if (th.data.formData.give_lb_id > 0) {
- order_prom_list.give_lb_id = th.data.formData.give_lb_id;
- order_prom_list.g_lb_num = th.data.formData.g_lb_num;
}
- item.order_prom_list = order_prom_list;
-
- //组装优惠券的钱
- if (parseFloat(th.data.formData.coupon_price) > 0) {
- item.coupon_price = th.data.formData.coupon_price;
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- }
- if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby) {
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- item.coupon_price = 0;
- }
-
- //老会员成为分销下线需要的参数
- if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
- //判断一下分享人是不是分享商
- await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
- if (res.data.code == 0) {
- var user = res.data.data;
- if (user.is_distribut == 1) {
- item.first_leader = parseInt(getApp().globalData.first_leader);
- }
- }
- })
- }
-
- var goods = {
- 'goods_id': gg.goods_id,
- 'goods_name': gg.goods_name,
- 'goods_sn': gg.goods_sn,
- 'goods_num': gg.goods_num,
- 'market_price': th.data.bn_goods.market_price,
- 'goods_price': th.data.bn_goods.shop_price,
- 'member_goods_price': th.data.bn_goods.shop_price,
- 'store_id': oo.stoid,
- 'prom_type': th.data.bn_goods.prom_type, //促销活动类型
- 'prom_id': th.data.bn_goods.prom_id, //促销活动id
- };
-
- //-- 把导购的信息填入--
- if (gg.guide_id) {
- goods.guide_id = gg.guide_id;
- goods.guide_type = gg.guide_type;
- //调用接口判断是不是会员
- await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => {
- if (res.data.code == 0) {
- goods.guide_name = res.data.data.salesman;
- goods.guide_sn = res.data.data.salesman_no;
- }
- })
- }
-
- //--商品的房间号--
- if (gg.room_id && gg.room_id > 0) {
- goods.room_id = gg.room_id;
- }
-
- //积分购,先要带is_integral_normal=1
- if (gg.is_integral_normal) goods.is_integral_normal = 1;
+ }
+ th.calculatePrice2()
- //先要带is_pd_normal=1
- if (gg.is_pd_normal) goods.is_pd_normal = 1;
+ },
- //如果不立即购买或者秒杀,如果是线下库存购买的时候
- if (goods.prom_type != 1 && goods.prom_type != 6 && th.data.sales_rules == 2) {
- var isok = 1;
- await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) {
- isok = res;
- });
- if (!isok) {
- getApp().confirmBox("商品的门店库存不足");
- th.data.is_summit_ing = 0;
- return false;
- }
+ //--------立即购买时,使用余额--------
+ set_bn_useyuer: function () {
+ var th = this;
+ th.setData({bn_use_money: !th.data.bn_use_money});
+ th.calculatePrice2();
+ },
+ //-------------------计算物流---------------
+ calculatewuliu: function (code, o_shipping_price, goods_weight,
+ goods_piece, user_addr, freight_free, o_price, rs) {
+ var price = 0, th = this;
+ price += parseFloat(o_shipping_price);
+ //如果是包邮
+ if (freight_free > 0 && o_price >= freight_free) {
+ return 0;
+ }
+ if (user_addr == null) {
+ return 0;
+ }
+ //计算物流的config item;
+ var item = null;
+ //先根据 镇 县 区找计算的config
+ item = th.get_wuliu_config(user_addr.district, code, rs);
+ if (item == null) item = th.get_wuliu_config(user_addr.city, code, rs);
+ if (item == null) item = th.get_wuliu_config(user_addr.province, code, rs);
+ if (item == null) item = th.get_wuliu_default(code, rs);
+ if (item == null) return o_shipping_price;
+ var fw_price = 0, fp_price = 0;
+ item = item.config;
+ if (item == null) return o_shipping_price;
+ //------按重量----------
+ if (goods_weight >= 0 && item['money']) {
+ fw_price = parseFloat(item['money']);
+ if (goods_weight > item['first_weight']) {
+ var fw = goods_weight - item['first_weight'];
+ var n = Math.ceil(fw / item['second_weight'])
+ fw_price = fw_price + n * parseFloat(item['add_money']);
}
-
- //-- 如果有线下取价的话 --
- if (th.data.bn_goods.is_offline) {
- item.sum_offline_cut = (th.data.bn_goods.shop_price - th.data.bn_goods.offline_price).toFixed(2);
- goods.offline_cut = item.sum_offline_cut;
- goods.pricing_type = th.data.bn_goods.pricing_type;
- goods.goods_price = th.data.bn_goods.offline_price;
- goods.member_goods_price = th.data.bn_goods.offline_price;
+ }
+ //------按件数----------
+ if (goods_piece > 0 && item['piecemoney']) {
+ fp_price = parseFloat(item['piecemoney']);
+ if (goods_piece > item['first_piece']) {
+ var fp = goods_piece - item['first_piece'];
+ var m = Math.ceil(fp / item['second_piece'])
+ fp_price = fp_price + m * parseFloat(item['add_piecemoney']);
}
+ }
+ var rspice = parseFloat(price + fw_price + fp_price);
+ return rspice;
+ },
- //--- 如果有优惠促销的金额,要把金额先平摊下去 ---
- if (th.data.formData.cut_price > 0 && !th.data.ispt_goods) {
- var g_arr = new Array();
- g_arr.push(goods);
- var pt_data = {
- 'prom_id': goods.prom_id,
- 'dis': parseFloat(th.data.formData.cut_price),
- 'goods': g_arr,
- }
-
- var pt_res = null;
- await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
- is_json: 1,
- data: pt_data
- }).then(res => {
- if (res.data.code == 0) {
- pt_res = res.data.data;
- }
- })
- if (pt_res) {
- //平摊赋值
- goods.account = pt_res[0].fisrt_account;
- goods.account_yu = pt_res[0].fisrt_account_yu;
- item.is_discount_amount = 1;
- }
+ //------------循环获取config-----------
+ get_wuliu_config: function (region_id, code, rs) {
+ var item = null, rslist = rs.pageData;
+ for (var i = 0; i < rslist.length; i++) {
+ if (rslist[i].code == code && rslist[i].region_id == region_id) {
+ item = rslist[i];
}
-
- //--组装优惠券的钱--
- if (th.data.formData.coupon_price) {
- item.coupon_price = th.data.formData.coupon_price;
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- goods.quan_num = th.data.formData.coupon_price;
- goods.quan_no = item.coupon_no;
- }
-
- item.order_goods.push(goods);
-
- //--如果有赠品的时候,赠品也要提交---
- if (th.data.buy_now_gift_goods) {
- var gift_gg = th.data.buy_now_gift_goods;
- var g_goods = {
- 'goods_id': gift_gg.goods_id,
- 'goods_name': gift_gg.goods_name,
- 'goods_sn': gift_gg.goods_sn,
- 'goods_num': gift_gg.buynum,
- 'market_price': gift_gg.market_price,
- 'goods_price': 0,
- 'member_goods_price': 0,
- 'store_id': oo.stoid,
- 'is_gift': 1,
- 'gift_id': gift_gg.gift_id,
- 'prom_id': gift_gg.prom_id,
- };
- item.order_goods.push(g_goods);
- }
- pdata.push(item);
-
- console.log(pdata);
- } else {
- //---------购物车的结算---------
- if (th.data.is_all_zt == 0 && th.data.user_addr == null) {
- th.data.is_summit_ing = 0;
- ff = false;
- getApp().confirmBox("请新建收货地址");
+ }
+ return item;
+ },
+ //-------循环获取config,code default-------
+ get_wuliu_default: function (code, rs) {
+ var item = null, rslist = rs.pageData;
+ for (var i = 0; i < rslist.length; i++) {
+ if (rslist[i].shipping_code == code && rslist[i].is_default == 1) {
+ item = rslist[i];
}
- if (!ff) return false;
-
- var addr = th.data.user_addr;
- if (th.data.is_all_zt == 1) addr = null;
- var val_arr = t.detail.value;
-
+ }
+ return item;
+ },
- if (th.data.is_all_zt != 1)
- if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
- th.data.is_summit_ing = 0;
- getApp().confirmBox("读取物流失败");
- return false;
- }
+ //----------立即购买,选择物流-------------
+ bindPickerChange: function (e) {
+ var ind = e.detail.value
+ this.setData({index: ind});
+ this.calculatePrice2();
+ },
+ /*----券的所有操作----*/
+ open_coupon_list: function (e) {
+ var th = this;
+ var pickid = e.currentTarget.dataset.pickid;
+ var bn = e.currentTarget.dataset.bn;
+ var cindx = e.currentTarget.dataset.cind;
+ var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid];
- var order_prom_list_cart = th.data.order_prom_list_cart;
-
- //--组装推送数据--
- for (var i = 0; i < order_prom_list_cart.length; i++) {
- var t_item = order_prom_list_cart[i];
- var item = {
- 'user_id': to.globalData.user_id,
- 'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee,
- 'province': addr == null ? 0 : addr.province,
- 'city': addr == null ? 0 : addr.city,
- 'district': addr == null ? 0 : addr.district,
- 'twon': addr == null ? 0 : addr.twon,
- 'address': addr == null ? "" : addr.address,
- 'more_address': addr == null ? "" : addr.more_address,
- 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
- 'email': '',
- 'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code,
- 'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name,
- 'invoice_title': '',
- 'goods_price': t_item.goods_price, //商品总价
- 'shipping_price': t_item.shipping_price, //物流金额
- 'user_money': t_item.user_money, //使用余额
- 'total_amount': t_item.total_amount, //订单总价
- 'order_amount': t_item.order_amount, //应付
- 'user_note': val_arr['user_note_' + t_item.pickup_id], //用户备注
- 'store_id': oo.stoid, //商家
- 'pickup_id': t_item.pickup_id, //门店
- 'exp_type': t_item.exp_type, //配送方式
- 'order_goods': new Array(),
- };
- //是不是重新提交
- if (th.data.is_continue == 1) item.is_continue = 1;
- //----- 如果有线下取价的话 ----
- if (t_item.is_offline == 1) {
- item.sum_offline_cut = t_item.offline_price.toFixed(2);
- }
- //组装优惠券的钱
- if (t_item.coupon_price) {
- item.coupon_price = t_item.coupon_price;
- item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no;
- } else if (t_item.quan_no) {
- item.coupon_no = t_item.quan_no;
- item.coupon_price = 0;
- }
+ if (bn == 1) {
+ th.setData({open_quan: 1, selected_quan_pick: pickid, disabled: 1});
+ } else {
+ //---多单打开券的时候,就要判断券在其他门店是否有使用---
+ var quanlist = th.data.cartlist[cindx].quan_list;
+ var exp_type = th.data.cartlist[cindx].exp_type;
- var order_prom_list = {};
- //--判断有没有优惠活动--
- if (t_item.order_prom_amount > 0) {
- order_prom_list.order_prom_id = t_item.order_prom_id;
- order_prom_list.order_prom_amount = t_item.order_prom_amount;
- }
- order_prom_list.discount_amount =0;
- //--判断优惠活动的提交--
- if (t_item.cut_price > 0) {
- order_prom_list.discount_amount += t_item.cut_price;
- order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json);
- }
- //--判断组合优惠活动的提交--
- if (t_item.zh_cut_price > 0 || t_item.zh_cut_price<0) {
- order_prom_list.discount_amount += t_item.zh_cut_price;
- order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json);
- }
- if (t_item.s_intValue > 0) {
- order_prom_list.give_integral = t_item.s_intValue;
- }
- if (t_item.s_coupon_id) {
- order_prom_list.give_coupon_id = t_item.s_coupon_id;
- order_prom_list.g_coupon_num = JSON.stringify(t_item.g_coupon_num);
- }
- if (t_item.s_libao) {
- order_prom_list.give_lb_id = t_item.s_libao;
- order_prom_list.g_lb_num = JSON.stringify(t_item.g_lb_num);
- }
- if (Object.keys(order_prom_list).length > 0){
- if(order_prom_list.discount_amount)
- order_prom_list.discount_amount= parseFloat(order_prom_list.discount_amount).toFixed(2);
- if(order_prom_list.order_prom_amount)
- order_prom_list.order_prom_amount= parseFloat(order_prom_list.order_prom_amount).toFixed(2);
- item.order_prom_list = order_prom_list;
- }
+ //对于在其他门店已经选择了的券 要判断是否显示到界面
+ var t_user = th.data.using_quan[pickid];
+ for (var i in quanlist) {
+ quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid);
+ if (t_user && quanlist[i].CashRepNo == t_user.coupon_no)
+ quanlist[i].show_red = 1;
+ else
+ quanlist[i].show_red = 0;
+ }
- //老会员成为分销下线需要的参数
- if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
- //判断一下分享人是不是分享商
- await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
- if (res.data.code == 0) {
- var user = res.data.data;
- if (user.is_distribut == 1) {
- item.first_leader = parseInt(getApp().globalData.first_leader);
- }
- }
- })
+ if (get_by_quan_list_cart) {
+ for (var i in get_by_quan_list_cart) {
+ get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid);
+ if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no)
+ get_by_quan_list_cart[i].show_red = 1;
+ else
+ get_by_quan_list_cart[i].show_red = 0;
}
+ th.setData({by_quan_list_cart: get_by_quan_list_cart});
+ } else {
+ th.setData({by_quan_list_cart: null});
+ }
+ th.setData({
+ sele_cart_ind: cindx,
+ sele_exp_type: exp_type,
+ open_quan: 1,
+ selected_quan_pick: pickid,
+ selected_quan_list: quanlist,
+ disabled: 1
+ });
+ }
+ },
+ close_coupon: function (e) {
+ var th = this;
+ th.setData({open_quan: 0, disabled: 0});
+ },
- //房间号的ids
- var room_ids = "";
- //-------------让商品添加到商品列表--------------------
- for (var k = 0; k < t_item.goods.length; k++) {
- var g_item = t_item.goods[k];
- var goods = {
- 'goods_id': g_item.goods_id,
- 'goods_name': g_item.goods_name,
- 'goods_sn': g_item.goods_sn,
- 'goods_num': g_item.goods_num,
- 'market_price': g_item.market_price,
- 'goods_price': g_item.goods_price,
- 'member_goods_price': g_item.goods_price,
- 'store_id': oo.stoid,
- };
-
- //-- 线下取价也要写入,组合购的商品不能去线下价格 --
- if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type!=7) {
- goods.goods_price = g_item.offline_price;
- goods.member_goods_price = g_item.offline_price;
- goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2);
- goods.pricing_type = g_item.pricing_type;
- }
-
- //--把券的钱,写入从表---
- if (t_item.quan_youhui_list && t_item.coupon_price) {
- for (var kk in t_item.quan_youhui_list) {
- var you_item = t_item.quan_youhui_list[kk];
- if (g_item.prom_type!=7 && g_item.erpwareid == you_item.WareId) {
- goods.quan_num = you_item.WareCashSum;
- goods.quan_no = you_item.CashRepNo;
- }
- }
- }
-
- //--判断活动的类型--
- switch (g_item.prom_type) {
- case 1:
- goods.prom_type = g_item.prom_type;
- goods.prom_id = g_item.prom_id;
- break;
- case 3:
- goods.prom_type = 3;
- goods.prom_id = g_item.prom_id;
- if (g_item.is_gift) {
- goods.is_gift = g_item.is_gift;
- goods.gift_id = g_item.gift_id;
- }
- break;
- case 5:
- goods.prom_type = 5;
- goods.prom_id = g_item.prom_id;
- if (g_item.is_collocation) {
- goods.is_collocation = g_item.is_collocation;
- }
- break
- case 7:
- goods.prom_type = 7;
- goods.prom_id = g_item.prom_id;
- break
- default:
- goods.prom_type = 0;
- goods.prom_id = 0;
- }
-
- //如果不立即购买或者秒杀,如果是线下库存购买的时候
- if (goods.prom_type == 0 && th.data.sales_rules == 2) {
- var isok = 1;
- await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) {
- isok = res;
- });
- if (!isok) {
- getApp().confirmBox(goods.goods_name + "的门店库存不足");
- th.data.is_summit_ing = 0;
- return false;
- }
- }
-
- //把优惠的平摊结果写进去
- if (g_item.account >= 0 || g_item.account_yu != 0) {
- if (g_item.account >= 0) goods.account = g_item.account;
- if (g_item.account_yu != 0) goods.account_yu = g_item.account_yu;
- item.is_discount_amount = 1;
- }
-
- //导购ID
- if (g_item.guide_id) {
- goods.guide_id = g_item.guide_id;
- goods.guide_type = g_item.guide_type;
- //调用接口判断是不是会员
- await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + g_item.guide_id, {}).then(res => {
- if (res.data.code == 0) {
- goods.guide_name = res.data.data.salesman;
- goods.guide_sn = res.data.data.salesman_no;
- }
- })
- }
- //如果房间号不为空的时候
- if (g_item.room_id) {
- goods.room_id = g_item.room_id;
- room_ids += g_item.room_id + ",";
- }
- item.order_goods.push(goods);
- }
-
- //如果房间号不为空的时候
- if (room_ids != "") item.room_ids = ut.sub_last(room_ids);
- pdata.push(item);
+ //---判断券时候在已经选择的列表中---
+ check_in_sele: function (no, pick_id) {
+ var th = this;
+ if (th.data.using_quan.length <= 0) return false;
+ for (var i in th.data.using_quan) {
+ //--如果键值等于本身就要跳出--
+ if (parseInt(i) == parseInt(pick_id)) continue;
+ var item = th.data.using_quan[i];
+ if (item.coupon_no == no) {
+ return true;
}
+ }
+ return false;
+ },
+ /*--点击选择券--*/
+ sele_quan_item: function (e) {
+ var th = this;
+ var ind = e.currentTarget.dataset.ind;
+ var quan_item = this.data.selected_quan_list[ind];
+ var pickid = this.data.pickup.pickup_id; //现在选择的是哪一个门店
+ var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list;
+ //---所有的券的显示红色选择都清理一遍---
+ for (var i in quanlist) {
+ quanlist[i].show_red = 0;
+ }
+ this.setData({selected_quan_list: quanlist});
+ var by_quanlist = this.data.get_by_quan_list;
+ if (by_quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var inb in by_quanlist) {
+ by_quanlist[inb].show_red = 0;
+ }
+ this.setData({get_by_quan_list: by_quanlist});
}
- if (pdata.length == 0) return;
- var str = JSON.stringify(pdata);
+ var by_cart_list = this.data.by_quan_list_cart;
+ if (by_cart_list) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var inc in by_cart_list) {
+ by_cart_list[inc].show_red = 0;
+ }
+ this.setData({by_quan_list_cart: by_cart_list});
+ }
- wx.showLoading({title: "加载中"});
- wx.request({
- url: oo.url + '/api/weshop/order/createWxdOrder',
- data: str,
- method: 'POST',
- header: {
- 'content-type': 'application/json'
- },// 设置请求的 header
- success: function (res) {
-
-
- wx.hideLoading();
- if (res.statusCode == 200) {
- var data = res.data;
- if (data.code == 0) {
- console.log(th.data.is_b_now);
- //如果是购物车结算,还要删除购物车
- if (th.data.is_b_now == 0) {
- console.log(th.data.cartlist_y);
- var list = th.data.cartlist_y;
- for (var i = 0; i < list.length; i++) {
- //删除购物车
- a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {});
- }
- }
- var order_amount = 0;
- pdata.forEach(function (em, ind) {
- order_amount += em.order_amount;
- })
- //要进行判断,如果是用微信支付,就要跳转到支付界面
- if (order_amount > 0) {
- th.setData({isclose: 0});
- //void e.jumpToCart4({
- // order_sn: data.data,
- //}, 1);
- util_pay.pay(data.data, function () {
- //app.my_warnning("支付成功",1,th);
- //setTimeout(function () {
- wx.redirectTo({
- url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data
- })
- //},1000)
-
- }, function () {
- //支付失败
- setTimeout(function () {
- var cps=getCurrentPages();
- if(cps.length>1){
- wx.navigateBack({delta: 1})
- }else{
- getApp().goto("/pages/index/index/index");
- }
-
- }, 1000)
- }, oo.stoid);
+ var using_quan = this.data.using_quan;
- } else {
- var dd = {
- parent_sn: data.data,
- store_id: oo.stoid,
- type: 2,
- };
- a.post("/api/weshop/order/pay/createOrder", {
- data: dd,
- success: function (t) {
- //console.log(t);
- if (t.data.code == 0) {
- //app.my_warnning("支付成功",1,th);
- //setTimeout(function () {
- th.setData({isclose: 0});
- wx.redirectTo({
- url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data,
- })
- //}, 1000)
- }
- },
- fail: function () {
+ //---如果是不使用优惠券---
+ if (no_use == 1) {
+ if (using_quan[pickid]) {
+ using_quan[pickid].is_nouse_red = 1;
+ }
+ else {
+ using_quan[pickid] = {is_nouse_red: 1};
+ }
+ this.setData({using_quan: using_quan, is_coupon: 2222});
+ return;
+ }
- }
- });
- }
- }
- else {
- //--内容换行--
- var msg = data.msg;
- //赠品活动已经取消,无法赠送,是否继续买单?
- if (msg.indexOf("是否继续买单") > 0) {
- wx.showModal({
- title: "提示",
- content: data.msg,
- cancelText: '取消',
- confirmText: '确定',
- showCancel: true,
- success(res){
- if (res.cancel) {
- return;
- } else if (res.confirm) {
- th.data.is_continue = 1;
- th.data.is_summit_ing = 0; //是否提交中
- th.submitForm(sub_value);
- }
- }
- })
- return;
- }
- if (msg.length > 13) {
- msg = msg.slice(0, 13) + "\r\n" + msg.slice(13);
- }
- getApp().confirmBox(msg);
- th.data.is_summit_ing = 0; //是否提交中
- }
- } else {
- th.data.is_summit_ing = 0; //是否提交中
- console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
- }
- },
- fail: function () {
- th.data.is_summit_ing = 0;
- wx.hideLoading();
- console.log("index.js wx.request CheckCallUser fail");
- },
- complete: function () {
- }
- })
+ var txt = "selected_quan_list[" + ind + "].show_red";
+ var obj = {};
+ obj[txt] = 1;
+ if (quan_item.show_red) {
+ obj[txt] = 0;
+ }
+ this.setData(obj);
+ console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt);
+ if (using_quan[pickid]) {
+ using_quan[pickid].is_nouse_red = 0;
+ }
+ else {
+ using_quan[pickid] = {is_nouse_red: 0};
+ }
+ this.setData({using_quan: using_quan});
},
- //---确认线下门店的数量足不足---
- async check_store_num(goods_id, pick, goods_num, func){
- var lock = 0, pick_no, plist, erpwareid;
- //先读取门店的lock
- await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
- data: {store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000}
- }).then(res => {
- if (res.data.code == 0 && res.data.data.total > 0) {
- for (var i in res.data.data.pageData)
- lock += res.data.data.pageData[i].outQty;
- }
- })
- //先获取门店的编号
- await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, {
- data: {storeId: os.stoid, goodsId: t.goods_id, pickupId: pick}
- }).then(res => {
- if (res.data.code == 0) {
- pick_no = res.data.data.pickup_no;
+ /*----- 点击选择包邮券 -----*/
+ sele_quan_item_by: function (e) {
+ var no_use = e.currentTarget.dataset.no;
+ //立即购买的包邮券
+ var by_quanlist = this.data.get_by_quan_list;
+ if (by_quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in by_quanlist) {
+ by_quanlist[ind].show_red = 0;
}
- })
- //先获取商品的线下库存
- await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, {
- data: {storeId: os.stoid, goodsId: t.goods_id, pickupId: pick}
- }).then(res => {
- if (res.data.code == 0) {
- erpwareid = res.data.data.erpwareid;
+ this.setData({get_by_quan_list: by_quanlist});
+ }
+
+ //--购物车过来的包邮券--
+ var by_cart_list = this.data.by_quan_list_cart;
+ if (by_cart_list) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in by_cart_list) {
+ by_cart_list[ind].show_red = 0;
}
- })
- //读取线下的门店库存
- await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
- data: {storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000}
- }).then(res => {
- if (res.data.code == 0) {
- plist = res.data.data.pageData[0];
+ this.setData({by_quan_list_cart: by_cart_list});
+ }
+ //普通券
+ var quanlist = this.data.selected_quan_list;
+ if (quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in quanlist) {
+ quanlist[ind].show_red = 0;
}
- })
- var isok = 1;
- if (goods_num > plist.CanOutQty - lock) {
- isok = 0;
+ this.setData({selected_quan_list: quanlist});
}
- func(isok);
- },
- useCoupon: function () {
- if (this.data.order.couponNum <= 0) {
- getApp().my_warnning("无可用优惠券", 0, this);
+ var th = this;
+ var using_quan = this.data.using_quan;
+ //---如果是不使用优惠券---
+ if (no_use == 1) {
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
+ }
+ else {
+ using_quan[th.data.selected_quan_pick] = {is_nouse_red: 1};
+ }
+ this.setData({using_quan: using_quan, is_coupon: 2222});
return;
}
- var a = {
- lid: this.data.coupon ? this.data.coupon.id : "0"
- };
- wx.navigateTo({
- url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a)
- });
- },
- enterAddressPage: function () {
- getApp().globalData.is_cart_old = 1;
- this.data.isget_by_quan = {};
- this.data.enterAddressPage = !0, wx.navigateTo({
- url: "/pages/user/address_list/address_list"
- });
- },
-
- //--------购物车购买时,选择自提和物流-----------
- setexptype_w: function (t) {
-
- var def_exp_code = getApp().globalData.userInfo.def_exp_code, th = this;
- var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt,
- wl_txt = t.currentTarget.dataset.wl_txt,
- ont = t.currentTarget.dataset.ont;
-
- th.setData({[txt]: ty});
- var iszt = 1;
-
- if (ty == 0) {
- th.setData({is_all_zt: 0});
+ var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店
+ var ind = e.currentTarget.dataset.ind;
+ //--如果是立即购买的部分--
+ var txt = "";
+ var txt1 = "";
+ var quan_item = null;
+ if (th.data.is_b_now) {
+ quan_item = this.data.get_by_quan_list[ind];
+ txt = "get_by_quan_list[" + ind + "].show_red";
+ var obj = {};
+ obj[txt] = 1;
+ this.setData(obj);
} else {
- for (var i = 0; i < th.data.cartlist.length; i++) {
- var item = th.data.cartlist[i];
- if (item.exp_type == 0) {
- iszt = 0;
- break;
- }
- }
-
- th.setData({is_all_zt: iszt});
-
- var ind = t.currentTarget.dataset.ind;
- var c_item = th.data.cartlist[ind];
- var pickid = c_item.pickup_id;
-
- if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1) {
- th.data.using_quan[pickid] = {};
- th.setData({using_quan: th.data.using_quan});
- }
-
+ txt = "by_quan_list_cart[" + ind + "].show_red";
+ quan_item = th.data.by_quan_list_cart[ind];
+ var obj = {};
+ obj[txt] = 1;
+ this.setData(obj);
+ th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组
+ }
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
}
- //判断有没有默认的物流地址值
- if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
- var wu_arr = this.data.wu_arr;
- if (wu_arr != null && wu_arr != "") {
- for (var i = 0; i < wu_arr.length; i++) {
- if (wu_arr[i].shipping_code == def_exp_code) {
- var set_txt = "cartlist"
- th.setData({wl_txt: i});
- }
- }
- }
+ else {
+ using_quan[th.data.selected_quan_pick] = {is_nouse_red: 0};
}
- //----计算此时购物车的价格----
- th.calculatePrice();
+ this.setData({using_quan: using_quan});
},
-
- //--------立即购买时,选择自提和物流----------
- setexptype: function (t) {
+ //--确认使用券---
+ confirm_quan: function () {
+ var using_quan = this.data.using_quan; //正在使用中的券列表
+ var pickid = this.data.pickup.pickup_id; //选中的门店ID
var th = this;
- var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- th.setData({bn_exp_type: ty});
- if (ty == 0) {
- th.setData({is_all_zt: 0});
- }
+ var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表
+ var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表
+ var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表
- //当物流为空的时候。
- if (ty == 0 && th.data.wu_arr == null) {
- th.data.isget_by_quan = {};
- return th.get_wuliu(th.calculatePrice2());
+ //循环普通的券
+ for (var i in selected_quan_list) {
+ var item = selected_quan_list[i];
+ if (item.show_red) {
+ th.insert_into_using_quan(item, using_quan, pickid);
+ return;
+ }
}
+ //循环包邮的券,立即购买的
+ for (var i in get_by_quan_list) {
+ var item = get_by_quan_list[i];
+ if (item.show_red) {
+ if (th.data.is_no_by[pickid] == 1) {
+ getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
+ return false;
+ }
+ if (th.data.is_by[pickid] == 1) {
+ getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
+ return false;
+ }
- //--自提就要把包邮券清理掉--
- if (ty == 1) {
- th.data.isget_by_quan = {};
- if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].isby == 1) {
- th.setData({using_quan: {}});
+ th.insert_into_using_quan(item, using_quan, pickid, 1);
+ return;
}
}
- //判断有没有默认的物流地址值
- if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
- var wu_arr = this.data.wu_arr;
- if (wu_arr != null && wu_arr != "") {
- for (var i = 0; i < wu_arr.length; i++) {
- if (wu_arr[i].shipping_code == def_exp_code) {
- th.setData({index: i});
- }
+ //循环包邮的券
+ for (var i in by_quan_list_cart) {
+ var item = by_quan_list_cart[i];
+ if (item.show_red) {
+ if (th.data.is_no_by[pickid] == 1) {
+ getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
+ return false;
+ }
+ if (th.data.is_by[pickid] == 1) {
+ getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
+ return false;
}
+ th.insert_into_using_quan(item, using_quan, pickid, 1);
+ return;
}
}
- th.calculatePrice2()
+
+ //选择了的券,看是不是点击了不使用券,点击了不使用优惠券
+ if (using_quan[pickid]) {
+ if (using_quan[pickid].is_nouse_red == 1) {
+ using_quan[pickid] = {is_nouse_red: 1};
+ th.calculatePrice2();
+ th.setData({open_quan: 0});
+ th.setData({using_quan: using_quan});
+ }
+ }
+
+
},
- //--------立即购买时,使用余额--------
- set_bn_useyuer: function () {
+ //----把券插入之后的操作,同时还要重新计算价格----
+ insert_into_using_quan: function (item, using_quan, pickid, isby) {
var th = this;
- th.setData({bn_use_money: !th.data.bn_use_money});
+ if (isby == 1) {
+ using_quan[pickid] = {
+ coupon_no: item.no,
+ money: 0,
+ is_nouse_red: 0,
+ region_list: item.region_list,
+ goods_list: item.goods_list
+ };
+ using_quan[pickid].isby = 1;
+ } else {
+ using_quan[pickid] = {coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0};
+ using_quan[pickid].isby = 0;
+ }
+ this.setData({using_quan: using_quan});
th.calculatePrice2();
+ th.setData({open_quan: 0});
},
- set_js_useyuer: function () {
- var th = this;
- th.setData({js_use_money: !th.data.js_use_money});
- th.calculatePrice();
+
+ cart_set_err: function (e) {
+ var txt = e.currentTarget.dataset.err;
+ var ob = {};
+ ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif";
+ this.setData(ob);
},
- //-------------------计算物流---------------
- calculatewuliu: function (code, o_shipping_price, goods_weight,
- goods_piece, user_addr, freight_free, o_price, rs) {
- var price = 0, th = this;
- price += parseFloat(o_shipping_price);
- //如果是包邮
- if (freight_free > 0 && o_price >= freight_free) {
- return 0;
- }
- if (user_addr == null) {
- return 0;
- }
- //计算物流的config item;
- var item = null;
- //先根据 镇 县 区找计算的config
- item = th.get_wuliu_config(user_addr.district, code, rs);
- if (item == null) item = th.get_wuliu_config(user_addr.city, code, rs);
- if (item == null) item = th.get_wuliu_config(user_addr.province, code, rs);
- if (item == null) item = th.get_wuliu_default(code, rs);
- if (item == null) return o_shipping_price;
- var fw_price = 0, fp_price = 0;
- item = item.config;
- if (item == null) return o_shipping_price;
- //------按重量----------
- if (goods_weight >= 0 && item['money']) {
- fw_price = parseFloat(item['money']);
- if (goods_weight > item['first_weight']) {
- var fw = goods_weight - item['first_weight'];
- var n = Math.ceil(fw / item['second_weight'])
- fw_price = fw_price + n * parseFloat(item['add_money']);
- }
- }
- //------按件数----------
- if (goods_piece > 0 && item['piecemoney']) {
- fp_price = parseFloat(item['piecemoney']);
- if (goods_piece > item['first_piece']) {
- var fp = goods_piece - item['first_piece'];
- var m = Math.ceil(fp / item['second_piece'])
- fp_price = fp_price + m * parseFloat(item['add_piecemoney']);
+ //--验证是否已经冻结--
+ check_is_frozenQuan: function (quanlist, frozenQuan, isby) {
+ console.log("券列表", quanlist);
+ if (!quanlist) return null;
+ if (!frozenQuan) return quanlist;
+ var arr = [];
+ for (var i = 0; i < quanlist.length; i++) {
+ var item = quanlist[i];
+ var is_find = 0;
+ var Q_no = quanlist[i].CashRepNo;
+ if (isby) Q_no = quanlist[i].no;
+ for (var j = 0; j < frozenQuan.length; j++) {
+ var q_no = frozenQuan[j].cashRepNo;
+ if (Q_no == q_no) {
+ is_find = 1;
+ break;
+ }
}
+ if (!is_find) arr.push(item);
}
- var rspice = parseFloat(price + fw_price + fp_price);
- return rspice;
+ return arr;
},
- //------------循环获取config-----------
- get_wuliu_config: function (region_id, code, rs) {
- var item = null, rslist = rs.pageData;
- for (var i = 0; i < rslist.length; i++) {
- if (rslist[i].code == code && rslist[i].region_id == region_id) {
- item = rslist[i];
- }
+ //// 开启物流的弹窗
+ show_wu_arr: function (e) {
+ var wu_arr_txt = e.currentTarget.dataset.txt;
+ var w_sele_index = e.currentTarget.dataset.w_sele_index;
+ var is_express = null;
+ var ob = {open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1};
+
+ //--如果是多个门店的时候--
+ if (w_sele_index != undefined) {
+ is_express = this.data.cartlist[w_sele_index].wind;
+ ob['is_express'] = is_express;
}
- return item;
+ this.setData(ob);
},
- //-------循环获取config,code default-------
- get_wuliu_default: function (code, rs) {
- var item = null, rslist = rs.pageData;
- for (var i = 0; i < rslist.length; i++) {
- if (rslist[i].shipping_code == code && rslist[i].is_default == 1) {
- item = rslist[i];
- }
- }
- return item;
+ // 关闭物流的弹窗
+ close_express: function () {
+ this.setData({open_express: 0, disabled: 0});
},
-
- //----------立即购买,选择物流-------------
- bindPickerChange: function (e) {
- var ind = e.detail.value
- this.setData({index: ind});
- this.calculatePrice2();
+ // 选择物流
+ click_express_name: function (e) {
+ var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode;
+ var index = e.currentTarget.dataset.idxe;
+ var ob = {is_express: index, is_shipping_code: shippingcode, disabled: 0};
+ ob[this.data.wu_arr_txt] = index;
+ this.setData(ob);
},
- //----------购物车结算,选择物流-------------
- bindPickerChange_w: function (e) {
- var ind = e.detail.value, txt = e.currentTarget.dataset.txt;
- this.setData({[txt]: ind});
- this.calculatePrice();
+
+ //点击确定物流
+ determine_expres: function (e) {
+ this.setData({open_express: 0});
+ this.calculatePrice2();
},
- /*----券的所有操作----*/
- open_coupon_list: function (e) {
- var th = this;
- var pickid = e.currentTarget.dataset.pickid;
- var bn = e.currentTarget.dataset.bn;
- var cindx = e.currentTarget.dataset.cind;
- var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid];
+ //点击打开优惠券使用说明
+ clik_coupons: function (e) {
+ var ind = e.currentTarget.dataset.idx;
+ var is_open = this.data.selected_quan_list[ind].is_open;
+ if (is_open == 1) is_open = 0;
+ else is_open = 1;
- if (bn == 1) {
- th.setData({open_quan: 1, selected_quan_pick: pickid, disabled: 1});
- } else {
- //---多单打开券的时候,就要判断券在其他门店是否有使用---
- var quanlist = th.data.cartlist[cindx].quan_list;
- var exp_type = th.data.cartlist[cindx].exp_type;
+ var txt = "selected_quan_list[" + ind + "].is_open"
+ var obj = {};
+ obj[txt] = is_open;
+ this.setData(obj);
+ this.setData({disabled: 1})
+ },
- //对于在其他门店已经选择了的券 要判断是否显示到界面
- var t_user = th.data.using_quan[pickid];
+ clik_coupons2: function (e) {
+ var ind = e.currentTarget.dataset.idx;
+ var is_open = this.data.get_by_quan_list[ind].is_open;
- for (var i in quanlist) {
- quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid);
- if (t_user && quanlist[i].CashRepNo == t_user.coupon_no)
- quanlist[i].show_red = 1;
- else
- quanlist[i].show_red = 0;
- }
+ if (is_open == 1) is_open = 0;
+ else is_open = 1;
- if (get_by_quan_list_cart) {
- for (var i in get_by_quan_list_cart) {
- get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid);
- if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no)
- get_by_quan_list_cart[i].show_red = 1;
- else
- get_by_quan_list_cart[i].show_red = 0;
- }
- th.setData({by_quan_list_cart: get_by_quan_list_cart});
- } else {
- th.setData({by_quan_list_cart: null});
- }
+ var txt = "get_by_quan_list[" + ind + "].is_open"
+ var obj = {};
+ obj[txt] = is_open;
- console.log("2222222券的列表", quanlist);
- th.setData({
- sele_cart_ind: cindx,
- sele_exp_type: exp_type,
- open_quan: 1,
- selected_quan_pick: pickid,
- selected_quan_list: quanlist,
- disabled: 1
- });
- }
- },
- close_coupon: function (e) {
- var th = this;
- th.setData({open_quan: 0, disabled: 0});
+ this.setData(obj);
+ this.setData({disabled: 1})
},
- //---判断券时候在已经选择的列表中---
- check_in_sele: function (no, pick_id) {
+
+ //设置默认物流
+ select_default_logistics: function () {
var th = this;
- if (th.data.using_quan.length <= 0) return false;
- for (var i in th.data.using_quan) {
- //--如果键值等于本身就要跳出--
- if (parseInt(i) == parseInt(pick_id)) continue;
- var item = th.data.using_quan[i];
- if (item.coupon_no == no) {
- return true;
+ var is_shipping_code = this.data.is_shipping_code
+ getApp().request.put("/api/weshop/users/update", {
+ data: {user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code},
+ success: function (rse) {
+ if (rse.data.code == 0) {
+ getApp().globalData.userInfo.def_exp_code = is_shipping_code;
+ th.setData({open_express: 0});
+ //----计算此时购物车的价格----
+ th.calculatePrice2();
+
+ }
}
- }
- return false;
+ })
},
- /*--点击选择券--*/
- sele_quan_item: function (e) {
-
- var ind = e.currentTarget.dataset.ind;
- var quan_item = this.data.selected_quan_list[ind];
- var pickid = this.data.selected_quan_pick; //现在选择的是哪一个门店
- //--如果券是单品使用的时候--
- if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") {
- //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候---
- var gg = getApp().get_b_now();
- if (this.data.is_b_now == 0 || gg.prom_type == 5) {
- var arr = this.data.order_prom_list_cart;
- var t_pk_item = null;
- for (var ii in arr) {
- var ep = arr[ii];
- if (pickid == ep.pickup_id) {
- t_pk_item = ep;
- break;
+ //更新下默认,在onshow里面
+ update_code(){
+ var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ //--定时器,判断wu_arr不未空--
+ var uii = setInterval(function () {
+ if (th.data.wu_arr) {
+ clearInterval(uii);
+ for (var k = 0; k < th.data.wu_arr.length; k++) {
+ var item = th.data.wu_arr[k];
+ if (def_exp_code == item.code) {
+ m_wind = k;
}
}
- //--寻找券指定的商品--
- var gd = null;
- if (t_pk_item) {
- var goods = t_pk_item.goods;
- for (var gid in goods) {
- if (quan_item.UseObjectID == goods[gid].erpwareid) {
- gd = goods[gid];
+ //--如果是立即购买--
+ if (th.data.is_b_now == 1) {
+ th.setData({index: m_wind, is_express: m_wind});
+ } else {
+ var ui = setInterval(function () {
+ if (th.data.cartlist) {
+ var c_arr = th.data.cartlist;
+ for (var i in c_arr) {
+ c_arr[i].wind = m_wind;
+ }
+ th.setData({cartlist: c_arr, is_express: m_wind})
+ clearInterval(ui);
}
- }
+ }, 500)
}
- if (!gd) {
- getApp().my_warnning("未找到指定商品使用", 0, this, 600);
- return false;
+ }
+ }, 500);
+ },
+ //-----获取购物车进来的劵-------
+ get_cart_quan: async function (order_prom_list_cart) {
+ var th = this;
+ var is_xz_yh = 1;
+ //等待值的出现
+ //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () {
+ //var arr=th.data.order_prom_list_cart;
+ var arr = order_prom_list_cart;
+ if (!arr) arr = [];
+ //如果系统有限制使用优惠券
+ if (th.data.is_close_quan) return false;
+
+ //------------开始计算使用优惠券相关------------
+ for (var ind in arr) {
+ var ep = arr[ind];
+ var goodlist = ep.goods;
+ var pickup_id = ep.pickup_id;
+ //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
+ //就要把相应的值,写入cartlist数组中--
+ var ckeck_quan_price = 0,
+ check_quan_price_list = '',
+ check_quan_ware_list = '';
+
+ for (var i in goodlist) {
+ var gd = goodlist[i];
+ //--如果是秒杀就跳出,如果是赠品,如果是组合购,如果是限制使用优惠券--
+ if (gd.prom_type == 1 || gd.is_gift || gd.prom_type == 7) {
+ continue;
+ }
+ //如果有限制使用优惠券,就要返回
+ if (gd.prom_type == 3) {
+ if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue;
+ th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1;
}
- //计算价格,如果有平摊的实收要计算实收的金额
+ is_xz_yh = 0;
var item_price = gd.goods_price * gd.goods_num;
- //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 --
+ //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 --
if (gd.account_fir != null && gd.account_fir != undefined) {
item_price = gd.account_fir * gd.goods_num;
}
+ ckeck_quan_price += item_price;
- if (item_price < parseFloat(quan_item.BuySum)) {
- getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600);
- return false;
+ //--组装价格list--
+ if (check_quan_price_list) {
+ check_quan_price_list += "," + item_price;
+ } else {
+ check_quan_price_list = item_price;
+ }
+ //--组装商品的线下erpwareid--
+ if (check_quan_ware_list) {
+ check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']);
+ } else {
+ check_quan_ware_list = encodeURIComponent(gd['erpwareid']);
}
}
- }
-
- var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list;
- //---所有的券的显示红色选择都清理一遍---
- for (var i in quanlist) {
- quanlist[i].show_red = 0;
- }
- this.setData({selected_quan_list: quanlist});
- var by_quanlist = this.data.get_by_quan_list;
- if (by_quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var inb in by_quanlist) {
- by_quanlist[inb].show_red = 0;
+ //优惠券优惠的金额要控制到优惠券的选择条件
+ var cut_price = 0;
+ for (var i in th.data.prom_goods_map[pickup_id]) {
+ var obj = th.data.prom_goods_map[pickup_id][i];
+ if (obj.coupon_sele) {
+ cut_price += obj.price - obj.prom_price;
+ }
}
- this.setData({get_by_quan_list: by_quanlist});
- }
- var by_cart_list = this.data.by_quan_list_cart;
- if (by_cart_list) {
- //---所有的券的显示红色选择都清理一遍---
- for (var inc in by_cart_list) {
- by_cart_list[inc].show_red = 0;
+ arr[ind].ckeck_quan_price = ckeck_quan_price - cut_price;
+ arr[ind].check_quan_ware_list = check_quan_ware_list;
+ arr[ind].check_quan_price_list = check_quan_price_list;
+
+ //是否关闭使用优惠券
+ if (th.data.is_close_quan != 1 && !is_xz_yh) {
+ //--调用接口,获取优惠券的列表,3秒钟内控制接口请求--
+ var url = "/api/weshop/couponList/getUseCouponList";
+ await app.request.promiseGet(url, {
+ data: {
+ storeId: oo.stoid,
+ userId: app.globalData.user_id,
+ BuySum: ckeck_quan_price,
+ WareIds: check_quan_ware_list,
+ pageSize: 100
+ }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var quan_list = res.data.data.pageData;
+ arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan);
+ }
+ })
}
- this.setData({by_quan_list_cart: by_cart_list});
}
- var using_quan = this.data.using_quan;
- var th = this;
- //---如果是不使用优惠券---
- if (no_use == 1) {
- console.log("有进来吗券", no_use);
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
- }
- else {
- using_quan[th.data.selected_quan_pick] = {is_nouse_red: 1};
+ //如果是搭配购的立即购买的时候
+ if (th.data.is_b_now) {
+ if (arr && arr.length > 0) {
+ var quanlist = arr[0].quan_list;
+ th.setData({selected_quan_list: quanlist, cartlist: arr})
}
- this.setData({using_quan: using_quan, is_coupon: 2222});
- return;
+ } else {
+ th.setData({cartlist: arr})
+ th.set_can_num();
}
+ },
+ //------ 获取立即购买的购物车的劵 --------
+ get_buy_now_quan: function () {
+ var quanlist = null, th = this, frozenQuan = null;
+ var allprice =this.data.pre_arr.presell_price*this.data.order_goods.goods_num;
+ th.data.ckeck_quan_price = allprice;
- var txt = "selected_quan_list[" + ind + "].show_red";
- var obj = {};
- obj[txt] = 1;
- if (quan_item.show_red) {
- obj[txt] = 0;
- }
- this.setData(obj);
- console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt);
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
- }
- else {
- using_quan[th.data.selected_quan_pick] = {is_nouse_red: 0};
+ //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
+ if (th.data.is_close_quan != 1) {
+ var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
+ var url = "/api/weshop/couponList/getUseCouponList";
+ app.request.promiseGet(url0, {1: 1}).then(res => {
+ if (res.data.code == 0) {
+ frozenQuan = res.data.data;
+ th.data.frozenQuan = frozenQuan;
+ }
+ app.request.time_limit_get(6, url, {
+ data: {
+ storeId: oo.stoid,
+ userId: app.globalData.user_id,
+ BuySum: th.data.ckeck_quan_price,
+ WareIds: encodeURIComponent(th.data.check_quan_ware_list),
+ pageSize: 100
+ },
+ success: function (res) {
+ if (res.data.code == 0) {
+ quanlist = res.data.data.pageData;
+ if (quanlist) {
+ quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
+ th.setData({selected_quan_list: quanlist})
+ }
+ }
+ }
+ })
+ })
}
- this.setData({using_quan: using_quan});
-
},
-
- /*----- 点击选择包邮券 -----*/
- sele_quan_item_by: function (e) {
- var no_use = e.currentTarget.dataset.no;
- //立即购买的包邮券
- var by_quanlist = this.data.get_by_quan_list;
- if (by_quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in by_quanlist) {
- by_quanlist[ind].show_red = 0;
+ //检查区域是不是包邮
+ check_area: function (arr) {
+ var user_addr = this.data.user_addr;
+ if (!user_addr) return 0;
+ for (var i in arr) {
+ var item = arr[i];
+ if (user_addr.twon == item || user_addr.district == item
+ || user_addr.city == item || user_addr.province == item) {
+ return 0;
}
- this.setData({get_by_quan_list: by_quanlist});
}
+ return 1;
+ },
- //--购物车过来的包邮券--
- var by_cart_list = this.data.by_quan_list_cart;
- if (by_cart_list) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in by_cart_list) {
- by_cart_list[ind].show_red = 0;
- }
- this.setData({by_quan_list_cart: by_cart_list});
- }
- //普通券
- var quanlist = this.data.selected_quan_list;
- if (quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in quanlist) {
- quanlist[ind].show_red = 0;
- }
- this.setData({selected_quan_list: quanlist});
+ //检查立即购买的商品是不是不包邮
+ check_good: function (arr, goods_id) {
+ if (!goods_id) goods_id = this.data.bn_goods.goods_id;
+ for (var i in arr) {
+ var item = arr[i];
+ if (goods_id == item) return 0;
}
+ return 1;
+ },
+ check_by_area: function (region_list) {
+ var arr = region_list.split(",");
+ var check = this.check_area(arr);
+ return !check;
+ },
+ check_by_goods: function (goods_list, goods_id) {
+ var arr = goods_list.split(",");
+ var check = this.check_good(arr, goods_id);
+ return !check;
+ },
+
+ //--检查订单优惠--
+ check_is_order_prom: function (condition, func, pick) {
var th = this;
- var using_quan = this.data.using_quan;
- //---如果是不使用优惠券---
- if (no_use == 1) {
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
- }
- else {
- using_quan[th.data.selected_quan_pick] = {is_nouse_red: 1};
+ pick = this.data.pickup.pickup_id;
+ //---获取订单优惠---
+ getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
+ data: {store_id: os.stoid, orderAmount: condition}
+ }).then(res => {
+ if (res.data.code == 0) {
+ var data = res.data.data;
+ th.data.order_prom[pick] = data;
}
- this.setData({using_quan: using_quan, is_coupon: 2222});
- return;
- }
+ func();
+ })
+ },
- var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店
- var ind = e.currentTarget.dataset.ind;
- //--如果是立即购买的部分--
- var txt = "";
- var txt1 = "";
- var quan_item = null;
- if (th.data.is_b_now) {
- quan_item = this.data.get_by_quan_list[ind];
- txt = "get_by_quan_list[" + ind + "].show_red";
- var obj = {};
- obj[txt] = 1;
- this.setData(obj);
+ //--- 加入优惠活动的映射中,同时要有一个good列表 ---
+ add_prom_goods_map: async function (item) {
+ var th = this;
+ var pickid = item.pick_id;
+ var map = th.data.prom_goods_map;
+ var obj = map[pickid];
+
+ if (map[pickid]) {
+ if (map[pickid][item.prom_id]) {
+ var ob = map[pickid][item.prom_id];
+ ob.price += item.goods_price * item.goods_num;
+ ob.goods_num += item.goods_num;
+ ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
+
+ } else {
+ var prom = null;
+ await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
+ if (res.data.code == 0) {
+ prom = res.data.data;
+ }
+ })
+ var ob = {};
+ ob.prom_id = item.prom_id;
+ ob.price = item.goods_price * item.goods_num;
+ ob.goods_num = item.goods_num;
+ ob.is_bz = prom.is_bz;
+ ob.is_xz_yh = prom.is_xz_yh;
+ ob.goods = new Array();
+ ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
+ map[pickid][item.prom_id] = ob;
+ }
} else {
- txt = "by_quan_list_cart[" + ind + "].show_red";
- quan_item = th.data.by_quan_list_cart[ind];
+ var ob = {};
+ var prom = null;
+ await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
+ if (res.data.code == 0) {
+ prom = res.data.data;
+ }
+ })
+ ob.prom_id = item.prom_id;
+ ob.price = item.goods_price * item.goods_num;
+ ob.goods_num = item.goods_num;
+ ob.is_bz = prom.is_bz;
+ ob.is_xz_yh = prom.is_xz_yh;
+ ob.goods = new Array();
+ ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
+
var obj = {};
- obj[txt] = 1;
- this.setData(obj);
- th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组
- }
+ obj[item.prom_id] = ob;
+ map[pickid] = obj;
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
- }
- else {
- using_quan[th.data.selected_quan_pick] = {is_nouse_red: 0};
}
- this.setData({using_quan: using_quan});
},
- //--确认使用券---
- confirm_quan: function () {
- var using_quan = this.data.using_quan; //正在使用中的券列表
- var pickid = this.data.selected_quan_pick; //选中的门店ID
+ //计算立即购买赠品的物流费用
+ get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) {
+ var good = this.data.buy_now_gift_goods;
+ var goods_weight = -1, goods_piece = -1;
+ var gift_shipping_price = 0;
var th = this;
- var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表
- var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表
- var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表
- //选择了的券
- var sele_quan = null;
-
- //循环普通的券
- for (var i in selected_quan_list) {
- var item = selected_quan_list[i];
- if (item.show_red) {
- th.insert_into_using_quan(item, using_quan, pickid);
- return;
- }
- }
- //循环包邮的券,立即购买的
- for (var i in get_by_quan_list) {
- var item = get_by_quan_list[i];
- if (item.show_red) {
- if (th.data.is_no_by[pickid] == 1) {
- getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
- return false;
+ switch (good['exp_sum_type']) {
+ case 1:
+ //统一运费
+ gift_shipping_price += good['uniform_exp_sum'];
+ gift_shipping_price += o_shipping_price;
+ break;
+ case 2:
+ if (goods_weight < 0) goods_weight = 0;
+ //累积商品重量 每种商品的重量 * 数量
+ goods_weight += good['weight'] * good['buynum'];
+ if (goods_weight1 > 0) {
+ goods_weight += goods_weight1;
}
- if (th.data.is_by[pickid] == 1) {
- getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
- return false;
+ break;
+ case 3:
+ if (goods_piece < 0) goods_piece = 0;
+ //累积商品数量
+ goods_piece += good['buynum'];
+ if (goods_piece1) {
+ goods_piece += goods_piece1;
}
-
- th.insert_into_using_quan(item, using_quan, pickid, 1);
- return;
- }
+ break;
}
- //循环包邮的券
- for (var i in by_quan_list_cart) {
- var item = by_quan_list_cart[i];
- if (item.show_red) {
- if (th.data.is_no_by[pickid] == 1) {
- getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
- return false;
- }
- if (th.data.is_by[pickid] == 1) {
- getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
- return false;
- }
- th.insert_into_using_quan(item, using_quan, pickid, 1);
- return;
+
+ //如果有设置不包邮区域的时候
+ if (no_by_data && no_by_data.region_list) {
+ if (th.check_by_area(no_by_data.region_list)) {
+ gift_freight_free = 0;
+ th.data.is_no_by[bn_pick] = 1;
}
}
-
- //选择了的券,看是不是点击了不使用券,点击了不使用优惠券
- if (using_quan[pickid]) {
- if (using_quan[pickid].is_nouse_red == 1) {
- using_quan[pickid] = {is_nouse_red: 1};
- th.setData({using_quan: using_quan});
- if (th.data.is_b_now == 1) {
- th.calculatePrice2();
- } else {
- th.calculatePrice();
- }
- th.setData({open_quan: 0});
- return;
+ //如果有设置不包邮商品
+ if (no_by_data && no_by_data.goods_list && gift_freight_free) {
+ if (th.check_by_goods(no_by_data.goods_list, good.goods_id)) {
+ gift_freight_free = 0;
}
}
+
+ var t_shipping_price =
+ this.calculatewuliu(code, gift_shipping_price, goods_weight,
+ goods_piece, user_addr, gift_freight_free, allpice, rs);
+ return t_shipping_price;
+
},
- //----把券插入之后的操作,同时还要重新计算价格----
- insert_into_using_quan: function (item, using_quan, pickid, isby) {
- var th = this;
- if (isby == 1) {
- using_quan[pickid] = {
- coupon_no: item.no,
- money: 0,
- is_nouse_red: 0,
- region_list: item.region_list,
- goods_list: item.goods_list
- };
- using_quan[pickid].isby = 1;
- } else {
- using_quan[pickid] = {coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0};
- using_quan[pickid].isby = 0;
+ //从优惠的映射中拿出商品从表的item
+ item_map_get_goods: function (goods_id, map) {
+ for (var i in map.goods) {
+ if (map.goods[i].goods_id == goods_id) return map.goods[i];
}
- this.setData({using_quan: using_quan});
- if (th.data.is_b_now == 1) {
- th.calculatePrice2();
- } else {
- th.calculatePrice();
+ },
+ //从优惠的映射中拿出商品从表的item
+ arr_get_goods: function (goods_id, arr) {
+ for (var i in arr) {
+ if (arr[i].goods_id == goods_id) return arr[i];
}
- th.setData({open_quan: 0});
},
- cart_set_err: function (e) {
- var txt = e.currentTarget.dataset.err;
- var ob = {};
- ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif";
- this.setData(ob);
- },
- //--验证是否已经冻结--
- check_is_frozenQuan: function (quanlist, frozenQuan, isby) {
- console.log("券列表", quanlist);
- if (!quanlist) return null;
- if (!frozenQuan) return quanlist;
- var arr = [];
- for (var i = 0; i < quanlist.length; i++) {
- var item = quanlist[i];
- var is_find = 0;
- var Q_no = quanlist[i].CashRepNo;
- if (isby) Q_no = quanlist[i].no;
- for (var j = 0; j < frozenQuan.length; j++) {
- var q_no = frozenQuan[j].cashRepNo;
- if (Q_no == q_no) {
- is_find = 1;
+ //检查是不是有其他门店的订单在选择了券
+ check_other_use: function (iter, pkid) {
+ var using = this.data.using_quan;
+ var is_use = 0;
+ if (using) {
+ for (var i in using) {
+ if (i == pkid) continue;
+ if (iter.CashRepNo == using[i].coupon_no) {
+ is_use = 1;
break;
}
}
- if (!is_find) arr.push(item);
}
- return arr;
+ return is_use;
},
-
- //// 开启物流的弹窗
- show_wu_arr: function (e) {
- var wu_arr_txt = e.currentTarget.dataset.txt;
- var w_sele_index = e.currentTarget.dataset.w_sele_index;
- var is_express = null;
- var ob = {open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1};
-
- //--如果是多个门店的时候--
- if (w_sele_index != undefined) {
- is_express = this.data.cartlist[w_sele_index].wind;
- ob['is_express'] = is_express;
+ //检查是不是有其他门店的订单在选择了包邮券
+ check_other_use_by: function (iter, pkid) {
+ var using = this.data.using_quan;
+ var is_use = 0;
+ if (using) {
+ for (var i in using) {
+ if (i == pkid) continue;
+ if (iter.no == using[i].coupon_no) {
+ is_use = 1;
+ break;
+ }
+ }
}
- this.setData(ob);
- },
- // 关闭物流的弹窗
- close_express: function () {
- this.setData({open_express: 0, disabled: 0});
- },
- // 选择物流
- click_express_name: function (e) {
- var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode;
- var index = e.currentTarget.dataset.idxe;
- var ob = {is_express: index, is_shipping_code: shippingcode, disabled: 0};
- ob[this.data.wu_arr_txt] = index;
- this.setData(ob);
- },
-
- //点击确定物流
- determine_expres: function (e) {
- this.setData({open_express: 0});
- if (this.data.is_b_now == 1)
- this.calculatePrice2();
- else
- this.calculatePrice();
+ return is_use;
},
- //点击打开优惠券使用说明
- clik_coupons: function (e) {
- var ind = e.currentTarget.dataset.idx;
- var is_open = this.data.selected_quan_list[ind].is_open;
-
- if (is_open == 1) is_open = 0;
- else is_open = 1;
-
- var txt = "selected_quan_list[" + ind + "].is_open"
- var obj = {};
- obj[txt] = is_open;
-
- this.setData(obj);
- this.setData({disabled: 1})
- },
- clik_coupons2: function (e) {
- var ind = e.currentTarget.dataset.idx;
- var is_open = this.data.get_by_quan_list[ind].is_open;
- if (is_open == 1) is_open = 0;
- else is_open = 1;
+ //----计算物流的钱----
+ calculate_wuliu() {
+ var to = getApp(), th = this;
+ to.getConfig2(function (ee) {
+ to.getwuliuprice(async function (rs) {
+ var o_shipping_price = 0,
+ goods_weight = -1,
+ goods_piece = -1,
+ good = th.data.goods,
+ quan_price=0,
+ exp_price=0;
- var txt = "get_by_quan_list[" + ind + "].is_open"
- var obj = {};
- obj[txt] = is_open;
+ var quan_no = null;
+ var bn_pick=th.data.pickup.pickup_id;
+ var allpice =th.data.all_price;
- this.setData(obj);
- this.setData({disabled: 1})
- },
+ if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
+ quan_no = th.data.using_quan[bn_pick].coupon_no;
+ if (quan_no) {
+ if (th.data.using_quan[bn_pick].isby != 1) {
+ //---获取优惠券优惠---
+ await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
+ data: {
+ storeId: oo.stoid,
+ CashRepNo: quan_no,
+ WaresSum: th.data.ckeck_quan_price,
+ WareIds: th.data.check_quan_ware_list
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
+ quan_price = res.data.data[0].WareCashSum;
+ }
+ })
- //设置默认物流
- select_default_logistics: function () {
- var th = this;
- var is_shipping_code = this.data.is_shipping_code
- getApp().request.put("/api/weshop/users/update", {
- data: {user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code},
- success: function (rse) {
- if (rse.data.code == 0) {
- getApp().globalData.userInfo.def_exp_code = is_shipping_code;
- th.setData({open_express: 0});
- //----计算此时购物车的价格----
- if (th.data.is_b_now == 1) th.calculatePrice2();
- else th.calculatePrice();
+ if(quan_price>0) {
+ if (quan_price < allpice) th.setData({quan_price: quan_price})
+ else {
+ th.setData({quan_price: allpice})
+ }
+ }else{
+ th.setData({quan_price: 0})
+ }
+ }
+ }else{
+ th.setData({quan_price: 0})
}
- }
- })
- },
- //更新下默认,在onshow里面
- update_code(){
- var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- //--定时器,判断wu_arr不未空--
- var uii = setInterval(function () {
- if (th.data.wu_arr) {
- clearInterval(uii);
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
+ //-----------当地址不为空,且是物流时,计算物流费用----------
+ if (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) {
+ //看是不是有调用过包邮券,如果活动可以使用优化券的情况下
+ if (!th.data.isget_by_quan[bn_pick] && th.data.is_usecoupon) {
+ var condition = allpice - quan_price;
+ //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱---
+ getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
+ data: {
+ store_id: os.stoid,
+ isuse: 0,
+ condition: condition,
+ user_id: getApp().globalData.user_id,
+ pageSize: 2000
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.total > 0) {
+ //此时要循环判断包邮的地区,不包邮商品是不是符合
+ var arr = [], quanlist = res.data.data.pageData;
+ quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
+ for (var i in quanlist) {
+ var item = quanlist[i];
+ if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
+ if (item.goods_list && th.check_by_goods(item.goods_list)) continue; //如果是不包邮商品
+ arr.push(item);
+ }
+ if (arr) {
+ th.setData({get_by_quan_list: arr});
+ }
+ th.data.isget_by_quan[bn_pick] = 1;
+ }
+ })
+ }
+ if (quan_no && th.data.using_quan[bn_pick].isby == 1) {
+ exp_price=0;
+ }else{
+ switch (good['exp_sum_type']) {
+ case 1:
+ //统一运费
+ o_shipping_price += good['uniform_exp_sum'];
+ break;
+ case 2:
+ if (goods_weight < 0) goods_weight = 0;
+ //累积商品重量 每种商品的重量 * 数量
+ goods_weight += good['weight'] * th.data.order.order_goods['goods_num'];
+ break;
+ case 3:
+ if (goods_piece < 0) goods_piece = 0;
+ //累积商品数量
+ goods_piece += th.data.order.order_goods['goods_num'];
+ break;
+ }
+
+ var code = th.data.wu_arr[th.data.index].code;
+ var freight_free = ee.freight_free; //全场满多少包邮
+ var shipping_price =
+ th.calculatewuliu(code, o_shipping_price, goods_weight,
+ goods_piece, th.data.user_addr, freight_free, allpice, rs);
+ exp_price = parseFloat(shipping_price).toFixed(2);
}
- }
- //--如果是立即购买--
- if (th.data.is_b_now == 1) {
- th.setData({index: m_wind, is_express: m_wind});
+ th.wuliu_next(allpice,quan_price,exp_price);
} else {
- var ui = setInterval(function () {
- if (th.data.cartlist) {
- var c_arr = th.data.cartlist;
- for (var i in c_arr) {
- c_arr[i].wind = m_wind;
- }
- th.setData({cartlist: c_arr, is_express: m_wind})
- clearInterval(ui);
- }
- }, 500)
+ th.wuliu_next(allpice,quan_price,exp_price);
}
- }
- }, 500);
+ });
+ });
},
- //-----获取购物车进来的劵-------
- get_cart_quan: async function (order_prom_list_cart) {
- var th = this;
- var is_xz_yh = 1;
- //等待值的出现
- //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () {
- //var arr=th.data.order_prom_list_cart;
- var arr = order_prom_list_cart;
- if (!arr) arr = [];
- //如果系统有限制使用优惠券
- if (th.data.is_close_quan) return false;
-
- //------------开始计算使用优惠券相关------------
- for (var ind in arr) {
- var ep = arr[ind];
- var goodlist = ep.goods;
- var pickup_id = ep.pickup_id;
- //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
- //就要把相应的值,写入cartlist数组中--
- var ckeck_quan_price = 0,
- check_quan_price_list = '',
- check_quan_ware_list = '';
-
- for (var i in goodlist) {
- var gd = goodlist[i];
- //--如果是秒杀就跳出,如果是赠品,如果是组合购,如果是限制使用优惠券--
- if (gd.prom_type == 1 || gd.is_gift || gd.prom_type == 7) {
- continue;
- }
- //如果有限制使用优惠券,就要返回
- if (gd.prom_type == 3) {
- if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue;
- th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1;
+ //相同的东西统一在一起
+ wuliu_next( allpice,quan_price,exp_price){
+ var th=this;
+ var o_condition =parseFloat(allpice)-parseFloat(quan_price);
+ if(o_condition<0) o_condition=0;
+ //如果同意参与订单优惠
+ if (o_condition > 0 && this.data.pre_arr.is_useorderyh) {
+ th.check_is_order_prom(o_condition, function () {
+ var bn_pick=th.data.pickup.pickup_id
+ var order_prom_amount = 0;
+ var order_prom_id = 0;
+ var order_m=0;
+ if (th.data.order_prom[bn_pick]) {
+ var ord_prom = th.data.order_prom[bn_pick];
+ order_prom_id = ord_prom['id'];
+ switch (ord_prom['type']) {
+ case 0:
+ order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
+ order_prom_amount = (o_condition - order_m).toFixed(2);
+ break;
+ case 1:
+ order_m = o_condition - ord_prom['expression'];//满额优惠金额
+ order_prom_amount = ord_prom['expression'];
+ break;
+ }
+ o_condition=order_m;
}
- is_xz_yh = 0;
- var item_price = gd.goods_price * gd.goods_num;
- //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 --
- if (gd.account_fir != null && gd.account_fir != undefined) {
- item_price = gd.account_fir * gd.goods_num;
+
+ //--订单优惠的显示--
+ if (order_prom_id > 0) {
+ var order_prom_txt1 = "order_prom_id";
+ var order_prom_txt2 = "order_prom_amount";
+ th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
}
- ckeck_quan_price += item_price;
- //--组装价格list--
- if (check_quan_price_list) {
- check_quan_price_list += "," + item_price;
+ th.setData({ exp_price: exp_price, order_m: parseFloat(o_condition) +parseFloat(exp_price) })
+
+ })
+ }else{
+ th.setData({ exp_price: exp_price, order_m: parseFloat(o_condition)+parseFloat(exp_price) })
+ }
+ },
+
+ //-- 获取时间差 --
+ get_diff(){
+
+ switch (this.data.act.presell_type) {
+ //部分定金
+ case 0:
+ if (this.data.act.pay_begindate > ut.gettimestamp()) {
+ this.setData({no_start: 1})
+ } else if (this.data.act.pay_enddate < ut.gettimestamp()) {
+ this.setData({is_end: 1})
} else {
- check_quan_price_list = item_price;
+ var end_time = this.data.act.pay_enddate;
+ var e_str = ut.formatTime(end_time);
+ var new_date = new Date(); //新建一个日期对象,默认现在的时间
+ var old_date = new Date(e_str.replace(/-/g, '/')); //设置过去的一个时间点,"yyyy-MM-dd HH:mm:ss"格式化日期
+ var difftime = (new_date - old_date) / 1000; //计算时间差,并把毫秒转换成秒
+ var days = parseInt(difftime / 86400); // 天 24*60*60*1000
+ var hours = parseInt(difftime / 3600) - 24 * days; // 小时 60*60 总小时数-过去的小时数=现在的小时数
+ var minutes = parseInt(difftime % 3600 / 60); // 分钟 -(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数
+ var seconds = parseInt(difftime % 60); // 以60秒为一整份 取余 剩下秒数
+ this.setData({days: days, hours: hours, minutes: minutes, seconds: seconds})
}
- //--组装商品的线下erpwareid--
- if (check_quan_ware_list) {
- check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']);
+ break;
+ //全额付款
+ case 1:
+ if (this.data.act.start_time > ut.gettimestamp()) {
+ this.setData({no_start: 1})
+ } else if (this.data.act.end_time < ut.gettimestamp()) {
+ this.setData({is_end: 1})
} else {
- check_quan_ware_list = encodeURIComponent(gd['erpwareid']);
- }
- }
- //优惠券优惠的金额要控制到优惠券的选择条件
- var cut_price = 0;
- for (var i in th.data.prom_goods_map[pickup_id]) {
- var obj = th.data.prom_goods_map[pickup_id][i];
- if (obj.coupon_sele) {
- cut_price += obj.price - obj.prom_price;
+ var end_time = this.data.act.end_time;
+ var e_str = ut.formatTime(end_time);
+ var new_date = new Date(); //新建一个日期对象,默认现在的时间
+ var old_date = new Date(e_str.replace(/-/g, '/')); //设置过去的一个时间点,"yyyy-MM-dd HH:mm:ss"格式化日期
+ var difftime = (new_date - old_date) / 1000; //计算时间差,并把毫秒转换成秒
+ var days = parseInt(difftime / 86400); // 天 24*60*60*1000
+ var hours = parseInt(difftime / 3600) - 24 * days; // 小时 60*60 总小时数-过去的小时数=现在的小时数
+ var minutes = parseInt(difftime % 3600 / 60); // 分钟 -(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数
+ var seconds = parseInt(difftime % 60); // 以60秒为一整份 取余 剩下秒数
+ this.setData({days: days, hours: hours, minutes: minutes, seconds: seconds})
}
- }
-
- arr[ind].ckeck_quan_price = ckeck_quan_price - cut_price;
- arr[ind].check_quan_ware_list = check_quan_ware_list;
- arr[ind].check_quan_price_list = check_quan_price_list;
+ break;
- //是否关闭使用优惠券
- if (th.data.is_close_quan != 1 && !is_xz_yh) {
- //--调用接口,获取优惠券的列表,3秒钟内控制接口请求--
- var url = "/api/weshop/couponList/getUseCouponList";
- await app.request.promiseGet(url, {
- data: {
- storeId: oo.stoid,
- userId: app.globalData.user_id,
- BuySum: ckeck_quan_price,
- WareIds: check_quan_ware_list,
- pageSize: 100
- }
- }).then(res => {
- if (res.data.code == 0) {
- var quan_list = res.data.data.pageData;
- arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan);
- }
- })
- }
}
+ },
- //如果是搭配购的立即购买的时候
- if (th.data.is_b_now) {
- if (arr && arr.length > 0) {
- var quanlist = arr[0].quan_list;
- th.setData({selected_quan_list: quanlist, cartlist: arr})
- }
- } else {
- th.setData({cartlist: arr})
- th.set_can_num();
+
+ //显示支付选择
+ show_pay: function () {
+ this.setData({show_pay_type: 1});
+ },
+ //关闭支付
+ close_show_pay: function () {
+ this.setData({show_pay_type: 0});
+ },
+ //--弹起支付框--
+ to_pay() {
+ //--物流支付时要有地址--
+ if (this.data.exp_type == 0 && this.data.user_addr == null) {
+ return getApp().my_warnning("请选择收货地址", 0, this);
}
- //})
+ this.setData({show_pay_type: 1});
},
- //------ 获取立即购买的购物车的劵 --------
- get_buy_now_quan: function () {
- var quanlist = null, th = this, frozenQuan = null;
- var good = this.data.bn_goods;
- if (good.prom_price) {
- th.data.ckeck_quan_price = good.prom_price; //如果有优惠价,就用优惠价
- } else if (good.is_offline) {
- th.data.ckeck_quan_price = good.offline_price; //如果有线下取价,就用线下价
+ //选择支付方式
+ set_pay_type: function (e) {
+ var type = e.currentTarget.dataset.type;
+ this.to_pay_type(type);
+ },
+
+ //--立即支付--
+ to_pay_type: function (ind) {
+ var th = this;
+ //--物流支付时要有地址--
+ if (th.data.exp_type == 0 && th.data.user_addr == null) {
+ return getApp().my_warnning("请选择收货地址", 0, th);
+ }
+
+ //---支付参数--
+ var dd = {
+ order_sn: th.data.order.order_sn,
+ order_id: th.data.order.order_id,
+ store_id: oo.stoid,
+ exp_type: th.data.exp_type,
+ user_id: getApp().globalData.userInfo.user_id,
+ prom_id: th.data.pre_arr.presell_id,
+ tail_pay_type: ind,//0微信支付 1余额支付
+ };
+
+ if (th.data.exp_type == 0) {
+ var index = th.data.index;
+ dd.shipping_code = th.data.wu_arr[index].code;
+ dd.shipping_name = th.data.wu_arr[index].name;
+ dd.shipping_price = parseFloat(th.data.exp_price);
+ dd.addressid = th.data.user_addr.address_id;
}
- //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
- if (th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh != 1) {
- var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
- var url = "/api/weshop/couponList/getUseCouponList";
- app.request.promiseGet(url0, {1: 1}).then(res => {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- app.request.time_limit_get(6, url, {
- data: {
- storeId: oo.stoid,
- userId: app.globalData.user_id,
- BuySum: th.data.ckeck_quan_price,
- WareIds: encodeURIComponent(th.data.check_quan_ware_list),
- pageSize: 100
- },
- success: function (res) {
- if (res.data.code == 0) {
- quanlist = res.data.data.pageData;
- if (quanlist) {
- quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
- th.setData({selected_quan_list: quanlist})
+
+ if(th.data.order_prom_amount>0){
+ var e={
+ order_prom_id:th.data.order_prom_id,
+ order_prom_amount:th.data.order_prom_amount,
+ }
+ dd.order_prom_list=e;
+ }
+
+ var bn_pick=th.data.pickup_id;
+ var quan_no='';
+ if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
+ quan_no = th.data.using_quan[bn_pick].coupon_no;
+ if(quan_no){
+ dd.coupon_no=quan_no;
+ if(th.data.quan_price) dd.coupon_price=th.data.quan_price;
+ }
+ if(th.data.user_note){
+ dd.user_note=th.data.user_note;
+ }
+ dd.order_amount= parseFloat(th.data.order_m-th.data.presell.presell_deposit).toFixed(2);
+
+ console.log(JSON.stringify(dd));
+ wx.request({
+ url: oo.url + '/api/weshop/order/pay/payPresellWk',
+ data: JSON.stringify(dd),
+ method: 'POST',
+ header: {
+ 'content-type': 'application/json'
+ },// 设置请求的 header
+ success: function (t) {
+ th.close_show_pay();
+
+ //---用微信支付---
+ if (dd.tail_pay_type == 0) {
+ var n = t.data.data;
+ th.weixinPay(n,
+ function () {
+ //---用余额支付---
+ getApp().my_warnning("支付成功", 1, th);
+
+
+ var send_time=th.data.pre_arr.delivery_date;
+ if(th.data.pre_arr.delivery_type==2){
+ send_time=th.data.pre_arr.delivery_daynum*3600;
}
+
+ setTimeout(function () {
+ th.setData({isclose: 0,'order.order_status':1,'order.pay_status':1,'wait_wk':0,'presell.tail_pay_state':1,'wait_sh':1,send_time:send_time});
+ }, 1000)
+
+ }, function () {
+ getApp().my_warnning("支付失败", 0, th);
+ })
+ } else {
+ if (t.data.code == 0) {
+
+ var send_time=th.data.pre_arr.delivery_date;
+ if(th.data.pre_arr.delivery_type==2){
+ send_time=th.data.pre_arr.delivery_daynum*3600;
}
+ //---用余额支付---
+ getApp().my_warnning("支付成功", 1, th);
+ setTimeout(function () {
+ th.setData({isclose: 0,'order.order_status':1,'order.pay_status':1,'wait_wk':0,'presell.tail_pay_state':1,'wait_sh':1,send_time:send_time});
+ }, 1000)
+ } else {
+ getApp().my_warnning(t.data.msg, 1, th);
}
- })
- })
- }
+ }
+ }
+ });
},
- //检查区域是不是包邮
- check_area: function (arr) {
- var user_addr = this.data.user_addr;
- if (!user_addr) return 0;
- for (var i in arr) {
- var item = arr[i];
- if (user_addr.twon == item || user_addr.district == item
- || user_addr.city == item || user_addr.province == item) {
- return 0;
+ //------调起支付框--------
+ weixinPay: function (n, success, fail) {
+ if (!n) return false;
+ var th = this;
+ wx.requestPayment({
+ timeStamp: String(n.timeStamp),
+ nonceStr: n.nonceStr,
+ package: n.packageValue,
+ signType: n.signType,
+ paySign: n.paySign,
+ success: function (n) {
+ console.log(n), getApp().showSuccess("支付成功!");
+ "function" == typeof success && success();
+ },
+ fail: function (n) {
+ console.log(n), "requestPayment:fail" == n.errMsg ? getApp().my_warnning("支付失败", 0, th) : "requestPayment:fail cancel" == n.errMsg ? getApp().my_warnning("您已取消支付", 0, th) : getApp().my_warnning("支付失败:" + n.errMsg.substr("requestPayment:fail ".length), 0, th),
+ "function" == typeof fail && fail();
}
- }
- return 1;
+ });
},
- //检查立即购买的商品是不是不包邮
- check_good: function (arr, goods_id) {
- if (!goods_id) goods_id = this.data.bn_goods.goods_id;
- for (var i in arr) {
- var item = arr[i];
- if (goods_id == item) return 0;
- }
- return 1;
+
+ show_liuyan:function () {
+ this.setData({sh_liuyan:true})
},
- check_by_area: function (region_list) {
- var arr = region_list.split(",");
- var check = this.check_area(arr);
- return !check;
+ close_liuyan(){
+ this.setData({sh_liuyan:false})
},
- check_by_goods: function (goods_list, goods_id) {
- var arr = goods_list.split(",");
- var check = this.check_good(arr, goods_id);
- return !check;
+
+ //--------点击选择----------
+ set_wuliu: function (e) {
+ var type = e.currentTarget.dataset.type;
+ this.setData({
+ exp_type: type
+ });
+ this.calculatePrice2();
},
- //立即购买获取优惠活动的内容
- buy_now_prom_goods: function (prom_id, arr, func) {
- var price = arr.shop_price * arr.goods_num;
- var prom = null;
- getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => {
- if (res.data.code == 0) {
- prom = res.data.data;
- return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
- data: {
- price: price,
- prom_id: prom_id,
- goods_num: arr.goods_num,
- user_id: getApp().globalData.user_id,
- is_bz: prom.is_bz
+
+
+ //--------立即支付----------
+ async jumpToCart4(e) {
+ var th=this;
+ if(this.data.optionIsGoup)
+ wx.navigateTo({
+ url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true"
+ })
+ var order=this.data.order;
+ var order_goods=this.data.order_goods;
+
+ var wlist="";
+
+ var good=order_goods;
+ //线下取价功能已经关闭或者过期
+ if(!th.data.is_open_offline && good.offline_cut>0){
+ wx.showModal({
+ title: '提示',
+ content: '线下取价功能已经关闭或者过期!'
+ });
+ return false;
+ }
+ //如果不是小程序有的功能,直接提示要去3.0处理
+ if(good.prom_type==2 ){
+ wx.showModal({
+ title: '提示',
+ content: '小程序还未有该活动,请到3.0公众号支付'
+ });
+ return false;
+ }
+
+ //要每件每件的商品进行检查,看有么有超出库存,超出限购
+ var goodsbuynum=0,promgoodsbuynum=0,gg=null;
+ //获取单品的现在的活动状态
+ await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, {
+ }).then(res=>{
+ gg=res.data.data;
+ })
+ var limit = gg.viplimited;
+ var store_count = gg.store_count;
+ good.erpwareid=gg.erpwareid;
+
+ //---要获得商品,该用户买了多少件,同步应用---
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: os.stoid,
+ user_id: getApp().globalData.user_id,
+ goods_id: good.goods_id,
+ prom_type: good.prom_type,
+ prom_id: good.prom_id
+ },
+ }).then(res => {
+ var buy_num_data = res.data.data;
+ if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
+ goodsbuynum = buy_num_data.goodsbuynum;
+ })
+
+ var buyed_mum2=goodsbuynum+good.goods_num;
+ if (buyed_mum2 > limit && limit > 0) {
+
+ var content=gg.goods_name+'购买数量超出商品限购,请取消订单';
+ th.toast(content);
+ return false;
+ }
+
+ //当是组合优惠的时候
+ if(good.prom_type==7){
+ //如果有组合购
+ var isok = 1;
+ var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id;
+ await getApp().request.promiseGet(url, {}).then(res => {
+ if(res.data.code==0 && res.data.data){
+ if(res.data.data.is_show!=1){
+ isok=0;
+ }
+ //如果活动已经结束
+ if(res.data.data.is_end==1){
+ isok=0;
+ }
+ //已经结束
+ if(ut.gettimestamp()>res.data.data.end_time){
+ isok=0;
+ }
+ //还未开始
+ if(ut.gettimestamp() {
- if (res.data.code == 0) {
- var get_data = res.data.data;
- arr.is_bz = prom.is_bz; //是不是倍增
- arr.is_xz_yh = prom.is_xz_yh; //是不是优惠
- arr.bs = get_data.bs; //是不是倍数
- arr.is_past = get_data.is_past; //是不是包邮
- arr.prom_price = get_data.price >= 0 ? get_data.price : price;
- arr.s_intValue = get_data.intValue;
- arr.s_coupon_id = get_data.coupon_id;
- arr.s_coupon_num = get_data.coupon_num;
- //-- 看是不是有赠品 --
- if (get_data.gift_id) {
- arr.gift_id = get_data.gift_id;
- arr.gift_goods_id = get_data.goods_id;
- arr.gift_goods_name = get_data.goods_name;
- arr.gift_goods_color = get_data.goodsinfo.goods_color;
- arr.gift_goods_spec = get_data.goodsinfo.goods_spec;
- arr.gift_original_img = get_data.goodsinfo.original_img;
- arr.gift_weight = get_data.goodsinfo.weight;
- arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
- arr.gift_uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum;
- arr.gift_limit_num = get_data.limit_num;
- arr.gift_storecount = get_data.gift_storecount;
+ if (!isok){
+ var content=gg.goods_name+'活动已经结束,请取消订单';
+ th.toast(content);
+ return false;
+ }
+
+ var url1 = "/api/weshop/prom/zhbuyGoods/page";
+ var req_data = {
+ page: 1,
+ pageSize: 1,
+ store_id: os.stoid,
+ zh_id: good.prom_id,
+ goods_id:good.goods_id
+ }
+ await getApp().request.promiseGet(url1, {
+ data: req_data
+ }).then(res => {
+ if (ut.ajax_ok(res)) {
+ var gdlist = res.data.data.pageData[0];
+ good.buyqty=gdlist.buyqty;
+ }
+ })
+
+ var num=good['buyqty'];
+ console.log(1111);
+ console.log(num);
+ //---- 要计算商品的限购 -----
+ if(good['buyqty']>0){
+ if(good.goods_num+promgoodsbuynum>good['buyqty']){
+
+ var content= good['goods_name']+"超出活动限购\n";
+ th.toast(content);
+ return false;
+ }
}
- arr.s_libao = get_data.libao;
- arr.s_lb_num = get_data.lb_num;
- arr.prom_id = prom_id;
- }
- func(arr);
- })
- },
- //--检查订单优惠--
- check_is_order_prom: function (condition, func, pick) {
- var th = this;
- if (this.data.is_b_now == 1) pick = this.data.bn_pick;
- //---获取订单优惠---
- getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
- data: {store_id: os.stoid, orderAmount: condition}
- }).then(res => {
- if (res.data.code == 0) {
- var data = res.data.data;
- th.data.order_prom[pick] = data;
}
- func();
- })
- },
- //--- 加入优惠活动的映射中,同时要有一个good列表 ---
- add_prom_goods_map: async function (item) {
- var th = this;
- var pickid = item.pick_id;
- var map = th.data.prom_goods_map;
- var obj = map[pickid];
+ //如果优惠促销和搭配购的时候
+ if((good.prom_type==3 || good.prom_type==5) && good.is_collocation!=1 && good.is_gift!=1){
+ var p_ok=1;
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ if(!r_data.collocationPromList && good.prom_type==5){
- if (map[pickid]) {
- if (map[pickid][item.prom_id]) {
- var ob = map[pickid][item.prom_id];
- ob.price += item.goods_price * item.goods_num;
- ob.goods_num += item.goods_num;
- ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
+ var content=good.goods_name+'未找到活动,请取消订单重新购买';
+ th.toast(content);
+ p_ok=0;
+ }
+ if(!r_data.promGoodsLists && good.prom_type==3){
- } else {
- var prom = null;
- await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
- if (res.data.code == 0) {
- prom = res.data.data;
+ var content=good.goods_name+'未找到活动,请取消订单重新购买';
+ th.toast(content);
+ p_ok=0;
+ }
+ }else{
+
+ var content=good.goods_name+'未找到活动,请取消订单重新购买';
+ th.toast(content);
+ p_ok=0;
}
})
- var ob = {};
- ob.prom_id = item.prom_id;
- ob.price = item.goods_price * item.goods_num;
- ob.goods_num = item.goods_num;
- ob.is_bz = prom.is_bz;
- ob.is_xz_yh = prom.is_xz_yh;
- ob.goods = new Array();
- ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
- map[pickid][item.prom_id] = ob;
+ if(!p_ok) return false;
}
- } else {
- var ob = {};
- var prom = null;
- await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
- if (res.data.code == 0) {
- prom = res.data.data;
+
+ //商品的普通购买 ,不要进行判断
+ if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
+ if(gg.prom_type!=good.prom_type) {
+
+ var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买';
+ th.toast(content);
+ return false;
}
- })
- ob.prom_id = item.prom_id;
- ob.price = item.goods_price * item.goods_num;
- ob.goods_num = item.goods_num;
- ob.is_bz = prom.is_bz;
- ob.is_xz_yh = prom.is_xz_yh;
- ob.goods = new Array();
- ob.goods.push({goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num});
+ }else{
+ if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4)
+ && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
+ var prom=null;
+ //---如果是活动的时候---
+ var prom=null,th=this;
+ if(gg.prom_type==1){
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+ if(gg.prom_type==6){
+ await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
- var obj = {};
- obj[item.prom_id] = ob;
- map[pickid] = obj;
+ if(gg.prom_type==4){
+ await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
+ data:{store_id:os.stoid,goods_id:gg.goods_id}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.pageData){
+ prom=res.data.data.pageData[0];
+ }
+ })
+ }
- }
- },
+ if(prom){
+ var t_now=ut.gettimestamp();
+ if(prom.is_end==0 && prom.start_timet_now){
- //计算立即购买赠品的物流费用
- get_now_gift_goods_wuliu: function (code, o_shipping_price, user_addr, gift_freight_free, allpice, rs, shipping_price, no_by_data, goods_weight1, goods_piece1) {
- var good = this.data.buy_now_gift_goods;
- var goods_weight = -1, goods_piece = -1;
- var gift_shipping_price = 0;
- var th = this;
- switch (good['exp_sum_type']) {
- case 1:
- //统一运费
- gift_shipping_price += good['uniform_exp_sum'];
- gift_shipping_price += o_shipping_price;
- break;
- case 2:
- if (goods_weight < 0) goods_weight = 0;
- //累积商品重量 每种商品的重量 * 数量
- goods_weight += good['weight'] * good['buynum'];
- if (goods_weight1 > 0) {
- goods_weight += goods_weight1;
+ var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买';
+ th.toast(content);
+ return false;
+ }
+ }
}
- break;
- case 3:
- if (goods_piece < 0) goods_piece = 0;
- //累积商品数量
- goods_piece += good['buynum'];
- if (goods_piece1) {
- goods_piece += goods_piece1;
+ else{
+ //不是赠品的时候
+ if(!good.is_gift && good.prom_type!=3){
+ var t_ok=1;
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
+ if(res.data.code==0){
+ var r_data=res.data.data;
+ //-- 参加了全局的优惠活动 --
+ if(r_data.promGoodsLists){
+
+ var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买';
+ th.toast(content);
+ t_ok=0;
+ }
+ }
+ })
+ if(!t_ok) return false;
+ }
+
+ //-- 如果有参加线下取价 --
+ if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+",";
}
- break;
- }
+ //赠品和搭配购不判断商品金额
+ var isok=1;
+ var card_field=th.data.card_field;
+ //如果会员是等级会员,商品有等级价,且不是活动商品
+ if(!good.is_gift && !good.is_collocation && good.prom_type!=8) {
+ if (card_field && gg[card_field] > 0) {
+ if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
+ if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
+
+ } else {
+ if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
+ if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
+ }
+ var is_h=0;
+ if (!isok) {
+
+ var content=gg.goods_name + '商品的价格发生了变化,请取消订单重新购买';
+ th.toast(content);
+ return false;
+ }
+ }
+
+
+ if(good.goods_num>store_count){
+
+ var content=gg.goods_name+'商品的库存不足,请取消订单';
+ th.toast(content);
+ return false;
+ }
- //如果有设置不包邮区域的时候
- if (no_by_data && no_by_data.region_list) {
- if (th.check_by_area(no_by_data.region_list)) {
- gift_freight_free = 0;
- th.data.is_no_by[th.data.bn_pick] = 1;
}
- }
- //如果有设置不包邮商品
- if (no_by_data && no_by_data.goods_list && gift_freight_free) {
- if (th.check_by_goods(no_by_data.goods_list, good.goods_id)) {
- gift_freight_free = 0;
- //th.data.is_no_by[th.data.bn_pick]=1;
+
+ console.log("------------------------------------");
+ //---如果是活动的时候---
+ var prom=null,goodsinfo=good,th=this;
+ if(goodsinfo.prom_type==1){
+ await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
+ }
+ if(goodsinfo.prom_type==6 && !good.is_pd_normal){
+ await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
+ }).then(res=>{
+ if(res.data.code==0){
+ prom=res.data.data;
+ }
+ })
}
- }
- var t_shipping_price =
- this.calculatewuliu(code, gift_shipping_price, goods_weight,
- goods_piece, user_addr, gift_freight_free, allpice, rs);
- return t_shipping_price;
+ if(goodsinfo.prom_type==4 && !good.is_integral_normal){
+ await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
+ data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
+ }).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.pageData){
+ prom=res.data.data.pageData[0];
+ }
+ })
+ }
- },
+ //----------如果有活动,并且在进行中,就不计算线下库存---------------
+ if(prom){
+ var now=ut.gettimestamp();
+ if(prom.is_end==1 && prom.end_time prom.buy_limit && prom.buy_limit > 0) {
+
+ var content=goodsinfo.goods_name+'购买数量超出商品活动限购,请取消订单重新购买';
+ th.toast(content);
+ return false;
+ }
+
+ if(goodsinfo.prom_type==4){
+ if (good.goods_num > prom.limitqty-prom.buy_num) {
+
+ var content=goodsinfo.goods_name+'购买数量超出商品活动库存,请取消订单';
+ th.toast(content);
+ return false;
+ }
+ }else{
+ var redis_num = 0;
+ //------判断活动是否抢光-----
+ await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
+ os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
+ }).then(res => {
+ redis_num = res.data.data;
+ });
+
+ if (good.goods_num > redis_num) {
+
+ var content=gg.goods_name+'超出商品活动库存,请取消订单';
+ th.toast(content);
+ return false;
+ }
}
+
}
- }
- return is_use;
- },
- //检查是不是有其他门店的订单在选择了包邮券
- check_other_use_by: function (iter, pkid) {
- var using = this.data.using_quan;
- var is_use = 0;
- if (using) {
- for (var i in using) {
- if (i == pkid) continue;
- if (iter.no == using[i].coupon_no) {
- is_use = 1;
- break;
+
+
+
+ //-- 要判断一下线下取价价格是不是发生改变 --
+ if(wlist!="" && th.data.is_open_offline && th.data.is_open_offline>0){
+ wlist=ut.sub_last(wlist);
+ var keyid=order.pickup_id;
+ var user_info=getApp().globalData.userInfo;
+ if(!keyid) return false;
+ var offarr=null;
+ await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
+ data:{
+ VIPId:encodeURIComponent(user_info.erpvipid),
+ store_id:os.stoid,
+ PickupId:keyid,
+ WareIds:wlist},
+ },
+ ).then(res=>{
+ if(res.data.code==0 && res.data.data && res.data.data.length>0){
+ offarr=res.data.data;
+ }
+ })
+ if(!offarr && offarr.length<=0 ){
+ wx.showModal({ title: '获取线下取价失败',});
+ }
+ var newarr=ut.convert_arr_key(offarr,'WareId');
+ //-- 循环判断线下的价格 --
+ for(var k in order_goods){
+ var good=order_goods[k];
+ //判断线下取价是不是一样
+ if(newarr[good.erpwareid] &&
+ parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
+
+ var content=good.goods_name + '商品的价格发生了变化,请取消订单重新购买';
+ th.toast(content);
+ return false;
}
}
+
}
- return is_use;
- },
- //跳转到购买卡
- buycard: function () {
- getApp().goto("/pages/user/plus/plus");
- getApp().globalData.plus_buy_back = 1;
- },
+ /*---
+ o.jumpToCart4({
+ order_sn: this.data.order.order_sn,
+ order_amount: this.data.order.order_amount,
+ type: 1 //正常单
+ }, 1);--*/
+
+ util_pay.pay(this.data.order.order_sn, function() {
+ wx.showToast({title: '支付成功'})
+ wx.navigateBack();
+ },null,os.stoid,1);
- //跳转关闭弹出框的显示
- close_offline: function () {
- this.setData({is_offline_show: 0});
- },
- //立即购买显示弹出框
- bn_pop_offline: function () {
- var off_price = this.data.bn_goods.shop_price - this.data.bn_goods.offline_price;
- //是不是线下
- var is_get_offline = this.data.bn_goods.is_offline;
- this.setData({is_offline_show: 1, show_off_price: off_price.toFixed(2), is_get_offline: is_get_offline});
},
- //确定使用线下取价
- sure_offline: function () {
- var bn_goods = this.data.bn_goods;
- if (bn_goods && bn_goods.prom_type == 0) {
- bn_goods.is_offline = 1;
- this.setData({is_offline_show: 0, bn_goods: bn_goods});
- this.calculatePrice2();
- }
- //就是购物车结算时的
- else {
- var index = this.data.pop_offline_index;
- var txt = "cartlist[" + index + "].is_offline";
- this.setData({[txt]: 1, is_offline_show: 0,});
- this.data.old_cartlist[index].is_offline = 1;
- this.calculatePrice();
- }
+
+ //--------取消订单---------
+ cancelOrder: function(e) {
+ var t = this,th=t, ord_id = this.data.order.order_id,order=this.data.order;
+
+ wx.showModal({
+ title: "是否取消订单?",
+ success: function(e) {
+ if(!e.confirm) return false;
+ //如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单
+ //if(is_skill==1 || is_zsorder>=2){
+ getApp().request.post("/api/weshop/order/cancelOrder/"+os.stoid+"/"+ord_id+"/"+getApp().globalData.user_id,{
+ data:{},
+ success: function(t) {
+ if(t.data.code==0){
+ th.setData({'order.order_status':3});
+ wx.setStorageSync("order:order_list:update", !0);
+ }
+
+ },
+ })
+
+ }
+ });
},
- //取消使用线下取价
- cancle_offline: function () {
- //判断是不是立即购买
- var bn_goods = this.data.bn_goods;
- if (bn_goods && bn_goods.prom_type == 0) {
- bn_goods.is_offline = 0;
- this.setData({is_offline_show: 0, bn_goods: bn_goods});
- this.calculatePrice2();
- }
- //就是购物车结算时的
- else {
- var index = this.data.pop_offline_index;
- var txt = "cartlist[" + index + "].is_offline";
- this.setData({[txt]: 0, is_offline_show: 0,})
- this.data.old_cartlist[index].is_offline = 0;
- this.calculatePrice();
- }
+ //-----删除订单-----
+ deleteOrderData: function(t) {
+ var th=this;
+ var order_id=this.data.order.order_id;
+ var up_data={
+ order_id: order_id,isdel:1
+ };
+ if(th.data.order.order_status!=6){
+ up_data.order_status=5;
+ }
+ wx.showModal({
+ title: "是否删除订单?",
+ success: function(tt) {
+ tt.confirm && getApp().request.put("/api/weshop/order/updatebyId", {
+ data: up_data,
+ success: function (t) {
+ getApp().my_warnning("删除成功",1,th);
+ setTimeout(function () {
+ getApp().goto("/pages/user/order_list/order_list");
+ },1000);
+ }
+ })
+ }
+ });
},
- //-- 弹出购物车选择是不是要店铺优惠 --
- cart_pop_offline: function (e) {
- var index = e.currentTarget.dataset.index;
- var item = this.data.cartlist[index];
- var off_price = item.offline_price;
- //是不是线下
- var is_get_offline = item.is_offline;
- this.setData({
- pop_offline_index: index,
- is_offline_show: 1,
- show_off_price: off_price.toFixed(2),
- is_get_offline: is_get_offline
+ go_goods:function (e) {
+ var url=e.currentTarget.dataset.url;
+ getApp().goto(url);
+ },
+ toast(msg){
+ wx.showToast({
+ title: msg,
+ icon: 'none',
+ duration: 3000
+ })
+ },
+ //--------确认收货---------
+ confirmOrder: function(e) {
+ var th=this;
+ var o = this.data.order.order_id,order=this.data.order;
+ wx.showModal({
+ title: "是否确认收货?",
+ success: function(t) {
+ t.confirm && getApp().request.post("/api/weshop/order/confirmOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{
+ success:function (e) {
+ if(e.data.code==0){
+ th.setData({})
+ }
+ }
+ })
+ }
});
},
-
- // 是否同意预售商品不退定金
- switchChange(e) {
- let isSwitchOn = e.detail;
- }
+
+
+
});
diff --git a/packageC/pages/presell/cart/cart.json b/packageC/pages/presell/cart/cart.json
index 0cfb931..c9e22db 100644
--- a/packageC/pages/presell/cart/cart.json
+++ b/packageC/pages/presell/cart/cart.json
@@ -1,5 +1,5 @@
{
- "navigationBarTitleText": "填写订单",
+ "navigationBarTitleText": "订单详情",
"enablePullDownRefresh": false,
"usingComponents": {
"warn": "/components/long_warn/long_warn"
diff --git a/packageC/pages/presell/cart/cart.wxml b/packageC/pages/presell/cart/cart.wxml
index 3a260b4..63cc9bc 100644
--- a/packageC/pages/presell/cart/cart.wxml
+++ b/packageC/pages/presell/cart/cart.wxml
@@ -2,747 +2,661 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
- 店铺优惠
-
- 优惠¥{{show_off_price}}
-
- 不用优惠
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+ 请选择支付方式
+
+ 微信支付
+ 余额支付
+
+
+
diff --git a/packageC/pages/presell/cart/cart.wxss b/packageC/pages/presell/cart/cart.wxss
index cc5c658..50a827d 100644
--- a/packageC/pages/presell/cart/cart.wxss
+++ b/packageC/pages/presell/cart/cart.wxss
@@ -42,13 +42,17 @@ page {
.tab-wrapper {
background-color: #ccc;
- display: flex;
- border-radius: 40rpx;
- overflow: hidden;
+ display: flex;
+ border-radius: 40rpx;
+ overflow: hidden;
+ width: auto;
+ margin-top: 20rpx;
+ align-self: baseline;
+ font-size: 30rpx;
}
.tab {
- padding: 20rpx 30rpx;
+ padding: 15rpx 25rpx;
}
@@ -66,7 +70,7 @@ page {
color: #444;
/* margin-top: 28rpx; */
border-radius: 14rpx;
- padding: 20rpx 70rpx 20rpx 20rpx;
+ padding: 20rpx;
}
.user-contact {
/* padding: 24rpx 26rpx;
@@ -320,6 +324,10 @@ margin:auto; */
margin-right: 0;
}
+.tips-btn.gray{
+background-color:#e5e5e5;color: #666;
+}
+
.pay-amount {
/* float: right;
display: flex;
@@ -996,12 +1004,22 @@ margin-left: 20rpx;
}
+
+.circle1 {
+ display: block;
+ width: 10rpx;
+ height: 10rpx;
+ border-radius: 50%;
+ margin: 0 auto;
+ background-color: #ccc;
+}
+
+
.circle {
display: block;
width: 10rpx;
height: 10rpx;
border-radius: 50%;
- background-color: #ccc;
margin: 0 auto;
}
@@ -1056,7 +1074,42 @@ margin-left: 20rpx;
box-shadow: 0 4rpx 12px #e7e9eb;
}
-/* .icon-kefu {
- font-size: 40rpx;
+.kefu-btn{
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ line-height: 100rpx;
+ border: none;
+ background: none;
+ border-radius: 50rpx;
+}
+
+.pay_type_view{width: 500rpx;height: 220rpx; position: fixed; background: #fff;z-index: 12;
+ left: 50%; margin-left: -250rpx; top: 50%; margin-top: -110rpx; text-align: center; border-radius: 12rpx;}
+.pay_type_view .title{ height:100rpx; line-height: 100rpx; border-bottom: 1rpx solid #ededed;}
+.anniu_view{display: flex;height: 120rpx; line-height: 120rpx;}
+.anniu_view>view{width: 50%; border-right:1rpx solid #ededed;}
+
+.gray{color:#aaa}
+.note_text{
+ width: 300rpx;margin-left: 20rpx;height: 52rpx; line-height: 52rpx; display: inline-block
}
- */
+
+
+
+.tips-btn2 {
+ display: inline-block;
+ width: 140rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ text-align: center;
+ font-size: 30rpx;
+ color: #fff;
+ background-color: #f23030;
+ /* margin-left: 2rpx; */
+ margin-right: 12rpx;
+ border-radius: 10rpx;
+
+}
+
+
diff --git a/packageC/pages/presell/cart/cart2_pre.js b/packageC/pages/presell/cart/cart2_pre.js
index 3a227cc..2751f84 100644
--- a/packageC/pages/presell/cart/cart2_pre.js
+++ b/packageC/pages/presell/cart/cart2_pre.js
@@ -52,7 +52,7 @@ Page({
isclose:1,
is_express:0,//选择物流的控制器
yuer:0,
-
+ agree_no_ref:0
},
onLoad: function(t) {
var th = this; this.setData({ is_b_now: 1});
@@ -241,7 +241,6 @@ Page({
}
}
-
//先获取是否有关闭使用优惠券
getApp().getConfig2(function (ee) {
var json_d = JSON.parse(ee.switch_list);
@@ -398,8 +397,9 @@ Page({
});
});
},
- //--------------------提交订单-----------------------
- submitForm: async function(t){
+
+ // -- 支付的下一步 --
+ submitForm_next:async function(t){
if(this.data.is_summit_ing==1) return false; //--提交中退出--
this.data.is_summit_ing=1;
@@ -409,217 +409,230 @@ Page({
//如果不是阶梯团,或者是普通购买,商家选择了物流,以及地址为空的时候
if(th.data.bn_exp_type == 0 && th.data.user_addr==null && (th.data.kt_type!=3 || th.data.bn_goods.is_normal==1) ){
- ff = false;
- getApp().my_warnning("请选择收货地址",0,this);
- this.data.is_summit_ing = 0;
+ ff = false;
+ getApp().my_warnning("请选择收货地址",0,this);
+ this.data.is_summit_ing = 0;
}
if (!ff) return false;
var addr = th.data.user_addr;
if (th.data.bn_exp_type == 1) addr=null;
if(th.data.bn_exp_type==0 && (th.data.kt_type!=3)) {
- if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
- getApp().my_warnning("读取物流失败",0,this);
- this.data.is_summit_ing = 0;
- return false;
- }
+ if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
+ getApp().my_warnning("读取物流失败",0,this);
+ this.data.is_summit_ing = 0;
+ return false;
+ }
}
-
- //阶梯团强制带1,自提~~~
- if(th.data.kt_type==3 ){
- th.data.bn_exp_type=1;
- }
-
+
+ //阶梯团强制带1,自提~~~
+ if(th.data.kt_type==3 ){
+ th.data.bn_exp_type=1;
+ }
+
var item={
- 'user_id':app.globalData.user_id,
- 'consignee': addr == null ? "" : addr.consignee,
- 'province': addr == null ? 0 : addr.province,
- 'city': addr == null ? 0 : addr.city,
- 'district': addr == null ? 0 : addr.district,
- 'twon': addr == null ? 0 : addr.twon,
- 'address': addr == null ? "": addr.address,
- 'more_address': addr == null ? "" : addr.more_address,
- 'mobile': addr == null ? th.data.userinfo.mobile:addr.mobile,
- 'email':'',
- 'invoice_title':'',
- 'goods_price': th.data.formData.all_price, //商品总价
- 'shipping_price': th.data.formData.shipping_price, //物流金额
- 'user_money': th.data.formData.user_money, //使用余额
- 'total_amount': th.data.formData.total_amount, //订单总价
- 'order_amount': th.data.formData.order_amount, //应付
- 'user_note': t.detail.value.user_note, //用户备注
- 'store_id':os.stoid, //商家
- 'pickup_id': th.data.bn_pick, //门店
- 'prom_type':th.data.bn_goods.prom_type, //促销活动类型
- 'prom_id': th.data.bn_goods.prom_id, //促销活动id
- 'order_goods':new Array(),
- };
-
- //老会员成为分销下线需要的参数
- if(getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader){
- //判断一下分享人是不是分享商
- await app.request.promiseGet("/api/weshop/users/get/" + os.stoid+"/"+getApp().globalData.first_leader,{}).then(res=>{
- if(res.data.code==0){
- var user= res.data.data;
- if(user.is_distribut==1){
- item.first_leader=parseInt(getApp().globalData.first_leader);
- }
- }
- })
- }
-
- if(th.data.qh!='')
- {
- item.team_qh=th.data.qh;
- item.pt_listno=th.data.qh;
- }
-
- var gg =app.get_b_now();
- var goods={
- 'goods_id': gg.goods_id,
- 'goods_name': gg.goods_name,
- 'goods_sn': gg.goods_sn,
- 'goods_num': gg.goods_num,
- 'market_price': th.data.bn_goods.market_price,
- 'goods_price': th.data.bn_goods.shop_price,
- 'member_goods_price': th.data.bn_goods.shop_price,
- 'store_id': os.stoid,
- 'prom_type':th.data.bn_goods.prom_type, //促销活动类型
- 'prom_id': th.data.bn_goods.prom_id, //促销活动id
- };
-
- //--导购分享过来的id--
- if(gg.guide_id){
+ 'user_id':app.globalData.user_id,
+ 'consignee': addr == null ? "" : addr.consignee,
+ 'province': addr == null ? 0 : addr.province,
+ 'city': addr == null ? 0 : addr.city,
+ 'district': addr == null ? 0 : addr.district,
+ 'twon': addr == null ? 0 : addr.twon,
+ 'address': addr == null ? "": addr.address,
+ 'more_address': addr == null ? "" : addr.more_address,
+ 'mobile': addr == null ? th.data.userinfo.mobile:addr.mobile,
+ 'email':'',
+ 'invoice_title':'',
+ 'goods_price': th.data.formData.all_price, //商品总价
+ 'shipping_price': th.data.formData.shipping_price, //物流金额
+ 'user_money': th.data.formData.user_money, //使用余额
+ 'total_amount': th.data.formData.total_amount, //订单总价
+ 'order_amount': th.data.formData.order_amount, //应付
+ 'user_note': t.detail.value.user_note, //用户备注
+ 'store_id':os.stoid, //商家
+ 'pickup_id': th.data.bn_pick, //门店
+ 'prom_type':th.data.bn_goods.prom_type, //促销活动类型
+ 'prom_id': th.data.bn_goods.prom_id, //促销活动id
+ 'order_goods':new Array(),
+ };
+
+ //老会员成为分销下线需要的参数
+ if(getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader){
+ //判断一下分享人是不是分享商
+ await app.request.promiseGet("/api/weshop/users/get/" + os.stoid+"/"+getApp().globalData.first_leader,{}).then(res=>{
+ if(res.data.code==0){
+ var user= res.data.data;
+ if(user.is_distribut==1){
+ item.first_leader=parseInt(getApp().globalData.first_leader);
+ }
+ }
+ })
+ }
+
+ if(th.data.qh!='')
+ {
+ item.team_qh=th.data.qh;
+ item.pt_listno=th.data.qh;
+ }
+
+ var gg =app.get_b_now();
+ var goods={
+ 'goods_id': gg.goods_id,
+ 'goods_name': gg.goods_name,
+ 'goods_sn': gg.goods_sn,
+ 'goods_num': gg.goods_num,
+ 'market_price': th.data.bn_goods.market_price,
+ 'goods_price': th.data.bn_goods.shop_price,
+ 'member_goods_price': th.data.bn_goods.shop_price,
+ 'store_id': os.stoid,
+ 'prom_type':th.data.bn_goods.prom_type, //促销活动类型
+ 'prom_id': th.data.bn_goods.prom_id, //促销活动id
+ };
+
+ //--导购分享过来的id--
+ if(gg.guide_id){
goods.guide_id=gg.guide_id;
goods.guide_type=gg.guide_type;
//调用接口判断是不是会员
await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+os.stoid+"/"+gg.guide_id,{}).then(res=>{
- if(res.data.code==0){
- goods.guide_name=res.data.data.salesman;
- goods.guide_sn=res.data.data.salesman_no;
- }
- })
- }
+ if(res.data.code==0){
+ goods.guide_name=res.data.data.salesman;
+ goods.guide_sn=res.data.data.salesman_no;
+ }
+ })
+ }
//--商品的房间号--
if(gg.room_id && gg.room_id>0){
item.room_ids=gg.room_id;
goods.room_id=gg.room_id;
}
-
- if(th.data.bn_goods.is_normal){goods.is_pd_normal=1;}
-
- item.order_goods.push(goods);
- pdata.push(item);
-
- if (pdata.length==0) return;
- var str = JSON.stringify(pdata);
- wx.showLoading({title: "加载中"});
- wx.request({
- url: os.url + '/api/weshop/order/createWxdOrder',
- data: str,
- method: 'POST',
- header: {
- 'content-type': 'application/json'
- },// 设置请求的 header
- success: function (res) {
-
- wx.hideLoading();
- if (res.statusCode == 200) {
- var data=res.data;
- if(data.code==0){
- console.log(th.data.is_b_now);
- //如果是购物车结算,还要删除购物车
- if (th.data.is_b_now == 0) {
- console.log(th.data.cartlist_y);
- var list = th.data.cartlist_y;
- for (var i = 0; i < list.length; i++) {
- //删除购物车
- getApp().request.delete("/api/weshop/cart/del/" + os.stoid + "/" + list[i].id, {});
- }
- }
- var order_amount = 0;
- pdata.forEach(function (em, ind) {
- order_amount += em.order_amount;
- })
- //要进行判断,如果是用微信支付,就要跳转到支付界面
- if (order_amount > 0) {
- th.setData({ isclose: 0 });
- //void e.jumpToCart4({
- // order_sn: data.data,
- // type:1,
- // }, 1);
- util_pay.pay(data.data, function() {
- setTimeout(function () {
- wx.reLaunch({
- //url: "/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data,
- url: "/pages/team/team_success/team_success?ordersn=" + data.data,
- })
- },1000)
- }, function () {
- //支付失败
- setTimeout(function () {
- //wx.navigateBack({ delta: 1 })
- wx.reLaunch({
- url: "/pages/user/order_list/order_list",
- })
- },1000)
-
- },os.stoid,1);
- } else {
- var dd = {
- parent_sn: data.data,
- store_id: os.stoid,
- type: 1,
- };
- //return false;
- getApp().request.post("/api/weshop/order/pay/createOrder", {
- data: dd,
- success: function (t) {
- console.log(t);
- app.my_warnning("支付成功",1,th);
- setTimeout(function () {
- th.setData({ isclose: 0 });
-
- if(th.data.is_normal==1){
- /*--
- wx.navigateTo({
- url: "/pages/user/order_list/order_list",
- })--*/
- var url="/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data;
- wx.reLaunch({
- url: url
- })
-
- }else{
- wx.reLaunch({
- url: "/pages/team/team_success/team_success?ordersn=" + data.data,
- })
+ if(th.data.bn_goods.is_normal){goods.is_pd_normal=1;}
+
+ item.order_goods.push(goods);
+ pdata.push(item);
+
+ if (pdata.length==0) return;
+ var str = JSON.stringify(pdata);
+ wx.showLoading({title: "加载中"});
+ wx.request({
+ url: os.url + '/api/weshop/order/createWxdOrder',
+ data: str,
+ method: 'POST',
+ header: {
+ 'content-type': 'application/json'
+ },// 设置请求的 header
+ success: function (res) {
+
+ wx.hideLoading();
+ if (res.statusCode == 200) {
+ var data=res.data;
+ if(data.code==0){
+ console.log(th.data.is_b_now);
+ //如果是购物车结算,还要删除购物车
+ if (th.data.is_b_now == 0) {
+ console.log(th.data.cartlist_y);
+ var list = th.data.cartlist_y;
+ for (var i = 0; i < list.length; i++) {
+ //删除购物车
+ getApp().request.delete("/api/weshop/cart/del/" + os.stoid + "/" + list[i].id, {});
+ }
+ }
+ var order_amount = 0;
+ pdata.forEach(function (em, ind) {
+ order_amount += em.order_amount;
+ })
+ //要进行判断,如果是用微信支付,就要跳转到支付界面
+ if (order_amount > 0) {
+ th.setData({ isclose: 0 });
+ util_pay.pay(data.data, function() {
+ var url="/packageC/pages/presell/cart/cart?order_sn="+data.data;
+ setTimeout(function () {
+ wx.reLaunch({ url: url,})
+ },1000)
+ }, function () {
+ //支付失败
+ setTimeout(function () {
+ //wx.navigateBack({ delta: 1 })
+ wx.reLaunch({
+ url: "/pages/user/order_list/order_list",
+ })
+ },1000)
+
+ },os.stoid,1);
+
+ } else {
+ var dd = {
+ parent_sn: data.data,
+ store_id: os.stoid,
+ type: 1,
+ };
+ //return false;
+ getApp().request.post("/api/weshop/order/pay/createOrder", {
+ data: dd,
+ success: function (t) {
+ console.log(t);
+ app.my_warnning("支付成功",1,th);
+ setTimeout(function () {
+ th.setData({ isclose: 0 });
+
+
+ var url="/packageC/pages/presell/cart/cart?order_sn="+data.data;
+ wx.reLaunch({
+ url: url
+ })
+
+
+
+ }, 1000)
+ }
+ });
}
-
- }, 1000)
}
- });
+ else{
+ th.data.is_summit_ing=0; //是否提交中
+ getApp().confirmBox(data.msg);
+ }
+ } else {
+ th.data.is_summit_ing=0; //是否提交中
+ console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
}
- }
- else{
- th.data.is_summit_ing=0; //是否提交中
- getApp().confirmBox(data.msg);
- }
- } else {
- th.data.is_summit_ing=0; //是否提交中
- console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
- }
- },
- fail: function () {
- th.data.is_summit_ing=0; //是否提交中
- wx.hideLoading();
- console.log("index.js wx.request CheckCallUser fail");
- },
- complete: function () {}
- })
+ },
+ fail: function () {
+ th.data.is_summit_ing=0; //是否提交中
+ wx.hideLoading();
+ console.log("index.js wx.request CheckCallUser fail");
+ },
+ complete: function () {}
+ })
},
+
+
+ //--------------------提交订单-----------------------
+ submitForm: function(t){
+ var th=this;
+ //如果商家不同意退定义
+ if(!this.data.act.is_refundmoney && !th.agree_no_ref){
+ wx.showModal({
+ content: ' 预售商品不允许退定金!是否继续下单?',
+ showCancel: true,//是否显示取消按钮
+ cancelText:"我在想想",//默认是“取消”
+ confirmText:"继续下单",//默认是“确定”
+ success: function (res) {
+ if (res.cancel) {
+ //点击取消,默认隐藏弹框
+ } else {
+ th.setData({agree_no_ref:1})
+ th.submitForm_next(t)
+ }
+ },
+ })
+
+ }else{
+ this.submitForm_next(t);
+ }
+ },
+
useCoupon: function() {
if (this.data.order.couponNum <= 0) {
//return t.showWarning("无可用优惠券");
@@ -828,5 +841,11 @@ Page({
buycard:function(){
getApp().goto("/pages/user/plus/plus");
getApp().globalData.plus_buy_back=1;
- }
+ },
+
+ switchChange:function (e) {
+ console.log(e,111);
+ this.setData({agree_no_ref:e.detail.value});
+ }
+
});
diff --git a/packageC/pages/presell/cart/cart2_pre.wxml b/packageC/pages/presell/cart/cart2_pre.wxml
index ba5358c..ce0e6b8 100644
--- a/packageC/pages/presell/cart/cart2_pre.wxml
+++ b/packageC/pages/presell/cart/cart2_pre.wxml
@@ -1,4 +1,4 @@
-
+