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 @@ -
- - - - - - - - - 等待买家付尾款 - 请于*天**小时**分**秒内付款完成,超时订单将自动取消 - - - - - 付定金 - - - - - - 付尾款 - - - - 商家发货 - - - - 交易完成 - - - - - - - - - - 退款完成(定金) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{item.pname}} - - - - - - - - - - {{items.goods_name}} - - - - {{filters.show_gui_ge(items.goods_spec,items.goods_color)}} - - - - - - - - - - - - {{filters.toFix(items.goods_price,2)}} - x{{items.goods_num}} - - - - - - - - - - {{show_card.CardName}} - - 立减 {{filters.toFix(item.card_cut_price,2) }} - - - vip超级会员仅需{{show_card.CardFee}}元 - - - - - 立即开通 - - - - - - - 优惠券{{item.can_num}}张可用 - - 不使用 - ¥{{using_quan[item.pickup_id].money}}元优惠券 - 包邮券 - - - - - - - - - - {{order.store_prom}} - - - - - - - - - - - - - - - - 门店自提 - - - - - - - - - - - - - 快递邮寄 - - - - - - - {{wu_arr[item.wind].name}} - - - - - - - - - - 选择物流 - - {{wu_arr[item.wind].name}} - - - - - - - - - - - - 留言 - - - - - + + + + + + + + + + + 等待买家付定金 + {{filters.format_time(presell.kw_start_time,1)}} - + {{filters.format_time(presell.kw_end_time,1)}} + + + + + 等待尾款支付开始 + {{filters.format_time(presell.kw_start_time,1)}} - + {{filters.format_time(presell.kw_end_time,1)}} + + + + + + 等待收货 + {{order.order_sn}} + + + + 等待买家付尾款 + 请于{{days}}天{{hours}}小时{{minutes}}分{{seconds}}秒内付款完成,超时订单将自动取消 + + + 等待商家发货 + 将在{{filters.format_time(send_time,1)}}后发货 + + + 待评价 + {{order.order_sn}} + + + 已取消 + {{order.order_sn}} + + + 已完成 + {{order.order_sn}} + + + 已作废 + {{order.order_sn}} + + + 退款退货完成 + {{order.order_sn}} + + + + + + + 付定金 + 支付金额 + + + + + + + + + 付尾款 + + + + + + + + + 商家发货 + + + + + + + + + 交易完成 + + + + + + + + + + + + + + + + + + + + + + + + + + + {{order.consignee}}{{'  '}}{{order.mobile}} + + + + + + + {{order.more_address}} {{order.address}} + + + + + + + + + {{pickup.pickup_name}} + + + + + + + {{goods.goods_name}} + + + + + {{filters.show_gui_ge(goods.goods_spec,goods.goods_color)}} + + + + + + ¥ + {{filters.toFix(pre_arr.presell_price,2)}} + + ×{{order.order_goods.goods_num}} + + + + + + + + + + + {{show_card.CardName}} + + 立减 + {{filters.toFix(card_cut_price,2) }} + 元 + + + + vip超级会员仅需{{show_card.CardFee}}元 + + + + + 立即开通 + + + + + + + {{order.store_prom}} + + + + + + 优惠券 + {{(selected_quan_list?selected_quan_list.length:0)+ + (get_by_quan_list?get_by_quan_list.length:0)}}张可用 + + + + 不使用 + + ¥{{using_quan[pickup_id].money}}元优惠券 + 包邮券 + + + + + + + + + 选择物流 + + {{wu_arr[index].name}} + + + + + + + + 留言 + + + + + + {{user_note?user_note:'给商家留言,最多100字'}} + + + - - 店铺优惠 - - 省{{filters.toFix(item.offline_price,2)}}元 - - - -¥{{filters.toFix(item.offline_price,2)}} - - - 不使用优惠 - - - + + 店铺优惠 + + 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元 + + + -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}} + + + 不使用优惠 + + + - - - - - - - 使用余额 :¥{{yuer}} - - - - - - - - - - - {{bn_pickname}} - - - - - - - - {{bn_goods.goods_name}} - - - - {{filters.show_gui_ge(bn_goods.goods_spec,bn_goods.goods_color)}} - - - - - - - - - - - {{filters.toFix(bn_goods.shop_price,2)}} - x{{bn_goods.buynum}} - - - - - - - - - - - - - {{buy_now_gift_goods.goods_name}} - - - - {{filters.show_gui_ge(buy_now_gift_goods.goods_spec,buy_now_gift_goods.goods_color)}} - - - - - 0 - x{{buy_now_gift_goods.buynum}} - - - - - - - - - - - - - {{item.goods_name}} - - - - {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} - - - - - {{item.price}} - x{{item.goods_num}} - - - - - - - - - - - {{show_card.CardName}} - - 立减 {{filters.toFix(card_cut_price,2) }} - - - vip超级会员仅需{{show_card.CardFee}}元 - - - - - 立即开通 - - - - - - {{order.store_prom}} - - - - - - 优惠券 {{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用 - - - 不使用 - - ¥{{using_quan[bn_pick].money}}元优惠券 - 包邮券 - - - - - - - - - 选择物流 - - {{wu_arr[index].name}} - - - - - - - - 留言 - - - - - - - - 店铺优惠 - - 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元 - - - -¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}} - - - 不使用优惠 - - - - - - - - - - - 使用余额 :¥{{yuer}} - - - - - - - - 商品金额 - ¥ {{formData.all_price}}元 - - - 配送费用 - ¥ {{formData.shipping_price}}元 - - - 使用优惠券 - - ¥ {{formData.coupon_price}}元 - - - - 优惠活动 - - ¥ {{filters.toFix(formData.cut_price,2)}}元 - - - - 组合购优惠 - - ¥ {{filters.toFix(formData.zh_cut_price,2)}}元 - - - - - 订单优惠 - - ¥ {{filters.toFix(formData.order_prom_amount,2)}}元 - - - 使用余额 - - ¥ {{formData.user_money}}元 - - - - - - 阶段一:定金(待付款) - ¥9.99元 - - - 阶段二:尾款 - ¥88元 - - - - - - 我同意预售商品不退定金 - - - - - - - - - 请于*天**小时**分**秒内付款完成,超时订单将自动取消 - - - 应付金额:{{formData.order_amount}} - - - - - - - - + + + + 商品金额 + ¥ {{filters.toFix(allpice,2)}}元 + + + 配送费用 + ¥ {{filters.toFix(exp_price,2)}}元 + + + + 优惠券优惠 + ¥ -{{filters.toFix(quan_price,2)}}元 + + + + 订单优惠 + ¥ -{{filters.toFix(order_prom_amount,2)}}元 + + + + + + + + 阶段一:定金(待付款) + ¥{{filters.toFix(pre_arr.presell_money*order.order_goods.goods_num,2)}}元 + + + 阶段二:尾款 + ¥{{filters.toFix(tail_pay,2)}}元 + + + + + + + + 尾款时间{{filters.format_time(presell.kw_start_time,1)}} - + {{filters.format_time(presell.kw_end_time,1)}} + + 尾款时间已经结束 + + 请于{{days}}天{{hours}}小时{{minutes}}分{{seconds}}秒内付款完成,超时订单将自动取消 + + + + + 应付金额: + {{filters.toFix(order_m-presell.presell_deposit,2)}} + + + + + + + + + + + 取消订单 + 立即付款 + + + + + 删除订单 + + + + + + + 申请退款 + 申请退款 + + + 删除订单 + 重新退款 + 退款详情 + + + + + 去评价 + + + + +
- - - - - - 优惠券使用 - - - × - - - - 可使用的优惠券 - 不使用优惠券 - - Γ - - - - - - - - - - - - - - - - - - - {{item.Sum}} - 满{{item.BuySum}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(item.UseObjectType)}} - {{item.Sum}}元优惠券 - - {{filters.replace_time2(item.BeginDate)}}至{{item.ValidDate?filters.replace_time2(item.ValidDate):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - - - - 包邮券 - 满{{item.condition}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(0)}} - 包邮券 - - {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - - - - - - 包邮券 - 满{{item.condition}}元可用 - 满0元可用 - - - - - - - - - {{filter.get_type_card(0)}} - 包邮券 - - {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} - - - - Γ - - - - - - - - - - - - - - - - - - - - 确定 - - + + + + + + 优惠券使用 + + + × + + + + 可使用的优惠券 + 不使用优惠券 + + + Γ + + + + + + + + + + + + + + + + + + + + + + {{item.Sum}} + + 满{{item.BuySum}}元可用 + + 满0元可用 + + + + + + + + + + {{filter.get_type_card(item.UseObjectType)}} + + {{item.Sum}}元优惠券 + + + {{filters.replace_time2(item.BeginDate)}}至{{item.ValidDate?filters.replace_time2(item.ValidDate):'不限'}} + + + + + + Γ + + + + + + + + + + + + + + + + + + + + + + + + + 包邮券 + + + 满{{item.condition}}元可用 + + 满0元可用 + + + + + + + + + + {{filter.get_type_card(0)}} + + 包邮券 + + + {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} + + + + + + Γ + + + + + + + + + + + + + + + + + + + + + + + + + + + 包邮券 + + + 满{{item.condition}}元可用 + + 满0元可用 + + + + + + + + + + {{filter.get_type_card(0)}} + + 包邮券 + + + {{filters.format_time(item.use_start_time)}}至{{item.use_end_time?filters.format_time(item.use_end_time):'不限'}} + + + + + + Γ + + + + + + + + + + + + + + + + + + + + + 确定 + + + - - - - - - - 选择物流名字 - - - × - - - - - - - - Γ - - - - - {{express_list.name}} - - - - - - - 确定 - - - 设为默认 - - - - + + + + + + + 选择物流名字 + + + × + + + + + + + + + Γ + + + + + + {{express_list.name}} + + + + + + + 确定 + + + 设为默认 + + + + - - - - 店铺优惠 - - 优惠¥{{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 @@ - +
@@ -99,7 +99,6 @@ - - @@ -122,6 +120,14 @@ + + + + 我同意预售商品不退定金 + + + + @@ -130,7 +136,7 @@ 使用余额 :¥{{yuer}} - + 商品金额 ¥ {{formData.all_price}}元 diff --git a/packageC/pages/presell/cart/cart2_pre.wxss b/packageC/pages/presell/cart/cart2_pre.wxss index 686099e..e102765 100644 --- a/packageC/pages/presell/cart/cart2_pre.wxss +++ b/packageC/pages/presell/cart/cart2_pre.wxss @@ -245,8 +245,8 @@ margin:auto; */ .information .item { display: flex; justify-content: space-between; - height: 60rpx; - line-height: 60rpx; + height: 80rpx; + line-height: 80rpx; font-size: 26rpx; color: #777; } diff --git a/packageC/pages/presell/cart/zh_calculate.js b/packageC/pages/presell/cart/zh_calculate.js deleted file mode 100644 index 413f762..0000000 --- a/packageC/pages/presell/cart/zh_calculate.js +++ /dev/null @@ -1,379 +0,0 @@ -var regeneratorRuntime = require('../../../../utils/runtime.js'); -module.exports = { - //主要的作用,就是把组合购多余的商品进行拆分, - //如果没有达成组合购的要求,所有的商品都打回原价购买 - fir_set_arr: function (c_item) { - //组合活动,以及组合活动从表的商品 - let zh_prom_goods = c_item.zh_prom_goods; - let goods = c_item.goods; //一个门店中所有的商品 - let tfeel = 0,cut_price=0, offline_price = 0, offline_num = 0; - let txt_ite = c_item.need_list; - //多个活动要拿来循环一下 - for (let i in zh_prom_goods) { - let title = ""; //提示语; - //其中的一个活动 - let act_item = zh_prom_goods[i]; - let act_goos = act_item.gdlist; - let act = act_item.act; - - let all_num = 0; //商品数量之和 - let all_price0 = 0; //商品数量之和 - let aprice=0; //达到活动条件的购买价格 - let need_to_buy = 0; - let all_zhqty = 0; //所有商品要求起购数之和 - let no_in_arr = []; //剩余的未加入组合购 - let out_arr=[]; //超出活动限购的商品放入 - - //-- 寻找一下 -- - function get_num2(ite) { - for (let v2 in goods) { - var vh = goods[v2]; - if (vh.goods_id == ite.goods_id) { - return vh; - } - } - return 0; - } - - for (let j in act_goos) { - let item = act_goos[j]; - let item_j = goods.find(function (ele) { - return ele.goods_id == act_goos[j].goods_id; - }) - //-- 如果有找到的话 -- - if (item_j) { - act_goos[j].num = item_j.goods_num; - act_goos[j].goods_price = item_j.goods_price; - var cart_num=item.cart_num =item_j.goods_num; - var zh_b_num=item_j.promgoodsbuynum; - if(item.buyqty>0){ - var cbuy=item.buyqty-zh_b_num; - //当可买的数量为0 - if(cbuy<=0){ - item.num=0; - out_arr.push({ - price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,num:cart_num - }) - }else{ - if(cbuy>=cart_num) item.num =cart_num; - else{ - item.num =cbuy; - out_arr.push({ - price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,num:cart_num-cbuy - }) - } - } - } - - all_num += item.num; - //当有起购数的控制的时候 - if (item.zhqty) { - all_zhqty += item.zhqty; - if (item.num < item.zhqty) { - need_to_buy += item.zhqty - item.num; - } - if (item.num > item.zhqty) { - for (let i = 0; i < item.num - item.zhqty; i++) { - no_in_arr.push({ - price: item.goods_price, goods_id: item.goods_id, offline_price: item_j.offline_price - }) - } - } - } else { - for (let j = 0; j < item.num; j++) { - no_in_arr.push({ - price: item.goods_price, goods_id: item.goods_id, offline_price: item_j.offline_price - }) - } - } - } else { - if (item.zhqty) { - title = "必买商品未加购,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; - need_to_buy += item.zhqty; - } - } - - } - - //当满足组合的要求:总数要满足,起购数要满足 - if (all_num >= act.zhbuyqty && !need_to_buy) { - function sortData(a, b) { - return a.price - b.price - } - - if(no_in_arr.length>0) no_in_arr.sort(sortData); - - aprice = act.zhprice; - if (act.zhbuyqty > all_zhqty) { - for (let n = 0; n < act.zhbuyqty-all_zhqty; n++) { - no_in_arr.pop(); - } - } - //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 - if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { - //看一下是几倍 - let be = parseInt(no_in_arr.length / act.zhbuyqty); - aprice += be * act.zhprice; - for (let m = 0; m < be * act.zhbuyqty; m++) { - no_in_arr.pop(); - } - } - - - let goods_map = {}; - //算一下剩余的商品 - if(no_in_arr.length) { - for (let ii in no_in_arr) { - let item = no_in_arr[ii]; - if (item.offline_price) { - offline_price += item.price - item.offline_price; - offline_num += 1; - } - if (goods_map[item.goods_id]) { - var num = goods_map[item.goods_id]; - goods_map[item.goods_id] = ++num; - } else { - goods_map[item.goods_id] = 1; - } - } - } - - //超量的部分也要计算一下 - if(out_arr.length){ - for (var m in out_arr) { - var item = out_arr[m]; - if (item.offline_price) { - offline_price += (item.price - item.offline_price)*item.num; - offline_num += item.num; - } - if (goods_map[item.goods_id]) { - var num = goods_map[item.goods_id]; - num+=item.num - goods_map[item.goods_id] =num; - } else { - goods_map[item.goods_id] = item.num; - } - } - } - - if(Object.keys(goods_map).length) { - //这里就开始拆分提交订单时的列表 - for (let j in goods_map) { - //map中存的就是商品的数量 - let num = goods_map[j]; - //找到相应的商品 - let idx = goods.findIndex(function (ele) { - return ele.goods_id == j; - }) - goods[idx].goods_num -= num; - let new_g = JSON.parse(JSON.stringify(goods[idx])); - new_g.goods_num = num; - new_g.prom_type = 0; - new_g.prom_id = 0; - goods.push(new_g); - } - } - - - //-- 只统计是参与活动的商品 -- - for(var ij in goods){ - var iter=goods[ij]; - if(iter.prom_type!=7 || iter.prom_id!=act.id){ continue; } - all_price0+=iter.goods_num*iter.goods_price; - } - //-- 活动的条件已经满足 -- - c_item.zh_prom_goods[act.id].is_has_zh = 1; - c_item.is_has_zh = 1; - c_item.zh_prom_goods[act.id].actual_price = aprice; - c_item.zh_prom_goods[act.id].cut_price =all_price0-aprice; - - //-- 设置还需要购买多少件,享受活动,前段显示 -- - let need_to = c_item.need_list; - let index = this.find_need_to(need_to, act); - if (index > -1) { - need_to.splice(index, 1); - txt_ite = need_to - } - - - } else { - for (let ii in goods) { - let item = goods[ii]; - if (item.prom_type != 7) continue; - if (item.prom_id != act.id) continue; - if (item.offline_price) { - offline_price += item.goods_price - item.offline_price; - offline_num += 1; - } - item.prom_type = 0; - item.prom_id = 0; - } - if (act.zhbuyqty - all_num > need_to_buy) { - need_to_buy = act.zhbuyqty - all_num; - } - //-- 设置还需要购买多少件享受活动,前端显示 -- - let need_to = c_item.need_list; - let index = this.find_need_to(need_to, act); - if (title == '') title = "再买" + need_to_buy + "件,下单立享【" + act.zhprice + "元任选" + act.zhbuyqty + "件】"; - if (index != -1) { - need_to[index].title = title; - } else { - if (!need_to) need_to = []; - let it = { - id: act.id, - pickup_id: c_item.pickup_id, - title: title - }; - need_to.push(it); - } - txt_ite = need_to; - } - tfeel += aprice; - cut_price+=all_price0-aprice;; - } - - c_item.zh_all_price = tfeel; - c_item.zh_cut_price = cut_price; - - if (c_item.is_offline == 1) { - c_item.offline_price += offline_price; - c_item.offline_num += offline_num; - } else { - c_item.is_offline == 1; - c_item.offline_price = offline_price; - c_item.offline_num = offline_num; - } - - }, - //筛选组合购,纯粹的数组按活动id分组 - find_split: function (arr) { - //过滤只有团购的商品 - let oarr = arr.goods.filter(function (ele) { - return ele.prom_type == 7 - }) - if (!oarr || oarr.length == 0) return null; - //看一下有多少个不同的团购 - let map = {}, - dest = []; - for (let i = 0; i < oarr.length; i++) { - let ai = oarr[i]; - let index = map[ai.prom_id] - if (!index) { - dest.push({ - prom_id: ai.prom_id, - act: ai.act, - data: [ai] - }); - map[ai.prom_id] = dest.length; //存储下标 - } else { - let dj = dest[index - 1]; - dj.data.push(ai); - } - } - return dest; - }, - - find_need_to: function (list, iter) { - if (!list || list.length <= 0) return -1; - for (var i in list) { - var item = list[i]; - if (item.id == iter.id) { - return i; - } - } - return -1; - }, - //-- 平摊组合购的价格 -- - calc_zh_split_price: async function (c_arr, th) { - //-- 循环处理 -- - for (var k in c_arr) { - var cart_item = c_arr[k]; //就是每一单的意思 - var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 - - var zh_prom_goods = cart_item.zh_prom_goods; //一单中所有的组合购的集合 - var item_map = {}; - for (let i in zh_prom_goods) { - let item = zh_prom_goods[i]; - let prom_id = i; - //如果这个活动还没有达到要求,继续下一个计算 - if (!item.is_has_zh) continue; - //过滤出相应组合购活动的商品 - let glist = ord_goods.filter(function (ele) { - return ele.prom_type == 7 && ele.prom_id == i; - }) - var all_good_price = 0; - var post_gd=[]; - for (let j in glist) { - let item = glist[j]; - all_good_price += item.goods_price * item.goods_num; - var gitem={ - goods_id:item.goods_id, - goods_num:item.goods_num, - goods_price:item.goods_price - } - post_gd.push(gitem); - } - //要进行优惠的计算 - if (all_good_price - item.actual_price) { - if (cart_item.prom_pt_json) { - cart_item.prom_pt_json.push({ - "zhprom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }) - } else { - cart_item.prom_pt_json = [{ - "zhprom_id": prom_id, - "dis": (all_good_price - item.actual_price).toFixed(2), - "ispt": 0 - }]; - } - } - - //-- 如果系统要平摊到单品 -- - var pt_data = { - 'prom_id': prom_id, - 'dis': parseFloat(all_good_price - item.actual_price).toFixed(2), - 'goods': post_gd - } - 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) { - for (var io in glist) { - var goods_id = glist[io].goods_id; - item_map[goods_id]={}; - //平摊赋值 - item_map[goods_id].account_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account; - item_map[goods_id].account_yu_fir = th.arr_get_goods(goods_id, pt_res).fisrt_account_yu; - if (!th.data.ispt_goods) { - item_map[goods_id].account = item_map[goods_id].account_fir; - item_map[goods_id].account_yu = item_map[goods_id].account_yu_fir; - } - } - } - } - - //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表----------- - for (var jj = 0; jj < ord_goods.length; jj++) { - if (ord_goods[jj].is_gift) continue; - if (ord_goods[jj].prom_type == 7 && item_map[ord_goods[jj].goods_id]) { - ord_goods[jj].account_fir = item_map[ord_goods[jj].goods_id].account_fir; - ord_goods[jj].account_yu_fir = item_map[ord_goods[jj].goods_id].account_yu_fir; - ord_goods[jj].account = item_map[ord_goods[jj].goods_id].account; - ord_goods[jj].account_yu = item_map[ord_goods[jj].goods_id].account_yu; - } - } - } - - - } - - -} diff --git a/packageC/pages/presell/goodsInfo/g_filter.wxs b/packageC/pages/presell/goodsInfo/g_filter.wxs index 9b22f57..4a5436a 100644 --- a/packageC/pages/presell/goodsInfo/g_filter.wxs +++ b/packageC/pages/presell/goodsInfo/g_filter.wxs @@ -97,10 +97,24 @@ var g_filters = { } else { return value.toFixed(0); }; - }, + }, + + //跳转的接口 + get_goods_url:function(item){ + + console.log(item,111) + var url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id + if(item.prom_type==8){ + url1="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&pre_id="+item.id + } + return url1; + } + + } module.exports = { is_has_rank:g_filters.is_has_rank, get_card_price:g_filters.get_card_price, - num:g_filters.num, + num:g_filters.num, + get_goods_url:g_filters.get_goods_url, } \ No newline at end of file diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index d69e5c1..f3561eb 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -1,7 +1,7 @@ var ut = require("../../../../utils/util.js"), e = require("../../../../utils/common.js"), a = require("../../../../utils/wxParse/wxParse.js"), - s = getApp(),app=s, + s = getApp(), app = s, i = s.request, rq = i, oo = s.globalData, @@ -247,14 +247,15 @@ Page({ fir_goods: null, share_hidden: false, - pre_arr:null, + pre_arr: null, }, //------初始化加载---------- onLoad: function (t) { - var ee = this, that = ee, th = ee, - pre_id=t.pre_id, - gid=t.goods_id, + var ee = this, that = ee, th = ee, + pre_id = t.pre_id, + gid = t.goods_id, + presell_id = t.prom_id, first_leader = t.first_leader, room_id = t.room_id, room_user_share = t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id @@ -305,8 +306,9 @@ Page({ } } - this.data.gid=gid; - this.data.pre_id=pre_id; + this.setData({ + gid:gid,pre_id:pre_id,presell_id:presell_id + }) if (first_leader) { console.log("log---".first_leader); @@ -425,17 +427,17 @@ Page({ }, - //--- 设置一下默认库存的数量 ---- - set_def_storage(ee) { - var that = this, th = this; - that.data.fir_def_store = ee; - that.setData({ - def_pick_store: ee, - sto_sele_name: ee.pickup_name, - sto_sele_id: ee.pickup_id, - sto_sele_distr: ee.distr_type - }) - }, + //--- 设置一下默认库存的数量 ---- + set_def_storage(ee) { + var that = this, th = this; + that.data.fir_def_store = ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + }, //------------程序初始化入口------------- @@ -590,7 +592,7 @@ Page({ //-- 如果是预览图片,页面不重新更新 -- var show_prew_img = this.data.show_prew_img if (show_prew_img) { - this.data.show_prew_img = 0; return false; + this.data.show_prew_img = 0; return false; } //优惠券要实时更新 @@ -611,202 +613,204 @@ Page({ }, 300) this.data.is_timer = 1; - var ee = this,gid = this.data.gid,i = getApp().request; + var ee = this, gid = this.data.gid, i = getApp().request; this.wait_for_store_config(); this.get_pre_prom(function () { - i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { - failRollback: !0, - success: function (t) { - console.log(t); - if (t.data.code == 0) { - if (t.data.data.is_on_sale != 1) { - wx.showModal({ - title: '商品已经下架', - showCancel: !1, - complete: function () { - wx.navigateBack(); - } - }); - } - var timestamp = Date.parse(new Date()); - timestamp = timestamp / 1000; - if (t.data.data.on_time > timestamp) { - wx.showModal({ - title: '商品还未上架', - showCancel: !1, - complete: function () { - wx.navigateBack(); - } - }); - } + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { + failRollback: !0, + success: function (t) { + console.log(t); + if (t.data.code == 0) { + if (t.data.data.is_on_sale != 1) { + wx.showModal({ + title: '商品已经下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + if (t.data.data.on_time > timestamp) { + wx.showModal({ + title: '商品还未上架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } - if (t.data.data.down_time > 0) { - if (t.data.data.down_time < timestamp) { - wx.showModal({ - title: '商品已经到期下架', - showCancel: !1, - complete: function () { - wx.navigateBack(); - } - }); - } - } - //动态获取商品名称 - wx.setNavigationBarTitle({ - title: t.data.data.goods_name, - }); + if (t.data.data.down_time > 0) { + if (t.data.data.down_time < timestamp) { + wx.showModal({ + title: '商品已经到期下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } + //动态获取商品名称 + wx.setNavigationBarTitle({ + title: t.data.data.goods_name, + }); - //-- 把商品的赋值 -- - ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); + //-- 把商品的赋值 -- + ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); + ee.data.sele_g_id=t.data.data.goods_id; + ee.data.sele_g=t.data.data; - //获取用户的默认门店 - getApp().get_user_store(function (e) { - if (!e) { - th.data.fir_def_store = {}; //赋值空对象 - return false; - } - var ee = JSON.parse(JSON.stringify(e)); + //获取用户的默认门店 + getApp().get_user_store(function (e) { + if (!e) { + th.data.fir_def_store = {}; //赋值空对象 + return false; + } + var ee = JSON.parse(JSON.stringify(e)); + + if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type; + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- + if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) { + ee.is_no_dis = 1; + } - if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type; - //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- - if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) { - ee.is_no_dis = 1; + var appd = getApp().globalData; + var w_time = setInterval(function () { + if (that.data.is_get_local_ok == 0) return false; + clearInterval(w_time); + var e = JSON.parse(JSON.stringify(ee)); + + //如果有开启近距离的话,同时距离优不一样了 + if (that.data.lat != null) { + //如果经纬度有变化的话 + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { + that.set_def_storage(e); + + } else { + //要用接口是获取距离,js的计算不准 + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: { + store_id: os.stoid, + pickup_id: e.pickup_id, + lat: th.data.lat, + lon: th.data.lon + }, + }).then(res => { + if (res.data.code == 0) { + e = res.data.data.pageData[0]; + if (e) { + e.is_no_dis = ee.is_no_dis; + appd.pk_store = e; + that.set_def_storage(e); } - var appd = getApp().globalData; - var w_time = setInterval(function () { - if (that.data.is_get_local_ok == 0) return false; - clearInterval(w_time); - var e = JSON.parse(JSON.stringify(ee)); - - //如果有开启近距离的话,同时距离优不一样了 - if (that.data.lat != null) { - //如果经纬度有变化的话 - if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { - that.set_def_storage(e); - - } else { - //要用接口是获取距离,js的计算不准 - getApp().request.promiseGet("/api/weshop/pickup/list", { - data: { - store_id: os.stoid, - pickup_id: e.pickup_id, - lat: th.data.lat, - lon: th.data.lon - }, - }).then(res => { - if (res.data.code == 0) { - e = res.data.data.pageData[0]; - if (e) { - e.is_no_dis = ee.is_no_dis; - appd.pk_store = e; - that.set_def_storage(e); - } - - } - }) - } - appd.lat = that.data.lat; - appd.lon = that.data.lon; - - } else { - if (e) { - e.distance = null; - - that.set_def_storage(e); - } - } - }, 500) - }); + } + }) + } + appd.lat = that.data.lat; + appd.lon = that.data.lon; + } else { + if (e) { + e.distance = null; + that.set_def_storage(e); + } + } + }, 500) + }); - t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); - var cur_price = t.data.data.shop_price; - if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) { - var cfile = getApp().globalData.userInfo.card_field; - if (t.data.data[cfile]) { - cur_price = t.data.data[cfile]; - } - } - var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString(); - txt = parseFloat(txt); - t.data.data['disc'] = txt; - if (t.data.data.original_img.indexOf(o.imghost) == -1) - t.data.data.original_img = o.imghost + t.data.data.original_img; + t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); + + var cur_price = t.data.data.shop_price; + if (getApp().globalData.userInfo && getApp().globalData.userInfo.card_field) { + var cfile = getApp().globalData.userInfo.card_field; + if (t.data.data[cfile]) { + cur_price = t.data.data[cfile]; + } + } + var txt = (cur_price / t.data.data.market_price * 10).toFixed(2).toString(); + txt = parseFloat(txt); - if (t.data.data.goods_content == null) t.data.data.goods_content = ""; + t.data.data['disc'] = txt; + if (t.data.data.original_img.indexOf(o.imghost) == -1) + t.data.data.original_img = o.imghost + t.data.data.original_img; - //-----商品详情--- - if (!t.data.data.goods_content) t.data.data.goods_content = " "; - a.wxParse("content", "html", t.data.data.goods_content, ee, 6); - e.wxParseAddFullImageUrl(ee, "content"); + if (t.data.data.goods_content == null) t.data.data.goods_content = ""; - ee.setData({ - data: t.data.data, - sele_g: t.data.data, - userInfo: getApp().globalData.userInfo - }); + //-----商品详情--- + if (!t.data.data.goods_content) t.data.data.goods_content = " "; + a.wxParse("content", "html", t.data.data.goods_content, ee, 6); + e.wxParseAddFullImageUrl(ee, "content"); - //获取门店 - ee.get_sto(); - ee.get_sku(o.stoid, t.data.data, gid); - - - ee.data.g_buy_num = new Map(); - - if (ee.data.cat_name == '') { - //过去国别,分类,品牌的名称 - i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { - success: function (t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - cat_name: dd.name - }); - } - } - }); - //过去国别,分类,品牌的名称 - i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { - success: function (t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - brand_name: dd.name - }); - } - } - }); - //过去国别,分类,品牌的名称 - i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { - success: function (t) { - var dd = t.data.data; - if (t.data.code == 0) { - th.setData({ - nation_name: dd.name - }); - } - } - }); - } + ee.setData({ + data: t.data.data, + sele_g: t.data.data, + userInfo: getApp().globalData.userInfo + }); + //获取门店 + ee.get_sto(); + ee.get_sku(o.stoid, t.data.data, gid); + + + ee.data.g_buy_num = new Map(); + + if (ee.data.cat_name == '') { + //过去国别,分类,品牌的名称 + i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + cat_name: dd.name + }); + } } - else { - wx.showModal({ - title: t.data.msg, - showCancel: !1, - complete: function () { - wx.navigateBack(); - } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + brand_name: dd.name + }); + } + } + }); + //过去国别,分类,品牌的名称 + i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { + success: function (t) { + var dd = t.data.data; + if (t.data.code == 0) { + th.setData({ + nation_name: dd.name }); + } } + }); } - }); - ee.data.enterAddressPage && (this.data.enterAddressPage = !1); + + } + else { + wx.showModal({ + title: t.data.msg, + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } + }); + ee.data.enterAddressPage && (this.data.enterAddressPage = !1); }) @@ -931,12 +935,12 @@ Page({ var th = this; var ind = t.currentTarget.dataset.openSpecModal_ind; if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; - th.setData({ - open_ind_store: ind + th.setData({ + open_ind_store: ind }); - + th.add_cart_func(t); - + }, @@ -951,7 +955,7 @@ Page({ return s.my_warnning("还未登录!", 0, this); } - var e = this,th = e, o = this.data.sele_g,a = o.goods_id; + var e = this, th = e, o = this.data.sele_g, a = o.goods_id; //----------添加到购物车时,要判断限购数量,-------- e.get_buy_num(o, function (ee) { //---判断商品是否超出限购--- @@ -994,7 +998,7 @@ Page({ goods_name: o.goods_name, goods_sn: o.goods_sn, sku: o.sku, - presell_list_id:th.data.presellList.id, + presell_list_id: th.data.presellList.id, }; //---是不是从收藏夹出来的--- @@ -1011,7 +1015,6 @@ Page({ } //让商品带上房间号 - //让商品带上房间号 if (th.data.sys_switch.is_skuroom_id == 1) { if (th.data.data.goods_id == getApp().globalData.room_goods_id) { newd.room_id = getApp().globalData.room_id; @@ -1020,10 +1023,6 @@ Page({ if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; } - //如果是积分够,is_integral_normal就要有积分购普通购买字段 - if (o.prom_type == 4) { - newd.is_integral_normal = 1; - } //如果有线下取价 if (o.offline_price) { @@ -1031,16 +1030,16 @@ Page({ newd.pricing_type = o.pricing_type; } - newd.goods_price = th.data.prom_price; - newd.member_goods_price = th.data.prom_price, - newd.prom_type = 8; - newd.prom_id = o.prom_id; + newd.goods_price = th.data.prom_price; + newd.member_goods_price = th.data.prom_price, + newd.prom_type = 8; + newd.prom_id = o.prom_id; + + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 - }) }, @@ -1128,7 +1127,7 @@ Page({ } }) - }else { + } else { newd['pick_name'] = th.data.sto_sele_name; newd['pick_dis'] = th.data.sto_sele_distr; th.buyNow(newd); @@ -1137,18 +1136,18 @@ Page({ //----------立即购买----------- buyNow: function (e) { - + this.setData({ openSpecModal: 0, openSpecModal_inte: 0, openSpecModal_inte_normal: 0, openSpecModal_pt: 0, }) - - app.set_b_now(e); + + app.set_b_now(e); getApp().goto("/packageC/pages/presell/cart/cart2_pre"); - - + + }, //----------增加购买数量----------- @@ -1164,20 +1163,6 @@ Page({ this.checkCartNum(Number(t.detail.value)); }, - //----------增加购买数量----------- - addCartNum_inte: function (t) { - this.checkCartNum_inte(this.data.goodsInputNum + 1); - }, - //----------减少购买数量----------- - subCartNum_inte: function (t) { - this.checkCartNum_inte(this.data.goodsInputNum - 1); - }, - //----------输入框输入购买数量----------- - inputCartNum_inte: function (t) { - this.checkCartNum_inte(Number(t.detail.value)); - }, - - //------检查数量是不是超出限购------ checkCartNum: function (t) { var th = this; @@ -1214,18 +1199,7 @@ Page({ } } - - var e = th.data.sele_g.store_count; - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 - if (th.data.sales_rules == 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { - if (!th.data.def_pick_store) { - wx.showModal({ title: '请选择门店', }); - return false; - } else { - e = th.data.def_pick_store.CanOutQty; - } - } if (!e) e = 0; //库存不足,不增加 if (e < t) { @@ -1235,90 +1209,11 @@ Page({ } t > e || 0 == e ? t = e : t < 1 && (t = 1); th.setData({ goodsInputNum: t }); - th.is_show_more_buy(); + //th.is_show_more_buy(); }) }, - //----- 检查一下积分购的限购之类的问题 ----- - checkCartNum_inte: function (t) { - var th = this; - this.get_buy_num(this.data.data, async function () { - - //--判断商品是否超出限购-- - if (th.data.g_buy_num != null && th.data.data.viplimited > 0) { - - var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); - - if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showModal({ - title: '超出商品限购', - }); - - var num = th.data.sele_g.viplimited - gd_buy_num; - if (num < 0) num = 0; - th.setData({ goodsInputNum: num }) - return false; - } - } - - //--判断商品是否超出活动限购-- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { - if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '超出商品活动限购', - }); - - var num = th.data.prom_buy_limit - th.data.prom_buy_num; - if (num < 0) num = 0; - th.setData({ goodsInputNum: num }) - return false; - } - } - - if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { - var redis_num = 0; - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - - if (t > redis_num) { - wx.showModal({ - title: '超出商品活动库存', - }); - th.setData({ goodsInputNum: redis_num }) - return false; - } - - } - - var e = th.data.sele_g.store_count; - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 - if (th.data.sales_rules == 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { - if (!th.data.def_pick_store) { - wx.showModal({ title: '请选择门店', }); - return false; - } else { - e = th.data.def_pick_store.CanOutQty; - } - } - if (!e) e = 0; - //库存不足,不增加 - if (e < t) { - wx.showModal({ title: '库存不足', }); - if (e < 0) e = 0; - th.setData({ goodsInputNum: e }); return false; - } - t > e || 0 == e ? t = e : t < 1 && (t = 1); - th.setData({ goodsInputNum: t }); - }) - }, - - closeSpecModal: function () { if (this.data.openSpecModal_pt && this.data.is_normal) { this.get_sto(); @@ -1722,8 +1617,8 @@ Page({ is_on_sale: 1, pageSize: 500, orderField: 'sort', - prom_id:tt.data.presellForm.id, - prom_type:8, + prom_id: tt.data.presellForm.id, + prom_type: 8, } }).then(res => { var e = res; @@ -1852,65 +1747,38 @@ Page({ //选择了不同的规格的时候要判断是不是有活动正在进行中 async sele_spec_chech_activity() { - //---如果是活动的时候--- - var prom = null, goodsinfo = this.data.sele_g, 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) { - await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, { - }).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - } - - if (goodsinfo.prom_type == 4) { - await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { - }).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - } - - //----------如果有活动,并且在进行中,就不计算线下库存--------------- - var now = ut.gettimestamp(); - if (prom) { - if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { - th.setData({ - prom_type: goodsinfo.prom_type, - prom_price: prom.price, - prom_buy_limit: prom.buy_limit, - prom_end_time: prom.end_time, - prom_start_time: prom.start_time, - prom_st: 1, - }) - return false; + var prom = null, goodsinfo = this.data.sele_g, th = this; + + var all_pre_goods=th.data.all_pre_goods; + if(all_pre_goods){ + var userInfo = getApp().globalData.userInfo; + var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: th.data.gid }; + if (userInfo) { + pre_data.user_id = userInfo.user_id; + } + 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) { + all_pre_goods=e.data.data.pageData; + th.data.all_pre_goods=e.data.data.pageData; + } + }) } - } - //---设置普通商品--- - th.setData({ - prom_type: 0, - prom_price: null, - prom_buy_limit: null, - prom_end_time: null, - prom_start_time: null, - prom_st: null, - }) + + var idx=all_pre_goods.findIndex(function (ele) { + return ele.goods_id==goodsinfo.goods_id; + }) + var pre_arr =all_pre_goods[idx]; + th.setData({ pre_arr: pre_arr }) + th.data.prom_buy_limit=pre_arr.vip_butyqty; }, //---------拿出门店分类和门店------------ get_sto(e) { - var th = this,is_normal = e; + var th = this, is_normal = e; if (e == 1) { th.setData({ is_normal: 1 }) @@ -2854,10 +2722,7 @@ Page({ }; //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 - var type = this.data.prom_type; - if (type == 6) type = 2; - if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; - + var type = 8; wx.showLoading({ title: '生成中...', }) @@ -2949,12 +2814,8 @@ Page({ context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit); } - var share_title = th.data.data.goods_name; - if (th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) { - share_title = th.data.prom_act.share_title; - if (!share_title) share_title = th.data.prom_act.title; - if (th.data.prom_type == 4) share_title = th.data.prom_act.name; - } + var share_title = th.data.presellForm.share_title; + share_title ? share_title : th.data.data.goods_name; //---产品名称--- //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 @@ -2962,34 +2823,34 @@ Page({ context.setFillStyle("black"); context.setFontSize(21.3 * unit) th.draw_Text(context, share_title, - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); + 80 * unit, 200 * unit, 200 * unit, 279 * unit, unit); //------产品的价格------- - context.setFontSize(23 * unit) + context.setFontSize(22 * unit) context.setFillStyle("red") - var pri0 = th.data.data.shop_price; - if (th.data.prom_act) - pri0 = th.data.prom_act.price; + var pri0 = th.data.presellList.presell_money; + // if (th.data.prom_act) + // pri0 = th.data.prom_act.price; pri0 = parseFloat(pri0).toFixed(2); var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25; context.fillText("¥", wd1 - 15, 185 * unit); - context.setFontSize(31 * unit) + context.setFontSize(22 * unit) context.fillText(pri0, wd1, 185 * unit); //---市场价划掉--- - context.setFillStyle("gray") + context.setFillStyle("red") context.setFontSize(22 * unit) pri0 = "¥" + th.data.data.market_price.toFixed(2); var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25; - context.fillText(pri0, wd2, 213 * unit); + context.fillText('定金', wd2, 213 * unit); - context.setStrokeStyle('gray'); - context.setLineWidth(1 * unit); - context.moveTo(wd2 - 5, 206 * unit); - context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); - context.stroke(); + // context.setStrokeStyle('gray'); + // context.setLineWidth(1 * unit); + // context.moveTo(wd2 - 5, 206 * unit); + // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); + // context.stroke(); } else { context.setFillStyle("black"); @@ -3009,227 +2870,82 @@ Page({ context.fillText(text, 38 * unit, 235 * unit); } - + console.log(th.data.share_goods_img); + let share_goods_img=th.data.presellForm.share_img; + share_goods_img?share_goods_img:th.data.data.share_goods_img; //---中间大图--- context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); - //-------大图后面就不一样了----------- - switch (type) { - case 0: //普通商品的展示 - case 4: - //中间的几个字 - if (th.data.poster && parseInt(th.data.poster.style) == 2) { - if (parseInt(th.data.poster.show_quality)) { - var g_path = "../../../../images/share/s_gou.png"; - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("正品保证", 84 * unit, 690 * unit); - - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("纯实体店", 246 * unit, 690 * unit); - - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("官方验证", 420 * unit, 690 * unit); - } - - } else { - var g_path = "../../../../images/share/s_gou.png"; - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("正品保证", 84 * unit, 690 * unit); - - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("纯实体店", 246 * unit, 690 * unit); - - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("官方验证", 420 * unit, 690 * unit); - } - - - //---画线--- - context.setLineWidth(1 * unit) - context.moveTo(32 * unit, 710 * unit) - context.lineTo(520 * unit, 710 * unit) - context.stroke(); - - //---文字--- - context.setFillStyle("black") - context.setFontSize(22 * unit) - - if (type == 0) { - // 原来start ---> - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); - - context.setFontSize(22 * unit) - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit); - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); - - } else { - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); - context.setFontSize(22 * unit) - context.fillText("长按识别二维码", 40 * unit, 806 * unit); - context.fillText("立即开始兑换", 40 * unit, 846 * unit); - } - - //---二维吗图--- - //-- 自定义海报 -- - if (th.data.poster) { - var erm_x = parseFloat(th.data.poster.ewm_x) * 2; - var erm_y = parseFloat(th.data.poster.ewm_y) * 2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - } else { - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } - - break; - case 1: //秒杀商品的展示 - //---画线--- - context.setLineWidth(1 * unit) - context.moveTo(32 * unit, 670 * unit) - context.lineTo(520 * unit, 670 * unit) - context.stroke(); - - //画秒杀的图片 - var miaos_path = '../../../../images/share/miao_share.png'; - context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); - - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit); - //---文字--- - context.setFontSize(22 * unit) - context.setFillStyle("black") - context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit); - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); - - - //---二维吗图--- - //-- 自定义海报 -- - if (th.data.poster) { - var erm_x = parseFloat(th.data.poster.ewm_x) * 2; - var erm_y = parseFloat(th.data.poster.ewm_y) * 2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); - } else { - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit); - } - break; - - case 2: //会员团和商家团的展示 - //---画线--- - context.setLineWidth(1 * unit) - context.moveTo(32 * unit, 670 * unit) - context.lineTo(520 * unit, 670 * unit) - context.stroke(); - //---文字--- - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); - - //绘制成团图片 - var ct_img = "../../../../images/share/ct_num.png"; - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); - var ct_num = th.data.prom_act.ct_num; - context.setFontSize(14 * unit) - context.font = 'normal'; + //预售 + /* if (th.data.poster && parseInt(th.data.poster.style) == 2) { + if (parseInt(th.data.poster.show_quality)) { + var g_path = "../../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); context.setFillStyle("red") - if (ct_num < 10) { - context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); - } else { - context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); - } - context.setFontSize(22 * unit) - context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); - context.setFillStyle("gray") - context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit); - context.setFillStyle("black") - context.font = 'normal bold 18px sans-serif'; - context.setFontSize(21.3 * unit) - context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit); - - - //---二维吗图--- - //-- 自定义海报 -- - if (th.data.poster) { - var erm_x = parseFloat(th.data.poster.ewm_x) * 2; - var erm_y = parseFloat(th.data.poster.ewm_y) * 2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - } else { - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } - break - case 3: //阶梯团的展示 - //---画线--- - context.setLineWidth(1 * unit) - context.moveTo(32 * unit, 670 * unit) - context.lineTo(520 * unit, 670 * unit) - context.stroke(); - //---文字--- + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); - - //---绘制中间阶梯的价格--- - var list = th.data.prom_act.ct_rylist; - for (var i = 0; i < list.length; i++) { - var item = list[i]; - var wi = i * 90 * unit; - context.font = 'normal'; - context.setFontSize(16 * unit) - context.setFillStyle("red") - context.fillText("¥", 40 * unit + wi, 756 * unit); - context.setFontSize(22 * unit) - var pri = parseFloat(item.price).toFixed(2); - context.fillText(pri, 56 * unit + wi, 756 * unit); - context.setFillStyle("gray") - context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); - } - //----------------下面部分---------------- - // context.setFillStyle("gray") - // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); - // context.setFillStyle("black") - // context.font = 'normal bold 18px sans-serif'; - // context.setFontSize(22 * unit) - // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); - //context.setFillStyle("gray") - context.setFillStyle("black") - context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit); - //context.font = 'normal bold 18px sans-serif'; - context.setFontSize(21 * unit) - context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit); - - - //-- 自定义海报 -- - if (th.data.poster) { - var erm_x = parseFloat(th.data.poster.ewm_x) * 2; - var erm_y = parseFloat(th.data.poster.ewm_y) * 2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - } else { - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } - break + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } + } else { + var g_path = "../../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } */ + + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 665 * unit) + context.lineTo(520 * unit, 665 * unit) + context.stroke(); + + //---文字--- + context.setFillStyle("black") + // context.setFontSize(22 * unit) + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); + context.setFillStyle("red") + context.setFontSize(20 * unit) + var presell_price = `预售价:${th.data.presellList.presell_price}` + context.fillText(presell_price, 40 * unit, 801 * unit); + context.setFillStyle("black") + context.setFontSize(22 * unit) + context.fillText("特惠好物,限时预售", 40 * unit, 836 * unit); + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); + + //---二维吗图--- + //-- 自定义海报 -- + if (th.data.poster) { + var erm_x = parseFloat(th.data.poster.ewm_x) * 2; + var erm_y = parseFloat(th.data.poster.ewm_y) * 2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 756 * unit, 130 * unit, 116 * unit); } + //--- 如果是自定义海报的时候 --- if (th.data.poster && parseInt(th.data.poster.style) == 2) { @@ -3437,9 +3153,12 @@ Page({ return false; } - var img_url = ee.data.data.original_img; - if ((this.data.prom_type == 1 || this.data.prom_type == 6) && this.data.prom_act.share_imgurl) { - img_url = this.data.iurl + this.data.prom_act.share_imgurl; + // var img_url = ee.data.data.original_img; + var img_url = ee.data.presellForm.share_img; + img_url?img_url:ee.data.data.original_img; + + if (img_url) { + img_url = this.data.iurl + img_url; } //获取商品是分享图信息 @@ -3839,7 +3558,6 @@ Page({ //s.showWarning("设置默认门店地址失败", null, 500, !1); getApp().my_warnning("设置默认门店地址失败", 0, th) } - } }); @@ -4136,103 +3854,80 @@ Page({ }); }, - is_show_more_buy: function () { - var prom_goods = this.data.prom_goods; - var per_price = this.data.sele_g.shop_price - if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { - per_price = this.data.sele_g[this.data.card_field]; - } - var all_price = per_price * this.data.goodsInputNum; - var con = null; - for (var i in prom_goods) { - var item = prom_goods[i]; - if (item.prom_type == 1) { - if (item.condition > this.data.goodsInputNum) { - con = item; - con.need = (item.condition - this.data.goodsInputNum).toFixed(2) + "件"; - break; - } - } else { - if (item.condition > all_price) { - con = item; - con.need = (item.condition - all_price).toFixed(2) + "元"; - break; - } - } - } - - this.setData({ hui_condition: con }); + onShareTimeline() { + var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; + if (!store_name) + store_name = getApp().globalData.setting.appName; + return { + title: this.data.data.goods_name + '-' + store_name, + imageUrl: this.data.gallery[0].image_url, + } }, - closeSpecModal_inte: function () { - this.setData({ openSpecModal_inte: 0 }); + clickCollapse() { + this.setData({ flag: !this.data.flag, }) }, - closeSpecModal_inte_normal: function () { - this.setData({ openSpecModal_inte_normal: 0 }); - //要进行还原 - this.get_sto(); - this.setData({ - sele_g: this.data.data, - gid: this.data.data.goods_id - }) - this.sele_spec_chech_activity(); + clickShare() { + this.setData({ share_hidden: true, }); }, - addCart_inte: function (t) { - this.add_cart_func_inte(t); + send() { + this.setData({ share_hidden: false, }); }, + cancel() { + this.setData({ + share_hidden: false, + }); + }, - onShareTimeline() { - var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; - if (!store_name) - store_name = getApp().globalData.setting.appName; - return { - title: this.data.data.goods_name + '-' + store_name, - imageUrl: this.data.gallery[0].image_url, + //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 + check_nor_promgood(goods_id, back) { + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + goods_id, { + success: function (res) { + if (res.data.code == 0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length > 0) { + var obj = { + act_id: res.data.data.promGoodsLists[0].prom_id, + } + back(obj); + } else { + back(0) } - }, - - clickCollapse() { - this.setData({flag: !this.data.flag,}) - }, - - clickShare() { - this.setData({share_hidden: true,}); - }, - - send() { - this.setData({share_hidden: false,}); - }, - - cancel() { - this.setData({ - share_hidden: false, - }); - }, + } + }) + }, - //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 - check_nor_promgood(goods_id, back) { - getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + goods_id, { - success: function (res) { - if (res.data.code == 0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length > 0) { - var obj = { - act_id: res.data.data.promGoodsLists[0].prom_id, - } - back(obj); - } else { - back(0) - } + //获取预售的信息 + async get_pre_prom(func) { + var th = this; + var presell_id = null; + var pre_arr = null; + + if(!th.data.pre_id){ + var presell_id=th.data.presell_id; + var url="/api/weshop/marketing/marketingPresellList/list" + var rd={ + store_id:os.stoid, + presell_id:presell_id, + goods_id:th.data.gid + } + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data:rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length>0) { + var arr =res.data.data[0]; + presell_id = arr.presell_id; + th.setData({ + presellList: arr, + }) } }) - }, - async get_pre_prom(func){ - var th = this; - var presell_id = null; - var pre_arr = null; + + }else{ //------获取预售从表---------- await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/get/" + os.stoid + "/" + th.data.pre_id, {}).then(res => { if (res.data.code == 0 && res.data.data) { @@ -4243,38 +3938,71 @@ Page({ }) } }) - if (!presell_id) { - wx.showToast({title: "未找到活动商品", icon: 'none', duration: 3000}) + } + + + if (!presell_id) { + wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); + ut.wx_back(); + return false; + } + //------获取预售主表---------- + await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + var act_data=res.data.data; + if(act_data.is_end){ + wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); + ut.wx_back(); return false; } - //------获取预售主表---------- - await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - th.setData({ - presellForm: res.data.data, - }); - th.countDown(res.data.data.end_time) - } - }) - var userInfo = getApp().globalData.userInfo; - var pre_data = {store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: th.data.gid}; - if (userInfo) { - pre_data.user_id = userInfo.user_id; - } - 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]; - th.setData({pre_arr: pre_arr}) - } + if(act_data.isuse==0){ + wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); + ut.wx_back(); + return false; + } + + var end_time=act_data.pay_enddate; + if(act_data.presell_type==1){ + end_time=act_data.end_time; + } + if(end_time { + if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length > 0) { + + th.data.all_pre_goods=e.data.data.pageData; + + var idx=e.data.data.pageData.findIndex(function (ele) { + return ele.id== th.data.presellList.id; }) - if (!pre_arr) { - wx.showToast({title: "当前会员身份不符,无法参与", icon: 'none', duration: 3000}) - } - if (func) { - func(); - } + pre_arr = e.data.data.pageData[idx]; + th.setData({ pre_arr: pre_arr }) + th.data.prom_buy_limit=pre_arr.vip_butyqty; + } + }) + if (!pre_arr) { + wx.showToast({ title: "当前会员身份不符,无法参与", icon: 'none', duration: 3000 }) + } + if (func) { + func(); } + } }); diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.wxml b/packageC/pages/presell/goodsInfo/goodsInfo.wxml index 9db2c73..227784c 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.wxml +++ b/packageC/pages/presell/goodsInfo/goodsInfo.wxml @@ -104,7 +104,7 @@ - + 尾款:{{filters.format_time(presellForm.pay_begindate,1)}}-{{filters.format_time(presellForm.pay_enddate,1)}} @@ -495,20 +495,28 @@ - - + + {{filters.format_time(presellForm.end_time,2)}} 预售结束 {{filters.format_time(presellForm.delivery_date,2)}} 开始发货 付款{{presellForm.delivery_daynum}} 天后发货 - - 支付定金 + + + 支付定金 定金 {{presellList.presell_money}} + + + 支付金额 + + {{presellList.presell_price}} + + @@ -534,29 +542,15 @@ 券后¥{{sele_g.offline_price}} - - - 已售:{{sele_g.sales_sum}} - - - 可售:{{def_pick_store.CanOutQty}} - - 可售:0 - - - 可售:{{sele_g.store_count}} - - - - + - - 已售:{{prom_act.buy_num+prom_act.virtual}} + + 已售:{{pre_arr.buy_goodnum+pre_arr.virtual_qty}} - 已售:{{prom_act.buy_num}} - 可售:{{prom_act.goods_num-prom_act.buy_num}} + 可售:{{pre_arr.presell_sumqty-pre_arr.buy_goodnum}} - + + @@ -653,7 +647,8 @@ - 支付定金(¥{{presellList.presell_money}}) + 支付定金(¥{{pre_arr.presell_money}}) + 支付金额(¥{{pre_arr.presell_price}}) diff --git a/packageC/pages/presell/list/list.js b/packageC/pages/presell/list/list.js index d6a0eaa..f8efb76 100644 --- a/packageC/pages/presell/list/list.js +++ b/packageC/pages/presell/list/list.js @@ -51,7 +51,7 @@ Page({ }) var userInfo=getApp().globalData.userInfo; - if(userInfo && goodlist.length==0){ + if(userInfo && this.data.goodlist.length==0){ //调用列表 this.get_list(); }else{ diff --git a/packageC/pages/presell/list/list.wxml b/packageC/pages/presell/list/list.wxml index 6adcd1a..ea6a007 100644 --- a/packageC/pages/presell/list/list.wxml +++ b/packageC/pages/presell/list/list.wxml @@ -62,7 +62,7 @@ - 去抢购 + 去抢购 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 56f8d2c..affa7b6 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -301,11 +301,12 @@ Page({ //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 if (item.prom_type == 1) { var prom = null; + var now = ut.gettimestamp(); await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { if (res.data.code == 0) prom = res.data.data; }) - //---如果有活动,不算在一起--- - if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { + //---如果互动都已经过期,或者还未开始,或者无活动 + if (!prom || prom.is_end == 1 || prom.end_time < now || prom.start_time > now) { var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; a.delete(url, { success: function (t) { @@ -513,9 +514,9 @@ Page({ } }else{ //-- 此时要实时更新线下取价价格 -- - for(var i=0;i - @@ -61,22 +60,6 @@ - - - - 选择物流: diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index e81aed8..d6dee7c 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -1,22 +1,23 @@ var t = require("../../../utils/util.js"), - ut = t, - e = require("../../../utils/common.js"), - a = require("../../../utils/wxParse/wxParse.js"), - s = getApp(), - i = s.request, - rq = i, - oo = s.globalData, - o = s.globalData.setting, - os = o; + ut = t, + e = require("../../../utils/common.js"), + a = require("../../../utils/wxParse/wxParse.js"), + s = getApp(), + i = s.request, + rq = i, + oo = s.globalData, + o = s.globalData.setting, + os = o; //评价加载更多 -var more = function(e) { - return e && e.__esModule ? e : { - default: e - }; - }(require("../../../utils/LoadMore.js")), - n = new more.default(); +var more = function (e) { + return e && e.__esModule ? e : { + default: e + }; +}(require("../../../utils/LoadMore.js")), + n = new more.default(); var utils = require('../../../utils/util.js'); var regeneratorRuntime = require('../../../utils/runtime.js'); +const { app } = require("../../../utils/common.js"); Page({ data: { @@ -31,7 +32,7 @@ Page({ resourceUrl: o.h5_url, //公众号那边的图片文件域名 iurl: o.imghost, defaultAvatar: o.resourceUrl + "/static/images/user68.jpg", - + data: null, content: "", //商品详情 comments: null, //商品评论 @@ -80,25 +81,25 @@ Page({ id: 1, num: 0 }, - { - name: "有图", - id: 5, - num: 0 - }, + { + name: "有图", + id: 5, + num: 0 + }, - { - name: "好评", - id: 2, - num: 0 - }, { - name: "中评", - id: 3, - num: 0 - }, { - name: "差评", - id: 4, - num: 0 - }, + { + name: "好评", + id: 2, + num: 0 + }, { + name: "中评", + id: 3, + num: 0 + }, { + name: "差评", + id: 4, + num: 0 + }, ], select: { @@ -126,7 +127,7 @@ Page({ def_pickpu_list: null, //一开始5个门店list sec_pick_index: 0, //第二级门店选择ID fir_pick_index: 0, //第一级门店选择ID - all_pick_list:null,//所有的门店先记录起来 + all_pick_list: null,//所有的门店先记录起来 //同一条形码的所有商品 sku_g: null, sku_g_pt: null, //---拼单的普通购买--- @@ -219,7 +220,7 @@ Page({ new_user: 0, //新用户 def_pick_store: null, // 默认的门店 - fir_def_store:null, //客户默认的门店的 + fir_def_store: null, //客户默认的门店的 lat: null, //维度 lon: null, //经度 @@ -229,122 +230,122 @@ Page({ open_ind_store: 0, //哪里打开的门店列表的控制属性 default_store: {}, //创建添加默认门店地址的对象 - comments_no_more:0, - get_c:0, //获取评价是不是成 - is_collect_load:0, //是不是处理 - is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 - sales_rules:1, //默认是线上销售 + comments_no_more: 0, + get_c: 0, //获取评价是不是成 + is_collect_load: 0, //是不是处理 + is_newsales_rules: 0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 + sales_rules: 1, //默认是线上销售 - wait_for_user_store:null, - prom_goods:null, //商品优惠列表 - order_prom:null, //订单优惠 - collocationGoods:null, //搭配购 - - poster:null, //自定义海报 - share_b_img:'', //自定义分享的背景 - - showPoster: false, - hui_condition:null, - sto_sele_name_1:'',//分享的门店名称 - fir_goods:null, + wait_for_user_store: null, + prom_goods: null, //商品优惠列表 + order_prom: null, //订单优惠 + collocationGoods: null, //搭配购 - share_hidden: false, + poster: null, //自定义海报 + share_b_img: '', //自定义分享的背景 + + showPoster: false, + hui_condition: null, + sto_sele_name_1: '',//分享的门店名称 + fir_goods: null, + + share_hidden: false, }, //------初始化加载---------- - onLoad: function(t) { + onLoad: function (t) { var ee = this, - that = ee, - th = ee, - gid = t.goods_id, - first_leader=t.first_leader, - room_id=t.room_id, - room_user_share=t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id - - //-- 自定义海报 -- - getApp().request.promiseGet("/api/weshop/goods/poster/page", { - data:{store_id:os.stoid, type:1, is_use:1} - }).then(res=>{ - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]){ - - var poster_data=res.data.data.pageData[0]; - var json_str=poster_data.jsonStr; - - if(json_str){ - var json_data=JSON.parse(json_str); - if(json_data.bg_img){ - - //-- 把图片那到本地 -- - wx.getImageInfo({ - src:json_data.bg_img, - success: function(res) { - var path= res.path; - th.setData({share_b_img:path}) - }, - fail: function(res) {} - }); - } - th.setData({poster:json_data}) - - } - } - }) - + that = ee, + th = ee, + gid = t.goods_id, + first_leader = t.first_leader, + room_id = t.room_id, + room_user_share = t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id + + //-- 自定义海报 -- + getApp().request.promiseGet("/api/weshop/goods/poster/page", { + data: { store_id: os.stoid, type: 1, is_use: 1 } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData[0]) { + + var poster_data = res.data.data.pageData[0]; + var json_str = poster_data.jsonStr; + + if (json_str) { + var json_data = JSON.parse(json_str); + if (json_data.bg_img) { + + //-- 把图片那到本地 -- + wx.getImageInfo({ + src: json_data.bg_img, + success: function (res) { + var path = res.path; + th.setData({ share_b_img: path }) + }, + fail: function (res) { } + }); + } + th.setData({ poster: json_data }) + + } + } + }) + //---获取手机地址坐标-- //--如果tg_id是空的话,分享回来-- if (gid == undefined || gid == null || gid == "") { - var gid_str = decodeURIComponent(t.scene); - gid_str=gid_str.split("_"); - gid=gid_str[0]; - if(gid_str.length>1){ - first_leader=gid_str[1]; - } - //-- 如果有room_id的获取 -- - if(gid_str.length>2 && gid_str[2]){ - room_id=gid_str[2]; - room_user_share=1; - } - + var gid_str = decodeURIComponent(t.scene); + gid_str = gid_str.split("_"); + gid = gid_str[0]; + if (gid_str.length > 1) { + first_leader = gid_str[1]; + } + //-- 如果有room_id的获取 -- + if (gid_str.length > 2 && gid_str[2]) { + room_id = gid_str[2]; + room_user_share = 1; + } + } - ee.setData({ gid: gid}); - if(first_leader){ - console.log("log---".first_leader); - getApp().globalData.first_leader=first_leader; + ee.setData({ gid: gid }); + if (first_leader) { + console.log("log---".first_leader); + getApp().globalData.first_leader = first_leader; //调用接口判断是不是会员 - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+os.stoid+"/"+first_leader,{}).then(res=>{ - if(res.data.code==0){ - getApp().globalData.guide_id=res.data.data.id; + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => { + if (res.data.code == 0) { + getApp().globalData.guide_id = res.data.data.id; } }) } //-- 如果有房间号 -- - if(room_id){ - getApp().globalData.room_id=room_id; - getApp().globalData.room_goods_id=gid; - //如果是会员分享过来的要记录 - if(room_user_share) - getApp().globalData.room_user_share=room_user_share; + if (room_id) { + getApp().globalData.room_id = room_id; + getApp().globalData.room_goods_id = gid; + //如果是会员分享过来的要记录 + if (room_user_share) + getApp().globalData.room_user_share = room_user_share; } - var c_guide_id=t.c_guide_id; - if(c_guide_id){ - th.data.c_guide_id=c_guide_id; + var c_guide_id = t.c_guide_id; + if (c_guide_id) { + th.data.c_guide_id = c_guide_id; } - - getApp().getConfig(function(e) { - ee.setData({sto_sele_name_1:e.store_name}) - }) + + getApp().getConfig(function (e) { + ee.setData({ sto_sele_name_1: e.store_name }) + }) //----获取系统参数----- - getApp().getConfig2(function(e) { + getApp().getConfig2(function (e) { ee.setData({ bconfig: e, - sales_rules:e.sales_rules, + sales_rules: e.sales_rules, }); if (e.categoryset.indexOf("," + 1 + ",") != -1) { @@ -362,13 +363,13 @@ Page({ is_show_gb: 1 }); } - + console.log(e); var json_d = JSON.parse(e.switch_list); ee.setData({ store_config: e, - sys_switch:json_d, + sys_switch: json_d, is_closecoupon: json_d.is_closecoupon, - is_newsales_rules:json_d.is_newsales_rules + is_newsales_rules: json_d.is_newsales_rules }); ee.init(gid); //------几人评价------- @@ -379,39 +380,39 @@ Page({ }); //计算等级价相关 - var swithc_list=e.switch_list; - var sw_arr=JSON.parse(swithc_list); + var swithc_list = e.switch_list; + var sw_arr = JSON.parse(swithc_list); //---如果后台又开等级卡的开关--- - if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ - th.setData({rank_switch:true}); + if (sw_arr.rank_switch && sw_arr.rank_switch == "2") { + th.setData({ rank_switch: true }); //---回调卡的列表--- - th.getPlusCardType(function(ob){ - th.setData({card_list:ob.card_list}); + th.getPlusCardType(function (ob) { + th.setData({ card_list: ob.card_list }); var ti = setInterval(function () { var user = getApp().globalData.userInfo; if (!user) return false; clearInterval(ti); - if(user.card_field && user['card_expiredate']){ + if (user.card_field && user['card_expiredate']) { var str = user['card_expiredate'].replace(/-/g, '/'); var end = new Date(str); end = Date.parse(end) / 1000; var now = ut.gettimestamp(); //--- 判断是等级会员,且在有效期范围内 --- - if(user.card_field && now6) card_name=card_name.substring(0,6); - var is_near_date=0; - if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 - th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); + var is_near_date = 0; + if (end - now < 60 * 60 * 30 * 24) is_near_date = 1; //如果小于30天 + th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list, is_near_date: is_near_date }); } } }, 500) }) } - },1); + }, 1); //获取用户设备信息,屏幕宽度 wx.getSystemInfo({ @@ -421,36 +422,36 @@ Page({ }) } }); - + //获取用户的默认门店 - getApp().get_user_store(function(e) { - if(!e) { - th.data.fir_def_store={}; //赋值空对象 + getApp().get_user_store(function (e) { + if (!e) { + th.data.fir_def_store = {}; //赋值空对象 return false; } - var ee=JSON.parse(JSON.stringify(e)); + var ee = JSON.parse(JSON.stringify(e)); //--定时器推迟一下-- setTimeout(function () { - if(th.data.fir_goods) var g_distr_type=th.data.fir_goods.distr_type; + if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type; //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- - if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ + if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) { //th.data.fir_def_store={}; //赋值空对象 //return false; - //th.data.fir_def_store.is_no_dis=1; - ee.is_no_dis=1; + //th.data.fir_def_store.is_no_dis=1; + ee.is_no_dis = 1; } - var appd=getApp().globalData; - var w_time = setInterval(function() { + var appd = getApp().globalData; + var w_time = setInterval(function () { if (that.data.is_get_local_ok == 0) return false; clearInterval(w_time); var distance = null; - var e=JSON.parse(JSON.stringify(ee)); + var e = JSON.parse(JSON.stringify(ee)); //如果有开启近距离的话,同时距离优不一样了 if (that.data.lat != null) { //如果经纬度有变化的话 - if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { //that.data.fir_def_store=e; // that.setData({ // def_pick_store: e, @@ -458,18 +459,18 @@ Page({ // sto_sele_id: e.pickup_id, // sto_sele_distr: e.distr_type // }) - that.set_def_storage(e); - - }else{ + that.set_def_storage(e); + + } else { //要用接口是获取距离,js的计算不准 - getApp().request.promiseGet("/api/weshop/pickup/list",{ - data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, - }).then(res=>{ - if(res.data.code==0){ - e=res.data.data.pageData[0]; - if (e){ - e.is_no_dis=ee.is_no_dis; - appd.pk_store=e; + getApp().request.promiseGet("/api/weshop/pickup/list", { + data: { store_id: os.stoid, pickup_id: e.pickup_id, lat: th.data.lat, lon: th.data.lon }, + }).then(res => { + if (res.data.code == 0) { + e = res.data.data.pageData[0]; + if (e) { + e.is_no_dis = ee.is_no_dis; + appd.pk_store = e; // that.data.fir_def_store=e; // that.setData({ // def_pick_store: e, @@ -477,17 +478,17 @@ Page({ // sto_sele_id: e.pickup_id, // sto_sele_distr: e.distr_type // }) - that.set_def_storage(e); + that.set_def_storage(e); } } }) } //e.distance = distance; - appd.lat=that.data.lat; - appd.lon=that.data.lon; + appd.lat = that.data.lat; + appd.lon = that.data.lon; - }else{ + } else { if (e) { e.distance = null; // that.data.fir_def_store=e; @@ -497,86 +498,86 @@ Page({ // sto_sele_id: e.pickup_id, // sto_sele_distr: e.distr_type // }) - that.set_def_storage(e); + that.set_def_storage(e); } } }, 500) - },700) - }); - + }, 700) + }); + //更新点击量 - getApp().request.put("/api/weshop/goods/updateClick",{ - data:{store_id:os.stoid,goods_id:gid} - }) + getApp().request.put("/api/weshop/goods/updateClick", { + data: { store_id: os.stoid, goods_id: gid } + }) }, - - + + //--- 设置一下默认库存的数量 ---- - set_def_storage(ee){ - var that=this,th=this; - getApp().getConfig2(function(e){ - var sales_rules=e.sales_rules; - if(sales_rules==2){ - getApp().waitfor2(that,"wait_for_user_store","fir_goods",function(){ - var lock=0,plist=null; - var gd=that.data.fir_goods; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:that.data.fir_goods.goods_id,storageId:ee.pickup_id,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 - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:ee.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - ee.CanOutQty=plist.CanOutQty-lock; - }else{ - ee.CanOutQty=0; - } - //--给门店赋值线下库存-- - that.data.fir_def_store=ee; - that.setData({ - def_pick_store: ee, - sto_sele_name: ee.pickup_name, - sto_sele_id: ee.pickup_id, - sto_sele_distr: ee.distr_type - }) - }) - }) - }else{ - that.data.fir_def_store=ee; - that.setData({ - def_pick_store: ee, - sto_sele_name: ee.pickup_name, - sto_sele_id: ee.pickup_id, - sto_sele_distr: ee.distr_type - }) - } - }) - - }, - + set_def_storage(ee) { + var that = this, th = this; + getApp().getConfig2(function (e) { + var sales_rules = e.sales_rules; + if (sales_rules == 2) { + getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () { + var lock = 0, plist = null; + var gd = that.data.fir_goods; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: that.data.fir_goods.goods_id, storageId: ee.pickup_id, 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 + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: ee.pickup_no, wareIds: encodeURIComponent(th.data.data.erpwareid), storeId: os.stoid } + }) + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; + } + if (plist && plist.CanOutQty - lock > 0) { + ee.CanOutQty = plist.CanOutQty - lock; + } else { + ee.CanOutQty = 0; + } + //--给门店赋值线下库存-- + that.data.fir_def_store = ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + }) + }) + } else { + that.data.fir_def_store = ee; + that.setData({ + def_pick_store: ee, + sto_sele_name: ee.pickup_name, + sto_sele_id: ee.pickup_id, + sto_sele_distr: ee.distr_type + }) + } + }) + + }, + //------------程序初始化入口------------- async init(gid) { var ee = this, - th = ee, - gallery = null, - is_collect = 0, - collect_id = 0, - categories3 = ee.data.categories3, - fir_com = null, - fir_quan = null, - mapurl = null, - mapurl_f_img = null; + th = ee, + gallery = null, + is_collect = 0, + collect_id = 0, + categories3 = ee.data.categories3, + fir_com = null, + fir_quan = null, + mapurl = null, + mapurl_f_img = null; //------图片滚动---------- @@ -655,8 +656,8 @@ Page({ goods_id: gid, pageSize: 3, parent_id: 0, - page:1, - is_show:1, + page: 1, + is_show: 1, }, }).then(res => { fir_com = res.data.data.pageData; @@ -678,7 +679,7 @@ Page({ type: 1, pageSize: 3, page: 1, - is_share:0, + is_share: 0, }, }).then(res1 => { fir_quan = res1.data.data.pageData; @@ -709,21 +710,21 @@ Page({ }, //---展示--- - onShow: function() { - console.log('djfijsaoifjoisadjfoij'); - var goods_list = null,th = this,that=this; - var show_prew_img= this.data.show_prew_img - if(show_prew_img){ - show_prew_img=0; + onShow: function () { + console.log('djfijsaoifjoisadjfoij'); + var goods_list = null, th = this, that = this; + var show_prew_img = this.data.show_prew_img + if (show_prew_img) { + show_prew_img = 0; return false; } //优惠券要实时更新 - getApp().getConfig2(function(e) { + getApp().getConfig2(function (e) { var json_d = JSON.parse(e.switch_list); - th.setData({is_closecoupon: json_d.is_closecoupon}) - th.setData({is_open_offline: json_d.is_pricing_open}) - },1) + th.setData({ is_closecoupon: json_d.is_closecoupon }) + th.setData({ is_open_offline: json_d.is_pricing_open }) + }, 1) var ui = setInterval(function () { @@ -737,20 +738,21 @@ Page({ this.data.is_timer = 1; var ee = this, - gid = this.data.gid, - i = getApp().request; + gid = this.data.gid, + i = getApp().request; this.wait_for_store_config(); i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { failRollback: !0, - success: function(t) { + success: function (t) { + console.log(t); if (t.data.code == 0) { if (t.data.data.is_on_sale != 1) { wx.showModal({ title: '商品已经下架', showCancel: !1, - complete: function() { + complete: function () { wx.navigateBack(); } }); @@ -762,7 +764,7 @@ Page({ wx.showModal({ title: '商品还未上架', showCancel: !1, - complete: function() { + complete: function () { wx.navigateBack(); } }); @@ -773,7 +775,7 @@ Page({ wx.showModal({ title: '商品已经到期下架', showCancel: !1, - complete: function() { + complete: function () { wx.navigateBack(); } }); @@ -781,46 +783,46 @@ Page({ } //动态获取商品名称 wx.setNavigationBarTitle({ - title: t.data.data.goods_name, + title: t.data.data.goods_name, }); //-- 判断是不是组合购活动,必须要登录后才能判断 -- - if(getApp().globalData.userInfo && t.data.data.prom_type==7 ){ - //获取活动信息 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + - t.data.data.prom_id+"/"+getApp().globalData.userInfo.user_id; - getApp().request.get(url, { - success:function (e) { - if (e.data.code == 0 && e.data.data) { - if(ut.gettimestamp(){ - 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 - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; - }else{ - that.data.fir_def_store.CanOutQty=0; - } - //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.fir_def_store}); - }) - } - })--*/ - }else{ + /*--- + getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ + if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ + var lock=0,plist=null; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,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 + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} + }) + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + if(plist && plist.CanOutQty-lock>0){ + that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; + }else{ + that.data.fir_def_store.CanOutQty=0; + } + //--给门店赋值线下库存-- + th.setData({def_pick_store:that.data.fir_def_store}); + }) + } + })--*/ + } else { //获取门店 ee.get_sto(); } @@ -887,8 +889,8 @@ Page({ else { var gg = "", item = t.data.data; - if(item.goods_spec=="null" || item.goods_spec==null ) item.goods_spec=""; - if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; + if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; + if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; if (item.goods_spec != "" && item.goods_color != "") { gg = item.goods_spec + "/" + item.goods_color; @@ -911,7 +913,7 @@ Page({ if (ee.data.cat_name == '') { //过去国别,分类,品牌的名称 i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -922,7 +924,7 @@ Page({ }); //过去国别,分类,品牌的名称 i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -933,7 +935,7 @@ Page({ }); //过去国别,分类,品牌的名称 i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -945,77 +947,77 @@ Page({ } } - else{ - wx.showModal({ - title: t.data.msg, - showCancel: !1, - complete: function() { - wx.navigateBack(); - } - }); - } - } + else { + wx.showModal({ + title: t.data.msg, + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } }); this.data.enterAddressPage && (this.data.enterAddressPage = !1); }, - enterAddress: function() { + enterAddress: function () { this.data.enterAddressPage = !0, wx.navigateTo({ url: "/pages/user/address_list/address_list?operate=selectAddress" }); }, - onUnload: function() { - for(var i = 1; i < 100; i++) { - clearInterval(i); - } + onUnload: function () { + for (var i = 1; i < 100; i++) { + clearInterval(i); + } }, - onHide: function() { + onHide: function () { this.data.is_timer = 0; - for(var i = 1; i < 100; i++) { + for (var i = 1; i < 100; i++) { clearInterval(i); } }, //----------三个选项按钮----------- - tabClick: function(t) { + tabClick: function (t) { var e = t.currentTarget.id; this.setData({ activeCategoryId: e }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment(); }, - tabClick2: function(t) { + tabClick2: function (t) { this.setData({ activeCategoryId2: t.currentTarget.id }); }, - tabClick3: function(t) { + tabClick3: function (t) { var e = this; if (t.currentTarget.id != this.data.activeCategoryId3) { e.data.c_curr_p = 1; this.setData({ activeCategoryId3: t.currentTarget.id, - comments: null,comments_no_more:0,get_c:0, + comments: null, comments_no_more: 0, get_c: 0, }); this.requestComments_new(); } }, - doScrollTop: function() { + doScrollTop: function () { wx.pageScrollTo({ scrollTop: 0 }); }, - tabComment: function() { + tabComment: function () { this.setData({ - activeCategoryId: 2,comments_no_more:0,get_c:0 + activeCategoryId: 2, comments_no_more: 0, get_c: 0 }), this.data.comments || this.requestComments_new(); }, //商品详情的时候调用 - tabGoodsContent: function() { + tabGoodsContent: function () { var th = this, - i = getApp().request; + i = getApp().request; this.setData({ activeCategoryId: 1 }); @@ -1023,7 +1025,7 @@ Page({ if (th.data.cat_name == '') { //过去国别,分类,品牌的名称 i.get("/api/weshop/goodscategory/get/" + o.stoid + "/" + th.data.data.cat_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -1034,7 +1036,7 @@ Page({ }); //过去国别,分类,品牌的名称 i.get("/api/weshop/brand/get/" + o.stoid + "/" + th.data.data.brand_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -1045,7 +1047,7 @@ Page({ }); //过去国别,分类,品牌的名称 i.get("/api/weshop/nation/get/" + o.stoid + "/" + th.data.data.nation_id, { - success: function(t) { + success: function (t) { var dd = t.data.data; if (t.data.code == 0) { th.setData({ @@ -1060,8 +1062,8 @@ Page({ //获取redis中的数量 async getactLen(func) { var r_num = 0, - prom_type = this.data.prom_type, - prom_id = this.data.prom_id; + prom_type = this.data.prom_type, + prom_id = this.data.prom_id; await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { 1: 1 }).then(res => { @@ -1074,16 +1076,16 @@ Page({ }, //------------加入购物车-------------- - addCart: function(t) { + addCart: function (t) { var th = this; var ind = t.currentTarget.dataset.openSpecModal_ind; - if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; + if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; th.setData({ open_ind_store: ind }); //如果是秒杀的话,要看redis够不够 if (this.data.prom_type == 1) { - this.getactLen(function(num) { + this.getactLen(function (num) { if (num < th.data.goodsInputNum) { getApp().my_warnning("秒杀库存不足!", 0, th); return false; @@ -1095,27 +1097,27 @@ Page({ th.add_cart_func(t); } }, - - - + + + //-- 加入购物的函数 -- - add_cart_func_inte: function(t) { + add_cart_func_inte: function (t) { var i = getApp().request; if (oo.user_id == null) { return s.my_warnning("还未登录!", 0, this); } - if(!getApp().globalData.userInfo){ - return s.my_warnning("还未登录!", 0, this); - } - + if (!getApp().globalData.userInfo) { + return s.my_warnning("还未登录!", 0, this); + } + var e = this, - th = e, - a = 0, - o = this.data.data; + th = e, + a = 0, + o = this.data.data; a = o.goods_id; - + //----------添加到购物车时,要判断限购数量,-------- - e.get_buy_num(o, function(ee) { + e.get_buy_num(o, function (ee) { //---判断商品是否超出限购--- if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { @@ -1136,14 +1138,14 @@ Page({ return false; } } - + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) this.setData({ sto_sele_name: "" }); if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); - + //--------------此时操作的数据------------ var newd = { goods_id: o.goods_id, @@ -1152,72 +1154,72 @@ Page({ user_id: oo.user_id, store_id: th.data.stoid, goods_price: th.data.prom_price, - integral:th.data.prom_integral, + integral: th.data.prom_integral, member_goods_price: o.shop_price, goods_name: o.goods_name, goods_sn: o.goods_sn, sku: o.sku, - }; - + }; + //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ + if (th.data.c_guide_id) { newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; - }else{ - if(getApp().globalData.guide_id){ + newd['guide_type'] = 2; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3; + } else { + if (getApp().globalData.guide_id) { newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; + newd['guide_type'] = 0; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1; } } - + //让商品带上房间号 //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.goods_id==getApp().globalData.room_goods_id){ - newd.room_id=getApp().globalData.room_id; + if (th.data.sys_switch.is_skuroom_id == 1) { + if (th.data.data.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; } - }else{ - if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id; + } else { + if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; } - + //如果是积分够,is_integral_normal就要有积分购普通购买字段 //if(o.prom_type==4){ - //newd.is_integral_normal=1; + //newd.is_integral_normal=1; //} - - //-----如果是秒杀,团购,积分购,拼团----- - newd.prom_type = th.data.prom_type; - newd.prom_id = th.data.prom_id; - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count 0) { if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { @@ -1258,193 +1260,193 @@ Page({ goods_name: o.goods_name, goods_sn: o.goods_sn, sku: o.sku, - }; - + }; + //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ + if (th.data.c_guide_id) { newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=3; - }else{ - if(getApp().globalData.guide_id){ + newd['guide_type'] = 2; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3; + } else { + if (getApp().globalData.guide_id) { newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; - if ("add" == t.currentTarget.dataset.action) newd['guide_type']=1; + newd['guide_type'] = 0; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1; } } //让商品带上房间号 //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.goods_id==getApp().globalData.room_goods_id){ - newd.room_id=getApp().globalData.room_id; + if (th.data.sys_switch.is_skuroom_id == 1) { + if (th.data.data.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; } - }else{ - if(newd.goods_id==getApp().globalData.room_goods_id) newd.room_id=getApp().globalData.room_id; + } else { + if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; } //如果是积分够,is_integral_normal就要有积分购普通购买字段 - if(o.prom_type==4){ - newd.is_integral_normal=1; + if (o.prom_type == 4) { + newd.is_integral_normal = 1; } - - //如果有线下取价 - if(o.offline_price){ - newd.offline_price=o.offline_price; - newd.pricing_type=o.pricing_type; - } - + + //如果有线下取价 + if (o.offline_price) { + newd.offline_price = o.offline_price; + newd.pricing_type = o.pricing_type; + } + //-----如果是秒杀,团购,积分购,拼团----- if (th.data.prom_type == 1) { newd.goods_price = th.data.prom_price; newd.member_goods_price = th.data.prom_price, - newd.prom_type = th.data.prom_type; + newd.prom_type = th.data.prom_type; newd.prom_id = th.data.prom_id; if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count 0){ - var CanOutQty=res.data.data.pageData[0].CanOutQty; - if(CanOutQty0){ - - var lock=0; - for(var i in res_data.data.data.pageData){ - lock+=res_data.data.data.pageData[i].outQty; - } - - if(CanOutQty<=lock){ - return s.my_warnning("库存不足!", 0, th); - } - th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); - }else{ - th.add_cart_next(e,t,a,o,newd,CanOutQty); - } - } - }) - }else{ - return s.my_warnning("库存不足!", 0, th); - } - - } - } - }) - }else{ - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, storageId: pick.pickup_id, pageSize: 1000 }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + var lock = 0; + for (var i in res_data.data.data.pageData) { + lock += res_data.data.data.pageData[i].outQty; + } + + if (CanOutQty <= lock) { + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); + } else { + th.add_cart_next(e, t, a, o, newd, CanOutQty); + } + } + }) + } else { + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + } else { + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + } + }) } - else if ( th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { + else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { newd.prom_type = 0; newd.prom_id = 0; //---如果是线下门店销售的时候--- - if(th.data.sales_rules==2){ - var pick=th.get_pick_from_list(th.data.sto_sele_id) + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) //---通过接口获取门店的线下库存信息-- - getApp().request.get("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid}, - success:function(res){ - if(res.data.code==0){ - if(res.data.data.pageData.length>0){ - var CanOutQty=res.data.data.pageData[0].CanOutQty; - if(CanOutQty 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { return s.my_warnning("库存不足!", 0, th); } //在调一次接口,读取商品的预出库的数量,lock - getApp().request.get("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,storageId:pick.pickup_id,pageSize:1000}, - success:function(res_data){ - if(res_data.data.code==0 && res_data.data.data.total>0){ - - var lock=0; - for(var i in res_data.data.data.pageData){ - lock+=res_data.data.data.pageData[i].outQty; + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, storageId: pick.pickup_id, pageSize: 1000 }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + var lock = 0; + for (var i in res_data.data.data.pageData) { + lock += res_data.data.data.pageData[i].outQty; } - if(CanOutQty<=lock){ + if (CanOutQty <= lock) { return s.my_warnning("库存不足!", 0, th); } - th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); - }else{ - th.add_cart_next(e,t,a,o,newd,CanOutQty); + th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); + } else { + th.add_cart_next(e, t, a, o, newd, CanOutQty); } } }) - }else{ + } else { return s.my_warnning("库存不足!", 0, th); } } } }) - }else{ + } else { if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); - if (o.store_count now){ - var card_price=o[getApp().globalData.userInfo['card_field']]; + if (parseInt(s_list.rank_switch) == 2 && end > now) { + var card_price = o[getApp().globalData.userInfo['card_field']]; //如果会员有等级价 - if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null - && getApp().globalData.userInfo['card_field']!="" && card_price>0){ - newd.goods_price=card_price; - newd.member_goods_price=card_price; + if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null + && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { + newd.goods_price = card_price; + newd.member_goods_price = card_price; } } } @@ -1453,7 +1455,7 @@ Page({ //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); if ("add" == t.currentTarget.dataset.action) { - if(th.data.prom_goods){ + if (th.data.prom_goods) { newd.prom_type = 3; newd.prom_id = th.data.prom_goods[0].prom_id; } @@ -1466,7 +1468,7 @@ Page({ goods_id: a, pick_id: e.data.sto_sele_id, }, - success: function(re) { + success: function (re) { //-------如果购物车中有相关的数据--------- if (re.data.data.total > 0) { @@ -1474,12 +1476,12 @@ Page({ var item = re.data.data.pageData[0]; //判断数量,要看下购物车中有没有该商品 - if(CanOutQty){ - if(item.goods_num+ th.data.goodsInputNum>CanOutQty){ + if (CanOutQty) { + if (item.goods_num + th.data.goodsInputNum > CanOutQty) { return s.my_warnning("库存不足!", 0, th); } - }else{ - if(item.goods_num+ th.data.goodsInputNum>o.store_count){ + } else { + if (item.goods_num + th.data.goodsInputNum > o.store_count) { return s.my_warnning("库存不足!", 0, th); } } @@ -1488,15 +1490,15 @@ Page({ id: item.id, goods_num: e.data.goodsInputNum + item.goods_num, goods_price: newd.goods_price, - member_goods_price:newd.goods_price, + member_goods_price: newd.goods_price, store_id: th.data.stoid, }; //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ + if (th.data.c_guide_id) { updata['guide_id'] = th.data.c_guide_id; - updata['guide_type']=3; //加入购物车之后就变成了3 - }else { + updata['guide_type'] = 3; //加入购物车之后就变成了3 + } else { if (getApp().globalData.guide_id) { updata['guide_id'] = getApp().globalData.guide_id; updata['guide_type'] = 0; @@ -1505,7 +1507,7 @@ Page({ i.put("/api/weshop/cart/update", { data: updata, - success: function(t) { + success: function (t) { getApp().my_warnning('加入购物车成功', 1, th, 450); var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; th.setData({ @@ -1519,7 +1521,7 @@ Page({ i.post("/api/weshop/cart/save", { data: newd, - success: function(t) { + success: function (t) { getApp().my_warnning('加入购物车成功', 1, th, 450); var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; th.setData({ @@ -1536,20 +1538,20 @@ Page({ //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); else { - if(th.data.prom_goods){ - var prom_d=th.data.prom_goods; - for(var i in prom_d){ + if (th.data.prom_goods) { + var prom_d = th.data.prom_goods; + for (var i in prom_d) { //判断活动有俩种条件,0元 1件 - var condition_t=prom_d[i].prom_type; - switch(condition_t) { + var condition_t = prom_d[i].prom_type; + switch (condition_t) { case 0: //按钱 - if(newd.goods_price>=condition_t){ + if (newd.goods_price >= condition_t) { newd.prom_type = 3; newd.prom_id = prom_d[i].prom_id; } break case 1://按购买数量 - if(newd.goods_num>=condition_t){ + if (newd.goods_num >= condition_t) { newd.prom_type = 3; newd.prom_id = prom_d[i].prom_id; } @@ -1567,7 +1569,7 @@ Page({ //----------购买虚拟商品------ - buyVirtualGoods: function(e) { + buyVirtualGoods: function (e) { Object.assign(e, { goods_name: this.data.data.goods.goods_name, spec_name: this.data.select.specName, @@ -1577,102 +1579,102 @@ Page({ }); }, //----------积分兑换--------- - exchange: function(e) { + exchange: function (e) { this.data.shippingCost < 0 || this.data.select.stock <= 0 || wx.navigateTo({ url: "/pages/cart/integral/integral?" + t.Obj2Str(e) }); }, - - + + //----------立即购买----------- - buyNow: function(e) { + buyNow: function (e) { // this.data.shippingCost < 0 || this.data.select.stock <= 0 || (Object.assign(e, { // action: "buy_now" // }), this.setData({ - openSpecModal:0, - openSpecModal_inte:0, - openSpecModal_inte_normal:0, - openSpecModal_pt:0, + openSpecModal: 0, + openSpecModal_inte: 0, + openSpecModal_inte_normal: 0, + openSpecModal_pt: 0, }) - - if(e.prom_type==4){ - s.set_b_now(e); - var url="/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id; - getApp().goto(url); - }else{ - //要判断积分购的普通购买有没有参加优惠活动 - if(e.is_integral_normal==1){ - this.check_nor_promgood(e.goods_id,function(res){ - if(res && res.cat_id){ - e.prom_type=3; - e.prom_id=res.cat_id - } - s.set_b_now(e); - /*-- - wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, - });--*/ - getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) - - }) - }else{ - s.set_b_now(e); - /*-- - wx.redirectTo({ - url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, - });--*/ - getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) - } - - } + + if (e.prom_type == 4) { + s.set_b_now(e); + var url = "/pages/cart/cart2_inte/cart2_inte?is_bnow=1&goods_id=" + e.goods_id; + getApp().goto(url); + } else { + //要判断积分购的普通购买有没有参加优惠活动 + if (e.is_integral_normal == 1) { + this.check_nor_promgood(e.goods_id, function (res) { + if (res && res.cat_id) { + e.prom_type = 3; + e.prom_id = res.cat_id + } + s.set_b_now(e); + /*-- + wx.redirectTo({ + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + });--*/ + getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + + }) + } else { + s.set_b_now(e); + /*-- + wx.redirectTo({ + url: "/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id, + });--*/ + getApp().goto("/pages/cart/cart2/cart2?is_bnow=1&goods_id=" + e.goods_id) + } + + } }, //----------增加购买数量----------- - addCartNum: function(t) { + addCartNum: function (t) { this.checkCartNum(this.data.goodsInputNum + 1); }, //----------减少购买数量----------- - subCartNum: function(t) { + subCartNum: function (t) { this.checkCartNum(this.data.goodsInputNum - 1); }, //----------输入框输入购买数量----------- - inputCartNum: function(t) { + inputCartNum: function (t) { this.checkCartNum(Number(t.detail.value)); }, - + //----------增加购买数量----------- - addCartNum_inte: function(t) { + addCartNum_inte: function (t) { this.checkCartNum_inte(this.data.goodsInputNum + 1); }, //----------减少购买数量----------- - subCartNum_inte: function(t) { + subCartNum_inte: function (t) { this.checkCartNum_inte(this.data.goodsInputNum - 1); }, //----------输入框输入购买数量----------- - inputCartNum_inte: function(t) { + inputCartNum_inte: function (t) { this.checkCartNum_inte(Number(t.detail.value)); }, - + //------检查数量是不是超出限购------ - checkCartNum: function(t) { + checkCartNum: function (t) { var th = this; - this.get_buy_num(this.data.sele_g, async function() { + this.get_buy_num(this.data.sele_g, async function () { //--判断商品是否超出限购-- if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { - var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); + var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); if (t + gd_buy_num > th.data.sele_g.viplimited) { wx.showModal({ title: '超出商品限购', }); - var num= th.data.sele_g.viplimited-gd_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + var num = th.data.sele_g.viplimited - gd_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } @@ -1684,9 +1686,9 @@ Page({ title: '超出商品活动限购', }); - var num=th.data.prom_buy_limit- th.data.prom_buy_num ; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } @@ -1695,7 +1697,7 @@ Page({ var redis_num = 0; //------判断活动是否抢光----- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { + os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { 1: 1 }).then(res => { redis_num = res.data.data; @@ -1705,131 +1707,133 @@ Page({ wx.showModal({ title: '超出商品活动库存', }); - th.setData({goodsInputNum:redis_num}) + th.setData({ goodsInputNum: redis_num }) return false; } } var e = th.data.sele_g.store_count; - var p_type=th.data.prom_type; //&& p_type!=1 && p_type!=4 - if(th.data.sales_rules==2 && (p_type!=1 && p_type!=4 && p_type!=6 || th.data.openSpecModal_inte_normal==1 || th.data.is_normal== 1) ){ - if(!th.data.def_pick_store){ + var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 + if (th.data.sales_rules == 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { + if (!th.data.def_pick_store) { wx.showModal({ title: '请选择门店', }); return false; - }else{ - e=th.data.def_pick_store.CanOutQty; + } else { + e = th.data.def_pick_store.CanOutQty; } } - if(!e) e=0; + if (!e) e = 0; //库存不足,不增加 - if(e e || 0 == e ? t = e : t < 1 && (t = 1); th.setData({ goodsInputNum: t }); - th.is_show_more_buy(); + th.is_show_more_buy(); }) }, //----- 检查一下积分购的限购之类的问题 ----- - checkCartNum_inte: function(t) { + checkCartNum_inte: function (t) { var th = this; - this.get_buy_num(this.data.data, async function() { - + this.get_buy_num(this.data.data, async function () { + //--判断商品是否超出限购-- if (th.data.g_buy_num != null && th.data.data.viplimited > 0) { - - var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); - + + var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); + if (t + gd_buy_num > th.data.sele_g.viplimited) { wx.showModal({ title: '超出商品限购', }); - - var num= th.data.sele_g.viplimited-gd_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + + var num = th.data.sele_g.viplimited - gd_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } - + //--判断商品是否超出活动限购-- if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { wx.showModal({ title: '超出商品活动限购', }); - - var num=th.data.prom_buy_limit- th.data.prom_buy_num ; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } - + if (th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) { var redis_num = 0; //------判断活动是否抢光----- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { + os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { 1: 1 }).then(res => { redis_num = res.data.data; }); - + if (t > redis_num) { wx.showModal({ title: '超出商品活动库存', }); - th.setData({goodsInputNum:redis_num}) + th.setData({ goodsInputNum: redis_num }) return false; } - + } - + var e = th.data.sele_g.store_count; - var p_type=th.data.prom_type; //&& p_type!=1 && p_type!=4 - if(th.data.sales_rules==2 && (p_type!=1 && p_type!=4 && p_type!=6 || th.data.openSpecModal_inte_normal==1 || th.data.is_normal== 1) ){ - if(!th.data.def_pick_store){ + var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 + if (th.data.sales_rules == 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { + if (!th.data.def_pick_store) { wx.showModal({ title: '请选择门店', }); return false; - }else{ - e=th.data.def_pick_store.CanOutQty; + } else { + e = th.data.def_pick_store.CanOutQty; } } - if(!e) e=0; + if (!e) e = 0; //库存不足,不增加 - if(e e || 0 == e ? t = e : t < 1 && (t = 1); - th.setData({ goodsInputNum: t }); + th.setData({ goodsInputNum: t }); }) }, - closeSpecModal: function() { - if(this.data.openSpecModal_pt && this.data.is_normal){ - this.get_sto(); - this.setData({ - sele_g:this.data.data, - gid:this.data.data.goods_id - }) - - this.sele_spec_chech_activity(); - - } - + closeSpecModal: function () { + if (this.data.openSpecModal_pt && this.data.is_normal) { + this.get_sto(); + this.setData({ + sele_g: this.data.data, + gid: this.data.data.goods_id + }) + + this.sele_spec_chech_activity(); + + } + this.setData({ openSpecModal: !1, openSpecModal_pt: !1 }); }, - - openSpecModel: function(t) { - var th=this; + + openSpecModel: function (t) { + var th = this; var open_store = t.currentTarget.dataset.ind; this.setData({ store: 0, @@ -1849,7 +1853,7 @@ Page({ var ind = t.currentTarget.dataset.ind; //回调。判断是不是优惠促销 - th.check_is_prom_goods(function (){ + th.check_is_prom_goods(function () { th.setData({ openSpecModal: !0, openSpecModal_ind: ind, @@ -1858,127 +1862,129 @@ Page({ th.get_off_price(); }) }, - + //判断是不是优惠促销 - check_is_prom_goods:function(callback){ - var th=this; - var usr=getApp().globalData.userInfo; - if(this.data.sele_g.prom_type!=0 && this.data.sele_g.prom_type!=3){ - callback(); - }else{ - //-- 判断有没有优惠活动 -- - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+th.data.sele_g.goods_id+"/0", {}).then(res => { - if(res.data.code==0){ - var r_data=res.data.data; - th.data.prom_goods=r_data.promGoodsLists; - if(!th.data.prom_goods){ - callback(); - return false; - } - - ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1 - getApp().promiseGet("/api/weshop/order/getWPayOrder",{ - data:{store_id:os.stoid,user_id:usr.user_id,goods_id:th.data.sele_g.goods_id,prom_id:th.data.prom_goods[0].prom_id} - }).then(res=>{ - if(res.data.code==0){ - wx.showToast({ - title: "您已经购买了该商品待支付中", - icon: 'none', - duration: 2000 - }) - setTimeout(function (){ - getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) - },1000) - } - //未找到相关记录 - else{ - callback(); - } - }) - } - - }) - - } - }, - - - + check_is_prom_goods: function (callback) { + var th = this; + var usr = getApp().globalData.userInfo; + if (this.data.sele_g.prom_type != 0 && this.data.sele_g.prom_type != 3) { + callback(); + } else { + //-- 判断有没有优惠活动 -- + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + th.data.prom_goods = r_data.promGoodsLists; + if (!th.data.prom_goods) { + callback(); + return false; + } + + ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1 + getApp().promiseGet("/api/weshop/order/getWPayOrder", { + data: { store_id: os.stoid, user_id: usr.user_id, goods_id: th.data.sele_g.goods_id, prom_id: th.data.prom_goods[0].prom_id } + }).then(res => { + if (res.data.code == 0) { + wx.showToast({ + title: "您已经购买了该商品待支付中", + icon: 'none', + duration: 2000 + }) + setTimeout(function () { + getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + }, 1000) + } + //未找到相关记录 + else { + callback(); + } + }) + } + + }) + + } + }, + + + //----获取线下价格------- - get_off_price(){ - var th=this; - //没有开启就返回 - if(!th.data.is_open_offline) return false; - //先看下购买的功能有没有到期 - getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ - //未购买 - if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ - return false; - }else{ - //已经过期 - var item=res.data.data.pageData[0]; - if(item.end_time0){ - cur_price=cur_goods[th.data.card_field]; - } - - var user_info = getApp().globalData.userInfo; - //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行 - if(cur_goods.prom_type==0 && !this.data.prom_goods){ - cur_goods.offline_price=null; - //如果没有门店,不用计算线下价格 - var def_pick_store=this.data.def_pick_store; - if(!def_pick_store) return false; - getApp().request.get("/api/weshop/goods/listWarePrice", { - data:{VIPId:encodeURIComponent(user_info.erpvipid), - store_id:os.stoid, - PickupId:def_pick_store.pickup_id, - WareIds:encodeURIComponent(cur_goods.erpwareid)}, - success:function(res){ - if(res.data.code==0 && res.data.data && res.data.data.length>0){ - var datalist=res.data.data; - if(datalist[0].WarePrice { + //未购买 + if (res.data.code != 0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length) { + return false; + } else { + //已经过期 + var item = res.data.data.pageData[0]; + if (item.end_time < ut.gettimestamp()) { + return false; + } + } + + + var cur_goods = this.data.sele_g; + var cur_price = cur_goods.shop_price; + if (th.data.card_field && cur_goods[th.data.card_field] > 0) { + cur_price = cur_goods[th.data.card_field]; + } + + var user_info = getApp().globalData.userInfo; + //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行 + if (cur_goods.prom_type == 0 && !this.data.prom_goods) { + cur_goods.offline_price = null; + //如果没有门店,不用计算线下价格 + var def_pick_store = this.data.def_pick_store; + if (!def_pick_store) return false; + getApp().request.get("/api/weshop/goods/listWarePrice", { + data: { + VIPId: encodeURIComponent(user_info.erpvipid), + store_id: os.stoid, + PickupId: def_pick_store.pickup_id, + WareIds: encodeURIComponent(cur_goods.erpwareid) + }, + success: function (res) { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var datalist = res.data.data; + if (datalist[0].WarePrice < cur_price) { + cur_goods.offline_price = datalist[0].WarePrice; //存储线下活动的价格 + cur_goods.pricing_type = datalist[0].PriceType; //存储线下活动的类型 + } + } + th.setData({ sele_g: cur_goods }); + } + + }) + } + + }) + + + }, + + //---------点击收藏和不收藏------------ - collectGoods: function() { + collectGoods: function () { var t = this, - i = getApp().request; + i = getApp().request; var user_id = s.globalData.user_id; if (user_id == '') { - getApp().getUserFir(function() {}); + getApp().getUserFir(function () { }); getApp().showWarning("未登录"); return false; } else { - if(t.data.is_collect_load) return false; - t.data.is_collect_load=1; + if (t.data.is_collect_load) return false; + t.data.is_collect_load = 1; if (t.data.is_collect == 1) { //删除收藏 i.delete("/api/weshop/goodscollect/del/" + o.stoid + "/" + t.data.collect_id, { - success: function(e) { - t.data.is_collect_load=0; + success: function (e) { + t.data.is_collect_load = 0; if (e.data.code == 0) { t.setData({ is_collect: 0, @@ -1997,15 +2003,15 @@ Page({ add_time: timestamp, }; //加入收藏夹就是导购的ID - if(getApp().globalData.guide_id){ - d.guide_id=getApp().globalData.guide_id; - d.guide_type=2; + if (getApp().globalData.guide_id) { + d.guide_id = getApp().globalData.guide_id; + d.guide_type = 2; } i.post("/api/weshop/goodscollect/save", { //添加收藏 data: d, - success: function(e) { - t.data.is_collect_load=0; + success: function (e) { + t.data.is_collect_load = 0; if (e.data.code == 0) { t.setData({ is_collect: 1, @@ -2019,13 +2025,13 @@ Page({ }, //---------联系客服------------ - contactService: function() { - s.getConfig(function(t) { + contactService: function () { + s.getConfig(function (t) { if (t.store_tel == undefined) { getApp().request.get("/api/weshop/store/get/" + os.stoid, { isShowLoading: 1, data: {}, - success: function(rs) { + success: function (rs) { getApp().globalData.config = rs.data.data; if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) { getApp().my_warnning("商家未设置电话", 0, th); @@ -2040,44 +2046,44 @@ Page({ }); }, //-------获取购物车数量---------- - requestCardNum: function() { + requestCardNum: function () { var t = this; getApp().request.get("/api/weshop/cart/page", { data: { store_id: o.stoid, user_id: s.globalData.user_id, - state:0, - is_gift:0 + state: 0, + is_gift: 0 }, - success: function(e) { + success: function (e) { var num = 0; for (var i = 0; i < e.data.data.pageData.length; i++) { num += e.data.data.pageData[i].goods_num; } //-- 读取服务卡的数量 -- - getApp().promiseGet("/api/weshop/cartService/page",{ - data:{ + getApp().promiseGet("/api/weshop/cartService/page", { + data: { store_id: s.globalData.setting.stoid, user_id: s.globalData.user_id, } - }).then(res=>{ + }).then(res => { for (var i = 0; i < res.data.data.pageData.length; i++) { num += res.data.data.pageData[i].goods_num; } - t.setData({cartGoodsNum:num}); + t.setData({ cartGoodsNum: num }); }) } }); }, - previewCommentImgs: function(t) { + previewCommentImgs: function (t) { var e = this.data.comments[t.currentTarget.dataset.cidx].img; var b = e.slice() - for(var i in b){ + for (var i in b) { b[i] = this.data.iurl + e[i]; } - this.data.show_prew_img=1; + this.data.show_prew_img = 1; wx.previewImage({ current: b[t.currentTarget.dataset.id], @@ -2085,106 +2091,106 @@ Page({ }); }, - previewCommentImgs_w: function(t) { + previewCommentImgs_w: function (t) { var e = this.data.comments[t.currentTarget.dataset.cidx].weapp_img; var b = e.slice() for (var i in b) { b[i] = this.data.iurl + e[i]; } - this.data.show_prew_img=1; + this.data.show_prew_img = 1; wx.previewImage({ current: b[t.currentTarget.dataset.id], urls: b }); }, - previewGoodsCommentImgs: function(t) { + previewGoodsCommentImgs: function (t) { var e = this, - a = this.data.data.comment[t.currentTarget.dataset.cidx].img; - a = a.map(function(t) { + a = this.data.data.comment[t.currentTarget.dataset.cidx].img; + a = a.map(function (t) { return e.data.url + t; }), wx.previewImage({ current: a[t.currentTarget.dataset.id], urls: a }); - this.data.show_prew_img=1; + this.data.show_prew_img = 1; }, - closePromModal: function() { + closePromModal: function () { this.setData({ openPromModal: !1 }); }, - openPromModal: function() { + openPromModal: function () { this.setData({ openPromModal: !0 }); }, //--点击分享事件--- - onShareAppMessage: function(t) { - + onShareAppMessage: function (t) { + var th = this; var price = th.data.data.shop_price; if (th.data.prom_act) { price = th.data.prom_act.price; } - var title= th.data.data.goods_name; - var img=th.data.data.original_img; - if(th.data.prom_type==6 || th.data.prom_type==1 || th.data.prom_type==4){ - title=th.data.prom_act.share_title; - if(!title) title=th.data.prom_act.title; - if(th.data.prom_type==4) title=th.data.prom_act.name; - - if(th.data.prom_act.share_imgurl) - img=th.data.iurl+th.data.prom_act.share_imgurl; + var title = th.data.data.goods_name; + var img = th.data.data.original_img; + if (th.data.prom_type == 6 || th.data.prom_type == 1 || th.data.prom_type == 4) { + title = th.data.prom_act.share_title; + if (!title) title = th.data.prom_act.title; + if (th.data.prom_type == 4) title = th.data.prom_act.name; + + if (th.data.prom_act.share_imgurl) + img = th.data.iurl + th.data.prom_act.share_imgurl; + } + + + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; + if (getApp().globalData.user_id) { + url += "&first_leader=" + getApp().globalData.user_id; } - - var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; - if(getApp().globalData.user_id){ - url+="&first_leader="+getApp().globalData.user_id; + //-- 如果房间分享,且不是会员分享的 -- + if (getApp().globalData.room_id && + th.data.data.goods_id == getApp().globalData.room_goods_id && + !getApp().globalData.room_user_share + ) { + url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1"; } - - //-- 如果房间分享,且不是会员分享的 -- - if(getApp().globalData.room_id && - th.data.data.goods_id==getApp().globalData.room_goods_id && - !getApp().globalData.room_user_share - ){ - url+="&room_id="+getApp().globalData.room_id+"&room_user_share=1"; - } - - var ob={ - title: price + "元 " +title, - path:url, + + var ob = { + title: price + "元 " + title, + path: url, imageUrl: img, - }; - if(th.data.prom_type==6){ - title+='\n'+th.data.prom_act.share_remark; - ob.title=title; - ob.desc=th.data.prom_act.share_remark; - } - - //如果是积分购的时候 - if(th.data.prom_type==4){ - var name = th.data.prom_act.name; - //-- 积分购的 -- - var pri0 = th.data.prom_act.addmoney; - var integral=th.data.prom_act.integral; - var text=""; - if(integral){text=integral+"积分"; } - if(pri0 && integral){ text+="+";} - if(pri0){ text+="¥"+pri0;} - - ob.title= text+" "+name; - } - + }; + if (th.data.prom_type == 6) { + title += '\n' + th.data.prom_act.share_remark; + ob.title = title; + ob.desc = th.data.prom_act.share_remark; + } + + //如果是积分购的时候 + if (th.data.prom_type == 4) { + var name = th.data.prom_act.name; + //-- 积分购的 -- + var pri0 = th.data.prom_act.addmoney; + var integral = th.data.prom_act.integral; + var text = ""; + if (integral) { text = integral + "积分"; } + if (pri0 && integral) { text += "+"; } + if (pri0) { text += "¥" + pri0; } + + ob.title = text + " " + name; + } + return ob; - + }, //-----图片失败,默认图片----- - bind_bnerr: function(e) { + bind_bnerr: function (e) { var _errImg = e.target.dataset.errorimg; var _errObj = {}; _errObj[_errImg] = this.data.iurl + "/miniapp/images/default_g_img.gif"; @@ -2192,7 +2198,7 @@ Page({ }, //-----图片失败,默认图片----- - bind_bnerr2: function(e) { + bind_bnerr2: function (e) { var _errImg = e.target.dataset.errorimg; var _errObj = {}; @@ -2202,76 +2208,79 @@ Page({ //----------装载同一条形码的商品---------- async get_sku(stoid, gd, g_id, is_normal, func) { - var tt = this,arrdata=null; - var now=ut.gettimestamp(); + console.log('get_sku'); + var tt = this, arrdata = null; + var now = ut.gettimestamp(); await getApp().request.promiseGet("/api/weshop/goods/page", { data: { store_id: o.stoid, sku: gd.sku, - more_spec:gd.more_spec, + more_spec: gd.more_spec, isonsale: 1, is_on_sale: 1, - pageSize:500, - orderField: 'sort' + pageSize: 500, + orderField: 'sort' } }).then(res => { var e = res; if (e.data.code == 0) arrdata = e.data.data.pageData; }) - if(!arrdata) return false; + if (!arrdata) return false; var arrsku = new Array(); var gitem = null; - var gb = 1,gg = ""; + var gb = 1, gg = ""; for (var i = 0; i < arrdata.length; i++) { - var goodsinfo=arrdata[i],prom=null; + var goodsinfo = arrdata[i], prom = null; if (goodsinfo.goods_id != g_id) { - - switch(goodsinfo.prom_type){ - case 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; - }) - - break; - case 6: - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - - break; - case 2: - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - break; - case 4: - await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - break - - } - - + + switch (goodsinfo.prom_type) { + case 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; + }) + + break; + case 6: + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, { + }).then(res => { + console.log(res); + if (res.data.code == 0) prom = res.data.data; + }) + + break; + case 2: + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + break; + case 4: + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + break + + } + + } //---如果有活动,不算在一起--- - if(prom){ - if(goodsinfo.prom_type==1 || goodsinfo.prom_type==6){ - if(prom.is_end==0 && prom.end_time>now && prom.start_time now && prom.start_time < now) continue; + } else { + continue; + } } - - var item = arrdata[i],gg = ""; - if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; - if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; + + var item = arrdata[i], gg = ""; + if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; + if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; if (item.goods_spec != "" && item.goods_color != "") { gg = item.goods_spec + "/" + item.goods_color; @@ -2283,10 +2292,10 @@ Page({ } item.gg = gg; - if(item.spec_img) - item.original_img=os.imghost+item.spec_img; + if (item.spec_img) + item.original_img = os.imghost + item.spec_img; else - item.original_img=os.imghost+item.original_img; + item.original_img = os.imghost + item.original_img; if (item.goods_id == g_id) { @@ -2312,16 +2321,16 @@ Page({ }, //-----------选择属性的按钮事件---------- - sele_spec: function(e) { - var that=this,ee=this,th=this; + sele_spec: function (e) { + var that = this, ee = this, th = this; var gid = e.currentTarget.dataset.gid; - var nor=e.currentTarget.dataset.nor; - + var nor = e.currentTarget.dataset.nor; + var sku_g = this.data.sku_g; - if(nor){ - sku_g = this.data.sku_g_pt; - } - + if (nor) { + sku_g = this.data.sku_g_pt; + } + var item = null; for (var i in sku_g) { if (sku_g[i].goods_id == gid) { @@ -2333,41 +2342,41 @@ Page({ sele_g: item, gid: gid }); - - - that.check_is_youhui(gid,that.data.is_normal); - - var ty=0; + + + that.check_is_youhui(gid, that.data.is_normal); + + var ty = 0; this.get_sto(that.data.is_normal); - - + + //默认门店要拿下门店库存 - if(that.data.sales_rules==2 && that.data.def_pick_store){ - var lock=0,plist=null; + if (that.data.sales_rules == 2 && that.data.def_pick_store) { + var lock = 0, plist = null; //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:ee.data.sele_g.goods_id,storageId:that.data.def_pick_store.pickup_id,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 + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: ee.data.sele_g.goods_id, storageId: that.data.def_pick_store.pickup_id, 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 } //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: that.data.def_pick_store.pickup_no, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid } }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; } - if(plist && plist.CanOutQty-lock>0){ - that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock; - }else{ - that.data.def_pick_store.CanOutQty=0; + if (plist && plist.CanOutQty - lock > 0) { + that.data.def_pick_store.CanOutQty = plist.CanOutQty - lock; + } else { + that.data.def_pick_store.CanOutQty = 0; } //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.def_pick_store}); + th.setData({ def_pick_store: that.data.def_pick_store }); }) } @@ -2376,58 +2385,58 @@ Page({ }, //选择了不同的规格的时候要判断是不是有活动正在进行中 - async sele_spec_chech_activity(){ + async sele_spec_chech_activity() { //---如果是活动的时候--- - var prom=null,goodsinfo=this.data.sele_g,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; + var prom = null, goodsinfo = this.data.sele_g, 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) { + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) { + prom = res.data.data; } }) } - if(goodsinfo.prom_type==6){ - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0){ - prom=res.data.data; + + if (goodsinfo.prom_type == 4) { + await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/" + os.stoid + "/" + goodsinfo.goods_id + "/" + goodsinfo.prom_id, { + }).then(res => { + if (res.data.code == 0) { + prom = res.data.data; } }) } - - if(goodsinfo.prom_type==4){ - await getApp().request.promiseGet("/api/weshop/integralbuy/getActInfo/"+os.stoid+"/"+goodsinfo.goods_id+"/"+goodsinfo.prom_id,{ - }).then(res=>{ - if(res.data.code==0){ - prom=res.data.data; - } - }) - } - + //----------如果有活动,并且在进行中,就不计算线下库存--------------- - var now=ut.gettimestamp(); - if(prom){ - if(prom.is_end==0 && prom.end_time>now && prom.start_time now && prom.start_time < now) { th.setData({ - prom_type:goodsinfo.prom_type, - prom_price:prom.price, - prom_buy_limit:prom.buy_limit, - prom_end_time:prom.end_time, - prom_start_time:prom.start_time, - prom_st:1, + prom_type: goodsinfo.prom_type, + prom_price: prom.price, + prom_buy_limit: prom.buy_limit, + prom_end_time: prom.end_time, + prom_start_time: prom.start_time, + prom_st: 1, }) return false; } } //---设置普通商品--- th.setData({ - prom_type:0, - prom_price:null, - prom_buy_limit:null, - prom_end_time:null, - prom_start_time:null, - prom_st:null, + prom_type: 0, + prom_price: null, + prom_buy_limit: null, + prom_end_time: null, + prom_start_time: null, + prom_st: null, }) }, @@ -2435,20 +2444,20 @@ Page({ //---------拿出门店分类和门店------------ get_sto(e) { - var th = this,that=this; - var is_normal=e; - - if(e==1){ - th.setData({is_normal:1}) - }else{ - th.setData({is_normal:0}) - } - - var timer_get = setInterval(function() { + var th = this, that = this; + var is_normal = e; + + if (e == 1) { + th.setData({ is_normal: 1 }) + } else { + th.setData({ is_normal: 0 }) + } + + var timer_get = setInterval(function () { if (th.data.is_get_local_ok == 0) return false; - var dd = null,i = getApp().request; - if (!th.data.sele_g) return false; - + var dd = null, i = getApp().request; + if (!th.data.sele_g) return false; + var g_distr_type = th.data.sele_g.distr_type; if (g_distr_type != 0) { dd = { @@ -2470,52 +2479,52 @@ Page({ dd.lon = th.data.lon; } clearInterval(timer_get); - - //如果会员是有默认的门店话 - if(!th.data.def_pick_store && th.data.fir_def_store){ - th.setData({def_pick_store:th.data.fir_def_store}); - } - - /*--最新的,不用这里筛选配送方式 - if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){ - th.setData({def_pick_store:null}); - }--*/ - - - wx.showLoading({ - title:'加载中.' - }); + + //如果会员是有默认的门店话 + if (!th.data.def_pick_store && th.data.fir_def_store) { + th.setData({ def_pick_store: th.data.fir_def_store }); + } + + /*--最新的,不用这里筛选配送方式 + if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){ + th.setData({def_pick_store:null}); + }--*/ + + + wx.showLoading({ + title: '加载中.' + }); //----------获取门店---------------- getApp().request.promiseGet("/api/weshop/pickup/list", { data: dd, }).then(res => { var e = res; - - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { - - var his_cate_num=0; - for(let i in e.data.data.pageData){ - let item=e.data.data.pageData[i]; - if(item.category_id>0){ - his_cate_num=1;break; + + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { + + var his_cate_num = 0; + for (let i in e.data.data.pageData) { + let item = e.data.data.pageData[i]; + if (item.category_id > 0) { + his_cate_num = 1; break; } } - e.his_cate_num=his_cate_num; + e.his_cate_num = his_cate_num; //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - if(dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store)=='{}') && th.data.bconfig && th.data.bconfig.is_sort_storage){ + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { th.setData({ - def_pick_store:e.data.data.pageData[0], + def_pick_store: e.data.data.pageData[0], sto_sele_name: e.data.data.pageData[0].pickup_name, sto_sele_id: e.data.data.pageData[0].pickup_id, sto_sele_distr: e.data.data.pageData[0].distr_type }); - th.data.fir_def_store=e.data.data.pageData[0]; + th.data.fir_def_store = e.data.data.pageData[0]; } //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 -- - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') { for (var k = 0; k < e.data.data.pageData.length; k++) { if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { e.data.data.pageData.splice(k, 1); //删除 @@ -2526,17 +2535,17 @@ Page({ } - th.setData({all_pick_list:e.data.data.pageData}); + th.setData({ all_pick_list: e.data.data.pageData }); //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- - if(th.data.sales_rules==2 && !th.data.is_newsales_rules && ((th.data.prom_type!=1 && th.data.prom_type!=6 && th.data.prom_type!=4) || is_normal==1)){ - setTimeout(function(){ + if (th.data.sales_rules == 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4) || is_normal == 1)) { + setTimeout(function () { th.deal_pickup_dline(e); - },800) - }else{ - setTimeout(function(){ + }, 800) + } else { + setTimeout(function () { th.deal_pickup(e); //--普通门店排版-- - },800) + }, 800) } } }) @@ -2544,29 +2553,29 @@ Page({ }, - + //------------处理门店--------------- - deal_pickup(e){ - var th=this; - if(!th.data.sele_g) return false - - var g_distr_type=th.data.sele_g.distr_type; - wx.hideLoading(); + deal_pickup(e) { + var th = this; + if (!th.data.sele_g) return false + + var g_distr_type = th.data.sele_g.distr_type; + wx.hideLoading(); //单总量超出10个的时候,同时门店有分类 - if (e.data.data.total > 10 && e.his_cate_num ) { + if (e.data.data.total > 10 && e.his_cate_num) { getApp().request.get("/api/weshop/storagecategory/page", { data: { store_id: o.stoid, is_show: 1, pageSize: 1000, - orderField:"sort", - orderType:'asc', + orderField: "sort", + orderType: 'asc', }, - success: function(ee) { + success: function (ee) { if (ee.data.code == 0) { - - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { + + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { var def_arr = new Array(); var ishas = 0; //-- 开始就看5个门店 -- @@ -2587,7 +2596,7 @@ Page({ //----要进行门店分组-------- for (var i = 0; i < sto_arr.length; i++) { //找一下这个门店有没有在分类数组内 - var find2 = 0, find2name = "",sort=0; + var find2 = 0, find2name = "", sort = 0; for (var m = 0; m < sto_cate.length; m++) { if (sto_arr[i].category_id == sto_cate[m].cat_id) { find2 = sto_cate[m].cat_id; @@ -2614,7 +2623,7 @@ Page({ var item = { cat_id: find2, name: find2name, - sort:sort, + sort: sort, s_arr: arr0 }; newarr.push(item); @@ -2630,7 +2639,7 @@ Page({ var item = { cat_id: find2, name: find2name, - sort:sort, + sort: sort, s_arr: arr0 }; newarr.push(item); @@ -2639,18 +2648,18 @@ Page({ } } } - - //门店分类要排序下 - function compare(property){ - return function(a,b){ - var value1 = a[property]; - var value2 = b[property]; - return value1 - value2; - } - } - if(newarr.length>0) - newarr.sort(compare("sort")); - + + //门店分类要排序下 + function compare(property) { + return function (a, b) { + var value1 = a[property]; + var value2 = b[property]; + return value1 - value2; + } + } + if (newarr.length > 0) + newarr.sort(compare("sort")); + //----安排其他的分类----- if (qita.length > 0) { @@ -2661,7 +2670,7 @@ Page({ }; newarr.push(item); } - + th.setData({ is_show_sto_cat: 1, all_sto: newarr @@ -2674,7 +2683,7 @@ Page({ }); //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ if (!th.data.def_pick_store) { - th.setData({def_pick_store:e.data.data.pageData[0]}) + th.setData({ def_pick_store: e.data.data.pageData[0] }) } } } else { @@ -2684,13 +2693,13 @@ Page({ }); //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ if (!th.data.def_pick_store) { - th.setData({def_pick_store:e.data.data.pageData[0]}) + th.setData({ def_pick_store: e.data.data.pageData[0] }) } } } }); - } else { + } else { th.setData({ is_show_sto_cat: 0, only_pk: e.data.data.pageData @@ -2698,7 +2707,7 @@ Page({ //-----如果没有默认门店,要取第一个门店作为默认店------ if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { th.setData({ - def_pick_store:e.data.data.pageData[0], + def_pick_store: e.data.data.pageData[0], sto_sele_name: e.data.data.pageData[0].pickup_name, sto_sele_id: e.data.data.pageData[0].pickup_id, sto_sele_distr: e.data.data.pageData[0].distr_type @@ -2706,66 +2715,66 @@ Page({ } } }, - + //------------处理线下门店库存-------- - deal_pickup_dline(e){ - var pkno=[],th=this; - if(!th.data.sele_g) return false; - - if(this.data.def_pick_store){ + deal_pickup_dline(e) { + var pkno = [], th = this; + if (!th.data.sele_g) return false; + + if (this.data.def_pick_store) { pkno.push(this.data.def_pick_store.pickup_no); } - for(var i in e.data.data.pageData){ - var item=e.data.data.pageData[i]; - if(pkno.indexOf(item.pickup_no)<0) + for (var i in e.data.data.pageData) { + var item = e.data.data.pageData[i]; + if (pkno.indexOf(item.pickup_no) < 0) pkno.push(item.pickup_no); } - pkno.sort(); - var pkno_str=pkno.join(","); - var o_plist=e.data.data.pageData; - var new_list=[]; - var is_find_def_store=0; + pkno.sort(); + var pkno_str = pkno.join(","); + var o_plist = e.data.data.pageData; + var new_list = []; + var is_find_def_store = 0; - var g_distr_type=th.data.sele_g.distr_type; - var lock=[]; + var g_distr_type = th.data.sele_g.distr_type; + var lock = []; //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - lock=res.data.data.pageData + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, pageSize: 1000 } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + lock = res.data.data.pageData } //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid,pageSize:2000} + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: pkno_str, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid, pageSize: 2000 } }) - }).then(res=>{ + }).then(res => { - wx.hideLoading(); - if(res.data.code==0){ - if(res.data.data.pageData && res.data.data.pageData.length>0){ - var plist=res.data.data.pageData; - var def_pick_store=th.data.def_pick_store; + wx.hideLoading(); + if (res.data.code == 0) { + if (res.data.data.pageData && res.data.data.pageData.length > 0) { + var plist = res.data.data.pageData; + var def_pick_store = th.data.def_pick_store; //以原来的数组为外循环,保证距离的顺序 - for(var kk in o_plist){ - for(var ii in plist){ + for (var kk in o_plist) { + for (var ii in plist) { //线下的门店小心 - var n_item=plist[ii]; - if(n_item.StorageNo==o_plist[kk].pickup_no){ + var n_item = plist[ii]; + if (n_item.StorageNo == o_plist[kk].pickup_no) { //拿到锁库的数量 - var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); + var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); //可出库数大于预出库库存的数量,可以判断为有库存 - if(n_item.CanOutQty>lock_num){ - o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; + if (n_item.CanOutQty > lock_num) { + o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; new_list.push(o_plist[kk]); //--如果找到默认门店,同时也应该判断配送方式对不对-- - if(th.data.fir_def_store && n_item.StorageNo==th.data.fir_def_store.pickup_no && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ - th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; - if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) - th.setData({def_pick_store:th.data.fir_def_store}) - is_find_def_store=1; + if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { + th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; + if (def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) + th.setData({ def_pick_store: th.data.fir_def_store }) + is_find_def_store = 1; } } break; @@ -2774,55 +2783,55 @@ Page({ } //数据组装下 - var em={};em.data={};em.data.data={}; - em.data.data.total=new_list.length; - em.data.data.pageData=new_list; - em.data.data.pageData=new_list; + var em = {}; em.data = {}; em.data.data = {}; + em.data.data.total = new_list.length; + em.data.data.pageData = new_list; + em.data.data.pageData = new_list; //--如果找到默认门店,同时也应该判断配送方式对不对-- - if(th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type==0 || th.data.fir_def_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type ) ){ - th.data.fir_def_store.CanOutQty=0; + if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { + th.data.fir_def_store.CanOutQty = 0; //--当选择的门店是客户默认的门店的时候-- - if(th.data.def_pick_store && th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { - th.setData({def_pick_store:th.data.fir_def_store}); + if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { + th.setData({ def_pick_store: th.data.fir_def_store }); em.data.data.pageData.unshift(th.data.def_pick_store); - }else{ - em.data.data.pageData.splice(1,0,th.data.fir_def_store); + } else { + em.data.data.pageData.splice(1, 0, th.data.fir_def_store); } } //---把数组组装进去--- th.deal_pickup(em); - }else{ - th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) + } else { + th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) } - }else{ - th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null}) + } else { + th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) } }) }, - find_lock_num(pick_id,lock){ - var lock_num=0; - if(!lock) return 0; - if(lock.length<0) return 0; - for(var i in lock){ - if(pick_id==lock[i].pickupId){ - lock_num+=lock[i].outQty; + find_lock_num(pick_id, lock) { + var lock_num = 0; + if (!lock) return 0; + if (lock.length < 0) return 0; + for (var i in lock) { + if (pick_id == lock[i].pickupId) { + lock_num += lock[i].outQty; } } return lock_num; }, //----------取货门店被点击的效果------ - getmendian: function(t) { + getmendian: function (t) { this.setData({ ismend: 1, }); }, //----------隐藏取货门店,选取门店---------- - hidemend: function(e) { + hidemend: function (e) { var pid = e.target.dataset.p_id; var pname = e.target.dataset.p_name; var p_distr_t = e.target.dataset.p_dis; @@ -2836,7 +2845,7 @@ Page({ }, //------显示取货2级---------- - show_sec: function(t) { + show_sec: function (t) { var index = t.target.dataset.index; var item = this.data.all_sto[index]; this.setData({ @@ -2846,43 +2855,43 @@ Page({ }, //------隐藏取货门店2级---- - hide_sec_mend: function() { + hide_sec_mend: function () { this.setData({ is_sec_mend: 0, }); }, //评论的调用 - requestComments_new: async function(){ - var e = this, th = e,ee=e; var tp = e.data.activeCategoryId3; + requestComments_new: async function () { + var e = this, th = e, ee = e; var tp = e.data.activeCategoryId3; var t = '/api/weshop/comment/pageComment?page=' + e.data.c_curr_p; wx.showLoading(); var req_where = { - store_id: o.stoid, pageSize: 5,is_show:1, + store_id: o.stoid, pageSize: 5, is_show: 1, parent_id: 0, goods_id: th.data.gid, commenttype: tp, } if (getApp().globalData.userInfo) { req_where.userId = getApp().globalData.userInfo.user_id; } - var rs_data=null; - await getApp().request.promiseGet(t, { data: req_where}).then(res=>{ + var rs_data = null; + await getApp().request.promiseGet(t, { data: req_where }).then(res => { var tot = res.data.data.total; e.data.c_curr_p++; e.setData({ com_num: tot, //已经有加载 }); - if (res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ - rs_data=res.data.data.pageData; - }else{ - th.setData({comments_no_more:1,auto:1}); + if (res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { + rs_data = res.data.data.pageData; + } else { + th.setData({ comments_no_more: 1, auto: 1 }); } }) - if (rs_data){ + if (rs_data) { //var cda = th.data.comments; - var cda = rs_data,com_data=th.data.comments; + var cda = rs_data, com_data = th.data.comments; for (var ind in cda) { var ep = cda[ind]; if (cda[ind].head_pic == '') { @@ -2896,13 +2905,13 @@ Page({ } //--测量多有字的宽带,计算有多少行-- - var widh=ut.measureText(ep.content,30); - var lines=widh/712; - cda[ind].seeMore=false; - if(lines>3) cda[ind].seeMore=true; + var widh = ut.measureText(ep.content, 30); + var lines = widh / 712; + cda[ind].seeMore = false; + if (lines > 3) cda[ind].seeMore = true; await getApp().request.promiseGet("/api/weshop/comment/pageComment", { - data: {store_id: o.stoid, parent_id: ep.comment_id } + data: { store_id: o.stoid, parent_id: ep.comment_id } }).then(res => { if (res.data.data.pageData && res.data.data.pageData.length > 0) { cda[ind].replay_list = res.data.data.pageData; @@ -2913,16 +2922,16 @@ Page({ if (!com_data) com_data = cda; else com_data = com_data.concat(cda); - th.setData({ comments: com_data}); + th.setData({ comments: com_data }); } - th.setData({get_c: 1}); + th.setData({ get_c: 1 }); wx.hideLoading(); }, //加载更多是靠这个函数 - onReachBottom: function() { - if (this.data.activeCategoryId == 2){ - if(!this.data.comments_no_more) this.requestComments_new(); + onReachBottom: function () { + if (this.data.activeCategoryId == 2) { + if (!this.data.comments_no_more) this.requestComments_new(); } var goods_list = this.selectComponent("#goods_list"); //组件的id @@ -2932,20 +2941,18 @@ Page({ //--------检查是否活动,活动是否开始,或者是否结束------- async check_prom(gid, prom_type, prom_id) { var ee = this, - th = ee; - if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7) { + th = ee; + if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7) { this.setData({ prom_type: 0, isshow: 1, }); return false; } - - - - //if (prom_type != 3 && prom_type!=0){ - //---判断秒杀---- - if (prom_type == 1) { + + //if (prom_type != 3 && prom_type!=0){ + //---判断秒杀---- + if (prom_type == 1) { //-------判断活动是否抢光--------- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { 1: 1 @@ -2958,8 +2965,8 @@ Page({ }); //拿取价格并且判断时间-- getApp().request.get("/api/ms/flash_sale/get/" + - os.stoid + "/" + prom_id, { - success: function(t) { + os.stoid + "/" + prom_id, { + success: function (t) { if (t.data.code != 0) { ee.setData({ prom_type: 0, @@ -3047,73 +3054,73 @@ Page({ }) } - if(prom_type==4){ - //th.setData({is_integral_normal:1}); - var rdata={ - store_id:o.stoid,stype:1,stypeup:1,goods_id:gid - } - - var integrals=0; - var get_datas= { - user_id:getApp().globalData.user_id, store_id:o.stoid, - }; - await getApp().request.promiseGet("/api/weshop/users/getAllPoints", { - data: get_datas - }).then(res => { - if(res.data.code==0){ - integrals=res.data.data.Integral; - } - }) - - //获取一下积分活动 - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", { - data: rdata - }).then(res => { - //调用接口有数据的时候 - if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { - var inte_data=res.data.data.pageData[0]; - var can_integral=(parseFloat(integrals)>=parseFloat(inte_data.integral)); - ee.setData({ - prom_price:parseFloat(inte_data.addmoney), - prom_integral:parseFloat(inte_data.integral), - prom_type: 4, - prom_id: inte_data.id, - prom_buy_limit: inte_data.limitvipqty, - prom_act: inte_data, - isshow: 1, - can_integral:can_integral, - is_shopbuy: parseInt(inte_data.is_shopbuy?inte_data.is_shopbuy:0) - }); - ee.get_sto(); - - }else{ - ee.setData({prom_type: 0, isshow: 1,}); - ee.get_sku(os.stoid, ee.data.data, gid); - ee.get_sto(); - return false; - } - }) - - } - - + if (prom_type == 4) { + //th.setData({is_integral_normal:1}); + var rdata = { + store_id: o.stoid, stype: 1, stypeup: 1, goods_id: gid + } + + var integrals = 0; + var get_datas = { + user_id: getApp().globalData.user_id, store_id: o.stoid, + }; + await getApp().request.promiseGet("/api/weshop/users/getAllPoints", { + data: get_datas + }).then(res => { + if (res.data.code == 0) { + integrals = res.data.data.Integral; + } + }) + + //获取一下积分活动 + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList", { + data: rdata + }).then(res => { + //调用接口有数据的时候 + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { + var inte_data = res.data.data.pageData[0]; + var can_integral = (parseFloat(integrals) >= parseFloat(inte_data.integral)); + ee.setData({ + prom_price: parseFloat(inte_data.addmoney), + prom_integral: parseFloat(inte_data.integral), + prom_type: 4, + prom_id: inte_data.id, + prom_buy_limit: inte_data.limitvipqty, + prom_act: inte_data, + isshow: 1, + can_integral: can_integral, + is_shopbuy: parseInt(inte_data.is_shopbuy ? inte_data.is_shopbuy : 0) + }); + ee.get_sto(); + + } else { + ee.setData({ prom_type: 0, isshow: 1, }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + }) + + } + + //---判断拼单---- if (prom_type == 6) { //-------判断活动是否抢光--------- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { 1: 1 }).then(res => { + console.log(res,3114); var em = res; if (em.data.code == 0) { - - if (em.data.data <= 0) ee.setData({ prom_r_null: 1 }); //拿取价格并且判断时间-- getApp().request.get("/api/weshop/teamlist/get/" + - os.stoid + "/" + prom_id, { - success: function(t) { + os.stoid + "/" + prom_id, { + success: function (t) { + console.log(t,3124); if (t.data.code != 0) { ee.setData({ prom_type: 0, @@ -3155,6 +3162,31 @@ Page({ return false; } + /*-- 判断拼单是否启用 --*/ + if (!t.data.data.is_show) { + console.log('没启用'); + wx.setNavigationBarTitle({ + title: '系统提示', + }); + wx.showToast({ + title:'此商品暂时没有拼单活动', + icon:'none', + success(){ + setTimeout(()=>{ + wx.navigateBack() + },2000) + } + }); + return false + ee.setData({ + prom_type: 0, + isshow: 1, + }); + ee.get_sku(os.stoid, ee.data.data, gid); + ee.get_sto(); + return false; + } + //-------查看自己是不是有买过该团的商品,并还为支付,或者在进行中------- getApp().request.get("/api/weshop/order/page", { data: { @@ -3164,7 +3196,7 @@ Page({ pageSize: 1, page: 1 }, - success: function(e) { + success: function (e) { if (e.data.code == 0 && e.data.data.pageData.length > 0) { var odr = e.data.data.pageData[0]; th.data.buy_order = odr; @@ -3183,17 +3215,17 @@ Page({ } }).then(res => { var now = ut.gettimestamp(); - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ - var tgr = res.data.data.pageData[0]; - //如果团的时间已经到了 - if (now >= tgr.kt_end_time) { - th.update_jiti(tgr.id); - } else { - th.setData({ - user_order_pt_state: 2 - }); - } - } + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { + var tgr = res.data.data.pageData[0]; + //如果团的时间已经到了 + if (now >= tgr.kt_end_time) { + th.update_jiti(tgr.id); + } else { + th.setData({ + user_order_pt_state: 2 + }); + } + } }) } else { @@ -3214,10 +3246,10 @@ Page({ }); //----------查看阶梯团------------ - if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { + if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); var max_num = 0; - t.data.data.ct_rylist.forEach(function(val, ind) { + t.data.data.ct_rylist.forEach(function (val, ind) { if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); }) t.data.data.max_ct_num = max_num; @@ -3269,24 +3301,24 @@ Page({ //--获取有多少人在开团-- async get_team_group(prom_id) { var teamgroup = [], - th = this, - grounp_tatal = 0; + th = this, + grounp_tatal = 0; //如果活动是开团不是商家团 if (this.data.prom_act.kttype > 1) { - - var req_data={ - store_id: os.stoid, - pageSize: 3, - page: 1, - state: 2, - team_id: prom_id, - ordernum:1 - }; - - if(this.data.prom_act.kttype==3 && this.data.prom_act.max_ct_num ){ - req_data.max_num=this.data.prom_act.max_ct_num; - } - + + var req_data = { + store_id: os.stoid, + pageSize: 3, + page: 1, + state: 2, + team_id: prom_id, + ordernum: 1 + }; + + if (this.data.prom_act.kttype == 3 && this.data.prom_act.max_ct_num) { + req_data.max_num = this.data.prom_act.max_ct_num; + } + //获取活动从表信息team_id await getApp().request.promiseGet("/api/weshop/teamgroup/page", { data: req_data @@ -3358,7 +3390,7 @@ Page({ prom_time_text: '距结束还剩:', prom_st: 1 }) - setTimeout(function() { + setTimeout(function () { th.countDown(endTime2) }, 1000); return false; @@ -3385,17 +3417,17 @@ Page({ th.setData({ djs: obj }); - setTimeout(function() { + setTimeout(function () { th.countDown(endTime) }, 1000); }, //-------------获取购买数量的总函数---------------- - get_buy_num: function(gd, func) { + get_buy_num: function (gd, func) { var map = this.data.g_buy_num, - th = this, - user_id = getApp().globalData.user_id; + th = this, + user_id = getApp().globalData.user_id; if (user_id == null) { map.set(gd.goods_id, 0); th.setData({ @@ -3416,7 +3448,7 @@ Page({ user_id: user_id, goods_id: gd.goods_id }, - success: function(t) { + success: function (t) { if (t.data.code == 0) { var g_buy_num = t.data.data.goodsbuynum; if (gd.prom_type == 1 || gd.prom_type == 2 || gd.prom_type == 4 || gd.prom_type == 6) { @@ -3430,7 +3462,7 @@ Page({ prom_id: gd.prom_id }, //-----获取----- - success: function(tt) { + success: function (tt) { if (tt.data.code == 0) { map.set(gd.goods_id, g_buy_num); th.setData({ @@ -3455,7 +3487,7 @@ Page({ }, //--拼单推荐的显示--- - tj_Click: function(e) { + tj_Click: function (e) { var ind = parseInt(e.target.dataset.ind); this.setData({ is_show_gz: ind @@ -3463,22 +3495,22 @@ Page({ }, //--------拼团玩法显示详情-------- - show_pt_xx: function(e) { + show_pt_xx: function (e) { this.setData({ pd_xx: 1, }) }, - close_pt_xx: function() { + close_pt_xx: function () { this.setData({ pd_xx: 0, }) }, //--点击弹起拼单-- - openSpecModel_pt: function(e) { + openSpecModel_pt: function (e) { - this.setData({ open_ind_store: 4,goodsInputNum:1});//拼团直接给4 + this.setData({ open_ind_store: 4, goodsInputNum: 1 });//拼团直接给4 //--先判断会员状态-- @@ -3496,23 +3528,23 @@ Page({ if (ind == 1) { //如果拼单的sku data是空的,就要先获取一下 if (th.data.sku_g_pt) { - th.get_sto(1); + th.get_sto(1); th.setData({ is_normal: ind, openSpecModal_pt: 1 }); } else { - th.get_sto(1); - th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function() { + th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { th.setData({ is_normal: ind, openSpecModal_pt: 1 }); }); - } - th.check_is_youhui(th.data.gid,1); + } + th.check_is_youhui(th.data.gid, 1); } else { - + //拼单商品从这里进,先判断有没有买过商品, getApp().request.get("/api/weshop/order/page", { data: { @@ -3522,7 +3554,7 @@ Page({ pageSize: 1, page: 1 }, - success: function(e) { + success: function (e) { //--跳转到已经购买的情况-- if (e.data.data.pageData.length > 0) { var odr = e.data.data.pageData[0]; @@ -3530,7 +3562,7 @@ Page({ if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { wx.showModal({ title: "您已经购买了该商品待支付中", - success: function(a) { + success: function (a) { if (a.confirm) { wx.navigateTo({ url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, @@ -3539,15 +3571,15 @@ Page({ } }); } else if (odr.pt_status == 1 && odr.order_status == 1) { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - - /*--- - wx.redirectTo({ - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, - });--*/ + + if (this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show = 1; + wx.showLoading(); + + /*--- + wx.redirectTo({ + url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, + });--*/ getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); } else { @@ -3569,7 +3601,7 @@ Page({ }, //-----------------拼单生成方法--------------------- - addCart_pt: function() { + addCart_pt: function () { var th = this; if (this.data.is_normal == 0) { //看一下有没有起购数,如果有起购数,要计算起购数 @@ -3585,18 +3617,18 @@ Page({ } }, - addcart_pt_func: function() { + addcart_pt_func: function () { if (oo.user_id == null) { s.my_warnning("还未登录!", 0, this); return; } var e = this, - th = e, - o = this.data.sele_g; + th = e, + o = this.data.sele_g; if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); //----------添加到购物车时,要判断限购数量,-------- - e.get_buy_num(o, async function(ee) { + e.get_buy_num(o, async function (ee) { //---判断商品是否超出限购--- if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { @@ -3606,30 +3638,30 @@ Page({ content: '超出商品限购' }); - var num=th.data.prom_buy_limit-th.data.prom_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购--- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal!=1) { + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal != 1) { if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { wx.showModal({ title: '提示', content: '超出商品活动限购' }); - var num=th.data.prom_buy_limit-th.data.prom_buy_num; - if(num<0) num=0; - th.setData({goodsInputNum:num}) + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({ goodsInputNum: num }) return false; } } var redis_num = 0 //不是普通购买的时候 - if(th.data.is_normal!=1){ + if (th.data.is_normal != 1) { //-------判断活动是否抢光--------- await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.sele_g.prom_id, { 1: 1 @@ -3643,7 +3675,7 @@ Page({ content: '超出商品活动库存' }); - th.setData({goodsInputNum:redis_num}) + th.setData({ goodsInputNum: redis_num }) return false; } @@ -3651,7 +3683,7 @@ Page({ if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); if (th.data.goodsInputNum > o.store_count) { - th.setData({goodsInputNum:o.store_count}) + th.setData({ goodsInputNum: o.store_count }) return s.my_warnning("超出商品库存", 0, th); } @@ -3674,42 +3706,42 @@ Page({ }; //---是不是从收藏夹出来的--- - if(th.data.c_guide_id){ + if (th.data.c_guide_id) { newd['guide_id'] = th.data.c_guide_id; - newd['guide_type']=2; + newd['guide_type'] = 2; - }else{ - if(getApp().globalData.guide_id){ + } else { + if (getApp().globalData.guide_id) { newd['guide_id'] = getApp().globalData.guide_id; - newd['guide_type']=0; + newd['guide_type'] = 0; } } //让商品带上房间号 - if(th.data.sys_switch.is_skuroom_id==1){ - if(th.data.data.goods_id==getApp().globalData.room_goods_id){ - newd.room_id=getApp().globalData.room_id; + if (th.data.sys_switch.is_skuroom_id == 1) { + if (th.data.data.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; } - }else{ - if(newd.goods_id==getApp().globalData.room_goods_id){ - newd.room_id=getApp().globalData.room_id; + } else { + if (newd.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; } } //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ - if(th.data.is_normal == 1){ - var conf=th.data.bconfig; - if(conf.switch_list){ - var s_list=JSON.parse(conf.switch_list); + if (th.data.is_normal == 1) { + var conf = th.data.bconfig; + if (conf.switch_list) { + var s_list = JSON.parse(conf.switch_list); //如果后台有开启等级价的功能 - if(parseInt(s_list.rank_switch)==2){ - var card_price=o[getApp().globalData.userInfo['card_field']]; + if (parseInt(s_list.rank_switch) == 2) { + var card_price = o[getApp().globalData.userInfo['card_field']]; //如果会员有等级价 - if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null - && getApp().globalData.userInfo['card_field']!="" && card_price>0){ - newd.goods_price=card_price; + if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null + && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { + newd.goods_price = card_price; } } } @@ -3717,7 +3749,7 @@ Page({ //-----如果是秒杀,团购,积分购,拼团,且不是普通购买----- - if (th.data.prom_type == 6 && th.data.is_normal!= 1) { + if (th.data.prom_type == 6 && th.data.is_normal != 1) { newd.goods_price = th.data.prom_price; newd.prom_type = th.data.prom_type; newd.prom_id = th.data.prom_id; @@ -3739,23 +3771,23 @@ Page({ newd['pick_name'] = th.data.sto_sele_name; newd['pick_dis'] = th.data.sto_sele_distr; newd['is_normal'] = th.data.is_normal; - - if(newd['is_normal']){ - newd['is_pd_normal']=1; - //判断一下有没有全局优惠活动 - th.check_nor_promgood(newd.goods_id,function(e){ - if(e && e.act_id){ - newd['prom_type']=3; - newd['prom_id']=e.act_id; - } - th.buyNow(newd) - }) - } + + if (newd['is_normal']) { + newd['is_pd_normal'] = 1; + //判断一下有没有全局优惠活动 + th.check_nor_promgood(newd.goods_id, function (e) { + if (e && e.act_id) { + newd['prom_type'] = 3; + newd['prom_id'] = e.act_id; + } + th.buyNow(newd) + }) + } else th.buyNow_pt(newd); }) }, //----------立即购买_pt----------- - buyNow_pt: function(e) { + buyNow_pt: function (e) { s.set_b_now(e); wx.navigateTo({ url: "/pages/cart/cart2_pt/cart2_pt?is_bnow=1&goods_id=" + e.goods_id, @@ -3763,27 +3795,27 @@ Page({ }, //-------跳转pt商品------- - go_to_nopay: function() { - var th = this; - url="/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; - getApp().goto(url); - + go_to_nopay: function () { + var th = this; + url = "/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; + getApp().goto(url); + }, //-------跳转pt teamshow------- - go_to_team_show: function() { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - - var th = this; - var url="/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn; - /*-- - wx.redirectTo({ - url:url, - })--*/ - getApp().goto(url); - + go_to_team_show: function () { + + if (this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show = 1; + wx.showLoading(); + + var th = this; + var url = "/pages/team/team_success/team_success?ordersn=" + th.data.buy_order.order_sn; + /*-- + wx.redirectTo({ + url:url, + })--*/ + getApp().goto(url); + }, //---拼团倒计时--- @@ -3828,7 +3860,7 @@ Page({ setTimeout(th.countDown2, 1000); }, //跳转参加团 - go_cj_team: function(e) { + go_cj_team: function (e) { var ind = e.currentTarget.dataset.ind; var item = this.data.teamgroup[ind]; var id = item.id; @@ -3842,7 +3874,7 @@ Page({ pageSize: 1, page: 1 }, - success: function(e) { + success: function (e) { if (e.data.code != 0) { getApp().my_warnning("读取订单失败", 0, th); return fasle; @@ -3854,7 +3886,7 @@ Page({ if (odr.pt_status == 0 && (odr.order_status == 1 || odr.order_status == 0)) { wx.showModal({ title: "您已经购买了该商品待支付中", - success: function(a) { + success: function (a) { if (a.confirm) { wx.navigateTo({ url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, @@ -3863,16 +3895,16 @@ Page({ } }); } else if (odr.pt_status == 1 && odr.order_status == 1) { - - if(this.data.is_go_to_team_show) return false; - this.data.is_go_to_team_show=1; - wx.showLoading(); - /*-- - wx.redirectTo({ - url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, - });--*/ - getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); + if (this.data.is_go_to_team_show) return false; + this.data.is_go_to_team_show = 1; + wx.showLoading(); + /*-- + wx.redirectTo({ + url: "/pages/team/team_success/team_success?ordersn=" + odr.order_sn, + });--*/ + + getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); } else { wx.navigateTo({ @@ -3892,7 +3924,7 @@ Page({ }, //跳到团更多 - go_t_more: function() { + go_t_more: function () { var team_id = this.data.prom_id; wx.navigateTo({ url: "/pages/team/team_more/team_more?team_id=" + team_id, @@ -3900,11 +3932,11 @@ Page({ }, //--点赞功能-- - click_zan: function(e) { + click_zan: function (e) { var com_id = e.currentTarget.dataset.com_id; var item_id = e.currentTarget.dataset.item_id; var app = getApp(), - th = this; + th = this; if (app.globalData.userInfo == null || app.globalData.userInfo == undefined) { app.confirmBox("您还未登录"); @@ -3923,7 +3955,7 @@ Page({ goods_id: th.data.gid, comment_id: com_id }, - success: function(ee) { + success: function (ee) { if (ee.data.code == "-1") { app.my_warnning("不能给自己点赞", 0, th); @@ -3952,7 +3984,7 @@ Page({ th.setData(_errObj); } - setTimeout(function() { + setTimeout(function () { th.data.iszaning = 0; }, 500) @@ -3961,7 +3993,7 @@ Page({ }, /*----券的开关---*/ - switchCoupon: async function(event) { + switchCoupon: async function (event) { var coupon = event.currentTarget.dataset.coupon; var app = getApp(); var url = "/api/weshop/prom/coupon/pageCouponList"; @@ -3978,7 +4010,7 @@ Page({ pageSize: 100, page: 1, user_id: app.globalData.user_id, - is_share:0 + is_share: 0 } }).then(res => { wx.hideLoading(); @@ -4009,13 +4041,13 @@ Page({ }, //--查看评价-- - look_pj: function() { + look_pj: function () { this.tabComment(); this.doScrollTop(); }, //-----领取券----- - get_quan: function(e) { + get_quan: function (e) { var cid = e.currentTarget.dataset.cid; var index = e.currentTarget.dataset.ind; var item = this.data.quan_list[index]; @@ -4051,17 +4083,17 @@ Page({ 'store_id': os.stoid, 'type': 5 }; - - //-- 导购ID -- - if(getApp().globalData.guide_id){ - pdata.guide_id=getApp().globalData.guide_id; - } - + + //-- 导购ID -- + if (getApp().globalData.guide_id) { + pdata.guide_id = getApp().globalData.guide_id; + } + var app = getApp(), - th = this; + th = this; app.request.post("/api/weshop/couponList/saveCouponList", { data: pdata, - success: function(res) { + success: function (res) { if (res.data.code == 0) { app.my_warnning("领取成功", 1, th); lq_num++; @@ -4081,9 +4113,9 @@ Page({ } }) }, - + //--定义的保存图片方法,分享团--- - saveImageToPhotosAlbum: function() { + saveImageToPhotosAlbum: function () { //--先判断会员状态-- var user_info = getApp().globalData.userInfo; if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { @@ -4091,12 +4123,12 @@ Page({ wx.navigateTo({ url: '/pages/togoin/togoin', }) return false; } - - if(this.data.share_hidden) { - this.setData({ - share_hidden: false, - }); - }; + + if (this.data.share_hidden) { + this.setData({ + share_hidden: false, + }); + }; //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 var type = this.data.prom_type; @@ -4107,7 +4139,7 @@ Page({ title: '生成中...', }) var that = this, - th = that; + th = that; //设置画板显示,才能开始绘图 that.setData({ canvasHidden: false @@ -4116,230 +4148,230 @@ Page({ var app = getApp(); var unit = that.data.screenWidth / 750 * 1.35; //基础单位, var path2 = that.data.data.original_img; - var scene = th.data.gid+""; - var user_id = getApp().globalData.user_id?getApp().globalData.user_id:0; - if(user_id>0) { - scene+="_"+user_id; + var scene = th.data.gid + ""; + var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0; + if (user_id > 0) { + scene += "_" + user_id; + } + //-- 如果不是会员分享过来的要分享给别人 -- + if (getApp().globalData.room_id && th.data.data.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) { + //固定房间是第3个字符 + if (!user_id) scene += "_0"; + scene += "_" + getApp().globalData.room_id; } - //-- 如果不是会员分享过来的要分享给别人 -- - if(getApp().globalData.room_id && th.data.data.goods_id==getApp().globalData.room_goods_id && !getApp().globalData.room_user_share) { - //固定房间是第3个字符 - if(!user_id) scene+="_0"; - scene+="_"+getApp().globalData.room_id ; - } ///二微码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; console.log(path3); //读取文件成功则OK-- wx.getImageInfo({ src: path3, - success: function(res) { + success: function (res) { //回调写法 - th.get_head_temp(th.get_goods_temp, function() { + th.get_head_temp(th.get_goods_temp, function () { var vpath = res.path; var context = wx.createCanvasContext('share'); //先画背景 var pg_path = "../../../images/share/share_bg.png"; - - // context.fillStyle="#FFFFFF"; - // context.fillRect(0,0,554 * unit, 899 * unit); - - //-- 如果有自定义海报的时候,判断背景的图片 -- - if(th.data.share_b_img){ - pg_path=th.data.share_b_img; - } + + // context.fillStyle="#FFFFFF"; + // context.fillRect(0,0,554 * unit, 899 * unit); + + //-- 如果有自定义海报的时候,判断背景的图片 -- + if (th.data.share_b_img) { + pg_path = th.data.share_b_img; + } context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); - - //-- 是自定义海报的情况下 -- - if(th.data.poster && parseInt(th.data.poster.style)==2) { - //在线上分享人的情况下 - if(parseInt(th.data.poster.show_headpic)){ - //获取坐标 - var x=parseFloat(th.data.poster.head_x)*2; - var y=parseFloat(th.data.poster.head_y)*2; - var x1=(x+90) *unit; - var y1=(y+50) *unit; - //--昵称--- - context.setFontSize(24 * unit) - context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, x1, y1); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; - //强烈推荐 改许程 - var tj_path = "../../../images/share/q_tj.png"; - context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); - context.setFontSize(16 * unit) - context.setLineJoin('round'); //交点设置成圆角 - context.setFillStyle("white") - context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); - - //context.setFillStyle("black") - //context.setFontSize(24 * unit) - //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit); - } - } else { - //--昵称--- - context.setFontSize(24 * unit) - context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; - //强烈推荐 改许程 - var tj_path = "../../../images/share/q_tj.png"; - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); - context.setFontSize(16 * unit); - context.setLineJoin('round'); //交点设置成圆角 - context.setFillStyle("white"); - context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit); - } - - var share_title=th.data.data.goods_name; - if(th.data.prom_type==1 || th.data.prom_type==6 || th.data.prom_type==4){ - share_title=th.data.prom_act.share_title; - if(!share_title) share_title=th.data.prom_act.title; - if(th.data.prom_type==4) share_title=th.data.prom_act.name; + + //-- 是自定义海报的情况下 -- + if (th.data.poster && parseInt(th.data.poster.style) == 2) { + //在线上分享人的情况下 + if (parseInt(th.data.poster.show_headpic)) { + //获取坐标 + var x = parseFloat(th.data.poster.head_x) * 2; + var y = parseFloat(th.data.poster.head_y) * 2; + var x1 = (x + 90) * unit; + var y1 = (y + 50) * unit; + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, x1, y1); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; + //强烈推荐 改许程 + var tj_path = "../../../images/share/q_tj.png"; + context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit) + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white") + context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit); + + //context.setFillStyle("black") + //context.setFontSize(24 * unit) + //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit); + } + } else { + //--昵称--- + context.setFontSize(24 * unit) + context.setFillStyle("black") + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; + //强烈推荐 改许程 + var tj_path = "../../../images/share/q_tj.png"; + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); + context.setFontSize(16 * unit); + context.setLineJoin('round'); //交点设置成圆角 + context.setFillStyle("white"); + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit); + } + + var share_title = th.data.data.goods_name; + if (th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) { + share_title = th.data.prom_act.share_title; + if (!share_title) share_title = th.data.prom_act.title; + if (th.data.prom_type == 4) share_title = th.data.prom_act.name; } //---产品名称--- //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 - if(type!=4){ - context.setFillStyle("black"); - context.setFontSize(21.3 * unit) - th.draw_Text(context, share_title, - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); - - //------产品的价格------- - context.setFontSize(23 * unit) - context.setFillStyle("red") - - - var pri0 = th.data.data.shop_price; - if (th.data.prom_act) - pri0 = th.data.prom_act.price; - pri0 = parseFloat(pri0).toFixed(2); - var wd1=th.data.screenWidth-ut.measureText(pri0, 31 * unit)-25; - context.fillText("¥", wd1-15, 185 * unit); - context.setFontSize(31 * unit) - context.fillText(pri0, wd1, 185 * unit); - - //---市场价划掉--- - context.setFillStyle("gray") - context.setFontSize(22 * unit) - pri0="¥" + th.data.data.market_price.toFixed(2); - var wd2=th.data.screenWidth-ut.measureText(pri0, 22 * unit)-25; - context.fillText(pri0, wd2, 213 * unit); - - context.setStrokeStyle('gray'); - context.setLineWidth(1 * unit); - context.moveTo(wd2-5, 206 * unit); - context.lineTo(wd2+ut.measureText(pri0, 22 * unit)+5, 206 * unit); - context.stroke(); - - }else{ - context.setFillStyle("black"); - context.setFontSize(21.3 * unit) - th.draw_Text(context, share_title, - 38 * unit, 170 * unit, 20 * unit, 300*unit, unit); - //------ 产品的价格 ----- - var pri0 = th.data.prom_act.addmoney; - var integral=th.data.prom_act.integral; - var text= ""; - if(integral){text=integral+"积分"; } - if(pri0 && integral){ text+="+";} - if(pri0){ text+="¥"+pri0;} - - if(!pri0 && !integral){ text="0积分";} - context.setFillStyle("red"); - context.fillText(text, 38 * unit, 235 * unit); - - } - + if (type != 4) { + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); + + //------产品的价格------- + context.setFontSize(23 * unit) + context.setFillStyle("red") + + + var pri0 = th.data.data.shop_price; + if (th.data.prom_act) + pri0 = th.data.prom_act.price; + pri0 = parseFloat(pri0).toFixed(2); + var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25; + context.fillText("¥", wd1 - 15, 185 * unit); + context.setFontSize(31 * unit) + context.fillText(pri0, wd1, 185 * unit); + + //---市场价划掉--- + context.setFillStyle("gray") + context.setFontSize(22 * unit) + pri0 = "¥" + th.data.data.market_price.toFixed(2); + var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25; + context.fillText(pri0, wd2, 213 * unit); + + context.setStrokeStyle('gray'); + context.setLineWidth(1 * unit); + context.moveTo(wd2 - 5, 206 * unit); + context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); + context.stroke(); + + } else { + context.setFillStyle("black"); + context.setFontSize(21.3 * unit) + th.draw_Text(context, share_title, + 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit); + //------ 产品的价格 ----- + var pri0 = th.data.prom_act.addmoney; + var integral = th.data.prom_act.integral; + var text = ""; + if (integral) { text = integral + "积分"; } + if (pri0 && integral) { text += "+"; } + if (pri0) { text += "¥" + pri0; } + + if (!pri0 && !integral) { text = "0积分"; } + context.setFillStyle("red"); + context.fillText(text, 38 * unit, 235 * unit); + + } + //---中间大图--- context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); //-------大图后面就不一样了----------- switch (type) { case 0: //普通商品的展示 - case 4: + case 4: //中间的几个字 - if(th.data.poster && parseInt(th.data.poster.style)==2 ){ - if(parseInt(th.data.poster.show_quality)){ - var g_path = "../../../images/share/s_gou.png"; - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("正品保证", 84 * unit, 690 * unit); - - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("纯实体店", 246 * unit, 690 * unit); - - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("官方验证", 420 * unit, 690 * unit); - } - - }else{ - var g_path = "../../../images/share/s_gou.png"; - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("正品保证", 84 * unit, 690 * unit); - - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("纯实体店", 246 * unit, 690 * unit); - - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); - context.setFillStyle("red") - context.setFontSize(18 * unit) - context.fillText("官方验证", 420 * unit, 690 * unit); - } - - - //---画线--- - context.setLineWidth(1 * unit) - context.moveTo(32 * unit, 710 * unit) - context.lineTo(520 * unit, 710 * unit) - context.stroke(); - - //---文字--- - context.setFillStyle("black") - context.setFontSize(22 * unit) - - if(type==0){ - // 原来start ---> - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); - - context.setFontSize(22 * unit) - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit); - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); - - }else{ - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); - context.setFontSize(22 * unit) - context.fillText("长按识别二维码", 40 * unit, 806 * unit); - context.fillText("立即开始兑换", 40 * unit, 846 * unit); - - - } - + if (th.data.poster && parseInt(th.data.poster.style) == 2) { + if (parseInt(th.data.poster.show_quality)) { + var g_path = "../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); + + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); + + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } + + } else { + var g_path = "../../../images/share/s_gou.png"; + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("正品保证", 84 * unit, 690 * unit); + + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("纯实体店", 246 * unit, 690 * unit); + + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); + context.setFillStyle("red") + context.setFontSize(18 * unit) + context.fillText("官方验证", 420 * unit, 690 * unit); + } + + + //---画线--- + context.setLineWidth(1 * unit) + context.moveTo(32 * unit, 710 * unit) + context.lineTo(520 * unit, 710 * unit) + context.stroke(); + + //---文字--- + context.setFillStyle("black") + context.setFontSize(22 * unit) + + if (type == 0) { + // 原来start ---> + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); + + context.setFontSize(22 * unit) + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit); + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); + + } else { + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit); + context.setFontSize(22 * unit) + context.fillText("长按识别二维码", 40 * unit, 806 * unit); + context.fillText("立即开始兑换", 40 * unit, 846 * unit); + + + } + //---二维吗图--- - //-- 自定义海报 -- - if(th.data.poster){ - var erm_x= parseFloat(th.data.poster.ewm_x)*2; - var erm_y= parseFloat(th.data.poster.ewm_y)*2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - }else{ - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } - + //-- 自定义海报 -- + if (th.data.poster) { + var erm_x = parseFloat(th.data.poster.ewm_x) * 2; + var erm_y = parseFloat(th.data.poster.ewm_y) * 2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } + break; case 1: //秒杀商品的展示 //---画线--- @@ -4351,27 +4383,27 @@ Page({ //画秒杀的图片 var miaos_path = '../../../images/share/miao_share.png'; context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); - - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit); + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit); //---文字--- context.setFontSize(22 * unit) context.setFillStyle("black") context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit); context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); - - + + //---二维吗图--- //-- 自定义海报 -- - if(th.data.poster){ - var erm_x= parseFloat(th.data.poster.ewm_x)*2; - var erm_y= parseFloat(th.data.poster.ewm_y)*2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); - }else{ - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit); - } + if (th.data.poster) { + var erm_x = parseFloat(th.data.poster.ewm_x) * 2; + var erm_y = parseFloat(th.data.poster.ewm_y) * 2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit); + } break; case 2: //会员团和商家团的展示 @@ -4381,10 +4413,10 @@ Page({ context.lineTo(520 * unit, 670 * unit) context.stroke(); //---文字--- - - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); //绘制成团图片 var ct_img = "../../../images/share/ct_num.png"; @@ -4400,25 +4432,25 @@ Page({ } context.setFontSize(22 * unit) context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); - - context.setFillStyle("gray") + + context.setFillStyle("gray") context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit); context.setFillStyle("black") context.font = 'normal bold 18px sans-serif'; context.setFontSize(21.3 * unit) context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit); - - + + //---二维吗图--- //-- 自定义海报 -- - if(th.data.poster){ - var erm_x= parseFloat(th.data.poster.ewm_x)*2; - var erm_y= parseFloat(th.data.poster.ewm_y)*2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - }else{ - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } + if (th.data.poster) { + var erm_x = parseFloat(th.data.poster.ewm_x) * 2; + var erm_y = parseFloat(th.data.poster.ewm_y) * 2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } break case 3: //阶梯团的展示 //---画线--- @@ -4427,11 +4459,11 @@ Page({ context.lineTo(520 * unit, 670 * unit) context.stroke(); //---文字--- - - context.setFillStyle("black") - context.setFontSize(24 * unit) - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); - + + context.setFillStyle("black") + context.setFontSize(24 * unit) + context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit); + //---绘制中间阶梯的价格--- var list = th.data.prom_act.ct_rylist; for (var i = 0; i < list.length; i++) { @@ -4448,80 +4480,80 @@ Page({ context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); } //----------------下面部分---------------- - // context.setFillStyle("gray") - // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); - // context.setFillStyle("black") - // context.font = 'normal bold 18px sans-serif'; - // context.setFontSize(22 * unit) - // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); + // context.setFillStyle("gray") + // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); + // context.setFillStyle("black") + // context.font = 'normal bold 18px sans-serif'; + // context.setFontSize(22 * unit) + // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); //context.setFillStyle("gray") - context.setFillStyle("black") - context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit); + context.setFillStyle("black") + context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit); //context.font = 'normal bold 18px sans-serif'; context.setFontSize(21 * unit) context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit); - - - //-- 自定义海报 -- - if(th.data.poster){ - var erm_x= parseFloat(th.data.poster.ewm_x)*2; - var erm_y= parseFloat(th.data.poster.ewm_y)*2; - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); - }else{ - //---二维吗图--- - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); - } + + + //-- 自定义海报 -- + if (th.data.poster) { + var erm_x = parseFloat(th.data.poster.ewm_x) * 2; + var erm_y = parseFloat(th.data.poster.ewm_y) * 2; + context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); + } else { + //---二维吗图--- + context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); + } break - - + + + } + + + //--- 如果是自定义海报的时候 --- + if (th.data.poster && parseInt(th.data.poster.style) == 2) { + + //如果显示会员信息的话 + if (parseInt(th.data.poster.show_headpic)) { + //获取坐标 + var x = parseFloat(th.data.poster.head_x) * 2; + var y = parseFloat(th.data.poster.head_y) * 2; + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = x * unit; + var h_y = y * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); + } + + } else { + //---绘制圆形要放在最后---- + context.save(); + context.beginPath(); + var h_x = 60 * unit; + var h_y = 24 * unit; + var h_r = 40 * unit; + var cx = h_x + h_r; + var cy = h_y + h_r; + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); + context.clip(); + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); + context.restore(); } - - - //--- 如果是自定义海报的时候 --- - if(th.data.poster && parseInt(th.data.poster.style)==2){ - - //如果显示会员信息的话 - if(parseInt(th.data.poster.show_headpic)){ - //获取坐标 - var x= parseFloat(th.data.poster.head_x)*2; - var y=parseFloat(th.data.poster.head_y)*2; - //---绘制圆形要放在最后---- - context.save(); - context.beginPath(); - var h_x = x* unit; - var h_y = y * unit; - var h_r = 40 * unit; - var cx = h_x + h_r; - var cy = h_y + h_r; - context.arc(cx, cy, h_r, 0, Math.PI * 2, false); - context.closePath(); - context.fill(); - context.clip(); - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); - context.restore(); - } - - }else{ - //---绘制圆形要放在最后---- - context.save(); - context.beginPath(); - var h_x = 60 * unit; - var h_y = 24 * unit; - var h_r = 40 * unit; - var cx = h_x + h_r; - var cy = h_y + h_r; - context.arc(cx, cy, h_r, 0, Math.PI * 2, false); - context.closePath(); - context.fill(); - context.clip(); - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); - context.restore(); - } - - + + //把画板内容绘制成图片,并回调 画板图片路径 - context.draw(false, function() { - setTimeout(function() { + context.draw(false, function () { + setTimeout(function () { wx.canvasToTempFilePath({ x: 0, y: 0, @@ -4530,40 +4562,40 @@ Page({ destWidth: 1.2 * 750 * 750 / that.data.screenWidth, destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, canvasId: 'share', - success: function (res) { - - that.setData({ - shareImgPath: res.tempFilePath, - canvasHidden: true - }) + success: function (res) { - if (!res.tempFilePath) { - wx.showModal({ - title: '提示', - content: '图片绘制中,请稍后重试', - showCancel: false - }) - return false; - } + that.setData({ + shareImgPath: res.tempFilePath, + canvasHidden: true + }) - // wx.previewImage({ - // //将图片预览出来 - // urls: [that.data.shareImgPath] - // }); - that.setData({ - showPoster: true, - }); - wx.hideLoading(); + if (!res.tempFilePath) { + wx.showModal({ + title: '提示', + content: '图片绘制中,请稍后重试', + showCancel: false + }) + return false; } + + // wx.previewImage({ + // //将图片预览出来 + // urls: [that.data.shareImgPath] + // }); + that.setData({ + showPoster: true, + }); + wx.hideLoading(); + } }) }, 500) }); }); }, - fail: function(res) { - console.log(res); - wx.hideLoading(); + fail: function (res) { + console.log(res); + wx.hideLoading(); } }); @@ -4571,7 +4603,7 @@ Page({ //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 - draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { + draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { var lineWidth = 0; var lastSubStrIndex = 0; //每次开始截取的字符串的索引 var han = 0; @@ -4600,7 +4632,7 @@ Page({ // ----视频图片---- // 图片计数器 - swiperChange: function(e) { + swiperChange: function (e) { var that = this; if (e.detail.current > 0) { that.setData({ @@ -4621,7 +4653,7 @@ Page({ }, /*---视频相关--*/ - videopicture: function(e) { + videopicture: function (e) { var vipi = e.currentTarget.dataset.vipi; this.setData({ videopicture: vipi, @@ -4631,14 +4663,14 @@ Page({ }); }, - videoPlay: function(e) { + videoPlay: function (e) { var _index = e.currentTarget.id this.setData({ _index: _index, noon: 1 }) - setTimeout(function() { + setTimeout(function () { //将点击视频进行播放 var videoContext = wx.createVideoContext(_index) videoContext.play(); @@ -4648,7 +4680,7 @@ Page({ //--获取头像的本地缓存,回调写法-- - get_head_temp: function(tt, func) { + get_head_temp: function (tt, func) { var ee = this; if (ee.data.share_head) { tt(func); @@ -4664,12 +4696,12 @@ Page({ path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); wx.getImageInfo({ src: path2, - success: function(res) { + success: function (res) { //res.path是网络图片的本地地址 ee.data.share_head = res.path; tt(func); }, - fail: function(res) { + fail: function (res) { ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 tt(func); } @@ -4677,35 +4709,35 @@ Page({ } }, //--获取商品图片的本地缓存,回调写法-- - get_goods_temp: function(tt) { + get_goods_temp: function (tt) { var ee = this; if (ee.data.share_goods_img) { tt(); return false; } - var img_url=ee.data.data.original_img; - if((this.data.prom_type==1 || this.data.prom_type==6) && this.data.prom_act.share_imgurl){ - img_url=this.data.iurl+this.data.prom_act.share_imgurl; + var img_url = ee.data.data.original_img; + if ((this.data.prom_type == 1 || this.data.prom_type == 6) && this.data.prom_act.share_imgurl) { + img_url = this.data.iurl + this.data.prom_act.share_imgurl; } //获取商品是分享图信息 wx.getImageInfo({ src: img_url, - success: function(res) { - //res.path是网络图片的本地地址 - ee.data.share_goods_img = res.path; - tt(); + success: function (res) { + //res.path是网络图片的本地地址 + ee.data.share_goods_img = res.path; + tt(); }, - fail: function(res) { - ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 - tt(); + fail: function (res) { + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 + tt(); } }); }, //--外侧评价的点击效果--- - clik_evaluate: function(e) { + clik_evaluate: function (e) { var val = e.currentTarget.dataset.val; this.setData({ activeCategoryId: 2, @@ -4716,19 +4748,19 @@ Page({ }, //--跳转到商品详情页面-- - go_goods: function(e) { + go_goods: function (e) { var gid = e.currentTarget.dataset.gid; var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid; getApp().goto(url); }, //--跳转到支付尾款界面-- - go_pay_wk: function() { + go_pay_wk: function () { var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.wk_order_id; getApp().goto(url); }, - pop_err_img: function(e) { + pop_err_img: function (e) { var txt = e.currentTarget.dataset.errorimg; var ob = {}; ob[txt] = this.data.iurl + "/miniapp/images/default_g_img.gif"; @@ -4736,11 +4768,11 @@ Page({ }, //--调用更新阶梯团的接口-- - update_jiti: function(id) { + update_jiti: function (id) { var th = this; //--更新阶梯团-- getApp().request.put("/api/weshop/teamgroup/updateTeamOrder/" + os.stoid + "/" + id, { - success: function(ee) { + success: function (ee) { //--等于0是要去支付尾款,接口调用失败,就要去查看参团详情-- if (ee.data.code == 0) { th.setData({ @@ -4755,21 +4787,21 @@ Page({ }) }, // 选择门店 - choice_store: function(ee) { + choice_store: function (ee) { var th = this; - var ind=ee.currentTarget.dataset.ind; + var ind = ee.currentTarget.dataset.ind; var bconfig = th.data.bconfig; - if(!th.data.only_pk && !th.data.def_pickpu_list){ + if (!th.data.only_pk && !th.data.def_pickpu_list) { getApp().confirmBox("门店库存不足", null, 25000, !1); return false; } - if(th.data.only_pk && !th.data.only_pk.length){ + if (th.data.only_pk && !th.data.only_pk.length) { getApp().confirmBox("门店库存不足", null, 25000, !1); return false; } - if(th.data.def_pickpu_list && !th.data.def_pickpu_list.length){ + if (th.data.def_pickpu_list && !th.data.def_pickpu_list.length) { getApp().confirmBox("门店库存不足", null, 25000, !1); return false; } @@ -4778,7 +4810,7 @@ Page({ if (bconfig && bconfig.is_sort_storage) { wx.getLocation({ type: 'gcj02', - success: function(res) { + success: function (res) { th.data.lat = res.latitude; th.data.lon = res.longitude; @@ -4789,7 +4821,7 @@ Page({ //th.onShow(); th.get_sto(th.data.is_normal); }, - fail: function(res) { + fail: function (res) { //th.onShow(); th.data.is_get_local_ok = 1; th.get_sto(th.data.is_normal); @@ -4808,19 +4840,19 @@ Page({ } }) - }else{ + } else { th.data.is_get_local_ok = 1; th.get_sto(th.data.is_normal); } - if(ind!=undefined && ind!=null ){ + if (ind != undefined && ind != null) { this.setData({ open_ind_store: ind, store: 1, openSpecModal: !1, openSpecModal_pt: !1 }) - }else{ + } else { this.setData({ store: 1, openSpecModal: !1, @@ -4829,17 +4861,17 @@ Page({ } }, //关闭选择门店 - close_popup: function(e) { - var th=this; + close_popup: function (e) { + var th = this; this.setData({ store: 0, choice_sort_store: 0, sort_store: 0, - fir_pick_index:0, - sec_pick_index:0 + fir_pick_index: 0, + sec_pick_index: 0 }) - var openindstore=this.data.open_ind_store; + var openindstore = this.data.open_ind_store; if (openindstore == 1) { th.setData({ openSpecModal: !0, @@ -4871,23 +4903,23 @@ Page({ }, //选择更多门店 - more_store: function() { + more_store: function () { this.setData({ sort_store: 1 }); }, - sort_store: function() { + sort_store: function () { }, // 返回按钮 - returns: function() { + returns: function () { this.setData({ sort_store: 0, choice_sort_store: 0 }); }, //---选择分类门店--- - choice_sort_store: function(e) { + choice_sort_store: function (e) { var index = e.currentTarget.dataset.index; var region_name = e.currentTarget.dataset.region; var item = this.data.all_sto[index]; @@ -4900,9 +4932,9 @@ Page({ }); }, - choose_for_store_fir: function(e) { + choose_for_store_fir: function (e) { var index_c = e.currentTarget.dataset.ind; - var th=this; + var th = this; th.setData({ fir_pick_index: index_c }) @@ -4910,53 +4942,53 @@ Page({ }, //如果开启线下库存,已经急速库存才会使用 - async check_the_pick(item,func){ - var th=this; - var goodsinfo=th.data.sele_g; - var erpwareid=goodsinfo.erpwareid; - var plist=null; - var lock=0; + async check_the_pick(item, func) { + var th = this; + var goodsinfo = th.data.sele_g; + var erpwareid = goodsinfo.erpwareid; + var plist = null; + var lock = 0; //---如果是活动的时候,同时不是普通购买--- - if((th.data.prom_type==1 || th.data.prom_type==6 || th.data.prom_type==4) && !th.data.is_normal ) { + if ((th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) && !th.data.is_normal) { func(); return false; } - if(this.data.sales_rules!=2){ + if (this.data.sales_rules != 2) { func(); - }else{ + } else { //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,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/order/ware/lock/page", { + data: { store_id: os.stoid, wareId: goodsinfo.goods_id, storageId: item.pickup_id, 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/goods/getWareStorages",{ - data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { storageNos: item.pickup_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; } }) - if(plist && plist.CanOutQty-lock>0){ - item.CanOutQty=plist.CanOutQty-lock; + if (plist && plist.CanOutQty - lock > 0) { + item.CanOutQty = plist.CanOutQty - lock; func(); return false; } - getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); + getApp().my_warnning(item.pickup_name + "库存不足!", 0, th); } }, //确定def_pick为选择的门店 - sure_pick: function(e) { + sure_pick: function (e) { var th = this; var item = null; var openindstore = th.data.open_ind_store; @@ -4974,20 +5006,20 @@ Page({ item = th.data.sec_sto.s_arr[index]; } - if(!th.data.sele_g) return false; - //判断门店的配送方式是不是匹配 - var g_distr_type = th.data.sele_g.distr_type; - if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){ - wx.showToast({ - title: "门店配送方式不匹配", - icon: 'none', - duration: 2000 - }); - return false; - } - + if (!th.data.sele_g) return false; + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } + //--回调函数的用法-- - th.check_the_pick(item,function(){ + th.check_the_pick(item, function () { th.setData({ def_pick_store: item, sto_sele_name: item.pickup_name, @@ -5023,15 +5055,15 @@ Page({ choice_sort_store: 0, sort_store: 0 }) - } - //如果商品没有其他活动,要取一下线下价格 - th.get_off_price(); + } + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); }) }, //---点击二级之后的选择--- - choose_for_store: function(e) { + choose_for_store: function (e) { var index_c = e.currentTarget.dataset.ind; - var th=this; + var th = this; th.setData({ sec_pick_index: index_c, fir_pick_index: index_c @@ -5039,7 +5071,7 @@ Page({ }, //把选择的门店设置成默认的门店def_pick - set_def_pick: function(e) { + set_def_pick: function (e) { var th = this; var item = null; if (th.data.choice_sort_store == 0) { @@ -5053,30 +5085,30 @@ Page({ var index = th.data.sec_pick_index; item = th.data.sec_sto.s_arr[index]; } - - //判断门店的配送方式是不是匹配 - var g_distr_type = th.data.sele_g.distr_type; - if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){ - wx.showToast({ - title: "门店配送方式不匹配", - icon: 'none', - duration: 2000 - }); - return false; - } + + //判断门店的配送方式是不是匹配 + var g_distr_type = th.data.sele_g.distr_type; + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) { + wx.showToast({ + title: "门店配送方式不匹配", + icon: 'none', + duration: 2000 + }); + return false; + } //先设置之前,要判断是不是有库存 - th.check_the_pick(item,function(){ + th.check_the_pick(item, function () { var store_id = o.stoid; var user_id = getApp().globalData.user_id; var def_pickup_id = item.pickup_id; getApp().request.put('/api/weshop/users/update', { data: { - user_id:user_id, - def_pickup_id:def_pickup_id + user_id: user_id, + def_pickup_id: def_pickup_id }, - success: function(res) { + success: function (res) { if (res.data.code == 0) { if (th.data.choice_sort_store == 0) th.setData({ fir_pick_index: 0 @@ -5084,7 +5116,7 @@ Page({ getApp().globalData.pk_store = item; } else { //s.showWarning("设置默认门店地址失败", null, 500, !1); - getApp().my_warnning("设置默认门店地址失败",0,th) + getApp().my_warnning("设置默认门店地址失败", 0, th) } } @@ -5133,27 +5165,27 @@ Page({ sort_store: 0, }) } - - //如果商品没有其他活动,要取一下线下价格 - th.get_off_price(); - + + //如果商品没有其他活动,要取一下线下价格 + th.get_off_price(); + }) }, - wait_for_store_config: function() { + wait_for_store_config: function () { var th = this; - var t_time = setInterval(function() { + var t_time = setInterval(function () { if (th.data.bconfig == null) false; var e = th.data.bconfig; if (e && e.is_sort_storage) { wx.getLocation({ type: 'gcj02', - success: function(res) { + success: function (res) { th.data.lat = res.latitude; th.data.lon = res.longitude; th.data.is_get_local_ok = 1; }, - fail: function(res) { + fail: function (res) { if (res.errCode == 2) { th.setData({ is_gps: 0 @@ -5178,9 +5210,9 @@ Page({ }, 500) }, //显示全部 - toggleHandler: function(e) { + toggleHandler: function (e) { var that = this, - index = e.currentTarget.dataset.index; + index = e.currentTarget.dataset.index; for (var i = 0; i < that.data.comments.length; i++) { if (index == i) { for (var i = 0; i < that.data.comments.length; i++) { @@ -5195,9 +5227,9 @@ Page({ }, //收起更多 - toggleContent: function(e) { + toggleContent: function (e) { var that = this, - index = e.currentTarget.dataset.index; + index = e.currentTarget.dataset.index; for (var i = 0; i < that.data.comments.length; i++) { if (index == i) { that.data.comments[index].auto = true; @@ -5213,394 +5245,385 @@ Page({ getPlusCardType: function (func) { var storid = os.stoid; var th = this; - var user=getApp().globalData.userInfo; - if(!user) return false; + var user = getApp().globalData.userInfo; + if (!user) return false; getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { var plusCard = res.data.data; var arr = [1219, 2089, 3031]; var new_arr = new Array(); - var card_name_map=new Map(); - - var list=[]; - for (var i = 0; i < plusCard.length; i++) { - if((!user || user.card_field==null || user.card_field=="") && plusCard[i].IsStopBuy==true) continue; - var name="card"+plusCard[i].CorrPrice.toLowerCase(); - card_name_map.set(name,plusCard[i].CardName); - list.push(plusCard[i]); + var card_name_map = new Map(); + + var list = []; + for (var i = 0; i < plusCard.length; i++) { + if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue; + var name = "card" + plusCard[i].CorrPrice.toLowerCase(); + card_name_map.set(name, plusCard[i].CardName); + list.push(plusCard[i]); } - - var ob={"card_list":list,"name_map":card_name_map}; + + var ob = { "card_list": list, "name_map": card_name_map }; func(ob); }) }, - go_plus:function(){ + go_plus: function () { getApp().goto("/pages/user/plus/plus"); }, - go_card_info:function(){ + go_card_info: function () { getApp().goto("/pages/user/cardinfo/cardinfo"); }, //-- 根据ID拿出门店 -- - get_pick_from_list(pid){ - var all_pick_list=this.data.all_pick_list; - for(var i in all_pick_list){ - var item=all_pick_list[i]; - if(item.pickup_id==pid){ + get_pick_from_list(pid) { + var all_pick_list = this.data.all_pick_list; + for (var i in all_pick_list) { + var item = all_pick_list[i]; + if (item.pickup_id == pid) { return item; } } }, //-----显示优惠券的时候情况----- - show_more_cx:function () { - if(this.data.is_more_cx){ - this.setData({is_more_cx:0}); - }else{ - this.setData({is_more_cx:1}); + show_more_cx: function () { + if (this.data.is_more_cx) { + this.setData({ is_more_cx: 0 }); + } else { + this.setData({ is_more_cx: 1 }); } }, //----跳转到搭配购买---- - go_prom_list:function () { - - var url= "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid; - var room_id= getApp().globalData.room_id; - if(room_id && this.data.gid==getApp().globalData.room_goods_id){ - url+="&room_id="+room_id; - } - wx.navigateTo({ url: url,}) + go_prom_list: function () { + + var url = "../../../packageA/pages/prom_list/prom_list?goods_id=" + this.data.gid; + var room_id = getApp().globalData.room_id; + if (room_id && this.data.gid == getApp().globalData.room_goods_id) { + url += "&room_id=" + room_id; + } + wx.navigateTo({ url: url, }) }, //---检查有没有优惠活动--- - check_is_youhui:function(gid,is_nor){ - var th=this; - //如果是普通购买的时候,要进行调用 - if(is_nor){ - getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid+"/"+gid, { - success:function(res){ - if(res.data.code==0){ - var r_data=res.data.data; - th.setData({ - prom_goods:r_data.promGoodsLists, - }) - th.is_show_more_buy(); - } - }, - }) - - }else{ - //调用接口判断订单优惠, - getApp().request.get("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+gid+"/0", { - success:function(res){ - if(res.data.code==0){ - var r_data=res.data.data; - var max=0,min=0; - if(r_data.collocationList){ - for(var i in r_data.collocationList){ - if(max==0) max=r_data.collocationList[i].price; - if(min==0) min=r_data.collocationList[i].price; - - if(maxparseFloat(r_data.collocationList[i].price)) min=r_data.collocationList[i].price; - } - r_data.collocationPromList.max=(max+th.data.data.shop_price).toFixed(2); - r_data.collocationPromList.min=(min+th.data.data.shop_price).toFixed(2); - } - th.setData({ - order_prom:r_data.promOrder, - collocationGoods:r_data.collocationPromList, - prom_goods:r_data.promGoodsLists, - }) - th.is_show_more_buy(); - } - } - - }) - } - - - }, - - closePoster() { - this.setData({ - showPoster: false, - }); - }, - - // 保存图片到手机 - savePic() { - console.log('保存图片'); - var self = this; - // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 - this.getSetting().then((res) => { - // 判断用户是否授权了保存到相册的权限,如果没有发起授权 - if (!res.authSetting['scope.writePhotosAlbum']) { - this.authorize().then(() => { - // 同意授权后保存下载文件 - this.saveImage(self.data.shareImgPath) - .then(() => { - self.setData({ - showPoster: false - }); - }); - }) - } else { - // 如果已经授权,保存下载文件 - this.saveImage(self.data.shareImgPath) - .then(() => { - self.setData({ - showPoster: false - }); - }); - } - - }) - }, - - // 获取用户已经授予了哪些权限 - getSetting() { - return new Promise((resolve, reject) => { - wx.getSetting({ - success: res => { - resolve(res) - } - }) - }) - }, - - // 发起首次授权请求 - authorize() { - // isFirst 用来记录是否为首次发起授权, - // 如果首次授权拒绝后,isFirst赋值为1 - let isFirst = wx.getStorageSync('isFirst') || 0; - return new Promise((resolve, reject) => { - wx.authorize({ - scope: 'scope.writePhotosAlbum', - // 同意授权 - success: () => { - resolve(); - }, - // 拒绝授权,这里是用户拒绝授权后的回调 - fail: res => { - if(isFirst === 0) { - wx.setStorageSync('isFirst', 1); - wx.showToast({ - title: '保存失败', - icon: 'none', - duration: 1000 - }) - } else { - this.showModal(); - } - console.log('拒绝授权'); - reject(); - } - }) - }) - }, - - - // 保存图片到系统相册 - saveImage(saveUrl) { - var self = this; - return new Promise((resolve, reject) => { - wx.saveImageToPhotosAlbum({ - filePath: saveUrl, - success: (res) => { - wx.showToast({ - title: '保存成功', - duration: 1000, - }); - self.setData({ - showPlaybill: 'true' - }); - resolve(); - }, - fail: () => { - wx.showToast({ - title: '保存失败', - duration: 1000, - }); - } - }) - }) - }, - - previewImage() { - this.data.show_prew_img=1; - wx.previewImage({ - //将图片预览出来 - urls: [this.data.shareImgPath] - }); - }, - - is_show_more_buy:function(){ - var prom_goods=this.data.prom_goods; - var per_price=this.data.sele_g.shop_price - if(this.data.card_field && this.data.sele_g[this.data.card_field]>0){ - per_price=this.data.sele_g[this.data.card_field]; - } - var all_price=per_price*this.data.goodsInputNum; - var con=null; - for(var i in prom_goods){ - var item=prom_goods[i]; - if(item.prom_type==1){ - if(item.condition>this.data.goodsInputNum) { - con=item; - con.need=(item.condition-this.data.goodsInputNum).toFixed(2)+"件"; - break; - } - }else{ - if(item.condition>all_price){ - con=item; - con.need=(item.condition-all_price).toFixed(2)+"元"; - break; - } - } - } - - this.setData({hui_condition:con}); - - }, - - //-- 积分购 -- - go_pay_integral:function(){ - this.get_sto(0) - this.setData({openSpecModal_inte:1,goodsInputNum:1}); - }, - //-- 积分购普通购买 -- - go_pay_integral_normal:function(){ - var th=this; - if (th.data.sku_g_pt) { - this.get_sto(1) - this.setData({openSpecModal_inte_normal:1}); - }else{ - th.get_sto(1); - th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function() { - th.setData({ - is_normal: 1, - openSpecModal_inte_normal:1 - }); - }); - } - this.check_is_youhui(th.data.gid,1); - }, - - closeSpecModal_inte:function(){ - this.setData({openSpecModal_inte:0}); - } , - closeSpecModal_inte_normal:function(){ - this.setData({openSpecModal_inte_normal:0}); - //要进行还原 - this.get_sto(); - this.setData({ - sele_g:this.data.data, - gid:this.data.data.goods_id - }) - - this.sele_spec_chech_activity(); - }, - - addCart_inte:function(t){ - this.add_cart_func_inte(t); - }, - - - - - onShareTimeline() { - var store_name=getApp().globalData.config?getApp().globalData.config.store_name:''; - if(!store_name) - store_name=getApp().globalData.setting.appName; - return { - title:this.data.data.goods_name + '-' + store_name, - imageUrl:this.data.gallery[0].image_url, - } - }, - - - clickCollapse() { - this.setData({ - flag: !this.data.flag, - }) - }, - - clickShare() { - this.setData({ - share_hidden: true, - }); - }, - - send() { - this.setData({ - share_hidden:false, - }); - }, - - cancel() { - this.setData({ - share_hidden:false, - }); - }, - - //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 - check_nor_promgood(goods_id,back){ - getApp().request.get("/api/weshop/goods/getGoodsPromNormal/"+os.stoid+"/"+goods_id,{ - success:function(res){ - if(res.data.code==0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length>0){ - var obj={ - act_id:res.data.data.promGoodsLists[0].prom_id, - } - back(obj); - }else{ - back(0) - } - } - }) - }, - - go_zh:function (e) { - var id=e.currentTarget.dataset.id; - getApp().goto("/packageB/pages/zuhegou/index/index?id="+id); - }, - - check_zh_acting:function (func) { - var isok = 1,item=this.data.sele_g; - //如果有组合购 - var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+item.prom_id+"/"+getApp().globalData.userInfo.user_id; - 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() parseFloat(r_data.collocationList[i].price)) min = r_data.collocationList[i].price; + } + r_data.collocationPromList.max = (max + th.data.data.shop_price).toFixed(2); + r_data.collocationPromList.min = (min + th.data.data.shop_price).toFixed(2); + } + th.setData({ + order_prom: r_data.promOrder, + collocationGoods: r_data.collocationPromList, + prom_goods: r_data.promGoodsLists, + }) + th.is_show_more_buy(); + } + } + + }) + } + + + }, + + closePoster() { + this.setData({ + showPoster: false, + }); + }, + + // 保存图片到手机 + savePic() { + console.log('保存图片'); + var self = this; + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 + this.getSetting().then((res) => { + // 判断用户是否授权了保存到相册的权限,如果没有发起授权 + if (!res.authSetting['scope.writePhotosAlbum']) { + this.authorize().then(() => { + // 同意授权后保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + }) + } else { + // 如果已经授权,保存下载文件 + this.saveImage(self.data.shareImgPath) + .then(() => { + self.setData({ + showPoster: false + }); + }); + } + + }) + }, + + // 获取用户已经授予了哪些权限 + getSetting() { + return new Promise((resolve, reject) => { + wx.getSetting({ + success: res => { + resolve(res) + } + }) + }) + }, + + // 发起首次授权请求 + authorize() { + // isFirst 用来记录是否为首次发起授权, + // 如果首次授权拒绝后,isFirst赋值为1 + let isFirst = wx.getStorageSync('isFirst') || 0; + return new Promise((resolve, reject) => { + wx.authorize({ + scope: 'scope.writePhotosAlbum', + // 同意授权 + success: () => { + resolve(); + }, + // 拒绝授权,这里是用户拒绝授权后的回调 + fail: res => { + if (isFirst === 0) { + wx.setStorageSync('isFirst', 1); + wx.showToast({ + title: '保存失败', + icon: 'none', + duration: 1000 + }) + } else { + this.showModal(); + } + console.log('拒绝授权'); + reject(); + } + }) + }) + }, + + + // 保存图片到系统相册 + saveImage(saveUrl) { + var self = this; + return new Promise((resolve, reject) => { + wx.saveImageToPhotosAlbum({ + filePath: saveUrl, + success: (res) => { + wx.showToast({ + title: '保存成功', + duration: 1000, + }); + self.setData({ + showPlaybill: 'true' + }); + resolve(); + }, + fail: () => { + wx.showToast({ + title: '保存失败', + duration: 1000, + }); + } + }) + }) + }, + + previewImage() { + this.data.show_prew_img = 1; + wx.previewImage({ + //将图片预览出来 + urls: [this.data.shareImgPath] + }); + }, + + is_show_more_buy: function () { + var prom_goods = this.data.prom_goods; + var per_price = this.data.sele_g.shop_price + if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { + per_price = this.data.sele_g[this.data.card_field]; + } + var all_price = per_price * this.data.goodsInputNum; + var con = null; + for (var i in prom_goods) { + var item = prom_goods[i]; + if (item.prom_type == 1) { + if (item.condition > this.data.goodsInputNum) { + con = item; + con.need = (item.condition - this.data.goodsInputNum).toFixed(2) + "件"; + break; + } + } else { + if (item.condition > all_price) { + con = item; + con.need = (item.condition - all_price).toFixed(2) + "元"; + break; + } + } + } + + this.setData({ hui_condition: con }); + + }, + + //-- 积分购 -- + go_pay_integral: function () { + this.get_sto(0) + this.setData({ openSpecModal_inte: 1, goodsInputNum: 1 }); + }, + //-- 积分购普通购买 -- + go_pay_integral_normal: function () { + var th = this; + if (th.data.sku_g_pt) { + this.get_sto(1) + this.setData({ openSpecModal_inte_normal: 1 }); + } else { + th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + th.setData({ + is_normal: 1, + openSpecModal_inte_normal: 1 + }); + }); + } + this.check_is_youhui(th.data.gid, 1); + }, + + closeSpecModal_inte: function () { + this.setData({ openSpecModal_inte: 0 }); + }, + closeSpecModal_inte_normal: function () { + this.setData({ openSpecModal_inte_normal: 0 }); + //要进行还原 + this.get_sto(); + this.setData({ + sele_g: this.data.data, + gid: this.data.data.goods_id + }) + + this.sele_spec_chech_activity(); + }, + + addCart_inte: function (t) { + this.add_cart_func_inte(t); + }, + + + + + onShareTimeline() { + var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; + if (!store_name) + store_name = getApp().globalData.setting.appName; + return { + title: this.data.data.goods_name + '-' + store_name, + imageUrl: this.data.gallery[0].image_url, + } + }, + + + clickCollapse() { + this.setData({ + flag: !this.data.flag, + }) + }, + + clickShare() { + this.setData({ + share_hidden: true, + }); + }, + + send() { + this.setData({ + share_hidden: false, + }); + }, + + cancel() { + this.setData({ + share_hidden: false, + }); + }, + + //积分购和拼团的普通购买的的时候,要判断有没有全场优惠活动 + check_nor_promgood(goods_id, back) { + getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + goods_id, { + success: function (res) { + if (res.data.code == 0 && res.data.data && res.data.data.promGoodsLists && res.data.data.promGoodsLists.length > 0) { + var obj = { + act_id: res.data.data.promGoodsLists[0].prom_id, + } + back(obj); + } else { + back(0) + } + } + }) + }, + + go_zh: function (e) { + var id = e.currentTarget.dataset.id; + getApp().goto("/packageB/pages/zuhegou/index/index?id=" + id); + }, + + check_zh_acting: function (func) { + var isok = 1, item = this.data.sele_g; + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.userInfo.user_id; + 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() < res.data.data.start_time) { + isok = 0; + } + + } else { + //未找到商品的活动 + isok = 0; + } + item.act = res.data.data; + func(isok); + }) + } }); diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index 6731237..18d98c5 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -900,6 +900,7 @@ 客服 + diff --git a/pages/goods/goodsList/g_filter.wxs b/pages/goods/goodsList/g_filter.wxs index 52b2ba5..50744b0 100644 --- a/pages/goods/goodsList/g_filter.wxs +++ b/pages/goods/goodsList/g_filter.wxs @@ -79,8 +79,20 @@ var g_filters = { if(min_name.length>4) min_name=min_name.substring(0, 8); return min_name; }, + //跳转的接口 + get_goods_url:function(item){ + + console.log(item,111) + var url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id + if(item.prom_type==8){ + url1="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&prom_id="+item.prom_id + } + return url1; + } } + module.exports = { is_has_rank:g_filters.is_has_rank, get_card_price:g_filters.get_card_price, + get_goods_url:g_filters.get_goods_url, } \ No newline at end of file diff --git a/pages/goods/search/g_filter.wxs b/pages/goods/search/g_filter.wxs index 88f50d8..f8e423a 100644 --- a/pages/goods/search/g_filter.wxs +++ b/pages/goods/search/g_filter.wxs @@ -80,8 +80,20 @@ var g_filters = { if(min_name.length>7 ) min_name=min_name.substring(0, 8); return min_name; }, + + + get_goods_url:function(item){ + console.log(item,111) + var url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id + if(item.prom_type==8){ + url1="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&prom_id="+item.prom_id + } + return url1; + } } + module.exports = { is_has_rank:g_filters.is_has_rank, - get_card_price:g_filters.get_card_price, + get_card_price:g_filters.get_card_price, + get_goods_url:g_filters.get_goods_url } \ No newline at end of file diff --git a/pages/goods/search/search.wxml b/pages/goods/search/search.wxml index c80f0c4..e8c8f42 100644 --- a/pages/goods/search/search.wxml +++ b/pages/goods/search/search.wxml @@ -28,7 +28,7 @@ - + diff --git a/pages/index/index/index.js b/pages/index/index/index.js index 2f21fb2..1b04544 100644 --- a/pages/index/index/index.js +++ b/pages/index/index/index.js @@ -48,6 +48,7 @@ Page({ pindGoods: null, //拼单数据 newGoods: null, //新商品 hotGoods: null, //hot商品 + preGoods:null, //预售商品 //----控制是是否显示计时器--- is_timer: 1, ishow: 0, @@ -291,18 +292,48 @@ Page({ }, async onShow() { - var th = this; - //-- 登录回来判断弹框 -- - var userInfo = getApp().globalData.userInfo; - if (userInfo) { - th.is_festival(); - var new_nav = th.data.new_nav; - if (new_nav == "") { - th.is_new(); - } - } + var th = this; + //-- 登录回来判断弹框 -- + var user_id=getApp().globalData.user_id; + + if(!user_id){ + var userinfo=wx.getStorageSync('userinfo'); + if(userinfo) user_id=userinfo.user_id + } + + if (user_id) { + th.is_festival(); + var new_nav = th.data.new_nav; + if (new_nav == "") { + th.is_new(); + } + } + + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1}; + if(user_id){ + pre_data.user_id= user_id; + } + + getApp().request.get("/api/weshop/marketing/marketingPresellList/page",{ + data:pre_data, + success:function (e) { + if(e.data.code==0 && e.data.data.pageData && e.data.data.pageData.length>0 ){ + var pre_data=e.data.data.pageData; + var arr = new Array(); + //--三个三个一组--- + for (var i = 0; i < pre_data.length; i += 3) { + arr.push(pre_data.slice(i, i + 3)); + } + th.setData({ + preGoods: arr + }); + } + } + }) + - //优惠券要实时更新 + + //优惠券要实时更新 getApp().getConfig2(function (e) { var json_d = JSON.parse(e.switch_list); th.setData({ is_closecoupon: json_d.is_closecoupon }) @@ -343,7 +374,7 @@ Page({ } else { getApp().globalData.isLoad_ad = 1; } - }, 500) + }, 1500) @@ -461,34 +492,7 @@ Page({ //th.countDown(); } }); - //-----预售---- - //调用接口获取数据 - await getApp().request.get("/api/weshop/marketing/marketingPresellList/page", { - data: { - is_end: 0, - store_id: os.stoid, - pageSize: 10, - timetype: 1 - }, - success: function (res) { - if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) { - var list = th.data.goodlist ? th.data.goodlist : []; - var arr = res.data.data.pageData; - //数组合起来 - for (var i in arr) { - list.push(arr[i]); - } - th.setData({ goodlist: list }); - if (arr.length < 10) { - th.setData({ no_more: 1 }) - } - } else { - th.setData({ no_more: 1 }) - } - th.setData({ is_get: 1 }) - } - }); //----拼单----- await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", { @@ -1121,4 +1125,14 @@ Page({ this.close_full_screen(); }, + go_pre:function (e) { + var userInfo=getApp().globalData.userInfo; + if(!userInfo){ + getApp().goto("/pages/togoin/togoin"); + return false; + } + var url=e.currentTarget.dataset.url; + getApp().goto(url); + } + }); \ No newline at end of file diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 2611cc5..9829cec 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -153,8 +153,8 @@ - - + + @@ -181,9 +181,8 @@ - + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index 4c98211..1ba940e 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -433,7 +433,7 @@ .p_swiper { display: flex; padding: 0 10rpx; - box-sizing: border-box; + box-sizing: content-box; } .nav { diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 66ebeac..441f300 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -135,150 +135,171 @@ Page({ }, - /*---------获取订单列表--------*/ - requestOrderList: function (t) { - var rd = Math.random() * 100; - var e = this, th = e, r = e.data.url + "/api/weshop/order/page?rd=" + rd, a = ""; - switch (t) { - case "1": - r += "&wait_status=0"; break; - case "2": - r += "&wait_status=1"; break; - case "3": - r += "&wait_status=2"; break; - case "4": - r += "&order_status=2"; break; - } - r+="&isdel=0"; - if(this.data.searchContent) { - r+="&keyWord=" + this.data.searchContent; - } - this.setData({ activeCategoryId: t }); r = r + "&page=" + e.data.currentPage; - s.request(r, function (t) { - - th.setData({ is_get: 1 }); - var data = e.data.orderList; - data.forEach(async function (item, ind) { - var tt = null; - await getApp().request.promiseGet('/api/weshop/ordergoods/list', { - data: { order_id: item.order_id, store_id: os.stoid, pageSize: 600 }, - }).then(res => { - tt = res; - }) - - var glist = tt.data.data.pageData; - for(var i in glist){ - if(glist[i].is_gift){ - data[ind].is_prom=1; - } + /*---------获取订单列表--------*/ + requestOrderList: function (t) { + var rd = Math.random() * 100; + var e = this, th = e, r = e.data.url + "/api/weshop/order/page?rd=" + rd, a = ""; + switch (t) { + case "1": + r += "&wait_status=0"; + break; + case "2": + r += "&wait_status=1"; + break; + case "3": + r += "&wait_status=2"; + break; + case "4": + r += "&order_status=2"; + break; } - - - //------------对比一下有没有退款记录------------ - await getApp().request.promiseGet("/api/weshop/order/returngoods/page", { - data: { - order_id: item.order_id, store_id: os.stoid, - user_id: oo.user_id, pageSize: 20 - } - }).then(rs => { - var ttd = rs; - //--看一下订单的总数量-- - var gtype_num = tt.data.data.total; - if (ttd.data.data.pageData == undefined) return false; - var goodslist = tt.data.data.pageData; - - //----没有相关的退款记录---- - if (ttd.data.data.total == 0) { - data[ind]['is_all_return'] = 0; - goodslist.forEach(function (ee, ii) { - if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1 && gtype_num > 1) { - item.goodslist = goodslist; - if (th.check_for_return_btn(item)) { - goodslist[ii]['return_btn'] = 1; + r += "&isdel=0"; + if (this.data.searchContent) { + r += "&keyWord=" + this.data.searchContent; + } + this.setData({activeCategoryId: t}); + r = r + "&page=" + e.data.currentPage; + s.request(r, function (t) { + + th.setData({is_get: 1}); + var data = e.data.orderList; + data.forEach(async function (item, ind) { + var tt = null; + await getApp().request.promiseGet('/api/weshop/ordergoods/list', { + data: {order_id: item.order_id, store_id: os.stoid, pageSize: 600}, + }).then(res => { + tt = res; + }) + var glist = tt.data.data.pageData; + for (var i in glist) { + if (glist[i].is_gift) { + data[ind].is_prom = 1; + } } - } - }); - } else { - //--------整单退-------- - if (ttd.data.data.pageData[0]['goods_id_list'] != null - && ttd.data.data.pageData[0]['goods_id_list'] != '') { - var eea = ttd.data.data.pageData[0]; - //1.退款正在进行中, - //2.退款被拒绝就要显示可以退款 - //3.退款已经完成 - data[ind]['is_all_return'] = 1; - data[ind]['is_all_return_status'] = ttd.data.data.pageData[0].status; - - if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) { - switch (eea.status) { - case 0: - case 1: - data[ind]['return_btn'] = 2; break; - case 2: - data[ind]['return_btn'] = 4; break; - case 3: - data[ind]['return_btn'] = 3; break; - default: - data[ind]['return_btn'] = 0; + data[ind]['ord_url']='/pages/user/order_detail/order_detail'; + //-- 如果是优惠活动 -- + if(glist[0].prom_type==8){ + await getApp().request.promiseGet('/api/weshop/order/orderPresell/get/'+os.stoid+'/'+item.order_id, { + }).then(res => { + if(res.data.code==0){ + data[ind]['presell'] = res.data.data; + data[ind]['ord_url']='/packageC/pages/presell/cart/cart'; + } + }) } - } - } else { - //1.退款正在进行中, - //2.退款被拒绝就要显示可以退款 - //3.退款已经完成 - data[ind]['is_all_return'] = 0; - var rt_ok_num = 0; - //if(data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) { - goodslist.forEach(function (eeb, iii) { - if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) - goodslist[iii]['return_btn'] = 1; //申请退款 - ttd.data.data.pageData.forEach(function (eea, ii) { - var st = eea.status; - if (eea.goods_id == eeb.goods_id) { - switch (eea.status) { - case 0: - case 1://退款处理中 - data[ind]['has_rt'] = 1; //有部分退 - goodslist[iii]['return_btn'] = 2; break; - case 2://退款完成 - data[ind]['has_rt'] = 1; //有部分退 - goodslist[iii]['return_btn'] = 4; rt_ok_num++; break; - case 3://已拒绝,重新退款 - goodslist[iii]['return_btn'] = 3; break; - default: - if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) - goodslist[iii]['return_btn'] = 1; //申请退款 + //------------对比一下有没有退款记录------------ + await getApp().request.promiseGet("/api/weshop/order/returngoods/page", { + data: { + order_id: item.order_id, store_id: os.stoid, + user_id: oo.user_id, pageSize: 20 + } + }).then(rs => { + var ttd = rs; + //--看一下订单的总数量-- + var gtype_num = tt.data.data.total; + if (ttd.data.data.pageData == undefined) return false; + var goodslist = tt.data.data.pageData; + + //----没有相关的退款记录---- + if (ttd.data.data.total == 0) { + data[ind]['is_all_return'] = 0; + goodslist.forEach(function (ee, ii) { + if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1 && gtype_num > 1) { + item.goodslist = goodslist; + if (th.check_for_return_btn(item)) { + goodslist[ii]['return_btn'] = 1; + } + } + + }); + } else { + //--------整单退-------- + if (ttd.data.data.pageData[0]['goods_id_list'] != null + && ttd.data.data.pageData[0]['goods_id_list'] != '') { + var eea = ttd.data.data.pageData[0]; + //1.退款正在进行中, + //2.退款被拒绝就要显示可以退款 + //3.退款已经完成 + data[ind]['is_all_return'] = 1; + data[ind]['is_all_return_status'] = ttd.data.data.pageData[0].status; + + if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) { + switch (eea.status) { + case 0: + case 1: + data[ind]['return_btn'] = 2; + break; + case 2: + data[ind]['return_btn'] = 4; + break; + case 3: + data[ind]['return_btn'] = 3; + break; + default: + data[ind]['return_btn'] = 0; + } + } + } else { + //1.退款正在进行中, + //2.退款被拒绝就要显示可以退款 + //3.退款已经完成 + data[ind]['is_all_return'] = 0; + var rt_ok_num = 0; + //if(data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) { + goodslist.forEach(function (eeb, iii) { + if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) + goodslist[iii]['return_btn'] = 1; //申请退款 + ttd.data.data.pageData.forEach(function (eea, ii) { + var st = eea.status; + if (eea.goods_id == eeb.goods_id) { + switch (eea.status) { + case 0: + case 1://退款处理中 + data[ind]['has_rt'] = 1; //有部分退 + goodslist[iii]['return_btn'] = 2; + break; + case 2://退款完成 + data[ind]['has_rt'] = 1; //有部分退 + goodslist[iii]['return_btn'] = 4; + rt_ok_num++; + break; + case 3://已拒绝,重新退款 + goodslist[iii]['return_btn'] = 3; + break; + default: + if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) + goodslist[iii]['return_btn'] = 1; //申请退款 + } + return; + } + }); + }); + //} + } } - return; - } - }); - }); - //} - } - } - //--如果是全部退款,也就可以删除-- - if (rt_ok_num == goodslist.length) { - data[ind]['is_all_return_status'] = 2; - } + //--如果是全部退款,也就可以删除-- + if (rt_ok_num == goodslist.length) { + data[ind]['is_all_return_status'] = 2; + } - data[ind]['order_goods'] = goodslist; - var g_num = 0; - goodslist.forEach(function (ee, ii) { - if (ee.return_btn != 4) - g_num += ee.goods_num; - }); - data[ind]['g_num'] = g_num; - }) - th.setData({ orderList: data, }); + data[ind]['order_goods'] = goodslist; + var g_num = 0; + goodslist.forEach(function (ee, ii) { + if (ee.return_btn != 4) + g_num += ee.goods_num; + }); + data[ind]['g_num'] = g_num; + }) + th.setData({orderList: data,}); - }); - e.data.currentPage++ , - wx.stopPullDownRefresh(); - }, null, { store_id: os.stoid, user_id: oo.user_id }); - }, + }); + e.data.currentPage++ , + wx.stopPullDownRefresh(); + }, null, {store_id: os.stoid, user_id: oo.user_id}); + }, //滑倒底部 onReachBottom: function() { if(this.data.currentIndex == 0) { @@ -433,398 +454,387 @@ Page({ }); }, - /*----------跳转支付-----------*/ - async jumpToCart4(t) { - var o_index = t.currentTarget.dataset.idx; - var e = this.data.orderList[o_index]; - var th = this; - var order=e ; - var order_goods=e.order_goods; - - var wlist=""; - for(var i in order_goods){ - var good=order_goods[i]; - //线下取价功能已经关闭或者过期 - 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 good= order_goods[i],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; - } + /*----------跳转支付-----------*/ + async jumpToCart4(t) { + var o_index = t.currentTarget.dataset.idx; + var e = this.data.orderList[o_index]; + var th = this; + var order = e; + var order_goods = e.order_goods; + + var wlist = ""; + for (var i in order_goods) { + var good = order_goods[i]; + //线下取价功能已经关闭或者过期 + 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 good = order_goods[i], 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 (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() < res.data.data.start_time) { + isok = 0; + } + + } else { + //未找到商品的活动 + isok = 0; } - //如果活动已经结束 - if(res.data.data.is_end==1){ - isok=0; + + }) + 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; } - //已经结束 - if(ut.gettimestamp()>res.data.data.end_time){ - isok=0; + }) + + 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; } - //还未开始 - if(ut.gettimestamp() { + if (res.data.code == 0) { + var r_data = res.data.data; + if (!r_data.collocationPromList && good.prom_type == 5) { + + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content) + + p_ok = 0; + } + if (!r_data.promGoodsLists && good.prom_type == 3) { + + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content); + p_ok = 0; + } + } else { + + var content = good.goods_name + '未找到活动,请取消订单重新购买' + th.toast(content); + p_ok = 0; } + }) + if (!p_ok) return false; + } - }else{ - //未找到商品的活动 - isok = 0; + //商品的普通购买 ,不要进行判断 + if ((good.prom_type == 1 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8) + && !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; } - }) - if (!isok){ - var content=gg.goods_name+'活动已经结束,请取消订单'; - th.toast(content); - return false; + } 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; + } + }) + } + + 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_time < t_now && prom.end_time > t_now) { + + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + return false; + } + } + } + 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) + ","; + } + //赠品和搭配购不判断商品金额 + var isok = 1; + var card_field = th.data.card_field; + + //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- + if (!good.is_gift && !good.is_collocation) { + 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 + '商品的价格发生了变化,请取消订单重新购买1' + th.toast(content); + return false; + } + } + + //--如果是线下库存的时候-- + if (th.data.conf.sales_rules == 2) { + var ob = {}; + await th.check_down_line_next(gg, good.goods_num, order.pickup_id, function (obj) { + ob = obj; + }) + if (ob.code == -1) { + + var content = gg.goods_name + '门店库存不足,请取消订单'; + th.toast(content); + return false; + } + + } else { + if (good.goods_num > store_count) { + + var content = gg.goods_name + '商品的库存不足,请取消订单'; + th.toast(content); + return false; + } + + } + } + + 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 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 + 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]; + } + }) } - 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; + + //----------如果有活动,并且在进行中,就不计算线下库存--------------- + if (prom) { + var now = ut.gettimestamp(); + if (prom.is_end == 1 && prom.end_time < now) { + + var content = goodsinfo.goods_name + '商品的活动已经结束,请取消订单' + th.toast(content); + return false; } - }) - var num=good['buyqty']; - console.log(1111); - console.log(num); - //---- 要计算商品的限购 ----- - if(good['buyqty']>0){ - if(good.goods_num+promgoodsbuynum>good['buyqty']){ + buyed_mum2 = promgoodsbuynum + good.goods_num; + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { - var content= good['goods_name']+"超出活动限购\n"; + var content = goodsinfo.goods_name + '购买数量超出商品活动限购,请取消订单' th.toast(content); return false; } - } - } + if (goodsinfo.prom_type == 4) { + if (good.goods_num > prom.limitqty - prom.buy_num) { - - //如果优惠促销和搭配购的时候 - if((good.prom_type==3 || good.prom_type==5) && good.is_gift!=1 && good.is_collocation!=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){ - - var content=good.goods_name+'未找到活动,请取消订单重新购买'; - th.toast(content) - - p_ok=0; - } - if(!r_data.promGoodsLists && good.prom_type==3){ - - var content=good.goods_name+'未找到活动,请取消订单重新购买'; - th.toast(content); - p_ok=0; - } - }else{ - - var content=good.goods_name+'未找到活动,请取消订单重新购买' - th.toast(content); - p_ok=0; - } - }) - if(!p_ok) return false; - } - - //商品的普通购买 ,不要进行判断 - 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; - } - - }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; - } - }) - } - - 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){ - - var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - return false; - } - } - } - 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)+","; - } - //赠品和搭配购不判断商品金额 - var isok=1; - var card_field=th.data.card_field; - - //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- - if(!good.is_gift && !good.is_collocation) { - 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(th.data.conf.sales_rules==2){ - var ob={}; - await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ - ob=obj; - }) - if(ob.code==-1){ - - var content=gg.goods_name+'门店库存不足,请取消订单'; - th.toast(content); - return false; - } - - }else{ - if(good.goods_num>store_count){ - - var content=gg.goods_name+'商品的库存不足,请取消订单'; - th.toast(content); - return false; - } - - } - } - - 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; - } - }) - } - - 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; - } - } - - } - } - - //-- 要判断一下线下取价价格是不是发生改变 -- - 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){ - th.toast('获取线下取价失败'); - } - 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; - } - } - - } + 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 false; - - th.pay_next(e,o_index); - }, + } + } + + //-- 要判断一下线下取价价格是不是发生改变 -- + 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) { + th.toast('获取线下取价失败'); + } + 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; + } + } + } + th.pay_next(e, o_index); + }, pay_next(e,o_index){ diff --git a/pages/user/order_list/order_list.wxml b/pages/user/order_list/order_list.wxml index c69a387..f113c2a 100644 --- a/pages/user/order_list/order_list.wxml +++ b/pages/user/order_list/order_list.wxml @@ -40,27 +40,46 @@ 订单编号:{{item.order_sn}} - - 组团中 - 未支付 - - 待发货 - 待收货 - 待评价 - 已评价 - 已取消 - - - 待支付尾款 - 退款成功 - 支付尾款失败 - - 退款中 - + + + + 尾款支付失败 + + + 待支付定金 + 待尾款 + + + + 待发货 + 待收货 + 待评价 + 已评价 + 已取消 + + + + 退款中 + + + + + 组团中 + 未支付 + + 待发货 + 待收货 + 待评价 + 已评价 + 已取消 + + + 待支付尾款 + 退款成功 + 支付尾款失败 + + 退款中 + @@ -70,7 +89,7 @@ - + @@ -173,15 +192,22 @@ - 订单详情 + + 订单详情 - - - + + + 支付尾款 + + + + + + 评价 立即支付 - + 再来一单 + + + + + diff --git a/pages/user/order_list/order_list.wxss b/pages/user/order_list/order_list.wxss index f5752cd..5f2adb4 100644 --- a/pages/user/order_list/order_list.wxss +++ b/pages/user/order_list/order_list.wxss @@ -533,11 +533,14 @@ page { } .search-btn { color: white; - font-size: 14px; + font-size: 28rpx; background-color: #FF3B3D; - padding: 8px 20px; - border-radius: 0 4px 4px 0; + padding: 6rpx 40rpx; + border-radius: 0 4px 4px 0; + line-height: 60rpx; } + + .picker-container { padding-right: 10rpx; align-items: center; diff --git a/setting.js b/setting.js deleted file mode 100644 index 5f330c7..0000000 --- a/setting.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - appName: "派派通", - versionCode: "1.0.0", - appLogo: "../../../images/logo.png", - // url: "https://test-weshop.yolipai.net", - url: "https://test-weshop.xinda100.cn", - //url:"https://weshop.yolipai.net", //外网的网址 - //url:"http://172.20.3.121:8085", //明海的网址 - //url:"http://172.20.3.102:8085", //自己的网址 - banner_err:"../../../images/del/logo.png", - imghost: "https://mshopimg.yolipai.net/", - share: {}, - stoid:1, - -}; diff --git a/utils/auth.js b/utils/auth.js index b6a2519..ed0dd7d 100644 --- a/utils/auth.js +++ b/utils/auth.js @@ -153,8 +153,10 @@ module.exports = { ab.get("/api/weshop/users/get/" + oo.stoid+"/"+app_d.user_id, { data:{r:Math.random()}, success: function (e) { - app_d.userInfo = e.data.data; - "function" == typeof t && t(e.data.data); + app_d.userInfo = e.data.data; + app_d.user_id = e.data.data.user_id; + wx.setStorageSync("userinfo",app_d.userInfo); + "function" == typeof t && t(e.data.data); }, }); }else{ @@ -186,7 +188,9 @@ module.exports = { ab.get("/api/weshop/users/get/" + oo.stoid + "/" + app_d.user_id, { isShowLoading:0, success: function (e) { - app_d.userInfo = e.data.data; + app_d.userInfo = e.data.data; + app_d.user_id = e.data.data.user_id; + wx.setStorageSync("userinfo",app_d.userInfo); "function" == typeof t && t(e.data.data); }, }); diff --git a/utils/util.js b/utils/util.js index 9d52c7e..54e556a 100644 --- a/utils/util.js +++ b/utils/util.js @@ -481,6 +481,14 @@ function ajax_ok2(res){ return 0; } +function wx_back() { + var arr=getCurrentPages(); + if(arr.length<=2){ + getApp().goto("/pages/index/index/index"); + }else{ + wx.navigateBack(); + } +} module.exports = { formatTime: function(e, r) { @@ -591,5 +599,6 @@ module.exports = { sha1:sha1, //sha1进行签名 convert_arr_key:convert_arr_key, //将JS数组对象按其某个键值重组成Map对象 ajax_ok:ajax_ok, //将JS数组对象按其某个键值重组成Map对象 - ajax_ok2:ajax_ok2 //将JS数组对象按其某个键值重组成Map对象 + ajax_ok2:ajax_ok2, //将JS数组对象按其某个键值重组成Map对象 + wx_back:wx_back };