Commit aadb3c444ada8986b1a39d42b7b528aaddf46ccd

Authored by taiyuan
2 parents a5121a32 13025086

Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into dev

Showing 56 changed files with 3697 additions and 1988 deletions
... ... @@ -101,6 +101,29 @@ App({
101 101 },
102 102 })
103 103  
  104 + var th=this;
  105 + var pages = getCurrentPages(); //获取加载的页面
  106 + var currentPage = pages[pages.length - 1]; //获取当前页面的对象
  107 + if(!currentPage || currentPage.route.indexOf('error/error')==-1){
  108 + var tt=this.globalData.wxapp_buy_obj;
  109 + if (!tt){
  110 + this.get_isbuy(function (){
  111 + tt=th.globalData.wxapp_buy_obj;
  112 + if (tt.isout == 1){
  113 + th.promiseGet('/api/weshop/store/get/'+t.stoid,{}).then(res=>{
  114 + wx.reLaunch({
  115 + url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+res.data.data.store_tel,
  116 + });
  117 + })
  118 + }
  119 + else if (tt.isbuy == 0)
  120 + wx.reLaunch({
  121 + url: "/pages/error/error?msg=还未购买小程序",
  122 + });
  123 + })
  124 + }
  125 + }
  126 +
104 127 },
105 128  
106 129 //---初始化第三方----
... ... @@ -287,9 +310,11 @@ App({
287 310 },
288 311  
289 312 //同步化,在调用的时候要await
290   - async get_isbuy() {
291   - var th=this;
292   - await api.check_isbuy({ store_id: t.stoid, type: 5 }).then(res=>{
  313 + async get_isbuy(func) {
  314 + var th=this
  315 + var stoid=os.stoid;
  316 +
  317 + await this.promiseGet("/store/storemoduleendtime/page?store_id=" +stoid + "&type=5",{}).then(res=>{
293 318 var o=res;
294 319 if (o.data.code == 0) {
295 320 var ob = { isout: 0, isbuy: 1 };
... ... @@ -308,6 +333,9 @@ App({
308 333 }
309 334 ob.isbuy = isbuy;
310 335 th.globalData.wxapp_buy_obj=ob;
  336 + if(func){
  337 + func();
  338 + }
311 339 }
312 340 })
313 341 },
... ... @@ -384,44 +412,61 @@ App({
384 412 }
385 413 //---如果会员没有设置默认门店,同时也没有再注册的时候选择门店--
386 414 if(pick_id==0) return func(null);
387   - //获取用户注册时候的门店,这个门店不能关闭,同时这个门店的分类不能关闭
388   - th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{
389   - data:{},
390   - success:function (res) {
391   - th.globalData.pk_store=null;
392   - if(res.data.code==0 && res.data.data && res.data.data.isstop==0){
393   - if(res.data.data.category_id){
394   - th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, {
395   - data: {},
396   - success: function (ee) {
397   - if(ee.data.code==0 && ee.data.data ){
398   - if(ee.data.data.is_show==1){
399   - th.globalData.pk_store = res.data.data;
400   - func(th.globalData.pk_store);
401   - }else{
402   - func(null);
403   - }
404   - }else{
405   - func(null);
406   - }
407   - }
408   - })
409   - }else{
410   - th.globalData.pk_store = res.data.data;
411   - func(th.globalData.pk_store);
412   - }
413   - }else{
414   - func(null);
415   - }
416   - }
417   - })
  415 +
  416 + //返回门店的数量
  417 + th.get_pk_num(function(num){
  418 + //获取用户注册时候的门店,这个门店不能关闭,同时这个门店的分类不能关闭
  419 + th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{
  420 + data:{},
  421 + success:function (res) {
  422 + th.globalData.pk_store=null;
  423 + if(res.data.code==0 && res.data.data && res.data.data.isstop==0){
  424 + //--门店的数量大于5个才要关心门店的分类有没有关闭--
  425 + if(res.data.data.category_id && num>5){
  426 + th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, {
  427 + data: {},
  428 + success: function (ee) {
  429 + if(ee.data.code==0 && ee.data.data ){
  430 + if(ee.data.data.is_show==1){
  431 + th.globalData.pk_store = res.data.data;
  432 + func(th.globalData.pk_store);
  433 + }else{
  434 + func(null);
  435 + }
  436 + }else{
  437 + func(null);
  438 + }
  439 + }
  440 + })
  441 + }else{
  442 + th.globalData.pk_store = res.data.data;
  443 + func(th.globalData.pk_store);
  444 + }
  445 + }else{
  446 + func(null);
  447 + }
  448 + }
  449 + })
  450 +
  451 + })
  452 +
418 453 }else{
419 454 func(th.globalData.pk_store);
420 455 }
421 456 })
422   -
423 457 },
424   -
  458 +
  459 + //-- 获取门店的数量 --
  460 + get_pk_num:function(func){
  461 + this.request.get("/api/weshop/pickup/page",{
  462 + data:{page:1,pageSize:1,isstop:0,store_id:os.stoid},
  463 + success:function (res) {
  464 + if(res.data.code==0){
  465 + func(res.data.data.total); //门店数量
  466 + }
  467 + }
  468 + });
  469 + },
425 470 //-------获取购物车数量----------
426 471 requestCardNum: function(th) {
427 472 if(!this.globalData.user_id) return false;
... ... @@ -538,7 +583,28 @@ App({
538 583 }
539 584 return index;
540 585  
541   - }
  586 + },
  587 +
  588 + //---promise的使用get----
  589 + promiseGet:function(url,data){
  590 + if(url.indexOf("http")==-1) url=this.globalData.setting.url +url;
  591 + return new Promise((resolve, reject) => {
  592 + data.isShowLoading && wx.showLoading();
  593 + wx.request({
  594 + url,
  595 + method: 'GET',
  596 + header: {"content-type": "application/x-www-form-urlencoded" },
  597 + data:data.data,
  598 + success(res) {
  599 + data.isShowLoading && wx.hideLoading();
  600 + resolve(res);
  601 + },
  602 + fail(err) { data.isShowLoading && wx.hideLoading(); reject(err); }
  603 + })
  604 + })
  605 + },
  606 +
  607 +
542 608  
543 609  
544 610 });
... ...
components/diy_advertising/diy_advertising.wxml
... ... @@ -409,14 +409,14 @@
409 409 style="height:{{max_sw_height}}rpx" >
410 410 <block wx:for="{{object.data}}" wx:for-index="index" >
411 411  
412   - <navigator url="{{item.wxapp_imgurl}}" class="s1_gk_a1" wx:if="{{g_filter.has_char(item.wxapp_imgurl,'plugin')>=0}}">
  412 + <navigator url="{{item.wxapp_imgurl}}" class="s1_gk_a1" style="height:{{max_sw_height}}rpx" wx:if="{{g_filter.has_char(item.wxapp_imgurl,'plugin')>=0}}">
413 413 <swiper-item>
414 414 <image src="{{item.src}}" bindload="imageLoad" data-index="{{index}}" class="slide-image" mode="widthFix" />
415 415 <view class="title" wx:if="{{title}}">{{item.title}}</view>
416 416 </swiper-item>
417 417 </navigator>
418 418  
419   - <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url" wx:else>
  419 + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" style="height:{{max_sw_height}}rpx" bindtap="go_url" wx:else>
420 420 <swiper-item>
421 421 <image src="{{item.src}}" bindload="imageLoad" data-index="{{index}}" class="slide-image" mode="widthFix" />
422 422 <view class="title" wx:if="{{title}}">{{item.title}}</view>
... ...
components/diy_advertising/diy_advertising.wxss
... ... @@ -315,8 +315,6 @@
315 315 .swiper {
316 316 height: auto;
317 317 width: 100%;
318   - padding-bottom: 7rpx;
319   - padding-top: 7rpx;
320 318 /* background-color: palevioletred; */
321 319 }
322 320  
... ... @@ -324,6 +322,8 @@
324 322 height: auto;
325 323 width: 100%;
326 324 margin: 0;
  325 + padding: 0;
  326 + vertical-align: top;
327 327 }
328 328 .sw_con{
329 329 position: relative;
... ...
components/diy_searchbox/diy_searchbox.wxml
1 1 <!--pages/diy_ss/diy_ss.wxml-->
2 2 <block wx:if="{{object.style==1}}">
3   -<view class="{{object.is_top==1?'abs_top':''}}">
4 3 <view class='ss' >
5 4 <view bindtap='click_sear' class="s1_gk_a1" wx:if="{{first}}">
6 5 <view class='s_ge'>
... ... @@ -15,24 +14,17 @@
15 14 <input id="find_inp" class="find_inp" value=""
16 15 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" bindblur="onblur" />
17 16 </view>
18   - </view>
19   -
20   -
  17 + </view>
21 18 </view>
22   -</view>
23   -<view wx:if="{{object.is_top==1}}" style="height: 120rpx;"></view>
24 19 </block>
25 20  
26   -
27 21 <block wx:if="{{object.style==2}}">
28   -
29   -<view class="ss2 {{object.is_top==1?'abs_top2':''}}" style='background-color:{{object.top_bgcolor}}' >
  22 +<view style='background-color:{{object.top_bgcolor}}; display: flex; align-items: center; justify-content: space-around; height: 100rpx;' >
30 23 <view class='s2_left'>
31   - <navigator url="/pages/index/index/index" class="s1_gk_a1">
32   - <image src='/public/static/images/model/nav.png'></image>
  24 + <navigator open-type="switchTab" url="/pages/goods/categoryList/categoryList" class="s1_gk_a1">
  25 + <image src='/public/static/images/model/nav.png' style="margin:0;position: relative;left: 6rpx"></image>
33 26 </navigator>
34 27 </view>
35   -
36 28 <view class='s2_cen' style='background-color:{{object.inner_bgcolor}}'>
37 29 <navigator wx:if="{{first}}" bindtap='click_sear' class="s1_gk_a2 flex" style='height: 100%;color:{{object.word_color?object.word_color:"#fff"}}'>
38 30 <text class="iconfont icon-search" style="font-size: 40rpx;"></text>
... ... @@ -44,14 +36,10 @@
44 36 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" />
45 37 </navigator>
46 38 </view>
47   -
48 39 <view class='s2_right'>
49   - <navigator url="/pages/cart/cart/cart" class="s1_gk_a1">
50   - <image src='/public/static/images/model/car.png'></image>
  40 + <navigator open-type="switchTab" url="/pages/cart/cart/cart" class="s1_gk_a1">
  41 + <image src='/public/static/images/model/car.png' style="margin:0;;"></image>
51 42 </navigator>
52 43 </view>
53 44 </view>
54   -
55   -<view wx:if="{{object.is_top==1}}" style="height: 100rpx;"></view>
56   -
57 45 </block>
58 46 \ No newline at end of file
... ...
components/diy_store_select/diy_store_select.js 0 → 100644
  1 +const app = getApp()
  2 +const innerAudioContext = wx.createInnerAudioContext();
  3 +var t = getApp(),o = t.globalData.setting;
  4 +Component({
  5 + properties: {
  6 + object: { type: Object,value: null,},
  7 + },
  8 + options: { addGlobalClass: true },
  9 + data: {
  10 + top_store:null, //会员默认的门店
  11 + url: o.imghost,
  12 + store_config:null,
  13 + lat: null, //维度
  14 + lon: null, //经度
  15 + sort_store:0,
  16 + choice_sort_store:0,
  17 +
  18 + fir_pick_index:0, //5个门店显示选择的下标
  19 + },
  20 + ready: function() {
  21 + var th=this;
  22 + getApp().getConfig(function(e){
  23 + th.setData({store_config:e,});
  24 + th.init();
  25 + })
  26 + },
  27 + pageLifetimes:{
  28 + //要处理一下,游客登录后的界面的变化,主要还该是改变会员
  29 + show: function () {
  30 + this.init();
  31 + this.setData({fir_pick_index:0})
  32 + }
  33 + },
  34 +
  35 + methods: {
  36 + //-- 初始化顶部的门店显示 --
  37 + init(){
  38 + var th=this;
  39 +
  40 + var user_id=getApp().globalData.user_id;
  41 + if(!user_id){
  42 + return false;
  43 + }
  44 +
  45 + //获取顶部的门店
  46 + getApp().get_user_store(function(){
  47 + var top_store=getApp().globalData.pk_store;
  48 + if(top_store){
  49 + th.setData({top_store:top_store});
  50 + }else{
  51 + wx.getLocation({
  52 + type: 'gcj02',
  53 + success: function(res) {
  54 + th.data.lat = res.latitude;
  55 + th.data.lon = res.longitude;
  56 + th.set_fir_store_to_def();
  57 + },
  58 + fail: function(res) {
  59 + if(res.errCode == 2) {
  60 + getApp().confirmBox("请开启GPS定位", null, 25000, !1);
  61 + }
  62 + }
  63 + })
  64 + }
  65 + })
  66 + },
  67 + //-- 设置最近的店为默认的店,一开始加载的时候 --
  68 + set_fir_store_to_def(){
  69 + var th=this;
  70 + var dd = {
  71 + store_id: o.stoid,
  72 + isstop: 0,
  73 + pageSize: 1,
  74 + page:1,
  75 + };
  76 + dd.lat = th.data.lat;
  77 + dd.lon = th.data.lon;
  78 + //----------获取门店,最近的门店----------------
  79 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  80 + data: dd,
  81 + }).then(res => {
  82 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  83 + var top_store=res.data.data.pageData[0];
  84 + th.setData({top_store:top_store})
  85 + }
  86 + })
  87 + },
  88 +
  89 + //点击选择门店
  90 + sele_top_store(){
  91 + var user_id=getApp().globalData.user_id;
  92 + if(!user_id){
  93 + wx.navigateTo({
  94 + url: '/pages/togoin/togoin',
  95 + });
  96 + return false;
  97 + }
  98 + var th=this;
  99 + this.get_top_sto(function(){
  100 + th.setData({store:1});
  101 + });
  102 + },
  103 + //选择更多门店
  104 + more_store: function() {
  105 + this.setData({
  106 + sort_store: 1
  107 + });
  108 + },
  109 +
  110 + //确定def_pick为选择的门店
  111 + sure_pick: function() {
  112 + var th = this,item = null,user_id=getApp().globalData.user_id;
  113 + if(!user_id) return false;
  114 +
  115 + //如果是第一层的时候
  116 + if (th.data.choice_sort_store == 0) {
  117 + var index = th.data.fir_pick_index;
  118 + if (th.data.is_show_sto_cat == 1) {
  119 + item = th.data.def_pickpu_list[index];
  120 + } else {
  121 + item = th.data.only_pk[index]; //当没有门店分类的时候
  122 + }
  123 + }
  124 + //如果是跳转到门店分类里面的时候
  125 + else {
  126 + var index = th.data.sec_pick_index;
  127 + item = th.data.sec_sto.s_arr[index];
  128 + }
  129 +
  130 + //--回调函数的用法--
  131 + th.setData({
  132 + top_store: item,
  133 + sto_sele_name: item.pickup_name,
  134 + sto_sele_id: item.pickup_id,
  135 + sto_sele_distr: item.distr_type,
  136 + store: 0,
  137 + choice_sort_store: 0,
  138 + fir_pick_index: 0
  139 + });
  140 + //全局默认门店
  141 + getApp().globalData.pk_store=item;
  142 + //还原基础属性
  143 + th.setData({store: 0,choice_sort_store: 0,sort_store: 0})
  144 + //更新会员的默认的门店
  145 + getApp().request.put('/api/weshop/users/update', {
  146 + data: {
  147 + user_id:user_id,
  148 + def_pickup_id:item.pickup_id
  149 + },
  150 + success: function(res) {}
  151 + });
  152 +
  153 + },
  154 +
  155 + //---点击二级之后的选择---
  156 + choose_for_store: function(e) {
  157 + var index_c = e.currentTarget.dataset.ind;
  158 + this.setData({
  159 + sec_pick_index: index_c,
  160 + fir_pick_index: index_c
  161 + })
  162 + },
  163 +
  164 + //关闭弹出框
  165 + close_popup:function(){
  166 + this.setData({store: 0, choice_sort_store: 0,sort_store: 0})
  167 + },
  168 +
  169 + //---------拿出门店分类和门店------------
  170 + get_top_sto(func) {
  171 + //如果有就不重新调用接口了
  172 + if(this.data.all_pick_list){
  173 + this.deal_pickup(this.data.all_pick_list,func)
  174 + return false;
  175 + }
  176 + var th = this,that=this;
  177 + var i = getApp().request;
  178 + var dd = {
  179 + store_id: o.stoid,
  180 + isstop: 0,
  181 + pageSize: 2000
  182 + }
  183 +
  184 + //如果有距离的话
  185 + if (th.data.lat != null) {
  186 + dd.lat = th.data.lat;
  187 + dd.lon = th.data.lon;
  188 + }
  189 +
  190 + wx.showLoading({title:'加载中.' });
  191 + //----------获取门店----------------
  192 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  193 + data: dd,
  194 + }).then(res => {
  195 + var e = res;
  196 + if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length){
  197 + th.setData({all_pick_list:e.data.data.pageData});
  198 + th.deal_pickup(e.data.data.pageData,func); //--普通门店排版--
  199 + }
  200 + })
  201 + },
  202 +
  203 + //------------处理门店---------------
  204 + deal_pickup(e,func){
  205 + var th=this;
  206 + wx.hideLoading();
  207 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
  208 + if (th.data.top_store){
  209 + for (var k = 0; k < e.length; k++) {
  210 + if (e[k].pickup_id == th.data.top_store.pickup_id) {
  211 + e.splice(k, 1); //删除
  212 + break;
  213 + }
  214 + }
  215 + e.splice(0, 0, th.data.top_store); //添加
  216 + }
  217 +
  218 +
  219 + //单总量超出5个的时候
  220 + if (e.length > 5) {
  221 + getApp().request.get("/api/weshop/storagecategory/page", {
  222 + data: {
  223 + store_id: o.stoid,
  224 + is_show: 1,
  225 + pageSize: 1000,
  226 + orderField:"sort",
  227 + orderType:'asc',
  228 + },
  229 + success: function(ee) {
  230 + if (ee.data.code == 0) {
  231 + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
  232 + var def_arr = new Array();
  233 + var ishas = 0;
  234 + //-- 开始就看5个门店 --
  235 + for (var k = 0; k < 5; k++) {
  236 + if (k == e.length) break;
  237 + def_arr.push(e[k]);
  238 + }
  239 +
  240 + th.setData({
  241 + def_pickpu_list: def_arr,
  242 + pickpu_list: ee.data.data.pageData
  243 + });
  244 + var sto_cate = ee.data.data.pageData;
  245 + var sto_arr = e;
  246 + var newarr = new Array();
  247 + var qita = new Array();
  248 +
  249 + //----要进行门店分组--------
  250 + for (var i = 0; i < sto_arr.length; i++) {
  251 + //找一下这个门店有没有在分类数组内
  252 + var find2 = 0, find2name = "",sort=0;
  253 + for (var m = 0; m < sto_cate.length; m++) {
  254 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  255 + find2 = sto_cate[m].cat_id;
  256 + find2name = sto_cate[m].cat_name;
  257 + sort = sto_cate[m].sort;
  258 + break;
  259 + }
  260 + }
  261 +
  262 + if (newarr.length > 0) {
  263 + var find = 0;
  264 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  265 + if (find2 != 0) {
  266 + for (var ii = 0; ii < newarr.length; ii++) {
  267 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  268 + newarr[ii].s_arr.push(sto_arr[i]);
  269 + find = 1;
  270 + break;
  271 + }
  272 + }
  273 + if (find == 0) {
  274 + var arr0 = new Array();
  275 + arr0.push(sto_arr[i]);
  276 + var item = {
  277 + cat_id: find2,
  278 + name: find2name,
  279 + sort:sort,
  280 + s_arr: arr0
  281 + };
  282 + newarr.push(item);
  283 + }
  284 + } else {
  285 + qita.push(sto_arr[i]);
  286 + }
  287 + } else {
  288 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  289 + if (find2 != 0) {
  290 + var arr0 = new Array();
  291 + arr0.push(sto_arr[i]);
  292 + var item = {
  293 + cat_id: find2,
  294 + name: find2name,
  295 + sort:sort,
  296 + s_arr: arr0
  297 + };
  298 + newarr.push(item);
  299 + } else {
  300 + qita.push(sto_arr[i]);
  301 + }
  302 + }
  303 + }
  304 +
  305 + //门店分类要排序下
  306 + function compare(property){
  307 + return function(a,b){
  308 + var value1 = a[property];
  309 + var value2 = b[property];
  310 + return value1 - value2;
  311 + }
  312 + }
  313 + if(newarr.length>0) newarr.sort(compare("sort"));
  314 +
  315 + //----安排其他的分类-----
  316 + if (qita.length > 0) {
  317 + var item = {
  318 + cat_id: -1,
  319 + name: "其他",
  320 + s_arr: qita
  321 + };
  322 + newarr.push(item);
  323 + }
  324 +
  325 + th.setData({
  326 + is_show_sto_cat: 1,
  327 + all_sto: newarr
  328 + });
  329 +
  330 + } else {
  331 + th.setData({is_show_sto_cat: -1,only_pk: e});
  332 + }
  333 + } else {
  334 + th.setData({is_show_sto_cat: -1,only_pk: e});
  335 + }
  336 + func(); //回调
  337 + }
  338 + });
  339 + } else {
  340 + th.setData({is_show_sto_cat: 0,only_pk: e});
  341 + func(); //回调
  342 + }
  343 + },
  344 +
  345 + //---选择分类门店---
  346 + choice_sort_store: function(e) {
  347 + var index = e.currentTarget.dataset.index;
  348 + var region_name = e.currentTarget.dataset.region;
  349 + var item = this.data.all_sto[index];
  350 + this.setData({
  351 + region_name: region_name,
  352 + sort_store: 0,
  353 + choice_sort_store: 1,
  354 + sec_sto: item,
  355 + sec_pick_index: 0
  356 + });
  357 + },
  358 + //返回按钮
  359 + returns: function() {
  360 + this.setData({
  361 + sort_store: 0,
  362 + choice_sort_store: 0
  363 + });
  364 + },
  365 +
  366 + //第一层选择门店的情况
  367 + choose_for_store_fir: function(e) {
  368 + var index_c = e.currentTarget.dataset.ind;
  369 + var th=this;
  370 + th.setData({ fir_pick_index: index_c })
  371 + },
  372 + },
  373 +
  374 +
  375 +
  376 +})
0 377 \ No newline at end of file
... ...
components/diy_store_select/diy_store_select.json 0 → 100644
  1 +{
  2 + "component": true,
  3 + "usingComponents": {}
  4 +}
0 5 \ No newline at end of file
... ...
components/diy_store_select/diy_store_select.wxml 0 → 100644
  1 +<!-- 如果是自定义模板的时候 -->
  2 +<block wx:if="{{object}}">
  3 + <view class="store_sele1 flex ai_c" bindtap="sele_top_store" style="background-color:{{object.bgcolor}};color: {{object.word_color}};">
  4 + <image class="logo_box circle" src="{{url+store_config.store_logo}}"></image>{{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
  5 + </view>
  6 +</block>
  7 +<block wx:else>
  8 + <view class="store_sele flex ai_c" bindtap="sele_top_store">
  9 + <image class="logo_box circle" src="{{url+store_config.store_logo}}"></image>{{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
  10 + </view>
  11 + <view class="pd-view"></view>
  12 +</block>
  13 +
  14 +<!-- 选择门店的弹框,1.1版最新的 -->
  15 +<block wx:if="{{store==1}}">
  16 + <view class="mongolia-layer" bindtap="close_popup"></view>
  17 + <view class="popup-frame">
  18 + <block wx:if="{{sort_store==0}}">
  19 + <!-- 头部 标题 -->
  20 + <view class="popup-top flex-space-between">
  21 + <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text>
  22 + <view>
  23 + <view>
  24 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  25 + </view>
  26 + <view class="felx choose_more" bindtap="more_store">
  27 + <text class="fs26 red-co" wx:if="{{is_show_sto_cat}}">{{choice_sort_store==0?'更多门店':'返回'}}</text>
  28 + <view class="bg_rights" wx:if="{{is_show_sto_cat}}"></view>
  29 + </view>
  30 + </view>
  31 + </view>
  32 + <!-- 门店列表,最外层的门店列表,一开始 -->
  33 + <view class="store-list">
  34 + <!--如果还没有点击更多门店的时候 -->
  35 + <block wx:if="{{choice_sort_store==0}}">
  36 + <!-- 需要for循环 -->
  37 + <block wx:if="{{is_show_sto_cat==1}}">
  38 + <view class="store_choose flex" wx:for="{{def_pickpu_list}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  39 + <view class="store flex-vertical">
  40 + <!-- 需要点击事件 -->
  41 + <block wx:if="{{index==fir_pick_index}}">
  42 + <view class="circle white xc-hook fs20 red-b">Г</view>
  43 + </block>
  44 + <block wx:else>
  45 + <view class="circle xc-hooks"></view>
  46 + </block>
  47 + <view class="address-frame xc-ash">
  48 + <view class="flex-vertical-between butttem5">
  49 + <view class="flex xc-ash">
  50 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  51 + </view>
  52 + <view>
  53 + <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}">
  54 + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}}</view>
  55 + </view>
  56 + </view>
  57 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  58 + </view>
  59 + </view>
  60 + </view>
  61 + </block>
  62 + <block wx:else>
  63 + <view class="store_choose flex" wx:for="{{only_pk}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  64 + <view class="store flex-vertical">
  65 + <!-- 需要点击事件 -->
  66 + <block wx:if="{{index==fir_pick_index}}" >
  67 + <view class="circle white xc-hook fs20 red-b">Г</view>
  68 + </block>
  69 + <block wx:else>
  70 + <view class="circle xc-hooks"></view>
  71 + </block>
  72 +
  73 + <view class="address-frame xc-ash">
  74 + <view class="flex-vertical-between ">
  75 + <view class="flex xc-ash">
  76 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  77 + </view>
  78 + <view>
  79 + <view class="distance fs24 address-val"
  80 + wx:if="{{item.distance!=null}}">距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}
  81 + </view>
  82 + </view>
  83 + </view>
  84 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  85 + </view>
  86 + </view>
  87 + </view>
  88 + </block>
  89 + </block>
  90 + <block wx:else> <!-- 如果是点击选择门店分类后显示分类下的门店 -->
  91 + <view class="store_choose flex" wx:for="{{sec_sto.s_arr}}" data-ind="{{index}}" bindtap="choose_for_store">
  92 + <view class="store flex-vertical">
  93 + <!-- 需要点击事件 -->
  94 + <block wx:if="{{index==sec_pick_index}}">
  95 + <view class="circle white xc-hook fs20 red-b">Г</view>
  96 + </block>
  97 + <block wx:else>
  98 + <view class="circle xc-hooks"></view>
  99 + </block>
  100 +
  101 + <view class="address-frame xc-ash">
  102 + <view class="flex-vertical-between ">
  103 + <view class="flex xc-ash">
  104 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  105 + </view>
  106 + <view>
  107 + <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}">
  108 + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view>
  109 + </view>
  110 + </view>
  111 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  112 + </view>
  113 + </view>
  114 + </view>
  115 + </block>
  116 +
  117 + </view>
  118 +
  119 + <!-- 门店列表底部 -->
  120 + <view class="store-bottom-frame">
  121 + <view class="store-bottom flex jc-center ai_center">
  122 + <view class="determine red-b fs28 white t-c" bindtap="sure_pick">确定</view>
  123 + </view>
  124 + </view>
  125 + </block>
  126 + <block wx:else>
  127 + <view class="popup-top flex-space-between">
  128 + <text class="fs32 nearby_store">门店分类选择</text>
  129 + <view>
  130 + <view>
  131 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  132 + </view>
  133 + <view class="felx choose_mores" bindtap="returns">
  134 + <text class="fs26 red-co">返回</text>
  135 + </view>
  136 + </view>
  137 + </view>
  138 + <view class="sort_store_list">
  139 +
  140 + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
  141 + <view class="sort-store flex-vertical-between" >
  142 + <view class="fs30" di>{{item.name}}</view>
  143 + <view class="black_rights-frame">
  144 + <view class="black_rights"></view>
  145 + </view>
  146 + </view>
  147 + </view>
  148 +
  149 + </view>
  150 + </block>
  151 + </view>
  152 +</block>
0 153 \ No newline at end of file
... ...
components/diy_store_select/diy_store_select.wxss 0 → 100644
  1 +.store_sele{width: 100%;z-index: 8; height: 88rpx; padding: 0 15rpx;position: fixed; color: white;
  2 + top: 0; left: 0; background-color: #ff7295; font-size: 30rpx; }
  3 +
  4 + .store_sele1{ height: 100rpx; padding: 0 15rpx; color: #666;background-color: #fff; font-size: 32rpx;}
  5 +
  6 +
  7 +.logo_box{ width: 64rpx; height:64rpx;margin-right: 15rpx; }
  8 +.pd-view {
  9 + height: 80rpx;
  10 +}
  11 +
  12 +.circle{ border-radius: 50%;}
  13 +/*-- 门店选择 --*/
  14 +/* 选择门店的弹窗 */
  15 +.mongolia-layer{
  16 +position: fixed;
  17 +left: 0;
  18 +top: 0;
  19 +right: 0;
  20 +bottom: 0;
  21 +z-index: 11;
  22 +background: rgba(0,0,0,0.4);
  23 +width: 100%;
  24 +height: 91.9%;
  25 +
  26 +}
  27 +
  28 +.popup-frame{
  29 +position: fixed;
  30 +bottom:110rpx;
  31 +z-index: 20;
  32 +background: white;
  33 +width: 100%;
  34 +border-radius: 20rpx 20rpx 0 0;
  35 +height: 72%;
  36 +
  37 +}
  38 +.popup-top{
  39 + border-bottom: 1rpx solid #eee;
  40 + height: 155rpx;
  41 + width: 95%;
  42 + margin: auto;
  43 + line-height: 155rpx;
  44 +
  45 +}
  46 +.bg_rights{
  47 + border-top: 2rpx solid ;
  48 + border-right: 2rpx solid ;
  49 + transform: rotate(45deg);
  50 + display:inline-block;
  51 + width:15rpx;height:15rpx;
  52 + border-color:#da0b31;
  53 +}
  54 +.modal-closes {
  55 + position: absolute;
  56 + right: 30rpx;
  57 + top: -15rpx;
  58 + height: 25rpx;
  59 +
  60 +}
  61 +.choose_more{
  62 + margin-top: 40rpx;
  63 + margin-right: 20rpx;
  64 +
  65 +}
  66 +.choose_mores{
  67 + margin-top: 30rpx;
  68 + margin-right: 15rpx;
  69 +
  70 +}
  71 +.store-list{
  72 + width: 95%;
  73 + height: 72%;
  74 + overflow-y: scroll;
  75 + margin: auto;
  76 +}
  77 +.store-list .store_choose{
  78 + width: 100%;
  79 + height: 120rpx;
  80 + line-height: 125rpx;
  81 + border-bottom: 1rpx solid #eee;
  82 +
  83 +}
  84 +.store-list .store_choose .store{
  85 +width: 100%;
  86 +margin: auto;
  87 +line-height: 37rpx;
  88 +padding-left: 20rpx;
  89 +
  90 +}
  91 +.xc-hook{
  92 + width: 35rpx;
  93 + height: 35rpx;
  94 + transform: rotate(-145deg);
  95 +line-height: 37rpx;
  96 +text-align: center;
  97 +}
  98 + .xc-hooks{
  99 + width: 30rpx;
  100 + height: 30rpx;
  101 + border: 1rpx solid #999;
  102 + }
  103 + .address-frame{
  104 + width: 93%;
  105 +margin-left: 7rpx;
  106 +
  107 + }
  108 + .nearby_store{
  109 +margin-left: 17rpx;
  110 + }
  111 + .address_name{
  112 + margin-right: 10rpx;
  113 +
  114 + }
  115 + .address-val{
  116 + height: 38rpx;
  117 +line-height: 38rpx;
  118 +
  119 + }
  120 + .store-bottom{
  121 + width: 85%;
  122 + margin: auto;
  123 + height: 70rpx;
  124 + }
  125 + .determine{
  126 + width: 260rpx;
  127 + height: 55rpx;
  128 + border-radius: 50rpx;
  129 + line-height: 55rpx;
  130 + }
  131 + .default{
  132 + width: 260rpx;
  133 + height: 55rpx;
  134 + border:3rpx solid #c8c8c8;
  135 + border-radius: 50rpx;
  136 + line-height: 55rpx;
  137 + }
  138 + .store-bottom-frame{
  139 + width: 95%;
  140 + margin: auto;
  141 + }
  142 +
  143 +
  144 + /* 门店分类列表 */
  145 + .sort_store_list{
  146 + height: 82%;
  147 + overflow: hidden;
  148 + overflow-y: scroll;
  149 + width: 95%;
  150 + margin: auto;
  151 + }
  152 + .sort_store_list .sort-store-frame{
  153 + width: 100%;
  154 + height: 100rpx;
  155 + line-height:100rpx;
  156 + border-bottom: 1rpx solid #eee;
  157 +
  158 + }
  159 + .sort_store_list .sort-store-frame .sort-store{
  160 + width: 94.5%;
  161 + margin: auto;
  162 + }
  163 + .ai_center{ align-items: center;}
0 164 \ No newline at end of file
... ...
packageA/pages/activity_share/activity_share.js
... ... @@ -159,7 +159,7 @@ Page({
159 159 imageUrl: img,
160 160 };
161 161 th.setData({share_hidden:1});
162   - th.insert_act_share(title,lbid,6);
  162 + th.insert_act_share(title,lbid,6,null,th.data.hui_active.payMoney);
163 163 return ob;
164 164 }else{
165 165 //---秒杀,拼团,促销---
... ... @@ -193,9 +193,9 @@ Page({
193 193 //插入活动
194 194 if(item.prom_type==3){
195 195 var hui_active=this.data.hui_active;
196   - th.insert_act_share(hui_active.name,hui_active.id,5);
  196 + th.insert_act_share(hui_active.name,hui_active.id,5,item.goods_sn,price);
197 197 }else{
198   - th.insert_act_share(item.title,item.id,ind);
  198 + th.insert_act_share(item.title,item.id,ind,item.goods_sn,price);
199 199 }
200 200  
201 201 return ob;
... ... @@ -220,7 +220,7 @@ Page({
220 220 if(th.data.currentIndex==2){ ind=5;}
221 221  
222 222 //插入活动
223   - th.insert_act_share(title,hui_active.id,ind);
  223 + th.insert_act_share(title,hui_active.id,ind,null,null);
224 224 return ob;
225 225 }
226 226 }
... ... @@ -546,14 +546,17 @@ Page({
546 546 if(that.data.currentIndex==1){
547 547 ind=4;
548 548 }
549   -
  549 +
  550 + //-- 价格 --
  551 + var pri0 = th.data.share_good.shop_price;
  552 + if (th.data.share_good.price)
  553 + pri0 = th.data.share_good.price;
550 554 if(th.data.share_good.prom_type==3){
551   - th.insert_act_share(th.data.hui_active.name,th.data.hui_active.id,5); //插入分享
  555 + th.insert_act_share(th.data.hui_active.name,th.data.hui_active.id,5,th.data.share_good.goods_sn,pri0); //插入分享
552 556 }else{
553   - th.insert_act_share(th.data.share_good.title,th.data.share_good.id,ind); //插入分享
  557 + th.insert_act_share(th.data.share_good.title,th.data.share_good.id,ind,th.data.share_good.goods_sn,pri0); //插入分享
554 558 }
555   -
556   -
  559 +
557 560 ///二微码
558 561 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
559 562 os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
... ... @@ -624,9 +627,7 @@ Page({
624 627 context.setFillStyle("red")
625 628 context.fillText("¥", 416 * unit, 185 * unit);
626 629 context.setFontSize(31 * unit)
627   - var pri0 = th.data.share_good.shop_price;
628   - if (th.data.share_good.price)
629   - pri0 = th.data.share_good.price;
  630 +
630 631  
631 632 pri0 = parseFloat(pri0).toFixed(2);
632 633 context.fillText(pri0, 438 * unit, 185 * unit);
... ... @@ -1136,7 +1137,7 @@ Page({
1136 1137 },
1137 1138  
1138 1139 //-- 推送活动分享 --
1139   - insert_act_share:function(title,actid,ind){
  1140 + insert_act_share:function(title,actid,ind,ShareActNo,ActMoney){
1140 1141 var th = this;
1141 1142 var url="/api/weshop/sharetypeList/save";
1142 1143 var req_data={
... ... @@ -1149,6 +1150,11 @@ Page({
1149 1150 shareTime:ut.gettimestamp(),
1150 1151 storeId:os.stoid
1151 1152 }
  1153 +
  1154 + if(!ShareActNo) ShareActNo=actid; //如果没有带编号就带活动id
  1155 + if(ActMoney) req_data.ActMoney=ActMoney; //如果金额就要把参数带入
  1156 + req_data.ShareActNo=ShareActNo;
  1157 +
1152 1158 //插入数据
1153 1159 getApp().request.post(url,{
1154 1160 data:req_data,
... ... @@ -1164,8 +1170,8 @@ Page({
1164 1170 data:req_data,
1165 1171 success:function(){}
1166 1172 })
1167   -
1168   -
  1173 +
  1174 +
1169 1175 }
1170 1176  
1171 1177  
... ...
packageA/pages/live_share/live_share.js
... ... @@ -207,7 +207,8 @@ Page({
207 207 shareStaffId:th.data.StaffId,
208 208 shareStorageId:th.data.StorageId,
209 209 shareTime:ut.gettimestamp(),
210   - storeId:os.stoid
  210 + storeId:os.stoid,
  211 + ShareActNo:actid
211 212 }
212 213 //插入数据
213 214 getApp().request.post(url,{
... ...
packageA/pages/prom_list/prom_list.js
... ... @@ -40,12 +40,16 @@ Page({
40 40 g_buy_num: null,
41 41 sele_collocation:null,
42 42  
  43 + room_id:0, //房间号
43 44 },
44 45  
45 46 //------初始化加载----------
46 47 onLoad: function(t) {
47 48 var goods_id=t.goods_id;
  49 + var room_id=t.room_id;
48 50 this.setData({gid:goods_id});
  51 +
  52 + if(room_id) this.data.room_id=room_id; //房间号要存起来
49 53 var ee=this,th=ee,that=ee;
50 54 var first_leader=t.first_leader;
51 55 if(first_leader){
... ... @@ -89,9 +93,16 @@ Page({
89 93 var appd=getApp().globalData;
90 94 var w_time = setInterval(function() {
91 95 if (that.data.is_get_local_ok == 0) return false;
  96 + if (!that.data.data) return false;
92 97 clearInterval(w_time);
93 98 var distance = null;
94 99 var e=JSON.parse(JSON.stringify(ee));
  100 +
  101 + if(th.data.data) var g_distr_type=th.data.data.distr_type;
  102 + e.is_no_dis=0;
  103 + if(e.distr_type!=0 && g_distr_type!=0 && e.distr_type!=g_distr_type ){
  104 + e.is_no_dis=1;
  105 + }
95 106  
96 107 //如果有开启近距离的话,同时距离优不一样了
97 108 if (that.data.lat != null) {
... ... @@ -405,7 +416,15 @@ Page({
405 416 th.data.sele_collocation[jj]['guide_type']=newd['guide_type'];
406 417 }
407 418 }
408   -
  419 +
  420 + //-- 如果有房间号的时候 --
  421 + if(th.data.room_id){
  422 + newd['room_id']=th.data.room_id;
  423 + for(var nn in th.data.sele_collocation ){
  424 + th.data.sele_collocation[nn]['room_id']=newd['room_id'];
  425 + }
  426 + }
  427 +
409 428  
410 429 //-----如果是秒杀,团购,积分购,拼团-----
411 430 if (th.data.data.prom_type != 5) {
... ... @@ -624,6 +643,16 @@ Page({
624 643 collocationList[i].is_collocation=1;
625 644 if(!th.data.sele_collocation) th.data.sele_collocation=new Array();
626 645 th.data.sele_collocation.push(collocationList[i]);
  646 +
  647 + var the_dis_t=collocationList[i].distr_type;
  648 + //如果有默认门店的判断门店匹配情况
  649 + if(th.data.def_pick_store && th.data.def_pick_store.distr_type!=0 && the_dis_t!=0 && the_dis_t!=th.data.def_pick_store.distr_type ){
  650 + th.data.def_pick_store.is_no_dis=1;
  651 + th.setData({def_pick_store:th.data.def_pick_store});
  652 + }else{
  653 + th.data.def_pick_store.is_no_dis=0;
  654 + th.setData({def_pick_store:th.data.def_pick_store});
  655 + }
627 656 }
628 657 }
629 658 if(!th.data.sele_collocation){
... ... @@ -694,9 +723,21 @@ Page({
694 723 var th = this,that=this;
695 724 var timer_get = setInterval(function() {
696 725 if (th.data.is_get_local_ok == 0) return false;
697   - var dd = null,
  726 + var dd = null,
  727 + c_list=th.data.collocationList,
698 728 i = getApp().request;
699   - var g_distr_type = th.data.data.distr_type;
  729 + var g_distr_type = th.data.data.distr_type;
  730 + var collocationList=th.data.collocationList;
  731 +
  732 + //获取所有的门店
  733 + if(g_distr_type==0 && collocationList ){
  734 + for(var i in collocationList){
  735 + if(collocationList[i].sele && collocationList[i].distr_type>0){
  736 + g_distr_type=collocationList[i].distr_type;
  737 + }
  738 + }
  739 + }
  740 +
700 741 if (g_distr_type != 0) {
701 742 dd = {
702 743 store_id: o.stoid,
... ... @@ -1164,7 +1205,7 @@ Page({
1164 1205 is_gps: 1
1165 1206 });
1166 1207 //th.onShow();
1167   - //th.get_sto();
  1208 + th.get_sto();
1168 1209 },
1169 1210 fail: function(res) {
1170 1211 //th.onShow();
... ... @@ -1187,6 +1228,7 @@ Page({
1187 1228 })
1188 1229 }else{
1189 1230 th.data.is_get_local_ok = 1;
  1231 + th.get_sto();
1190 1232 }
1191 1233  
1192 1234 if(ind!=undefined && ind!=null ){
... ... @@ -1574,11 +1616,49 @@ Page({
1574 1616 _errObj[_errImg] = "/public/images/default_goods_image_240.gif";
1575 1617 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
1576 1618 },
  1619 + //判断来个商品的配送的方式是不是一致
  1620 + check_men_dian(g1,g2){
  1621 + if(g1.distr_type!=0 && g2.distr_type!=0 && g1.distr_type!=g2.distr_type){
  1622 + return 0;
  1623 + }
  1624 + return 1;
  1625 + },
1577 1626  
1578 1627 set_sele:function (e) {
  1628 + var th=this;
1579 1629 var index=e.currentTarget.dataset.ind;
1580 1630 var set=e.currentTarget.dataset.set;
1581 1631 var text="collocationList["+index+"].sele";
  1632 +
  1633 + //判断门店匹配不匹配
  1634 + var click_item=this.data.collocationList[index];
  1635 + var c_list=this.data.collocationList;
  1636 + if(set==1){
  1637 + //-- 选择的商品的门店配送方式和主商品比较 --
  1638 + if(!th.check_men_dian(click_item,th.data.data)){
  1639 + wx.showToast({
  1640 + title: "商品的配送方式不一致",
  1641 + icon: 'none',
  1642 + duration: 2000
  1643 + })
  1644 + return false;
  1645 + }
  1646 + //-- 判断从商品 --
  1647 + for(var ij in this.data.collocationList){
  1648 + if(this.data.collocationList[ij].sele){
  1649 + if(!th.check_men_dian(click_item,this.data.collocationList[ij])){
  1650 + wx.showToast({
  1651 + title: "商品的配送方式不一致",
  1652 + icon: 'none',
  1653 + duration: 2000
  1654 + })
  1655 + return false;
  1656 + }
  1657 + }
  1658 + }
  1659 +
  1660 + }
  1661 +
1582 1662 var ob={};
1583 1663 ob[text]= parseInt(set);
1584 1664 this.setData(ob);
... ...
packageA/pages/prom_list/prom_list.wxml
... ... @@ -115,7 +115,8 @@
115 115 <block wx:else>
116 116 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
117 117 <block wx:else>
118   - <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
  118 + <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view>
  119 + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
119 120 </block>
120 121 </block>
121 122  
... ... @@ -177,6 +178,11 @@
177 178 <block wx:if="{{data.store_count<=0}}">
178 179 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
179 180 </block>
  181 +
  182 + <block wx:elif="{{def_pick_store && def_pick_store.is_no_dis}}">
  183 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">立即购买</view>
  184 + </block>
  185 +
180 186 <block wx:else>
181 187 <view bindtap="addCart"data-openSpecModal_ind="2"
182 188 class="spec-cart-btn spec-buy" data-action="buy">立即购买</view>
... ...
packageA/pages/prom_list/prom_list.wxss
... ... @@ -357,4 +357,9 @@
357 357 border-bottom: 1px solid #eee;
358 358 padding-bottom: 15px;
359 359 margin-bottom:40rpx;
360   - }
361 360 \ No newline at end of file
  361 + }
  362 +
  363 + .join-cart>view.no_store {
  364 + width: 58%; background-color: #adadad;
  365 + }
  366 +.no_store{color:#d60021; font-size: 26rpx;}
362 367 \ No newline at end of file
... ...
packageA/pages/quan/quan.js
... ... @@ -87,7 +87,7 @@ Page({
87 87 path:url,
88 88 };
89 89 th.setData({share_hidden:1});
90   - th.insert_quan_share(title,th.data.hui_active.id);
  90 + th.insert_quan_share(title,th.data.hui_active.id,th.data.hui_active.money);
91 91  
92 92 return ob;
93 93 },
... ... @@ -179,7 +179,7 @@ Page({
179 179 },
180 180  
181 181 //-- 推送活动分享 --
182   - insert_quan_share:function(title,actid){
  182 + insert_quan_share:function(title,actid,price){
183 183 var th = this;
184 184 var url="/api/weshop/sharetypeList/save";
185 185 var req_data={
... ... @@ -190,8 +190,11 @@ Page({
190 190 shareStaffId:th.data.StaffId,
191 191 shareStorageId:th.data.StorageId,
192 192 shareTime:ut.gettimestamp(),
193   - storeId:os.stoid
  193 + storeId:os.stoid,
  194 + ShareActNo:actid,
  195 + ActMoney:price
194 196 }
  197 +
195 198 //插入数据
196 199 getApp().request.post(url,{
197 200 data:req_data,
... ...
packageA/pages/quan/quan.wxml
... ... @@ -29,7 +29,12 @@
29 29 <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}至</text> <text wx:if="{{item.days>0}}">{{filters.format_time(getcurday+3600*24*item.days)}}</text><text wx:else>不限</text>
30 30 </view>
31 31 </view>
32   - <view class="price">¥<text class="fs40">{{filters.toFix(item.money,2)}}</text> <image src="{{imghost}}miniapp/images/coupon_img/sharelinke.png" class="sharelink"></image></view>
  32 + <view class="price">¥<text class="fs40">{{filters.toFix(item.money,2)}}</text>
  33 +
  34 + <image wx:if="{{item.is_share==1}}" src="{{imghost}}miniapp/images/coupon_img/sharelinke.png" class="sharelink"></image>
  35 +
  36 +
  37 + </view>
33 38  
34 39 </view>
35 40 <view class="flex ai-center jc_sb pdt20">
... ...
packageA/pages/quan_list/quan_list.wxml
... ... @@ -25,7 +25,13 @@
25 25 <text wx:if="{{item.starttype==0 && item.use_start_time>0}}"> {{filters.format_time(item.use_start_time)}}</text>至
26 26 <text wx:if="{{item.use_end_time>0}}"> {{filters.format_time(item.use_end_time)}}</text><text wx:else>不限</text>
27 27 </view>
28   - <view wx:else>有效期 <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}至</text> <text wx:if="{{item.days>0}}">{{filters.format_time(getcurday+3600*24*item.days)}}</text><text wx:else>不限</text></view>
  28 + <view wx:else>有效期 <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}</text>
  29 + <text wx:else>{{filters.format_time(getcurday)}}</text>
  30 + 至
  31 + <text wx:if="{{item.days>0}}">{{filters.format_time(getcurday+3600*24*item.days)}}</text>
  32 + <text wx:else>不限</text>
  33 +
  34 + </view>
29 35 <view>每人限领:<text wx:if="{{item.everyone_num>0}}">{{item.everyone_num}}</text><text wx:else>不限</text></view>
30 36 <!-- 领取按钮 -->
31 37 <view data-ind="{{index}}" data-cid="{{item.id}}" catchtap="get_quan">
... ...
packageA/pages/quan_pro/quan_pro.wxml
... ... @@ -33,9 +33,9 @@
33 33 <text wx:if="{{q_data.use_start_time>0 && q_data.starttype==0}}"> {{filters.format_time(q_data.use_start_time)}}</text>至
34 34 <text wx:if="{{q_data.use_end_time>0}}"> {{filters.format_time(q_data.use_end_time)}}</text><text wx:else>不限</text>
35 35 </view>
36   - <view wx:else class="lower fs30">有效期
37   -
38   - <text wx:if="{{ q_data.starttype==1}}"> {{filters.format_time(getcurday+3600*24*q_data.startdays)}}至</text>
  36 + <view wx:else class="lower fs30">有效期
  37 + <text wx:if="{{ q_data.starttype==1}}"> {{filters.format_time(getcurday+3600*24*q_data.startdays)}}</text>
  38 + <text wx:else>{{filters.format_time(getcurday)}}</text>至
39 39 <text wx:if="{{q_data.days>0}}"> {{filters.format_time(getcurday+3600*24*q_data.days)}}</text><text wx:else>不限</text></view>
40 40  
41 41 </view>
... ...
pages/cart/cart/cart.js
1 1 var t = getApp(),
2   - a = t.request,
3   - oo = t.globalData.setting,
4   - os=oo,
5   - app = getApp(),
6   - rq = t.request,
7   - ut = require("../../../utils/util.js");
  2 + a = t.request,
  3 + oo = t.globalData.setting,
  4 + os=oo,
  5 + app = getApp(),
  6 + rq = t.request,
  7 + ut = require("../../../utils/util.js");
8 8 var regeneratorRuntime = require('../../../utils/runtime.js');
9 9  
10 10 Page({
11   - data: {
12   - url: t.globalData.setting.url,
13   - resourceUrl: t.globalData.setting.resourceUrl,
14   - iurl: t.globalData.setting.imghost,
15   - requestData: null,
16   - checkAllToggle: 0,
17   - total_fee: 0, //结算金额
18   - total_num: 0, //结算数量
19   - all_num: 0, //购物车中所有商品数量
20   - allsto: null,
21   - imgUrl: t.globalData.setting.imghost,
22   - is_has_flash: 0, //是否又秒杀活动
23   - is_edit: 0, //是否编辑
24   - is_load: 0, //是否已加载
25   - up_dating: 0, //更新中
26   - isreduce: 0, //商品数量是否可减
27   - isadd: 0, //是否可以加商品数量
28   -
29   - card_field:"",
30   - bconf:null,
31   - btn_click:1,
32   - },
33   - onLoad: function() {
34   - var a = this,ee=a;
35   - //----获取系统参数-----
36   - getApp().getConfig2(function(e) {
37   - ee.setData({
38   - bconfig: e,
39   - sales_rules:e.sales_rules
40   - });
41   - })
42   -
43   - wx.setNavigationBarTitle({
44   - title: "购物车",
45   - })
46   -
47   - //判断是否有登录
48   - t.auth.hadAuth() && t.getUserInfo(function() {
49   - a.getCardList();
50   - });
51   -
52   - },
53   - onShow: function() {
54   -
55   - if (typeof this.getTabBar === 'function' && this.getTabBar()) {
56   - var index=getApp().getPageIndex(this);
57   - this.getTabBar().setData({
58   - active: index //数字是当前页面在tabbar的索引
59   - })
60   -
61   - getApp().requestCardNum(this);
62   - }
63   -
64   - var th = this;
65   - this.setData({requestData:null,is_load:0});
66   - //调用底部导航
67   - //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url);
68   - this.getCardList();
69   -
70   -
71   - //--获取是否又秒杀活动--
72   - getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
73   - data: {
74   - store_id: oo.stoid,
75   - timetype: 2,
76   - is_end: 0,
77   - is_show: 1,
78   - pageSize: 1
79   - },
80   - }).then(res => {
81   - if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
82   - th.setData({
83   - is_has_flash: 1
  11 + data: {
  12 + url: t.globalData.setting.url,
  13 + resourceUrl: t.globalData.setting.resourceUrl,
  14 + iurl: t.globalData.setting.imghost,
  15 + requestData: null,
  16 + checkAllToggle: 0,
  17 + total_fee: 0, //结算金额
  18 + total_num: 0, //结算数量
  19 + all_num: 0, //购物车中所有商品数量
  20 + allsto: null,
  21 + imgUrl: t.globalData.setting.imghost,
  22 + is_has_flash: 0, //是否又秒杀活动
  23 + is_edit: 0, //是否编辑
  24 + is_load: 0, //是否已加载
  25 + up_dating: 0, //更新中
  26 + isreduce: 0, //商品数量是否可减
  27 + isadd: 0, //是否可以加商品数量
  28 +
  29 + card_field:"",
  30 + bconf:null,
  31 + btn_click:1,
  32 + },
  33 + onLoad: function() {
  34 + var a = this,ee=a;
  35 + //----获取系统参数-----
  36 + getApp().getConfig2(function(e) {
  37 + ee.setData({
  38 + bconfig: e,
  39 + sales_rules:e.sales_rules
  40 + });
84 41 })
85   - }
86   - });
87 42  
88   - },
  43 + wx.setNavigationBarTitle({
  44 + title: "购物车",
  45 + })
89 46  
90   - onHide(){
91   - for(var i = 1; i < 100; i++) {
92   - clearInterval(i);
93   - }
94   - },
95   -
96   - //-------------获取购物车列表,要安装门店进行分类订单-----------
97   - getCardList: function() {
98   - var th = this;
99   - //如果门店还未读出来的时候
100   - if (th.data.allsto == null) {
101   - //读取门店
102   - app.get_allsto(function(e) {
103   - th.setData({
104   - allsto: e
  47 + //判断是否有登录
  48 + t.auth.hadAuth() && t.getUserInfo(function() {
  49 + a.getCardList();
105 50 });
106   - th.get_cart();
107   - })
108   - } else {
109   - th.get_cart();
110   - }
111   -
112   - //要获取会员是不是等级会员
113   - getApp().getConfig2(function(conf){
114   - //--- 看后台是不是有开通等级卡 ---
115   - if(conf.switch_list){
116   - var s_list=JSON.parse(conf.switch_list);
117   - var user=getApp().globalData.userInfo;
118   - //如果后台有开启等级价的功能
119   - if(user && parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
120   -
121   - var str = user['card_expiredate'].replace(/-/g, '/');
122   - var end = new Date(str);
123   - end = Date.parse(end) / 1000;
124   - var now = ut.gettimestamp();
125   - //--- 判断是等级会员,且在有效期范围内 ---
126   - if(user.card_field && now<end){
127   - th.setData({card_field:user.card_field})
128   - }
129   - }
130   - }
131   - })
132   -
133   -
134   - },
135   - //-----真的获取购物车--------
136   - get_cart: function() {
137   - var th = this;
138   - var rd = Math.random().toString(36).substr(2, 15);
139   - getApp().request.get("/api/weshop/cart/list", {
140   - data: {
141   - user_id: app.globalData.user_id,
142   - rd: rd,
143   - store_id: oo.stoid,
144   - pageSize: 600,
145   - state:0
146   - },
147   - success:async function(su) {
148   - //按门店分类的数组
149   - var arr = new Array(),
150   - carr = su.data.data.pageData;
151   - var all_num = 0;
152   -
153   - if(carr && carr.length>0) {
154   - for (var i = 0; i < carr.length; i++) {
155   - var item = carr[i];
156   - var good = null;
157   - if(item.is_gift){
158   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
159   - getApp().request.delete(url, {
160   - success: function (t) {
161   - }
162   - });
163   - //商品已经下架
164   - continue;
165   - }
166   -
167   - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
168   - good = res.data.data;
  51 +
  52 + },
  53 + onShow: function() {
  54 +
  55 + if (typeof this.getTabBar === 'function' && this.getTabBar()) {
  56 + var index=getApp().getPageIndex(this);
  57 + this.getTabBar().setData({
  58 + active: index //数字是当前页面在tabbar的索引
169 59 })
170   - if(!good){
171   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
172   - getApp().request.delete(url, {
173   - success: function (t) {
174   - }
175   - });
176   - continue;
177   - }
178   -
179   - var tt = ut.gettimestamp();
180   - //如果商品下架了,或者商品是赠品,一开始都要清除
181   - if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) {
182   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
183   - getApp().request.delete(url, {
184   - success: function (t) {
185   - }
186   - });
187   - //商品已经下架
188   - continue;
  60 +
  61 + getApp().requestCardNum(this);
  62 + }
  63 +
  64 + var th = this;
  65 + this.setData({requestData:null,is_load:0});
  66 + //调用底部导航
  67 + //t.editTabBar(th,getApp().globalData.setting.stoid,getApp().globalData.url);
  68 + //----获取系统参数-----
  69 + getApp().getConfig2(function(e) {
  70 + var json_d = JSON.parse(e.switch_list);
  71 + var is_open_offline=json_d.is_pricing_open;
  72 + th.setData({
  73 + bconfig: e,sales_rules:e.sales_rules
  74 + });
  75 +
  76 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{
  77 + //未购买
  78 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){
  79 + is_open_offline=0;
  80 + }else{
  81 + //已经过期
  82 + var item=res.data.data.pageData[0];
  83 + if(item.end_time<ut.gettimestamp()){
  84 + is_open_offline=0;
  85 + }
  86 + }
  87 + th.data.is_open_offline=is_open_offline;
  88 + th.getCardList();
  89 + });
  90 +
  91 + },1)
  92 +
  93 + //--获取是否又秒杀活动--
  94 + getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
  95 + data: {
  96 + store_id: oo.stoid,
  97 + timetype: 2,
  98 + is_end: 0,
  99 + is_show: 1,
  100 + pageSize: 1
  101 + },
  102 + }).then(res => {
  103 + if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
  104 + th.setData({
  105 + is_has_flash: 1
  106 + })
189 107 }
190   -
191   - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
192   - if (item.prom_type == 1) {
193   - var prom = null;
194   - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
195   - if (res.data.code == 0) prom = res.data.data;
196   - })
197   - //---如果有活动,不算在一起---
198   - if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
199   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
200   - a.delete(url, {
201   - success: function (t) {
202   - }
  108 + });
  109 +
  110 + },
  111 +
  112 + onHide(){
  113 + for(var i = 1; i < 100; i++) {
  114 + clearInterval(i);
  115 + }
  116 + },
  117 +
  118 + //-------------获取购物车列表,要安装门店进行分类订单-----------
  119 + getCardList: function() {
  120 + var th = this;
  121 + //如果门店还未读出来的时候
  122 + if (th.data.allsto == null) {
  123 + //读取门店
  124 + app.get_allsto(function(e) {
  125 + th.setData({
  126 + allsto: e
203 127 });
204   - //商品已经下架
205   - continue;
206   - }
207   - }
208   - //--判断优惠活动有没有过期--
209   - else if (item.prom_type == 3) {
210   - var isok = 1;
211   - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
212   - if (res.data.code == 0) {
213   - var r_data = res.data.data;
214   - if (!r_data.promGoodsLists) {
215   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
216   - getApp().request.delete(url, {});
217   - //商品已经下架
218   - isok = 0;
219   - }
220   - } else {
221   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
222   - getApp().request.delete(url, {});
223   - //商品已经下架
224   - isok = 0;
  128 + th.get_cart();
  129 + })
  130 + } else {
  131 + th.get_cart();
  132 + }
  133 +
  134 + //要获取会员是不是等级会员
  135 + getApp().getConfig2(function(conf){
  136 + //--- 看后台是不是有开通等级卡 ---
  137 + if(conf.switch_list){
  138 + var s_list=JSON.parse(conf.switch_list);
  139 + var user=getApp().globalData.userInfo;
  140 + //如果后台有开启等级价的功能
  141 + if(user && parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
  142 +
  143 + var str = user['card_expiredate'].replace(/-/g, '/');
  144 + var end = new Date(str);
  145 + end = Date.parse(end) / 1000;
  146 + var now = ut.gettimestamp();
  147 + //--- 判断是等级会员,且在有效期范围内 ---
  148 + if(user.card_field && now<end){
  149 + th.setData({card_field:user.card_field})
  150 + }
225 151 }
226   - })
227   - if (!isok) continue;
228 152 }
  153 + })
229 154  
230   - all_num += item.goods_num;
231   - item.original_img = oo.imghost + item.original_img;
232   - item.selected = 0;
233 155  
  156 + },
  157 + //-----真的获取购物车--------
  158 + get_cart: function() {
  159 + var th = this;
  160 + var rd = Math.random().toString(36).substr(2, 15);
  161 + getApp().request.get("/api/weshop/cart/list", {
  162 + data: {
  163 + user_id: app.globalData.user_id,
  164 + rd: rd,
  165 + store_id: oo.stoid,
  166 + pageSize: 600,
  167 + state:0
  168 + },
  169 + success:async function(su) {
  170 + //按门店分类的数组
  171 + var arr = new Array(),
  172 + carr = su.data.data.pageData;
  173 + var all_num = 0;
  174 +
  175 + if(carr && carr.length>0) {
  176 + for (var i = 0; i < carr.length; i++) {
  177 + var item = carr[i];
  178 + var good = null;
  179 + if(item.is_gift){
  180 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  181 + getApp().request.delete(url, {
  182 + success: function (t) {
  183 + }
  184 + });
  185 + //商品已经下架
  186 + continue;
  187 + }
  188 +
  189 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
  190 + good = res.data.data;
  191 + })
  192 + if(!good){
  193 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  194 + getApp().request.delete(url, {
  195 + success: function (t) {
  196 + }
  197 + });
  198 + continue;
  199 + }
  200 +
  201 + var tt = ut.gettimestamp();
  202 + //如果商品下架了,或者商品是赠品,一开始都要清除
  203 + if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) {
  204 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  205 + getApp().request.delete(url, {
  206 + success: function (t) {
  207 + }
  208 + });
  209 + //商品已经下架
  210 + continue;
  211 + }
234 212  
235   - var pcid = item.pick_id;
236   - var find = 0;
237   - //---------循环查找门店---
238   - if (arr.length > 0) {
239   - for (var j = 0; j < arr.length; j++) {
240   - if (arr[j].pid == pcid) {
241   - arr[j].goods.push(item);
242   - find = 1;
243   - break;
  213 + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
  214 + if (item.prom_type == 1) {
  215 + var prom = null;
  216 + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
  217 + if (res.data.code == 0) prom = res.data.data;
  218 + })
  219 + //---如果有活动,不算在一起---
  220 + if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
  221 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  222 + a.delete(url, {
  223 + success: function (t) {
  224 + }
  225 + });
  226 + //商品已经下架
  227 + continue;
  228 + }
  229 + }
  230 + //--判断优惠活动有没有过期--
  231 + else if (item.prom_type == 3) {
  232 + var isok = 1;
  233 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
  234 + if (res.data.code == 0) {
  235 + var r_data = res.data.data;
  236 + if (!r_data.promGoodsLists) {
  237 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  238 + getApp().request.delete(url, {});
  239 + //商品已经下架
  240 + isok = 0;
  241 + }
  242 + } else {
  243 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  244 + getApp().request.delete(url, {});
  245 + //商品已经下架
  246 + isok = 0;
  247 + }
  248 + })
  249 + if (!isok) continue;
  250 + } else if(item.prom_type == 0) {
  251 + //如果有优惠活动,要更新活动
  252 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
  253 + if (res.data.code == 0) {
  254 + var r_data = res.data.data;
  255 + if (r_data.promGoodsLists) {
  256 + var url = '/api/weshop/cart/update';
  257 + getApp().request.put(url, {
  258 + data:{id:item.id,store_id:oo.stoid,prom_type:3,prom_id:r_data.promGoodsLists[0].prom_id}
  259 + });
  260 + item.prom_type=3;
  261 + item.prom_id=r_data.promGoodsLists[0].prom_id;
  262 + }
  263 + }
  264 + })
  265 +
  266 + }
  267 +
  268 + all_num += item.goods_num;
  269 + item.original_img = oo.imghost + item.original_img;
  270 + item.selected = 0;
  271 + item.erpwareid=good.erpwareid; //要同步下线商品的id
  272 + item.shop_price=good.shop_price; //要同步下线商品的id
  273 +
  274 + var pcid = item.pick_id;
  275 + var find = 0;
  276 + //---------循环查找门店---
  277 + if (arr.length > 0) {
  278 + for (var j = 0; j < arr.length; j++) {
  279 + if (arr[j].pid == pcid) {
  280 + arr[j].goods.push(item);
  281 + find = 1;
  282 + break;
  283 + }
  284 + }
  285 + }
  286 +
  287 + //------如果没有找到-----
  288 + if (find == 0) {
  289 + var pikname = '';
  290 + //找到门店名称
  291 + for (var k = 0; k < th.data.allsto.length; k++) {
  292 + if (pcid == th.data.allsto[k].pickup_id) {
  293 + pikname = th.data.allsto[k].pickup_name;
  294 + break;
  295 + }
  296 + }
  297 + var narr = new Array();
  298 + narr.push(item);
  299 + var ie = {
  300 + pid: pcid,
  301 + pname: pikname,
  302 + goods: narr,
  303 + selected: 0
  304 + };
  305 + arr.push(ie);
  306 + }
  307 + }
244 308 }
245   - }
246   - }
247 309  
248   - //------如果没有找到-----
249   - if (find == 0) {
250   - var pikname = '';
251   - //找到门店名称
252   - for (var k = 0; k < th.data.allsto.length; k++) {
253   - if (pcid == th.data.allsto[k].pickup_id) {
254   - pikname = th.data.allsto[k].pickup_name;
255   - break;
  310 + if(arr.length==0) {
  311 + setTimeout(function () {
  312 + var goods_list = th.selectComponent("#goods_list"); //组件的id
  313 + goods_list.init();
  314 + goods_list.get_list();
  315 + }, 800)
256 316 }
257   - }
258   - var narr = new Array();
259   - narr.push(item);
260   - var ie = {
261   - pid: pcid,
262   - pname: pikname,
263   - goods: narr,
264   - selected: 0
265   - };
266   - arr.push(ie);
267   - }
268   - }
269   - }
270 317  
  318 + if(th.data.is_open_offline && th.data.is_open_offline>0){
  319 + //-- 此时要实时更新线下取价价格 --
  320 + for(var i=0;i<arr.length;i++){
  321 + //每个门店都去看下线下取价
  322 + var list=arr[i];
  323 + await th.set_offline(list);
  324 + }
  325 + }
  326 +
  327 + th.setData({
  328 + requestData: arr,
  329 + all_num: all_num,
  330 + is_load: 1,
  331 + is_edit: 0
  332 + }),
  333 + th.doCheckAll(), wx.stopPullDownRefresh();
271 334  
272   - if(arr.length==0) {
273   - setTimeout(function () {
274   - var goods_list = th.selectComponent("#goods_list"); //组件的id
275   - goods_list.init();
276   - goods_list.get_list();
277   - }, 800)
  335 + }
  336 + });
  337 + },
  338 +
  339 + //设置莫个门店的所有线下价格
  340 + async set_offline(list){
  341 + var th=this;
  342 + var userInfo=getApp().globalData.userInfo;
  343 + //组织一下商品,然后进行线下价格的赋值
  344 + var wlist="";
  345 + for(var i in list.goods){
  346 + //如果商品有促销活动
  347 + if(list.goods[i].prom_type>0) continue;
  348 + wlist+= encodeURIComponent(list.goods[i].erpwareid)+",";
278 349 }
  350 + wlist=ut.sub_last(wlist);
  351 + //调用接口进行赋值
  352 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  353 + data:{
  354 + store_id:os.stoid,
  355 + PickupId:list.pid,
  356 + WareIds:wlist,
  357 + VIPId:encodeURIComponent(userInfo.erpvipid)
  358 + }
  359 + }).then(res => {
  360 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  361 + for(var e in res.data.data){
  362 + th.set_cart_offline_price(res.data.data[e],list.goods);
  363 + }
  364 + }
  365 + })
  366 + },
279 367  
280   - th.setData({
281   - requestData: arr,
282   - all_num: all_num,
283   - is_load: 1,
284   - is_edit: 0
285   - }),
286   - th.doCheckAll(), wx.stopPullDownRefresh();
287   -
288   - }
289   - });
290   - },
291   - //删除商品
292   - delete_th_item: function(t) {
293   - var e = this;
294   - var a = rq;
295   - console.log(a);
296   - wx.showModal({
297   - title: "确定删除?",
298   - success: function(s) {
299   - if (s.confirm) {
300   - var r = t.currentTarget.dataset.cartid;
301   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + r;
302   - a.delete(url, {
303   - success: function(t) {
304   - e.getCardList();
  368 + //-- 设置购物车线下 --
  369 + set_cart_offline_price:function(data,glist)
  370 + {
  371 + for(var i in glist) {
  372 + if(glist[i].erpwareid==data.WareId && glist[i].prom_type==0){
  373 + if(glist[i].goods_price>=data.WarePrice){
  374 + glist[i].is_offline=1;
  375 + glist[i].offline_price=data.WarePrice;
  376 + glist[i].pricing_type=data.PriceType;
  377 + }
305 378 }
306   - });
307 379 }
308   - }
309   - });
310   - },
311   -
312   - //-----------------点击输入修改商品数量---------------
313   - valueToNum: function(t) {
314   - if(!this.data.is_load) return false;
315   - //控制住,避免事件响应冲突,只有input有输入的时候,才刷新
316   - if(this.data.btn_click){
317   - return false;
318   - }
319   - this.data.btn_click=1;
320   -
321   - var a = t.currentTarget.dataset.item;
322   - var b = t.currentTarget.dataset.pitems;
323   - a = this.data.requestData[b].goods[a];
324   - var e = a;
325   - var th=this;
326   -
327   -
328   -
329   - if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) {
330   - var s = {
331   - goods_num: a,
332   - goods_id: e.goods_id,
333   - id: e.id,
334   - store_id: oo.stoid
335   - };
336   - th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
337   - }
338   -
339   -
340   -
341   - },
342   -
343   - //-------------加数量---------------------
344   - addNum: function(t) {
345   - if(!this.data.is_load) return false;
346   - if (this.data.up_dating == 1) return false;
347   - this.data.up_dating = 1;
348   -
349   - var a = t.currentTarget.dataset.item;
350   - var b = t.currentTarget.dataset.pitems;
351   - a = this.data.requestData[b].goods[a];
352   -
353   - if (a.goods_num<a.store_count) {
354   - var e = {
355   - goods_num: a.goods_num + 1,
356   - id: a.id,
357   - goods_id: a.goods_id,
358   - store_id: oo.stoid
359   - };
360   - isShowLoading: 0;
361   - this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
362   - } else {
  380 + },
  381 + //删除商品
  382 + delete_th_item: function(t) {
  383 + var e = this;
  384 + var a = rq;
  385 + console.log(a);
363 386 wx.showModal({
364   - title: '提示',
365   - content: '购买的数量不能超出库存数量',
366   - });
367   - this.data.up_dating = 0;
368   - }
369   - },
370   - //-------------减数量---------------------
371   - subNum: function(t) {
372   - if(!this.data.is_load) return false;
373   - if (this.data.up_dating == 1) return false;
374   - this.data.up_dating = 1;
375   -
376   - var a = t.currentTarget.dataset.item;
377   - var b = t.currentTarget.dataset.pitems;
378   - a = this.data.requestData[b].goods[a];
379   - this.data.btn_click=1;
380   -
381   - if (a.goods_num - 1 < 0){
382   - this.data.up_dating = 0;
383   - return false;
384   - }
385   -
386   - if (1 != a.goods_num) {
387   - var e = {
388   - goods_num: a.goods_num - 1,
389   - id: a.id,
390   - goods_id: a.goods_id,
391   - store_id: oo.stoid
392   - };
393   - this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
394   - }
395   - },
396   - //---------------全选,全选的时候要判断是否门店的匹配方式一致--------------
397   - checkAll: function() {
398   - var e = this,
399   - dda = e.data.requestData,
400   - tfeel = 0,
401   - t_num = 0,
402   - text_arr = "";
403   - this.data.btn_click=1;
404   -
405   - for (var i = 0; i < dda.length; i++) {
406   - var item = dda[i].goods;
407   - if (!e.data.checkAllToggle) {
408   - var txt = "requestData[" + i + "].selected";
409   - e.setData({
410   - [txt]: 0,
  387 + title: "确定删除?",
  388 + success: function(s) {
  389 + if (s.confirm) {
  390 + var r = t.currentTarget.dataset.cartid;
  391 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + r;
  392 + a.delete(url, {
  393 + success: function(t) {
  394 + e.getCardList();
  395 + }
  396 + });
  397 + }
  398 + }
411 399 });
412   - }
413   - var fir = 0;
414   - for (var j = 0; j < item.length; j++) {
415   - if(item[j].is_gift) continue;
416   - if (fir == 0) {
417   - fir = item[j].distr_type;
  400 + },
  401 +
  402 + //-----------------点击输入修改商品数量---------------
  403 + valueToNum: function(t) {
  404 + if(!this.data.is_load) return false;
  405 + //控制住,避免事件响应冲突,只有input有输入的时候,才刷新
  406 + if(this.data.btn_click){
  407 + return false;
  408 + }
  409 + this.data.btn_click=1;
  410 +
  411 + var a = t.currentTarget.dataset.item;
  412 + var b = t.currentTarget.dataset.pitems;
  413 + a = this.data.requestData[b].goods[a];
  414 + var e = a;
  415 + var th=this;
  416 +
  417 + if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) {
  418 + var s = {
  419 + goods_num: a,
  420 + goods_id: e.goods_id,
  421 + id: e.id,
  422 + store_id: oo.stoid
  423 + };
  424 + th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  425 + }
  426 +
  427 + },
  428 +
  429 + //-------------加数量---------------------
  430 + addNum: function(t) {
  431 + if(!this.data.is_load) return false;
  432 + if (this.data.up_dating == 1) return false;
  433 + this.data.up_dating = 1;
  434 +
  435 + var a = t.currentTarget.dataset.item;
  436 + var b = t.currentTarget.dataset.pitems;
  437 + a = this.data.requestData[b].goods[a];
  438 +
  439 + if (a.goods_num<a.store_count) {
  440 + var e = {
  441 + goods_num: a.goods_num + 1,
  442 + id: a.id,
  443 + goods_id: a.goods_id,
  444 + store_id: oo.stoid
  445 + };
  446 + isShowLoading: 0;
  447 + this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
418 448 } else {
419   - //如果同一门店有不同门店的商品,不能同一配送
420   - if (fir != item[j].distr_type && !e.data.checkAllToggle && item[j].distr_type != 0) {
421   - text_arr += item[j].goods_name + " ";
422   - break;
423   - }
  449 + wx.showModal({
  450 + title: '提示',
  451 + content: '购买的数量不能超出库存数量',
  452 + });
  453 + this.data.up_dating = 0;
424 454 }
425   - var txt = "requestData[" + i + "].goods[" + j + "].selected"
426   - e.setData({
427   - [txt]: !e.data.checkAllToggle,
428   - })
429   - if (!e.data.checkAllToggle) {
430   - tfeel += item[j].goods_num * item[j].goods_price;
431   - t_num += item[j].goods_num;
  455 + },
  456 + //-------------减数量---------------------
  457 + subNum: function(t) {
  458 + if(!this.data.is_load) return false;
  459 + if (this.data.up_dating == 1) return false;
  460 + this.data.up_dating = 1;
  461 +
  462 + var a = t.currentTarget.dataset.item;
  463 + var b = t.currentTarget.dataset.pitems;
  464 + a = this.data.requestData[b].goods[a];
  465 + this.data.btn_click=1;
  466 +
  467 + if (a.goods_num - 1 < 0){
  468 + this.data.up_dating = 0;
  469 + return false;
432 470 }
433   - }
434   - }
435 471  
436   - if (text_arr != "") {
437   - wx.showModal({
438   - title: '提示',
439   - content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
440   - });
441   - return false;
442   - } else {
443   - e.setData({
444   - checkAllToggle: !e.data.checkAllToggle,
445   - total_fee: tfeel.toFixed(2),
446   - total_num: t_num,
447   - });
448   -
449   - for(var i in e.data.requestData){
450   - e.check_prom_activity(i)
451   - }
  472 + if (1 != a.goods_num) {
  473 + var e = {
  474 + goods_num: a.goods_num - 1,
  475 + id: a.id,
  476 + goods_id: a.goods_id,
  477 + store_id: oo.stoid
  478 + };
  479 + this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  480 + }
  481 + },
  482 + //---------------全选,全选的时候要判断是否门店的匹配方式一致--------------
  483 + checkAll: function() {
  484 + var e = this,
  485 + dda = e.data.requestData,
  486 + tfeel = 0,
  487 + t_num = 0,
  488 + text_arr = "";
  489 + this.data.btn_click=1;
  490 +
  491 + for (var i = 0; i < dda.length; i++) {
  492 + var item = dda[i].goods;
  493 + if (!e.data.checkAllToggle) {
  494 + var txt = "requestData[" + i + "].selected";
  495 + e.setData({
  496 + [txt]: 0,
  497 + });
  498 + }
  499 + var fir = 0;
  500 + for (var j = 0; j < item.length; j++) {
  501 + if(item[j].is_gift) continue;
  502 + if (fir == 0) {
  503 + fir = item[j].distr_type;
  504 + } else {
  505 + //如果同一门店有不同门店的商品,不能同一配送
  506 + if (fir != item[j].distr_type && !e.data.checkAllToggle && item[j].distr_type != 0) {
  507 + text_arr += item[j].goods_name + " ";
  508 + break;
  509 + }
  510 + }
  511 + var txt = "requestData[" + i + "].goods[" + j + "].selected"
  512 + e.setData({
  513 + [txt]: !e.data.checkAllToggle,
  514 + })
  515 + if (!e.data.checkAllToggle) {
  516 + tfeel += item[j].goods_num * item[j].goods_price;
  517 + t_num += item[j].goods_num;
  518 + }
  519 + }
  520 + }
452 521  
453   - }
454   - },
455   -
456   - //------门店全选按钮,要判断是否门店的匹配方式一致---------
457   - check_th_all_item:async function(ele) {
458   - var e = this,
459   - pitems = ele.currentTarget.dataset.pitems,
460   - item = this.data.requestData[pitems].goods,
461   - sele = this.data.requestData[pitems].selected;
462   - this.data.btn_click=1;
463   -
464   - var isok = 1,
465   - fir = 0,
466   - iarr = item;
467   - if (!sele && item.length > 0) {
468   - for (var i = 0; i < iarr.length; i++) {
469   - if(iarr[i].is_gift==1) continue;
470   - if (iarr[i].distr_type != 0) {
471   - if (fir == 0) {
472   - fir = iarr[i].distr_type;
473   - } else {
474   - if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
475   - isok = 0;
476   - break;
  522 + if (text_arr != "") {
  523 + wx.showModal({
  524 + title: '提示',
  525 + content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
  526 + });
  527 + return false;
  528 + } else {
  529 + e.setData({
  530 + checkAllToggle: !e.data.checkAllToggle,
  531 + total_fee: tfeel.toFixed(2),
  532 + total_num: t_num,
  533 + });
  534 +
  535 + for(var i in e.data.requestData){
  536 + e.check_prom_activity(i)
  537 + }
  538 +
  539 + }
  540 + },
  541 +
  542 + //------门店全选按钮,要判断是否门店的匹配方式一致---------
  543 + check_th_all_item:async function(ele) {
  544 + var e = this,
  545 + pitems = ele.currentTarget.dataset.pitems,
  546 + item = this.data.requestData[pitems].goods,
  547 + sele = this.data.requestData[pitems].selected;
  548 + this.data.btn_click=1;
  549 +
  550 + var isok = 1,
  551 + fir = 0,
  552 + iarr = item;
  553 + if (!sele && item.length > 0) {
  554 + for (var i = 0; i < iarr.length; i++) {
  555 + if(iarr[i].is_gift==1) continue;
  556 + if (iarr[i].distr_type != 0) {
  557 + if (fir == 0) {
  558 + fir = iarr[i].distr_type;
  559 + } else {
  560 + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
  561 + isok = 0;
  562 + break;
  563 + }
  564 + }
  565 + }
477 566 }
478   - }
479 567 }
480   - }
481   - }
482 568  
483   - if (!isok) {
484   - wx.showModal({
485   - title: '提示',
486   - content: '同一门店自提和物流的商品不能同时结算'
487   - });
488   - return false;
489   - }
  569 + if (!isok) {
  570 + wx.showModal({
  571 + title: '提示',
  572 + content: '同一门店自提和物流的商品不能同时结算'
  573 + });
  574 + return false;
  575 + }
490 576  
491   - for (var i = 0; i < item.length; i++) {
492   - var txt = "requestData[" + pitems + "].goods[" + i + "].selected";
493   - e.setData({
494   - [txt]: Number(!sele),
495   - });
496   - }
497   - var txt = "requestData[" + pitems + "].selected";
498   - e.setData({
499   - [txt]: Number(!sele),
500   - });
501   - await e.check_prom_activity(pitems);
502   - this.doCheckAll();
503   - },
504   -
505   - //---------------单选,也要判断门店的配送方式是否一致--------------
506   - check_th_item: async function(t) {
507   - var e = this,
508   - item = t.currentTarget.dataset.item,
509   - pitems = t.currentTarget.dataset.pitems;
510   - a = this.data.requestData[pitems].goods[item];
511   - var isok = 1,fir = 0;
512   - var iarr = e.data.requestData[pitems].goods;
513   - this.data.btn_click=1;
514   -
515   -
516   - //当数量大于1,且是选择的时候
517   - if (iarr.length > 1 && !a.selected) {
518   - for (var i = 0; i < iarr.length; i++) {
519   - if(iarr[i].is_gift==1) continue;
520   -
521   - //---当不是本身选择项目----
522   - var sel = iarr[i].selected;
523   - if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
524   - if (fir == 0) {
525   - fir = iarr[i].distr_type;
526   - } else {
527   - if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
528   - isok = 0;
529   - break;
  577 + for (var i = 0; i < item.length; i++) {
  578 + var txt = "requestData[" + pitems + "].goods[" + i + "].selected";
  579 + e.setData({
  580 + [txt]: Number(!sele),
  581 + });
  582 + }
  583 + var txt = "requestData[" + pitems + "].selected";
  584 + e.setData({
  585 + [txt]: Number(!sele),
  586 + });
  587 + await e.check_prom_activity(pitems);
  588 + this.doCheckAll();
  589 + },
  590 +
  591 + //---------------单选,也要判断门店的配送方式是否一致--------------
  592 + check_th_item: async function(t) {
  593 + var e = this,
  594 + item = t.currentTarget.dataset.item,
  595 + pitems = t.currentTarget.dataset.pitems;
  596 + a = this.data.requestData[pitems].goods[item];
  597 + var isok = 1,fir = 0;
  598 + var iarr = e.data.requestData[pitems].goods;
  599 + this.data.btn_click=1;
  600 +
  601 +
  602 + //当数量大于1,且是选择的时候
  603 + if (iarr.length > 1 && !a.selected) {
  604 + for (var i = 0; i < iarr.length; i++) {
  605 + if(iarr[i].is_gift==1) continue;
  606 +
  607 + //---当不是本身选择项目----
  608 + var sel = iarr[i].selected;
  609 + if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
  610 + if (fir == 0) {
  611 + fir = iarr[i].distr_type;
  612 + } else {
  613 + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
  614 + isok = 0;
  615 + break;
  616 + }
  617 + }
  618 + }
530 619 }
531   - }
532 620 }
533   - }
534   - }
535   - if (!isok) {
536   - wx.showModal({
537   - title: '提示',
538   - content: '同一门店自提和物流的商品不能同时结算'
539   - });
540   - } else {
541   - var txt = "requestData[" + pitems + "].goods[" + item + "].selected";
542   - e.setData({
543   - [txt]: Number(!a.selected),
544   - });
545   -
546   - if(a.prom_type==3){
547   - //判断商品是不是优惠活动
548   - await e.check_prom_activity(pitems);
549   - }
550   -
551   - this.doCheckAll();
552   - }
553   - },
554   - //----------检查是否全选---------
555   - doCheckAll: function() {
556   - var th = this,
557   - tfeel = 0,
558   - t_num = 0,
559   - ischeck = 1,
560   - car = this.data.requestData,
561   - all_num = 0;
562   -
563   - for (var a = 0; a < car.length; a++) {
564   - var item = car[a].goods,
565   - is_s_sele = 1;
566   - for (var c = 0; c < item.length; c++) {
567   - if(item[c].is_gift) continue;
568   - all_num += item[c].goods_num;
569   - if (item[c].selected == 0) {
570   - ischeck = 0;
571   - is_s_sele = 0;
  621 + if (!isok) {
  622 + wx.showModal({
  623 + title: '提示',
  624 + content: '同一门店自提和物流的商品不能同时结算'
  625 + });
572 626 } else {
573   - tfeel += item[c].goods_num * item[c].goods_price;
574   - t_num += item[c].goods_num;
  627 + var txt = "requestData[" + pitems + "].goods[" + item + "].selected";
  628 + e.setData({
  629 + [txt]: Number(!a.selected),
  630 + });
  631 +
  632 + if(a.prom_type==3){
  633 + //判断商品是不是优惠活动
  634 + await e.check_prom_activity(pitems);
  635 + }
  636 +
  637 + this.doCheckAll();
575 638 }
576   - }
  639 + },
  640 + //----------检查是否全选---------
  641 + doCheckAll: function() {
  642 + var th = this,
  643 + tfeel = 0,
  644 + t_num = 0,
  645 + ischeck = 1,
  646 + car = this.data.requestData,
  647 + all_num = 0;
  648 +
  649 + for (var a = 0; a < car.length; a++) {
  650 + var c_item=car[a];
  651 + var item = car[a].goods,
  652 + is_s_sele = 1;
  653 + var offline_price=0;
  654 + var offline_num=0;
  655 + for (var c = 0; c < item.length; c++) {
  656 + if(item[c].is_gift) continue;
  657 + all_num += item[c].goods_num;
  658 + if (item[c].selected == 0) {
  659 + ischeck = 0;
  660 + is_s_sele = 0;
  661 + } else {
  662 + tfeel += item[c].goods_num * item[c].goods_price;
  663 + t_num += item[c].goods_num;
  664 + }
577 665  
578   - var txt = "requestData[" + a + "].selected";
579   - th.setData({
580   - [txt]: Number(is_s_sele)
581   - });
  666 + //-- 如果这个商品是线下取价的时候 --
  667 + if(item[c].is_offline){
  668 + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
  669 + offline_num+=item[c].goods_num;
  670 + }
  671 +
  672 + }
  673 +
  674 + var txt = "requestData[" + a + "].selected";
  675 + th.setData({
  676 + [txt]: Number(is_s_sele)
  677 + });
  678 +
  679 + //当有线下取价的时候
  680 + if(offline_price){
  681 + var txt1= "requestData[" + a + "].offline_price";
  682 + var txt2= "requestData[" + a + "].offline_num";
  683 + th.setData({
  684 + [txt1]: offline_price.toFixed(2),
  685 + [txt2]: offline_num,
  686 + });
  687 + }
582 688  
583   - }
584   - this.setData({
585   - checkAllToggle: ischeck,
586   - total_fee: tfeel.toFixed(2),
587   - all_num: all_num,
588   - total_num: t_num
589   - });
590   - },
591   -
592   - //----------------------更新购物数量,加减,调用接口---------------------
593   - postCardList: function(t, item, pitem) {
594   -
595   - var e = this,th=e;
596   - var user_id = getApp().globalData.user_id;
597   - console.log('update');
598   - console.log(t);
599   - rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, {
600   - isShowLoading: 0,
601   - async success(d) {
602   - var limit = d.data.data.viplimited;
603   - var store_count = d.data.data.store_count;
604   - var wareIds=d.data.data.erpwareid;
605   -
606   - var goodsinfo = e.data.requestData[pitem].goods[item];
607   - var promgoodsbuynum = 0;
608   - var goodsbuynum = 0;
609   -
610   - //--要获得商品,该用户买了多少件,同步应用--
611   - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
612   - data: {
613   - store_id: oo.stoid,
614   - user_id: user_id,
615   - goods_id: goodsinfo.goods_id,
616   - prom_type: goodsinfo.prom_type,
617   - prom_id: goodsinfo.prom_id
618   - },
619   - }).then(res => {
620   - var buy_num_data = res.data.data;
621   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
622   - goodsbuynum = buy_num_data.goodsbuynum;
623   - })
624   -
625   -
626   - var buyed_mum2 = t.goods_num + goodsbuynum;
627   - if (buyed_mum2 > limit && limit > 0) {
628   - wx.showModal({
629   - title: '提示',
630   - content: '购买数量超出商品限购'
631   - });
632   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
633   - var cbuy = limit - buyed_mum2;
634   - e.setData({
635   - [txt]: cbuy > 0 ? cbuy : 0,
636   - });
637   - e.doCheckAll();
638   -
639   - t.goods_num=cbuy > 0 ? cbuy : 0,
640   - e.update_cart(t, pitem, item);
641   - return false;
642 689 }
  690 + this.setData({
  691 + checkAllToggle: ischeck,
  692 + total_fee: tfeel.toFixed(2),
  693 + all_num: all_num,
  694 + total_num: t_num
  695 + });
  696 + },
643 697  
644   -
645   - if (goodsinfo.prom_type == 1) {
646   - //读取秒杀
647   - rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
  698 + //----------------------更新购物数量,加减,调用接口---------------------
  699 + postCardList: function(t, item, pitem) {
  700 +
  701 + var e = this,th=e;
  702 + var user_id = getApp().globalData.user_id;
  703 + console.log('update');
  704 + console.log(t);
  705 + rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, {
648 706 isShowLoading: 0,
649   - success: function(res_d) {
650   -
651   - if(res_d.data.code==0){
652   - if (t.goods_num > store_count) {
653   - wx.showModal({
654   - title: '提示',
655   - content: '购买数量超出商品库存'
656   - });
657   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
658   - e.setData({
659   - [txt]: store_count
660   - });
661   - e.doCheckAll();
662   -
663   - t.goods_num=store_count;
664   - e.update_cart(t, pitem, item);
665   -
666   - return false;
667   - }
668   -
669   - var false_data = res_d.data.data;
670   - //--判断库存--
671   - if (t.goods_num > false_data.goods_num - false_data.buy_num) {
672   - wx.showModal({
673   - title: '提示',
674   - content: '购买数量超出活动库存'
675   - });
676   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
677   - e.setData({
678   - [txt]: false_data.goods_num - false_data.buy_num
679   - });
680   - e.doCheckAll();
681   -
682   - t.goods_num=false_data.goods_num - false_data.buy_num;
683   - e.update_cart(t, pitem, item);
684   -
685   - return false;
686   - }
687   -
688   - //--判断redis数量是否已经超出--
689   - if (t.goods_num > false_data.redisnum) {
690   - wx.showModal({
691   - title: '提示',
692   - content: '购买数量超出商品库存'
693   - });
694   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
695   - e.setData({
696   - [txt]: false_data.redisnum
697   - });
698   - e.doCheckAll();
699   -
700   - t.goods_num=false_data.redisnum;
701   - e.update_cart(t, pitem, item);
702   -
703   -
704   - return false;
705   - }
706   -
707   - //--活动的限购是不是要判断--
708   - if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) {
709   - wx.showModal({
710   - title: '提示',
711   - content: '购买数量超出秒杀限购'
712   - });
713   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
714   - e.setData({
715   - [txt]: false_data.false_data.buy_limit
716   - });
717   - e.doCheckAll();
718   -
719   - t.goods_num=false_data.false_data.buy_limit;
720   - e.update_cart(t, pitem, item);
721   - return false;
722   - }
723   - e.update_cart(t, pitem, item);
724   -
725   - }else{
726   - //--- 看一下是不是线下库存 ---
727   - if(th.data.sales_rules==2){
728   - th.check_down_line(t, pitem, item,wareIds);
729   - }else{
730   - if (t.goods_num > store_count) {
731   - wx.showModal({
732   - title: '提示',
733   - content: '购买数量超出商品库存'
734   - });
735   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
736   - e.setData({
737   - [txt]: store_count
738   - });
739   - e.doCheckAll();
740   - return false;
741   - }
742   - e.update_cart(t, pitem, item);
743   - }
744   - }
745   -
  707 + async success(d) {
  708 + var limit = d.data.data.viplimited;
  709 + var store_count = d.data.data.store_count;
  710 + var wareIds=d.data.data.erpwareid;
  711 +
  712 + var goodsinfo = e.data.requestData[pitem].goods[item];
  713 + var promgoodsbuynum = 0;
  714 + var goodsbuynum = 0;
  715 +
  716 + //--要获得商品,该用户买了多少件,同步应用--
  717 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  718 + data: {
  719 + store_id: oo.stoid,
  720 + user_id: user_id,
  721 + goods_id: goodsinfo.goods_id,
  722 + prom_type: goodsinfo.prom_type,
  723 + prom_id: goodsinfo.prom_id
  724 + },
  725 + }).then(res => {
  726 + var buy_num_data = res.data.data;
  727 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  728 + goodsbuynum = buy_num_data.goodsbuynum;
  729 + })
  730 +
  731 +
  732 + var buyed_mum2 = t.goods_num + goodsbuynum;
  733 + if (buyed_mum2 > limit && limit > 0) {
  734 + wx.showModal({
  735 + title: '提示',
  736 + content: '购买数量超出商品限购'
  737 + });
  738 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  739 + var cbuy = limit - buyed_mum2;
  740 + e.setData({
  741 + [txt]: cbuy > 0 ? cbuy : 0,
  742 + });
  743 + e.doCheckAll();
  744 +
  745 + t.goods_num=cbuy > 0 ? cbuy : 0,
  746 + e.update_cart(t, pitem, item);
  747 + return false;
  748 + }
  749 +
  750 +
  751 + if (goodsinfo.prom_type == 1) {
  752 + //读取秒杀
  753 + rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
  754 + isShowLoading: 0,
  755 + success: function(res_d) {
  756 +
  757 + if(res_d.data.code==0){
  758 + if (t.goods_num > store_count) {
  759 + wx.showModal({
  760 + title: '提示',
  761 + content: '购买数量超出商品库存'
  762 + });
  763 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  764 + e.setData({
  765 + [txt]: store_count
  766 + });
  767 + e.doCheckAll();
  768 +
  769 + t.goods_num=store_count;
  770 + e.update_cart(t, pitem, item);
  771 +
  772 + return false;
  773 + }
  774 +
  775 + var false_data = res_d.data.data;
  776 + //--判断库存--
  777 + if (t.goods_num > false_data.goods_num - false_data.buy_num) {
  778 + wx.showModal({
  779 + title: '提示',
  780 + content: '购买数量超出活动库存'
  781 + });
  782 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  783 + e.setData({
  784 + [txt]: false_data.goods_num - false_data.buy_num
  785 + });
  786 + e.doCheckAll();
  787 +
  788 + t.goods_num=false_data.goods_num - false_data.buy_num;
  789 + e.update_cart(t, pitem, item);
  790 +
  791 + return false;
  792 + }
  793 +
  794 + //--判断redis数量是否已经超出--
  795 + if (t.goods_num > false_data.redisnum) {
  796 + wx.showModal({
  797 + title: '提示',
  798 + content: '购买数量超出商品库存'
  799 + });
  800 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  801 + e.setData({
  802 + [txt]: false_data.redisnum
  803 + });
  804 + e.doCheckAll();
  805 +
  806 + t.goods_num=false_data.redisnum;
  807 + e.update_cart(t, pitem, item);
  808 +
  809 +
  810 + return false;
  811 + }
  812 +
  813 + //--活动的限购是不是要判断--
  814 + if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) {
  815 + wx.showModal({
  816 + title: '提示',
  817 + content: '购买数量超出秒杀限购'
  818 + });
  819 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  820 + e.setData({
  821 + [txt]: false_data.false_data.buy_limit
  822 + });
  823 + e.doCheckAll();
  824 +
  825 + t.goods_num=false_data.false_data.buy_limit;
  826 + e.update_cart(t, pitem, item);
  827 + return false;
  828 + }
  829 + e.update_cart(t, pitem, item);
  830 +
  831 + }else{
  832 + //--- 看一下是不是线下库存 ---
  833 + if(th.data.sales_rules==2){
  834 + th.check_down_line(t, pitem, item,wareIds);
  835 + }else{
  836 + if (t.goods_num > store_count) {
  837 + wx.showModal({
  838 + title: '提示',
  839 + content: '购买数量超出商品库存'
  840 + });
  841 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  842 + e.setData({
  843 + [txt]: store_count
  844 + });
  845 + e.doCheckAll();
  846 + return false;
  847 + }
  848 + e.update_cart(t, pitem, item);
  849 + }
  850 + }
  851 +
  852 + }
  853 + })
  854 + } else {
  855 + //--- 看一下是不是线下库存 ---
  856 + if(th.data.sales_rules==2){
  857 + th.check_down_line(t, pitem, item,wareIds);
  858 + }else{
  859 + if (t.goods_num > store_count) {
  860 + wx.showModal({
  861 + title: '提示',
  862 + content: '购买数量超出商品库存'
  863 + });
  864 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  865 + e.setData({
  866 + [txt]: store_count
  867 + });
  868 + e.doCheckAll();
  869 + t.goods_num=store_count;
  870 + }
  871 + e.update_cart(t, pitem, item);
  872 + }
  873 + }
746 874 }
747   - })
748   - } else {
749   - //--- 看一下是不是线下库存 ---
750   - if(th.data.sales_rules==2){
751   - th.check_down_line(t, pitem, item,wareIds);
752   - }else{
753   - if (t.goods_num > store_count) {
754   - wx.showModal({
755   - title: '提示',
756   - content: '购买数量超出商品库存'
757   - });
758   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
759   - e.setData({
760   - [txt]: store_count
761   - });
762   - e.doCheckAll();
763   - t.goods_num=store_count;
764   - }
765   - e.update_cart(t, pitem, item);
766   - }
  875 + });
  876 + },
  877 +
  878 + //---检验线下库存的数量---
  879 + async check_down_line(t, pitem, item,erpwareid){
  880 + var ob={},th=this;
  881 + await this.check_down_line_next(t, pitem, item,erpwareid,function(res){
  882 + ob=res;
  883 + });
  884 + var log=0;
  885 + if(ob.code==-1){
  886 + wx.showModal({
  887 + title: '提示',
  888 + content: '购买数量超出商品库存'
  889 + });
  890 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  891 + th.setData({
  892 + [txt]: ob.CanOutQty
  893 + });
  894 + th.doCheckAll();
  895 + t.goods_num=ob.CanOutQty;
767 896 }
768   - }
769   - });
770   - },
771   -
772   - //---检验线下库存的数量---
773   - async check_down_line(t, pitem, item,erpwareid){
774   - var ob={},th=this;
775   - await this.check_down_line_next(t, pitem, item,erpwareid,function(res){
776   - ob=res;
777   - });
778   - var log=0;
779   - if(ob.code==-1){
780   - wx.showModal({
781   - title: '提示',
782   - content: '购买数量超出商品库存'
783   - });
784   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
785   - th.setData({
786   - [txt]: ob.CanOutQty
787   - });
788   - th.doCheckAll();
789   - t.goods_num=ob.CanOutQty;
790   - }
791   - this.update_cart(t, pitem, item);
792   - },
793   -
794   - //---检验线下库存的数量的子函数---
795   - async check_down_line_next(t, pitem, item,erpwareid,func){
796   - var goodsinfo = this.data.requestData[pitem].goods[item];
797   - var lock=0,pick_no,plist;
798   - //先读取门店的lock
799   - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
800   - data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000}
801   - }).then(res=>{
802   - if(res.data.code==0 && res.data.data.total>0){
803   - for(var i in res.data.data.pageData)
804   - lock+=res.data.data.pageData[i].outQty;
805   - }
806   - })
807   - //先获取门店的编号
808   - await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{
809   - data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id}
810   - }).then(res=>{
811   - if(res.data.code==0){
812   - pick_no=res.data.data.pickup_no;
813   - }
814   - })
815   - //读取线下的门店库存
816   - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
817   - data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
818   - }).then(res=>{
819   - if(res.data.code==0){
820   - plist=res.data.data.pageData[0];
821   - }
822   - })
823   - var ob={}; ob.code=1;
824   -
825   - if(!plist){
826   - ob.code=-1;ob.CanOutQty=0;func(ob); return false;
827   - }
828   -
829   - if( t.goods_num>plist.CanOutQty-lock){
830   - ob.code=-1;
831   - ob.CanOutQty=plist.CanOutQty-lock
832   - if(ob.CanOutQty<0) ob.CanOutQty=0;
833   - }
834   - func(ob)
835   - },
836   -
837   -
838   - //--更新购物车---
839   - update_cart: function(t, pitem, item) {
840   - var e = this;
841   -
842   - getApp().request.put("/api/weshop/cart/update", {
843   - data: t,
844   - success:async function(ee) {
845   - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
846   -
847   - e.setData({
848   - [txt]: t.goods_num,
  897 + this.update_cart(t, pitem, item);
  898 + },
  899 +
  900 + //---检验线下库存的数量的子函数---
  901 + async check_down_line_next(t, pitem, item,erpwareid,func){
  902 + var goodsinfo = this.data.requestData[pitem].goods[item];
  903 + var lock=0,pick_no,plist;
  904 + //先读取门店的lock
  905 + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
  906 + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000}
  907 + }).then(res=>{
  908 + if(res.data.code==0 && res.data.data.total>0){
  909 + for(var i in res.data.data.pageData)
  910 + lock+=res.data.data.pageData[i].outQty;
  911 + }
  912 + })
  913 + //先获取门店的编号
  914 + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{
  915 + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id}
  916 + }).then(res=>{
  917 + if(res.data.code==0){
  918 + pick_no=res.data.data.pickup_no;
  919 + }
  920 + })
  921 + //读取线下的门店库存
  922 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
  923 + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
  924 + }).then(res=>{
  925 + if(res.data.code==0){
  926 + plist=res.data.data.pageData[0];
  927 + }
  928 + })
  929 + var ob={}; ob.code=1;
  930 +
  931 + if(!plist){
  932 + ob.code=-1;ob.CanOutQty=0;func(ob); return false;
  933 + }
  934 +
  935 + if( t.goods_num>plist.CanOutQty-lock){
  936 + ob.code=-1;
  937 + ob.CanOutQty=plist.CanOutQty-lock
  938 + if(ob.CanOutQty<0) ob.CanOutQty=0;
  939 + }
  940 + func(ob)
  941 + },
  942 +
  943 +
  944 + //--更新购物车---
  945 + update_cart: function(t, pitem, item) {
  946 + var e = this;
  947 +
  948 + getApp().request.put("/api/weshop/cart/update", {
  949 + data: t,
  950 + success:async function(ee) {
  951 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  952 +
  953 + e.setData({
  954 + [txt]: t.goods_num,
  955 + });
  956 + //for(var i in e.data.requestData){
  957 + await e.check_prom_activity(pitem)
  958 + //}
  959 + e.doCheckAll();
  960 + getApp().requestCardNum(e);
  961 + }
849 962 });
850   - //for(var i in e.data.requestData){
851   - await e.check_prom_activity(pitem)
852   - //}
853   - e.doCheckAll();
854   - getApp().requestCardNum(e);
855   - }
856   - });
857   - },
858   -
859   - //-------下拉刷新---------
860   - onPullDownRefresh: function(t) {
861   - this.getCardList();
862   - },
863   -
864   - //--------------去结算------------
865   - async checkout() {
866   -
867   - if(!this.data.is_load) return false;
868   - if(this.data.up_dating) {
869   - wx.showLoading({
870   - title:"计算中"
871   - })
872   - }
873   -
874   - var glist = ""; //用逗号隔开的
875   - var map = new Map(); //使用map值键进行运算
876   - var map_limit = new Map(); //使用map值键进行存储限购
877   - var g_arr = new Array(); //已选的商品列表
878   - var user_id = getApp().globalData.user_id;
879   - var th = this;
880   - //用于判断是不是积分购的普通购买
881   - var normal_arr={};
882   - var ab = 0; //选中
883   - wx.showLoading();
884   - for (var i = 0; i < this.data.requestData.length; i++) {
885   - var i_arr = this.data.requestData[i].goods;
886   -
887   -
888   - for (var j = 0; j < i_arr.length; j++) {
889   - if (i_arr[j].selected && i_arr[j].is_gift!=1) {
890   -
891   - if(i_arr[j].is_pd_normal) {
892   - normal_arr[i_arr[j].goods_id]=1;
893   - }
894   -
895   - //map 的key是不会重复,会覆盖,,
896   - var ie = {
897   - goods_id: i_arr[j].goods_id,
898   - id: i_arr[j].id,
899   - goods_price: i_arr[j].goods_price
900   - };
901   - g_arr.push(ie);
902   - if (map.has(i_arr[j].goods_id + "")) {
903   - var num11 = map.get(i_arr[j].goods_id + "");
904   - var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
905   - map.set(i_arr[j].goods_id + "", num22);
906   - } else {
907   - map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
908   - }
909   - glist += i_arr[j].goods_id + ",";
910   - ab = 1;
911   - //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
912   - if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){
913   - //--获取商品的线下商品ID--
914   - var gd=null;
915   - await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
916   - if(res.data.code==0) gd=res.data.data;
917   - })
918   - //--判断商品是线下库存--
919   - var ob={}
920   - await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
921   - ob=rs;
922   - });
923   - if(ob.code==-1){
924   - t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
925   - wx.hideLoading();
926   - return false;
927   - }
928   -
929   - var is_ok=1;
930   - //如果是优惠活动话,要看活动有没有过期
931   - if(i_arr[j].prom_type==3){
932   - //判断有没有活动
933   - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
934   - if(res.data.code==0){
935   - if(!res.data.data.promGoodsLists){
936   - t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
937   - wx.hideLoading();
938   - is_ok=0;
  963 + },
  964 +
  965 + //-------下拉刷新---------
  966 + onPullDownRefresh: function(t) {
  967 + this.getCardList();
  968 + },
  969 +
  970 + //--------------去结算------------
  971 + async checkout() {
  972 +
  973 + if(!this.data.is_load) return false;
  974 + if(this.data.up_dating) {
  975 + wx.showLoading({
  976 + title:"计算中"
  977 + })
  978 + }
  979 +
  980 + var glist = ""; //用逗号隔开的
  981 + var map = new Map(); //使用map值键进行运算
  982 + var map_limit = new Map(); //使用map值键进行存储限购
  983 + var g_arr = new Array(); //已选的商品列表
  984 + var user_id = getApp().globalData.user_id;
  985 + var th = this;
  986 + //用于判断是不是积分购的普通购买
  987 + var normal_arr={};
  988 + var ab = 0; //选中
  989 + wx.showLoading();
  990 + for (var i = 0; i < this.data.requestData.length; i++) {
  991 + var i_arr = this.data.requestData[i].goods;
  992 + for (var j = 0; j < i_arr.length; j++) {
  993 + if (i_arr[j].selected && i_arr[j].is_gift!=1) {
  994 +
  995 + if(i_arr[j].is_pd_normal) {
  996 + normal_arr[i_arr[j].goods_id]=1;
  997 + }
  998 + //map 的key是不会重复,会覆盖,,
  999 + var ie = {
  1000 + goods_id: i_arr[j].goods_id,
  1001 + id: i_arr[j].id,
  1002 + goods_price: i_arr[j].goods_price,
  1003 + };
  1004 + //判断是不是线下取价
  1005 + if(i_arr[j].is_offline){
  1006 + ie.is_offline=i_arr[j].is_offline;
  1007 + ie.offline_price=i_arr[j].offline_price;
  1008 + ie.pricing_type=i_arr[j].pricing_type;
  1009 + }
  1010 + g_arr.push(ie);
  1011 +
  1012 + if (map.has(i_arr[j].goods_id + "")) {
  1013 + var num11 = map.get(i_arr[j].goods_id + "");
  1014 + var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
  1015 + map.set(i_arr[j].goods_id + "", num22);
  1016 + } else {
  1017 + map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
  1018 + }
  1019 + glist += i_arr[j].goods_id + ",";
  1020 + ab = 1;
  1021 + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
  1022 + if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){
  1023 + //--获取商品的线下商品ID--
  1024 + var gd=null;
  1025 + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
  1026 + if(res.data.code==0) gd=res.data.data;
  1027 + })
  1028 + //--判断商品是线下库存--
  1029 + var ob={}
  1030 + await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
  1031 + ob=rs;
  1032 + });
  1033 + if(ob.code==-1){
  1034 + t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
  1035 + wx.hideLoading();
  1036 + return false;
939 1037 }
  1038 +
  1039 + var is_ok=1;
  1040 + //如果是优惠活动话,要看活动有没有过期
  1041 + if(i_arr[j].prom_type==3){
  1042 + //判断有没有活动
  1043 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
  1044 + if(res.data.code==0){
  1045 + if(!res.data.data.promGoodsLists){
  1046 + t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
  1047 + wx.hideLoading();
  1048 + is_ok=0;
  1049 + }
  1050 + }
  1051 + })
  1052 + }
  1053 + if(!is_ok){return false;}
940 1054 }
941   - })
942   - }
943   - if(!is_ok){return false;}
944   - }
945   -
946   - } else {
947   - if(i_arr[j].is_gift==1) continue;
948   - rq.put("/api/weshop/cart/update", {
  1055 +
  1056 + } else {
  1057 + if(i_arr[j].is_gift==1) continue;
  1058 + rq.put("/api/weshop/cart/update", {
  1059 + data: {
  1060 + id: i_arr[j].id,
  1061 + selected: 0,
  1062 + store_id: oo.stoid
  1063 + },
  1064 + success: function(ee) {
  1065 + console.log(ee);
  1066 + }
  1067 + });
  1068 + }
  1069 + }
  1070 + }
  1071 + if (ab == 0) {
  1072 + t.my_warnning("未选择商品", 0, th);
  1073 + wx.hideLoading();
  1074 + return false;
  1075 + }
  1076 +
  1077 + glist = glist.substring(0, glist.length - 1);
  1078 + //--取一下商品的限购 以及活动的限购,redis数量--
  1079 + rq.get("/api/weshop/goods/getGoodsListNum", {
949 1080 data: {
950   - id: i_arr[j].id,
951   - selected: 0,
952   - store_id: oo.stoid
  1081 + goodsidlist: glist,
  1082 + store_id: oo.stoid
953 1083 },
954   - success: function(ee) {
955   - console.log(ee);
  1084 + async success(ee) {
  1085 + console.log(ee);
  1086 + if (ee.data.code == 0) {
  1087 + var ddata = ee.data.data,
  1088 + isok = 1,
  1089 + gname = "",
  1090 + err = "";
  1091 + //--组装--
  1092 + for (var ij = 0; ij < ddata.length; ij++) {
  1093 + var val = ddata[ij];
  1094 + var obj = map_limit.get(val.goods_id + "");
  1095 + if (obj) continue;
  1096 +
  1097 + var promgoodsbuynum = 0;
  1098 + var goodsbuynum = 0;
  1099 + //--要获得商品,该用户买了多少件,同步应用--
  1100 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  1101 + data: {
  1102 + store_id: oo.stoid,
  1103 + user_id: user_id,
  1104 + goods_id: val.goods_id,
  1105 + prom_type: val.prom_type,
  1106 + prom_id: val.prom_id
  1107 + },
  1108 + }).then(res => {
  1109 + var buy_num_data = res.data.data;
  1110 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  1111 + goodsbuynum = buy_num_data.goodsbuynum;
  1112 + })
  1113 + var ie= {
  1114 + promgoodsbuynum: promgoodsbuynum,
  1115 + goodsbuynum: goodsbuynum
  1116 + };
  1117 + map_limit.set(val.goods_id + "", ie);
  1118 + }
  1119 +
  1120 + try {
  1121 + for(var ind in ddata) {
  1122 + var val=ddata[ind];
  1123 + var num = map.get(val.goods_id + "");
  1124 + if (num <= 0) {
  1125 + isok = 0;
  1126 + gname = val.goods_name;
  1127 + throw "购买数量不能为0";
  1128 + return false;
  1129 + }
  1130 +
  1131 + if(val.prom_type==1 || val.prom_type==6){
  1132 + if (num > val.store_count) {
  1133 + isok = 0;
  1134 + gname = val.goods_name;
  1135 + throw "超出库存";
  1136 + return false;
  1137 + }
  1138 + }
  1139 +
  1140 + if(th.data.sales_rules!=2){
  1141 + if (num > val.store_count) {
  1142 + isok = 0;
  1143 + gname = val.goods_name;
  1144 + throw "超出库存";
  1145 + return false;
  1146 + }
  1147 + }
  1148 +
  1149 + if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
  1150 + isok = 0;
  1151 + gname = val.goods_name;
  1152 + throw "超出活动库存";
  1153 + return false;
  1154 + }
  1155 + if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
  1156 + isok = 0;
  1157 + gname = val.goods_name;
  1158 + throw "超出活动库存";
  1159 + return false;
  1160 + }
  1161 +
  1162 + var buyed = map_limit.get(val.goods_id + "");
  1163 + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
  1164 + isok = 0;
  1165 + gname = val.goods_name;
  1166 + throw "超出商品限购";
  1167 + return false;
  1168 + }
  1169 +
  1170 + if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
  1171 + isok = 0;
  1172 + gname = val.goods_name;
  1173 + throw "超出活动限购";
  1174 + return false;
  1175 + }
  1176 +
  1177 +
  1178 + var card_field=th.data.card_field;
  1179 + for (var i = 0; i < g_arr.length; i++) {
  1180 + if (g_arr[i].goods_id == val.goods_id) {
  1181 +
  1182 + //如果会员是等级会员,商品有等级价,且不是活动商品
  1183 + if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){
  1184 + if (g_arr[i].goods_price != val[card_field]){
  1185 + isok = 0;
  1186 + gname = val.goods_name;
  1187 + throw "商品价格已经变化";
  1188 + }
  1189 + }else{
  1190 + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
  1191 + isok = 0;
  1192 + gname = val.goods_name;
  1193 + throw "商品价格已经变化";
  1194 + }
  1195 + }
  1196 +
  1197 + //-- 数据的更新 --
  1198 + var data={
  1199 + id: g_arr[i].id,
  1200 + selected: 1,
  1201 + store_id: oo.stoid
  1202 + };
  1203 + //-- 如果有线下取价的时候 --
  1204 + if(g_arr[i].is_offline){
  1205 + data.pricing_type=g_arr[i].pricing_type;
  1206 + data.offline_price=g_arr[i].offline_price;
  1207 + }
  1208 + rq.put("/api/weshop/cart/update", {
  1209 + data: data,
  1210 + success: function(ee) {
  1211 + console.log(ee);
  1212 + }
  1213 + });
  1214 + }
  1215 + }
  1216 +
  1217 + }
  1218 + } catch (e) {
  1219 + err = e;
  1220 + }
  1221 + if (isok == 0) {
  1222 + t.confirmBox(gname + ":" + err);
  1223 + wx.hideLoading();
  1224 + return false;
  1225 + }
  1226 + wx.hideLoading();
  1227 + wx.navigateTo({
  1228 + url: "/pages/cart/cart2/cart2"
  1229 + });
  1230 + }
956 1231 }
957   - });
  1232 + });
  1233 + },
  1234 +
  1235 + //结算到最后一个商品
  1236 + set_last: function(ab, isok, gname) {
  1237 + if (isok == 0) {
  1238 + t.my_warnning(gname + "商品超出库存", 0, this);
  1239 + } else {
  1240 + ab ? wx.navigateTo({
  1241 + url: "/pages/cart/cart2/cart2"
  1242 + }) : t.my_warnning("还没有选中商品", 0, this);
958 1243 }
959   - }
960   - }
961   - if (ab == 0) {
962   - t.my_warnning("未选择商品", 0, th);
963   - wx.hideLoading();
964   - return false;
965   - }
  1244 + },
966 1245  
967   - glist = glist.substring(0, glist.length - 1);
968   - //--取一下商品的限购 以及活动的限购,redis数量--
969   - rq.get("/api/weshop/goods/getGoodsListNum", {
970   - data: {
971   - goodsidlist: glist,
972   - store_id: oo.stoid
973   - },
974   - async success(ee) {
975   - console.log(ee);
976   - if (ee.data.code == 0) {
977   - var ddata = ee.data.data,
978   - isok = 1,
979   - gname = "",
980   - err = "";
981   - //--组装--
982   - for (var ij = 0; ij < ddata.length; ij++) {
983   - var val = ddata[ij];
984   - var obj = map_limit.get(val.goods_id + "");
985   - if (obj) continue;
986   -
987   - var promgoodsbuynum = 0;
988   - var goodsbuynum = 0;
989   - //--要获得商品,该用户买了多少件,同步应用--
990   - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
991   - data: {
992   - store_id: oo.stoid,
993   - user_id: user_id,
994   - goods_id: val.goods_id,
995   - prom_type: val.prom_type,
996   - prom_id: val.prom_id
997   - },
998   - }).then(res => {
999   - var buy_num_data = res.data.data;
1000   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
1001   - goodsbuynum = buy_num_data.goodsbuynum;
  1246 +
  1247 + //图片失败,默认图片
  1248 + bind_bnerr2: function(e) {
  1249 + var _errImg = e.target.dataset.errorimg;
  1250 + var _errurl = e.target.dataset.url;
  1251 + var ii = _errurl.indexOf(oo.imghost);
  1252 + if (ii != -1) {
  1253 + this.setData({
  1254 + [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif",
1002 1255 })
1003   - var ie = {
1004   - promgoodsbuynum: promgoodsbuynum,
1005   - goodsbuynum: goodsbuynum
1006   - };
1007   - map_limit.set(val.goods_id + "", ie);
1008   - }
1009   -
1010   - try {
1011   - for(var ind in ddata) {
1012   - var val=ddata[ind];
1013   - var num = map.get(val.goods_id + "");
1014   - if (num <= 0) {
1015   - isok = 0;
1016   - gname = val.goods_name;
1017   - throw "购买数量不能为0";
1018   - return false;
1019   - }
1020   -
1021   - if(val.prom_type==1 || val.prom_type==6){
1022   - if (num > val.store_count) {
1023   - isok = 0;
1024   - gname = val.goods_name;
1025   - throw "超出库存";
1026   - return false;
1027   - }
1028   - }
1029   -
1030   - if(th.data.sales_rules!=2){
1031   - if (num > val.store_count) {
1032   - isok = 0;
1033   - gname = val.goods_name;
1034   - throw "超出库存";
1035   - return false;
1036   - }
1037   - }
1038   -
1039   - if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
1040   - isok = 0;
1041   - gname = val.goods_name;
1042   - throw "超出活动库存";
1043   - return false;
1044   - }
1045   - if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
1046   - isok = 0;
1047   - gname = val.goods_name;
1048   - throw "超出活动库存";
1049   - return false;
1050   - }
1051   -
1052   - var buyed = map_limit.get(val.goods_id + "");
1053   - if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
1054   - isok = 0;
1055   - gname = val.goods_name;
1056   - throw "超出商品限购";
1057   - return false;
1058   - }
1059   -
1060   - if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
1061   - isok = 0;
1062   - gname = val.goods_name;
1063   - throw "超出活动限购";
1064   - return false;
1065   - }
1066   -
1067   -
1068   - var card_field=th.data.card_field;
1069   - for (var i = 0; i < g_arr.length; i++) {
1070   - if (g_arr[i].goods_id == val.goods_id) {
1071   -
1072   - //如果会员是等级会员,商品有等级价,且不是活动商品
1073   - if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){
1074   - if (g_arr[i].goods_price != val[card_field]){
1075   - isok = 0;
1076   - gname = val.goods_name;
1077   - throw "商品价格已经变化";
1078   - }
1079   - }else{
1080   - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
1081   - isok = 0;
1082   - gname = val.goods_name;
1083   - throw "商品价格已经变化";
1084   - }
1085   - }
1086   -
1087   -
1088   - rq.put("/api/weshop/cart/update", {
1089   - data: {
1090   - id: g_arr[i].id,
1091   - selected: 1,
1092   - store_id: oo.stoid
1093   - },
1094   - success: function(ee) {
1095   - console.log(ee);
1096   - }
1097   - });
1098   - }
1099   - }
  1256 + }
  1257 + },
  1258 + //设置点击按钮为true或者false
  1259 + radio_chick: function(checked, num) {
  1260 + var th = this;
  1261 + var requestData = th.data.requestData;
  1262 + },
1100 1263  
  1264 + //点击编辑后的效果
  1265 + edit_cart: function(e) {
  1266 + var type = parseFloat(e.currentTarget.dataset.type);
  1267 + this.setData({
  1268 + is_edit: type
  1269 + });
  1270 + },
  1271 +
  1272 + //--多个删除购物车商品---
  1273 + check_del: function() {
  1274 + var glist = ""; //用逗号隔开的
  1275 + var user_id = getApp().globalData.user_id;
  1276 + var th = this;
  1277 +
  1278 + var ab = 0; //选中
  1279 + for (var i = 0; i < this.data.requestData.length; i++) {
  1280 + var i_arr = this.data.requestData[i].goods;
  1281 + for (var j = 0; j < i_arr.length; j++) {
  1282 + if (i_arr[j].selected) {
  1283 + glist += i_arr[j].id + ",";
  1284 + ab = 1;
  1285 + }
1101 1286 }
1102   - } catch (e) {
1103   - err = e;
1104   - }
1105   - if (isok == 0) {
1106   - t.confirmBox(gname + ":" + err);
1107   - wx.hideLoading();
1108   - return false;
1109   - }
1110   - wx.hideLoading();
1111   - wx.navigateTo({
1112   - url: "/pages/cart/cart2/cart2"
1113   - });
1114 1287 }
1115   - }
1116   - });
1117   - },
1118   -
1119   - //结算到最后一个商品
1120   - set_last: function(ab, isok, gname) {
1121   - if (isok == 0) {
1122   - t.my_warnning(gname + "商品超出库存", 0, this);
1123   - } else {
1124   - ab ? wx.navigateTo({
1125   - url: "/pages/cart/cart2/cart2"
1126   - }) : t.my_warnning("还没有选中商品", 0, this);
1127   - }
1128   - },
1129   -
1130   -
1131   - //图片失败,默认图片
1132   - bind_bnerr2: function(e) {
1133   - var _errImg = e.target.dataset.errorimg;
1134   - var _errurl = e.target.dataset.url;
1135   - var ii = _errurl.indexOf(oo.imghost);
1136   - if (ii != -1) {
1137   - this.setData({
1138   - [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif",
1139   - })
1140   - }
1141   - },
1142   - //设置点击按钮为true或者false
1143   - radio_chick: function(checked, num) {
1144   - var th = this;
1145   - var requestData = th.data.requestData;
1146   - },
1147   -
1148   - //点击编辑后的效果
1149   - edit_cart: function(e) {
1150   - var type = parseFloat(e.currentTarget.dataset.type);
1151   - this.setData({
1152   - is_edit: type
1153   - });
1154   - },
1155   -
1156   - //--多个删除购物车商品---
1157   - check_del: function() {
1158   - var glist = ""; //用逗号隔开的
1159   - var user_id = getApp().globalData.user_id;
1160   - var th = this;
1161   -
1162   - var ab = 0; //选中
1163   - for (var i = 0; i < this.data.requestData.length; i++) {
1164   - var i_arr = this.data.requestData[i].goods;
1165   - for (var j = 0; j < i_arr.length; j++) {
1166   - if (i_arr[j].selected) {
1167   - glist += i_arr[j].id + ",";
1168   - ab = 1;
  1288 +
  1289 + if (ab == 0) {
  1290 + t.my_warnning("未选择商品", 0, th);
  1291 + return false;
1169 1292 }
1170   - }
1171   - }
  1293 + glist = glist.substring(0, glist.length - 1);
  1294 + //要删除购物车中的商品
  1295 + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
  1296 + getApp().request.delete(url, {
  1297 + success: function(t) {
  1298 + th.getCardList();
  1299 + }
  1300 + });
  1301 + },
  1302 + //跳到首页
  1303 + goto: function(e) {
  1304 + navigateTo({
  1305 + url: '/pages/index/index/index',
  1306 + })
  1307 + },
1172 1308  
1173   - if (ab == 0) {
1174   - t.my_warnning("未选择商品", 0, th);
1175   - return false;
1176   - }
1177   - glist = glist.substring(0, glist.length - 1);
1178   - //要删除购物车中的商品
1179   - var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
1180   - getApp().request.delete(url, {
1181   - success: function(t) {
1182   - th.getCardList();
1183   - }
1184   - });
1185   - },
1186   - //跳到首页
1187   - goto: function(e) {
1188   - navigateTo({
1189   - url: '/pages/index/index/index',
1190   - })
1191   - },
1192   -
1193   - //---加载更多是靠这个函数----
1194   - onReachBottom: function() {
1195   - if(this.data.requestData.length==0) {
1196   - var goods_list = this.selectComponent("#goods_list"); //组件的id
1197   - if (goods_list) goods_list.get_list();
1198   - }
1199   - },
  1309 + //---加载更多是靠这个函数----
  1310 + onReachBottom: function() {
  1311 + if(this.data.requestData.length==0) {
  1312 + var goods_list = this.selectComponent("#goods_list"); //组件的id
  1313 + if (goods_list) goods_list.get_list();
  1314 + }
  1315 + },
1200 1316  
1201   - //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
1202   - check_prom_activity:async function (cindex) {
  1317 + //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
  1318 + check_prom_activity:async function (cindex) {
1203 1319 var make_up_arr=new Array();
1204 1320 var th=this;
1205 1321 var map=new Map();
1206 1322 var list= JSON.parse(JSON.stringify(this.data.requestData[cindex]));
1207 1323 //循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量
1208   -
1209   - for(var i=0;i<list.goods.length;i++){
1210   - var item=list.goods[i];
1211   - if(item.prom_type==3 && item.selected && !item.is_gift){
1212   - if(map.has(item.prom_id+"")){
1213   - var ob=map.get(item.prom_id+"");
1214   - ob.num+=item.goods_num;
1215   - ob.price+=item.goods_num*item.goods_price;
1216   - delete map[item.prom_id+""];
1217   - map.set(item.prom_id+"",ob);
1218   - }else{
1219   - var ob={};
1220   - ob.num=item.goods_num;
1221   - ob.price=item.goods_num*item.goods_price;
1222   - map.set(item.prom_id+"",ob);
1223   - }
1224   - }
1225   - if(item.is_gift==1){
1226   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
1227   - //getApp().request.delete(url, {});
1228   - await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除
1229   - list.goods.splice(i--,1);
1230   - }
1231   - }
1232 1324  
1233   - /*--
1234   - var map2=new Map();
1235   - //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2,
1236   - for(var i in list.goods){
  1325 + for(var i=0;i<list.goods.length;i++){
1237 1326 var item=list.goods[i];
1238   - if(item.is_gift){
  1327 + if(item.prom_type==3 && item.selected && !item.is_gift){
1239 1328 if(map.has(item.prom_id+"")){
1240   - if(!map2.has(item.prom_id+"")){
1241   - map2.set(item.prom_id+"",i)
1242   - }
  1329 + var ob=map.get(item.prom_id+"");
  1330 + ob.num+=item.goods_num;
  1331 + ob.price+=item.goods_num*item.goods_price;
  1332 + delete map[item.prom_id+""];
  1333 + map.set(item.prom_id+"",ob);
1243 1334 }else{
1244   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
1245   - list.goods.splice(i,1);
1246   - getApp().request.delete(url, {});
  1335 + var ob={};
  1336 + ob.num=item.goods_num;
  1337 + ob.price=item.goods_num*item.goods_price;
  1338 + map.set(item.prom_id+"",ob);
1247 1339 }
1248 1340 }
1249   - }--*/
1250   -
1251   - var t_prom_list=new Array();
1252   -
  1341 + if(item.is_gift==1){
  1342 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1343 + //getApp().request.delete(url, {});
  1344 + await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除
  1345 + list.goods.splice(i--,1);
  1346 + }
  1347 + }
  1348 +
  1349 + /*--
  1350 + var map2=new Map();
  1351 + //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2,
  1352 + for(var i in list.goods){
  1353 + var item=list.goods[i];
  1354 + if(item.is_gift){
  1355 + if(map.has(item.prom_id+"")){
  1356 + if(!map2.has(item.prom_id+"")){
  1357 + map2.set(item.prom_id+"",i)
  1358 + }
  1359 + }else{
  1360 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1361 + list.goods.splice(i,1);
  1362 + getApp().request.delete(url, {});
  1363 + }
  1364 + }
  1365 + }--*/
  1366 +
  1367 + var t_prom_list=new Array();
  1368 +
1253 1369 for(let p_item of map.entries()){
1254 1370 var prom=null;
1255 1371 await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+p_item[0],{}).then(res=> {
1256   - if(res.data.code==0){
1257   - prom=res.data.data;
1258   - }
  1372 + if(res.data.code==0){
  1373 + prom=res.data.data;
  1374 + }
1259 1375 })
1260 1376 //如果活动已经结束
1261 1377 if(!prom || prom.is_end || prom.end_time<ut.gettimestamp() ){
1262 1378 for(var ii in list.goods){
1263   - var item=list.goods[ii];
1264   - list.goods.splice(ii,1);
1265   - if(item.prom_id==p_item[0] && item.prom_type==3){
1266   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
1267   - getApp().request.delete(url, {});
1268   - }
  1379 + var item=list.goods[ii];
  1380 + list.goods.splice(ii,1);
  1381 + if(item.prom_id==p_item[0] && item.prom_type==3){
  1382 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1383 + getApp().request.delete(url, {});
  1384 + }
1269 1385 }
1270 1386 continue;
1271 1387 }
1272   -
1273   - t_prom_list.push(prom);
1274   -
  1388 +
  1389 + t_prom_list.push(prom);
  1390 +
1275 1391 //---读取打折的详情---
1276 1392 var ob=p_item[1];var discount=null;
1277 1393 await getApp().request.promiseGet("/api/weshop/goods/getDiscount",{
1278   - data: {
1279   - price: ob.price,
1280   - prom_id: p_item[0],
1281   - goods_num: ob.num,
1282   - user_id: getApp().globalData.user_id,
1283   - is_bz: prom.is_bz
1284   - }
  1394 + data: {
  1395 + price: ob.price,
  1396 + prom_id: p_item[0],
  1397 + goods_num: ob.num,
  1398 + user_id: getApp().globalData.user_id,
  1399 + is_bz: prom.is_bz
  1400 + }
1285 1401 }).then(res=>{
1286   - if(res.data.code==0) discount=res.data.data;
  1402 + if(res.data.code==0) discount=res.data.data;
1287 1403 })
1288 1404  
1289 1405 //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量---
1290 1406 if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){
1291   - var o=discount.goodsinfo;
1292   - var newd = {
1293   - goods_id: o.goods_id,
1294   - goods_num: discount.bs,
1295   - pick_id: list.pid,
1296   - user_id: app.globalData.user_id,
1297   - store_id: os.stoid,
1298   - goods_price: 0,
1299   - member_goods_price: 0,
1300   - goods_name: o.goods_name,
1301   - goods_sn: o.goods_sn,
1302   - sku: o.sku,
1303   - is_gift: 1,
1304   - prom_id:p_item[0],
1305   - prom_type:3,
1306   - selected:1,
1307   - gift_id:discount.gift_id,
1308   - original_img:th.data.imgUrl+o.original_img
1309   - };
1310   -
1311   -
1312   - /*---
1313   - if(map2.has(p_item[0]+"")){
1314   - var index=map2.get(p_item[0]+"");
1315   - if( list.goods[index].goods_num!=discount.bs){
1316   - list.goods[index].goods_num=discount.bs;
1317   - getApp().request.put("/api/weshop/cart/update", {
1318   - data: {
1319   - id: list.goods[index].id,
1320   - selected: 1,
1321   - store_id: oo.stoid,
1322   - goods_num:discount.bs
1323   - },
1324   - success: function(ee) {
1325   - console.log(ee);
1326   - }
1327   - });
1328   - }
  1407 + var o=discount.goodsinfo;
  1408 + var newd = {
  1409 + goods_id: o.goods_id,
  1410 + goods_num: discount.bs,
  1411 + pick_id: list.pid,
  1412 + user_id: app.globalData.user_id,
  1413 + store_id: os.stoid,
  1414 + goods_price: 0,
  1415 + member_goods_price: 0,
  1416 + goods_name: o.goods_name,
  1417 + goods_sn: o.goods_sn,
  1418 + sku: o.sku,
  1419 + is_gift: 1,
  1420 + prom_id:p_item[0],
  1421 + prom_type:3,
  1422 + selected:1,
  1423 + gift_id:discount.gift_id,
  1424 + original_img:th.data.imgUrl+o.original_img
  1425 + };
  1426 +
  1427 +
  1428 + /*---
  1429 + if(map2.has(p_item[0]+"")){
  1430 + var index=map2.get(p_item[0]+"");
  1431 + if( list.goods[index].goods_num!=discount.bs){
  1432 + list.goods[index].goods_num=discount.bs;
  1433 + getApp().request.put("/api/weshop/cart/update", {
  1434 + data: {
  1435 + id: list.goods[index].id,
  1436 + selected: 1,
  1437 + store_id: oo.stoid,
  1438 + goods_num:discount.bs
  1439 + },
  1440 + success: function(ee) {
  1441 + console.log(ee);
  1442 + }
  1443 + });
  1444 + }
  1445 +
  1446 + }else{---*/
  1447 + var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id="
  1448 + +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id;
  1449 + await getApp().request.promiseDelete(url, {})
1329 1450  
1330   - }else{---*/
1331   - var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id="
1332   - +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id;
1333   - await getApp().request.promiseDelete(url, {})
1334   -
1335 1451 var add_data=null;
1336 1452 await getApp().request.promisePost("/api/weshop/cart/save", { data: newd }).then(res=>{
1337   - if(res.data.code==0){
1338   - add_data=res.data.data;
1339   - }
  1453 + if(res.data.code==0){
  1454 + add_data=res.data.data;
  1455 + }
1340 1456 })
1341 1457 if(add_data){
1342   - newd.id=add_data.id;
1343   - list.goods.push(newd);
  1458 + newd.id=add_data.id;
  1459 + list.goods.push(newd);
1344 1460 }
1345   - //}
  1461 + //}
1346 1462 }
1347   -
  1463 +
1348 1464 }
1349 1465 //--更新购物车的前台渲染--
1350 1466 var rq_text="requestData["+cindex+"]";
1351 1467 this.setData({[rq_text]:list});
1352   -
1353   - if(!t_prom_list || t_prom_list.length==0 ) return false;
1354   -
1355   - //-- 提示凑单的,放在最后显示 --
1356   - for(let prid in t_prom_list){
1357   - var prom=t_prom_list[prid];
1358   - //-- 获取凑单提示 --
1359   - await getApp().request.promiseGet("/api/weshop/promgoodslist/list",{
1360   - data:{prom_id:prom.id}
1361   - }).then(res=>{
1362   - if(res.data.code==0){
1363   - var list=res.data.data;
1364   - for(var i in list){
1365   - var item=list[i];
1366   - if(item.prom_type==0){
1367   - if(ob.price<item.condition){
1368   - var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.price).toFixed(2), content:JSON.parse(item.preferential_type)}
1369   - make_up_arr.push(elem); break;
1370   - }
1371   - }else{
1372   - if(ob.num<item.condition){
1373   - var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.num).toFixed(2), content:JSON.parse(item.preferential_type)}
1374   - make_up_arr.push(elem);break;
1375   - }
1376   - }
1377   - }
1378   - }
1379   - })
1380   - }
1381   -
1382   -
  1468 +
  1469 + if(!t_prom_list || t_prom_list.length==0 ) return false;
  1470 +
  1471 + //-- 提示凑单的,放在最后显示 --
  1472 + for(let prid in t_prom_list){
  1473 + var prom=t_prom_list[prid];
  1474 + //-- 获取凑单提示 --
  1475 + await getApp().request.promiseGet("/api/weshop/promgoodslist/list",{
  1476 + data:{prom_id:prom.id}
  1477 + }).then(res=>{
  1478 + if(res.data.code==0){
  1479 + var list=res.data.data;
  1480 + for(var i in list){
  1481 + var item=list[i];
  1482 + if(item.prom_type==0){
  1483 + if(ob.price<item.condition){
  1484 + var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.price).toFixed(2), content:JSON.parse(item.preferential_type)}
  1485 + make_up_arr.push(elem); break;
  1486 + }
  1487 + }else{
  1488 + if(ob.num<item.condition){
  1489 + var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.num).toFixed(2), content:JSON.parse(item.preferential_type)}
  1490 + make_up_arr.push(elem);break;
  1491 + }
  1492 + }
  1493 + }
  1494 + }
  1495 + })
  1496 + }
  1497 +
  1498 +
1383 1499 var diff_text="requestData["+cindex+"].make_up_arr";
1384 1500 //-- 如果有凑单的话 --
1385 1501 if(make_up_arr.length>0){
1386   - this.setData({[diff_text]:make_up_arr});
  1502 + this.setData({[diff_text]:make_up_arr});
1387 1503 }else{
1388   - this.setData({[diff_text]:null});
  1504 + this.setData({[diff_text]:null});
1389 1505 }
1390   - },
1391   -
1392   - //去凑单
1393   - go_cou_dang:function (e) {
1394   - var prom_id=e.currentTarget.dataset.prom_id;
1395   - var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id;
1396   - getApp().goto(url);
1397   - },
1398   -
1399   - //导航跳转
1400   - nav_goto:function(e){
1401   - var url=e.currentTarget.dataset.url;
1402   - if(!url || url=='') return;
1403   - if(url[0]!='/') url='/'+url;
1404   - getApp().goto(url);
1405 1506 },
1406   -
1407   - refresh_input:function(){
1408   - this.data.btn_click=0;
1409   - }
  1507 +
  1508 + //去凑单
  1509 + go_cou_dang:function (e) {
  1510 + var prom_id=e.currentTarget.dataset.prom_id;
  1511 + var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id;
  1512 + getApp().goto(url);
  1513 + },
  1514 +
  1515 + //导航跳转
  1516 + nav_goto:function(e){
  1517 + var url=e.currentTarget.dataset.url;
  1518 + if(!url || url=='') return;
  1519 + if(url[0]!='/') url='/'+url;
  1520 + getApp().goto(url);
  1521 + },
  1522 +
  1523 + refresh_input:function(){
  1524 + this.data.btn_click=0;
  1525 + }
1410 1526 });
1411 1527 \ No newline at end of file
... ...
pages/cart/cart/cart.wxml
... ... @@ -76,6 +76,9 @@
76 76 <view class="goods-price co-red baseline ellipsis-1">
77 77 <view class="fs20">¥</view>
78 78 <view class="fs28">{{items.goods_price}}</view>
  79 +
  80 + <view wx:if="{{items.is_offline}}" class="quan_color flex ai-center"><text>券后 ¥{{items.offline_price}}</text></view>
  81 +
79 82 </view>
80 83 <view class="count">
81 84 <view bindtap="subNum" class="sub fs28" data-pitems="{{pidx}}" data-item="{{idx}}">一</view>
... ... @@ -89,8 +92,8 @@
89 92 </view>
90 93 </view>
91 94 </view>
92   - <!--- 去凑单 -->
93   - <view style="margin-top: 20rpx; padding: 0 30rpx">
  95 + <!--- 去凑单 -->
  96 + <view style="margin-top: 20rpx; padding: 0 30rpx">
94 97 <view class="flex jc_sb fs28" wx:for="{{item.make_up_arr}}" style="margin-bottom: 20rpx" >
95 98 <view class="ellipsis-1" style="width: 80%">再买<text class="co-red">{{item.diff}}<text wx:if="{{item.diff_type==0}}">元</text>
96 99 <text wx:if="{{item.diff_type==1}}">件</text>
... ... @@ -107,6 +110,12 @@
107 110 <view class="co-red" data-prom_id="{{item.prom_id}}" bindtap="go_cou_dang">去凑单></view>
108 111 </view>
109 112 </view>
  113 +
  114 + <!-- 线下取价 -->
  115 + <view style="margin:10rpx 0; padding: 0 30rpx;color: #999" wx:if="{{item.offline_price}}" class="fs28">
  116 + 当前<text class="red_c">{{item.offline_num}}</text>件商品,可使用<text class="red_c">{{item.offline_price}}</text>元店铺优惠
  117 + </view>
  118 +
110 119 </block>
111 120 </view>
112 121 <view class="pay-for flex-vertical-between">
... ...
pages/cart/cart/cart.wxss
... ... @@ -73,7 +73,7 @@ radio {
73 73 }
74 74  
75 75 .goods-cont {
76   - width: 385rpx;
  76 + width: 420rpx;
77 77 height: 165rpx;
78 78 font-size: 28rpx;
79 79 margin-left: 35rpx;
... ... @@ -110,7 +110,7 @@ radio {
110 110 }
111 111  
112 112 .count>view, .count>input {
113   - width: 50rpx;
  113 + width: 45rpx;
114 114 height: 40rpx;
115 115 line-height: 40rpx;
116 116 text-align: center;
... ... @@ -118,6 +118,7 @@ radio {
118 118 font-size: 18rpx;
119 119 justify-content: center;
120 120 min-height: 35rpx;
  121 + align-items: center;
121 122 }
122 123  
123 124 .count>.goodadd {
... ... @@ -350,3 +351,5 @@ page {
350 351 overflow-x: hidden;
351 352 padding-bottom: 100rpx;
352 353 }
  354 +.quan_color{ background-color: #ff5306; height: 40rpx;color: #fff; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx}
  355 +.red_c{color:#ff5306}
... ...
pages/cart/cart2/cart2.js
... ... @@ -114,6 +114,7 @@ Page({
114 114 card_cut_price:null,//减价多少钱
115 115  
116 116 show_submit:0, //提交按钮变正常显示
  117 + is_get_offline:1,
117 118  
118 119 },
119 120 onLoad: function(t) {
... ... @@ -511,7 +512,27 @@ Page({
511 512 }
512 513 }
513 514 }
514   -
  515 +
  516 + //-- 循环计算一下线下取价 --
  517 + for (var k = 0; k < arr.length; k++) {
  518 + var c_item=arr[k];
  519 + var item = arr[k].goods;
  520 + var offline_price=0;
  521 + var offline_num=0;
  522 + for (var c = 0; c < item.length; c++) {
  523 + //-- 如果这个商品是线下取价的时候 --
  524 + if(item[c].offline_price>0){
  525 + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
  526 + offline_num+=item[c].goods_num;
  527 + }
  528 + }
  529 + if(offline_price>0){
  530 + c_item.offline_price=offline_price;
  531 + c_item.offline_num=offline_num;
  532 + c_item.is_offline=1;
  533 + }
  534 + }
  535 +
515 536 //深拷贝
516 537 th.data.old_cartlist= JSON.parse(JSON.stringify(arr));
517 538 th.setData({
... ... @@ -587,6 +608,8 @@ Page({
587 608 th.setData({card_cut_price:cut_p});
588 609 }
589 610 }
  611 +
  612 +
590 613  
591 614 switch (gd.prom_type){
592 615 case 0:
... ... @@ -603,7 +626,18 @@ Page({
603 626 th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
604 627 th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
605 628 th.data.check_quan_ware_list=t.data.data.erpwareid+"";
606   -
  629 +
  630 + //-- 如果有线下取价的时候 --
  631 + if(gg.offline_price){
  632 + t.data.data.offline_price=gg.offline_price;
  633 + t.data.data.pricing_type=gg.pricing_type;
  634 + t.data.data.is_offline=1;
  635 +
  636 + th.data.ckeck_quan_price=t.data.data.offline_price*gg.goods_num;
  637 + th.data.check_quan_price_list=t.data.data.offline_price*gg.goods_num+"";
  638 + th.data.check_quan_ware_list=t.data.data.erpwareid+"";
  639 + }
  640 +
607 641 t.data.data.prom_id = 0;
608 642 t.data.data.prom_type = 0;
609 643  
... ... @@ -659,7 +693,9 @@ Page({
659 693 if(gg.prom_type==5){
660 694 t.data.data.prom_id = gg.prom_id ;
661 695 t.data.data.prom_type =5;
662   -
  696 + if(gg.room_id){
  697 + t.data.data.room_id=gg.room_id;
  698 + }
663 699 //--主商品要有导购id和导购类型--
664 700 if(gg.guide_id){
665 701 t.data.data.guide_id=gg.guide_id;
... ... @@ -673,8 +709,21 @@ Page({
673 709 var narr=JSON.parse(JSON.stringify(gg.collocation_goods));
674 710  
675 711 narr.push(t.data.data);
  712 +
  713 + //-- 搭配促销的门店配送方式的修复 --
  714 + et=1;distr_t=0;
  715 + for(var hi in narr){
  716 + var dis_t=narr[hi].distr_type;
  717 + if(dis_t==2){
  718 + th.setData({ is_all_zt:0});et=0;
  719 + }
  720 + if(dis_t>0){
  721 + distr_t=dis_t;
  722 + }
  723 + }
  724 +
676 725 var ie = {
677   - pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,
  726 + 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,
678 727 goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0};
679 728 cart_arr.push(ie);
680 729 th.data.old_cartlist=cart_arr;
... ... @@ -1029,7 +1078,12 @@ Page({
1029 1078 var f_o_price=o_price;
1030 1079 //如果又优惠的钱,就要减价
1031 1080 if(c_arr[i].cut_price>0) o_price-=c_arr[i].cut_price;
1032   -
  1081 +
  1082 + //-- 计算线下取价的功能 --
  1083 + if(cart_item.is_offline==1){
  1084 + o_price=o_price-cart_item.offline_price;
  1085 + }
  1086 +
1033 1087 //判断包邮券的钱
1034 1088 var q_conditin=0;
1035 1089 q_conditin=o_price-quan_price;
... ... @@ -1038,6 +1092,8 @@ Page({
1038 1092 //计算物流费用
1039 1093 cart_item.shipping_price = 0;
1040 1094  
  1095 +
  1096 +
1041 1097 //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额--
1042 1098 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) ){
1043 1099 //如果有设置不包邮区域的时候
... ... @@ -1141,7 +1197,6 @@ Page({
1141 1197 continue;
1142 1198 }
1143 1199  
1144   -
1145 1200 //----------------如果是选择了物流---------------------
1146 1201 if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
1147 1202 //如果地址不为空
... ... @@ -1355,9 +1410,13 @@ Page({
1355 1410 //-----------计算商品总价--------------
1356 1411 var allpice = good.shop_price * good.buynum;
1357 1412 var cut_price=0;
  1413 + var allpice1=allpice;
  1414 +
  1415 +
1358 1416 if(good.prom_type==3 && good.prom_price!==null){
1359 1417 cut_price=allpice-good.prom_price;
1360 1418 }
  1419 +
1361 1420 allpice=parseFloat(allpice).toFixed(2);
1362 1421 var txt = "formData.all_price";
1363 1422 th.setData({ [txt]: allpice, });
... ... @@ -1366,6 +1425,12 @@ Page({
1366 1425 th.setData({ [c_txt]: cut_price, });
1367 1426  
1368 1427 }
  1428 +
  1429 + //如果有线下取价的时候
  1430 + if(good.is_offline){
  1431 + allpice = good.offline_price * good.buynum;
  1432 + }
  1433 +
1369 1434  
1370 1435 to.getConfig2(function (ee) {
1371 1436 to.getwuliuprice(async function (rs) {
... ... @@ -1500,7 +1565,7 @@ Page({
1500 1565 }
1501 1566 }
1502 1567 //-----------------支付价,优惠券不减物流-----------------
1503   - var total_m = (parseFloat(allpice)).toFixed(2);
  1568 + var total_m = (parseFloat(allpice1)).toFixed(2);
1504 1569 var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2);
1505 1570 var coupon_price=quan_price; //优惠券优惠了多少钱
1506 1571 if(order_m<0) {
... ... @@ -1731,6 +1796,8 @@ Page({
1731 1796 item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
1732 1797 item.coupon_price=0;
1733 1798 }
  1799 +
  1800 +
1734 1801  
1735 1802 var goods={
1736 1803 'goods_id': gg.goods_id,
... ... @@ -1778,7 +1845,16 @@ Page({
1778 1845 return false;
1779 1846 }
1780 1847 }
1781   -
  1848 +
  1849 + //-- 如果有线下取价的话 --
  1850 + if(th.data.bn_goods.is_offline){
  1851 + item.sum_offline_cut= (th.data.bn_goods.shop_price- th.data.bn_goods.offline_price).toFixed(2);
  1852 + goods.offline_cut=item.sum_offline_cut;
  1853 + goods.pricing_type=th.data.bn_goods.pricing_type;
  1854 + goods.goods_price=th.data.bn_goods.offline_price;
  1855 + goods.member_goods_price=th.data.bn_goods.offline_price;
  1856 + }
  1857 +
1782 1858 //--- 如果有优惠促销的金额,要把金额先平摊下去 ---
1783 1859 if(th.data.formData.cut_price>0 && !th.data.ispt_goods){
1784 1860 var g_arr=new Array();
... ... @@ -1801,7 +1877,6 @@ Page({
1801 1877 }
1802 1878 }
1803 1879  
1804   -
1805 1880 //--组装优惠券的钱--
1806 1881 if(th.data.formData.coupon_price){
1807 1882 item.coupon_price=th.data.formData.coupon_price;
... ... @@ -1884,6 +1959,10 @@ Page({
1884 1959 };
1885 1960 //是不是重新提交
1886 1961 if(th.data.is_continue==1) item.is_continue=1;
  1962 + //----- 如果有线下取价的话 ----
  1963 + if(t_item.is_offline==1){
  1964 + item.sum_offline_cut=t_item.offline_price.toFixed(2);
  1965 + }
1887 1966  
1888 1967 //组装优惠券的钱
1889 1968 if(t_item.coupon_price) {
... ... @@ -1935,7 +2014,14 @@ Page({
1935 2014 'store_id': oo.stoid,
1936 2015 };
1937 2016  
1938   -
  2017 + //-- 线下取价也要写入 --
  2018 + if(g_item.offline_price && t_item.is_offline==1){
  2019 + goods.goods_price=g_item.offline_price;
  2020 + goods.member_goods_price=g_item.offline_price;
  2021 + goods.offline_cut=(g_item.goods_price-g_item.offline_price).toFixed(2);
  2022 + goods.pricing_type=g_item.pricing_type;
  2023 + }
  2024 +
1939 2025 //--把券的钱,写入从表---
1940 2026 if(t_item.quan_youhui_list && t_item.coupon_price ){
1941 2027 for(var kk in t_item.quan_youhui_list ){
... ... @@ -2942,8 +3028,10 @@ Page({
2942 3028 var quanlist=null,th=this,frozenQuan = null;
2943 3029 var good = this.data.bn_goods;
2944 3030 if(good.prom_price){
2945   - th.data.ckeck_quan_price=good.prom_price;
2946   - }
  3031 + th.data.ckeck_quan_price=good.prom_price; //如果有优惠价,就用优惠价
  3032 + }else if(good.is_offline){
  3033 + th.data.ckeck_quan_price=good.offline_price; //如果有线下取价,就用线下价
  3034 + }
2947 3035 //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
2948 3036 if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1)
2949 3037 {
... ... @@ -3212,7 +3300,68 @@ Page({
3212 3300 buycard:function(){
3213 3301 getApp().goto("/pages/user/plus/plus");
3214 3302 getApp().globalData.plus_buy_back=1;
3215   - }
  3303 + },
  3304 +
  3305 + //跳转关闭弹出框的显示
  3306 + close_offline:function(){
  3307 + this.setData({is_offline_show:0});
  3308 + },
  3309 +
  3310 + //立即购买显示弹出框
  3311 + bn_pop_offline:function(){
  3312 + var off_price=this.data.bn_goods.shop_price-this.data.bn_goods.offline_price;
  3313 + //是不是线下
  3314 + var is_get_offline=this.data.bn_goods.is_offline;
  3315 + this.setData({is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
  3316 + },
  3317 +
  3318 + //确定使用线下取价
  3319 + sure_offline:function(){
  3320 + var bn_goods=this.data.bn_goods;
  3321 + if(bn_goods && bn_goods.prom_type==0){
  3322 + bn_goods.is_offline=1;
  3323 + this.setData({is_offline_show:0,bn_goods:bn_goods});
  3324 + this.calculatePrice2();
  3325 + }
  3326 + //就是购物车结算时的
  3327 + else{
  3328 + var index=this.data.pop_offline_index;
  3329 + var txt="cartlist["+index+"].is_offline";
  3330 + this.setData({[txt]:1,is_offline_show:0,});
  3331 + this.data.old_cartlist[index].is_offline=1;
  3332 + this.calculatePrice();
  3333 + }
  3334 + },
  3335 +
  3336 +
  3337 + //取消使用线下取价
  3338 + cancle_offline:function(){
  3339 + //判断是不是立即购买
  3340 + var bn_goods=this.data.bn_goods;
  3341 + if(bn_goods && bn_goods.prom_type==0){
  3342 + bn_goods.is_offline=0;
  3343 + this.setData({is_offline_show:0,bn_goods:bn_goods});
  3344 + this.calculatePrice2();
  3345 + }
  3346 + //就是购物车结算时的
  3347 + else{
  3348 + var index=this.data.pop_offline_index;
  3349 + var txt="cartlist["+index+"].is_offline";
  3350 + this.setData({[txt]:0,is_offline_show:0,})
  3351 + this.data.old_cartlist[index].is_offline=0;
  3352 + this.calculatePrice();
  3353 + }
  3354 + },
  3355 +
  3356 + //-- 弹出购物车选择是不是要店铺优惠 --
  3357 + cart_pop_offline:function (e){
  3358 + var index=e.currentTarget.dataset.index;
  3359 + var item=this.data.cartlist[index];
  3360 + var off_price=item.offline_price;
  3361 + //是不是线下
  3362 + var is_get_offline=item.is_offline;
  3363 + this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
  3364 + }
3216 3365  
3217 3366  
3218 3367  
... ...
pages/cart/cart2/cart2.wxml
... ... @@ -170,6 +170,22 @@
170 170 </view>
171 171 </view>
172 172  
  173 + <!-- 是否参与店铺优惠 -->
  174 + <view class="coupon-mes flex-vertical" data-index="{{index}}" bindtap="cart_pop_offline" wx:if="{{item.offline_price}}">
  175 + <view>店铺优惠</view>
  176 + <view class="leave-word fs32" style="color: #999;">
  177 + 省{{filters.toFix(item.offline_price,2)}}元
  178 + </view>
  179 + <block wx:if="{{item.is_offline}}">
  180 + <text style="color: #d7642b;">-¥{{filters.toFix(item.offline_price,2)}}</text>
  181 + </block>
  182 + <block wx:else>
  183 + <text style="color: #d7642b;">不使用优惠</text>
  184 + </block>
  185 + <!-- 右边点击 -->
  186 + <view class="xc-right" style="margin-right: 12rpx; border-color: #d7642b;"></view>
  187 + </view>
  188 +
173 189 </view>
174 190  
175 191 <!-----使用余额------>
... ... @@ -322,7 +338,7 @@
322 338 </block>
323 339 </view>
324 340 </view>
325   -
  341 + <!-- 留言 -->
326 342 <view class="coupon-mes flex-vertical">
327 343 <view>留言</view>
328 344 <view class="leave-word">
... ... @@ -330,6 +346,23 @@
330 346 class="word-box" maxlength="100" name="user_note"></input>
331 347 </view>
332 348 </view>
  349 +
  350 + <!-- 是否参与店铺优惠 -->
  351 + <view class="coupon-mes flex-vertical" bindtap="bn_pop_offline" wx:if="{{bn_goods.offline_price}}">
  352 + <view>店铺优惠</view>
  353 + <view class="leave-word fs32" style="color: #999;">
  354 + 省{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}元
  355 + </view>
  356 + <block wx:if="{{bn_goods.is_offline}}">
  357 + <text style="color: #d7642b;">-¥{{filters.toFix(bn_goods.shop_price-bn_goods.offline_price,2)}}</text>
  358 + </block>
  359 + <block wx:else>
  360 + <text style="color: #d7642b;">不使用优惠</text>
  361 + </block>
  362 + <!-- 右边点击 -->
  363 + <view class="xc-right" style="margin-right: 12rpx; border-color: #d7642b;"></view>
  364 + </view>
  365 +
333 366  
334 367 <!-----使用余额------>
335 368 <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}">
... ... @@ -586,5 +619,16 @@
586 619  
587 620 </view>
588 621 </view>
589   -
590 622 <warn id="warn"></warn>
  623 +<!-- 是不是使用店铺优惠pop -->
  624 +<view class="cover-layer flex ai-center" bindtap="close_offline" wx:if="{{is_offline_show}}">
  625 + <view style="background-color: #fff; width: 540rpx; margin: 0 auto; border-radius: 20rpx;">
  626 + <view class="fs32" style="text-align: center;height: 80rpx; line-height: 80rpx;">店铺优惠</view>
  627 + <view class="flex jc_sb ai-center fs28" style="height: 80rpx; width: 400rpx; margin-left: 70rpx;">
  628 + <view catchtap="sure_offline" class="flex ai-center" >优惠¥{{show_off_price}}
  629 + <icon style="margin-left: 10rpx;" color="{{is_get_offline?'red':'gray'}}" size="14" type="success" role="img"></icon></view>
  630 + <view catchtap="cancle_offline" class="flex ai-center" >不用优惠
  631 + <icon style="margin-left: 10rpx;" color="{{is_get_offline!=1?'red':'gray'}}" size="14" type="success" role="img"></icon> </view>
  632 + </view>
  633 + </view>
  634 +</view>
... ...
pages/cart/cart2_pt/cart2_pt.js
... ... @@ -287,7 +287,7 @@ Page({
287 287 th.setData({user_addr: ie });
288 288 if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){
289 289 th.setData({add_back:1});
290   - th.calculatePrice2();
  290 + if(this.data.bn_goods) th.calculatePrice2();
291 291 }
292 292 })
293 293 //--更新默认地址--,看一下是不是跳到地址页面
... ...
pages/error/error.js 0 → 100644
  1 +var t = require("../../utils/common.js");var os=getApp().globalData.setting;
  2 +Page({
  3 + data:{
  4 + store:null,
  5 + imghots: os.imghost,
  6 + msg:"",
  7 + },
  8 +
  9 + onLoad:function(t){
  10 + var th=this,app = getApp();
  11 + app.getConfig(function(e){
  12 + th.setData({ store:e,msg:t.msg});
  13 + wx.setNavigationBarTitle({
  14 + title: e.store_name//页面标题
  15 + })
  16 + })
  17 + },
  18 +
  19 + phone:function (){
  20 + if(this.data.msg.indexOf("可联系:")!=-1){
  21 + var tel=this.data.msg.split("可联系:")[1];
  22 + if(tel){
  23 + wx.makePhoneCall({
  24 + phoneNumber: tel,
  25 + })
  26 + }
  27 + }
  28 + }
  29 +
  30 +
  31 +});
... ...
pages/error/error.json 0 → 100644
  1 +{}
0 2 \ No newline at end of file
... ...
pages/error/error.wxml 0 → 100644
  1 +<view class="all_page">
  2 + <view class="content">
  3 + <view><image class='logo' src="{{imghots+store.store_logo}}"> </image></view>
  4 + <view class="title">{{store.store_name}}</view>
  5 + <view>{{store.store_desc}}</view>
  6 + <view bindtap="phone" class="err"><text>{{msg}}</text></view>
  7 + </view>
  8 +</view>
0 9 \ No newline at end of file
... ...
pages/error/error.wxss 0 → 100644
  1 +.all_page{
  2 + position: fixed;
  3 + height: 100%;
  4 + width: 100%;
  5 + background: #fff;
  6 + justify-content: center;/*水平居中*/
  7 +}
  8 +.all_page .content{
  9 + font-size: 30rpx;
  10 + text-align: center;
  11 + height: 400px;
  12 + width: 100%;
  13 + position: absolute;
  14 + top: 50%;
  15 + margin-top:-200px;
  16 +}
  17 +.logo{width: 140rpx; height: 140rpx; border-radius:50% }
  18 +.all_page .content .title{
  19 + font-size: 36rpx; margin: 20rpx 0
  20 +}
  21 +
  22 +.all_page .err{
  23 + color:red;
  24 + font-size: 36rpx;
  25 + margin-top: 300rpx;
  26 +}
0 27 \ No newline at end of file
... ...
pages/goods/goodsInfo/buy_integral.wxml
... ... @@ -49,7 +49,8 @@
49 49 <block wx:else>
50 50 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
51 51 <block wx:else>
52   - <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
  52 + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
  53 + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
53 54 </block>
54 55 </block>
55 56  
... ... @@ -77,7 +78,14 @@
77 78 </view>
78 79  
79 80 <!-- 按钮部分 -->
80   - <view class="spec-cart-btns">
  81 + <view class="spec-cart-btns">
  82 + <!-- 根本就找不到门店 -->
  83 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  84 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  85 + </block>
  86 +
  87 + <block wx:else>
  88 +
81 89 <!-- 根本就找不到门店 -->
82 90 <block wx:if="{{!only_pk && !def_pickpu_list}}">
83 91 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
... ... @@ -107,8 +115,9 @@
107 115 </block>
108 116 </block>
109 117 </block>
110   - </block>
111   - </view>
  118 + </block>
  119 + </block>
  120 + </view>
112 121  
113 122  
114 123 </view>
... ...
pages/goods/goodsInfo/buy_integral_normal.wxml
... ... @@ -51,7 +51,8 @@
51 51 <block wx:else>
52 52 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
53 53 <block wx:else>
54   - <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
  54 + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
  55 + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
55 56 </block>
56 57 </block>
57 58 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view>
... ... @@ -79,6 +80,13 @@
79 80  
80 81 <!-- 按钮部分 -->
81 82 <view class="spec-cart-btns">
  83 +
  84 +
  85 + <!-- 根本就找不到门店 -->
  86 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  87 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  88 + </block>
  89 + <block wx:else>
82 90 <!-- 根本就找不到门店 -->
83 91 <block wx:if="{{!only_pk && !def_pickpu_list}}">
84 92 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
... ... @@ -113,8 +121,9 @@
113 121 </block>
114 122 </block>
115 123 </block>
116   - </block>
117   - </view>
  124 + </block>
  125 + </block>
  126 + </view>
118 127  
119 128  
120 129 </view>
... ...
pages/goods/goodsInfo/buy_pt.wxml
... ... @@ -49,6 +49,8 @@
49 49  
50 50 <view class="flex ai_end" wx:if="{{def_pick_store}}">
51 51 <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>
  52 +
  53 +
52 54 <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">
53 55 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
54 56  
... ... @@ -66,6 +68,8 @@
66 68 <text class="right-arrow"></text>
67 69 </view>
68 70 </view>
  71 + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
  72 + <view class="no_store" wx:elif="{{is_normal && def_pick_store && def_pick_store.CanOutQty<=0}}">(库存不足)</view>
69 73 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view>
70 74 </view>
71 75 <!----商品的属性项目---->
... ... @@ -139,6 +143,12 @@
139 143 <block wx:if="{{is_normal==1}}">
140 144 <!-- 按钮部分 -->
141 145 <view class="spec-cart-btns">
  146 + <!-- 根本就找不到门店 -->
  147 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  148 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  149 + </block>
  150 + <block wx:else>
  151 +
142 152 <!-- 根本就找不到门店 -->
143 153 <block wx:if="{{!only_pk && !def_pickpu_list}}">
144 154 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
... ... @@ -167,13 +177,20 @@
167 177  
168 178 </block>
169 179 </block>
170   - </block>
171   - </block>
172   - </view>
  180 + </block>
  181 + </block>
  182 + </block>
  183 + </view>
173 184  
174 185 </block>
175 186 <block wx:else>
176   - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
  187 + <!-- 根本就找不到门店 -->
  188 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  189 + <view class="spec-cart-btn spec-buy w100" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  190 + </block>
  191 + <block wx:else>
  192 + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
  193 + </block>
177 194 </block>
178 195  
179 196  
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -246,6 +246,7 @@ Page({
246 246 showPoster: false,
247 247 hui_condition:null,
248 248 sto_sele_name_1:'',//分享的门店名称
  249 +
249 250 },
250 251  
251 252 //------初始化加载----------
... ... @@ -408,7 +409,7 @@ Page({
408 409 })
409 410 }
410 411  
411   - });
  412 + },1);
412 413  
413 414 //获取用户设备信息,屏幕宽度
414 415 wx.getSystemInfo({
... ... @@ -420,20 +421,21 @@ Page({
420 421 });
421 422  
422 423 //获取用户的默认门店
423   - getApp().get_user_store(function(ee) {
424   -
425   - if(!ee) {
  424 + getApp().get_user_store(function(e) {
  425 + if(!e) {
426 426 th.data.fir_def_store={}; //赋值空对象
427 427 return false;
428 428 }
429   -
  429 + var ee=JSON.parse(JSON.stringify(e));
430 430 //--定时器推迟一下--
431 431 setTimeout(function () {
432 432 if(th.data.data) var g_distr_type=th.data.data.distr_type;
433   - //--如果默认门店的配送方式不对,就不能被选择--
  433 + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
434 434 if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
435   - th.data.fir_def_store={}; //赋值空对象
436   - return false;
  435 + //th.data.fir_def_store={}; //赋值空对象
  436 + //return false;
  437 + //th.data.fir_def_store.is_no_dis=1;
  438 + ee.is_no_dis=1;
437 439 }
438 440  
439 441 var appd=getApp().globalData;
... ... @@ -462,6 +464,7 @@ Page({
462 464 if(res.data.code==0){
463 465 e=res.data.data.pageData[0];
464 466 if (e){
  467 + e.is_no_dis=ee.is_no_dis;
465 468 appd.pk_store=e;
466 469 that.data.fir_def_store=e;
467 470 that.setData({
... ... @@ -606,12 +609,13 @@ Page({
606 609  
607 610 if (th.data.is_closecoupon != 1) {
608 611 //----获取详情页的券的数量----
609   - await getApp().request.promiseGet("/api/weshop/prom/coupon/page", {
  612 + await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", {
610 613 data: {
611 614 store_id: os.stoid,
612 615 type: 1,
613 616 pageSize: 3,
614 617 page: 1,
  618 + is_share:0,
615 619 },
616 620 }).then(res1 => {
617 621 fir_quan = res1.data.data.pageData;
... ... @@ -643,8 +647,16 @@ Page({
643 647  
644 648 //---展示---
645 649 onShow: function() {
646   -
647 650 var goods_list = null,th = this,that=this;
  651 +
  652 + //优惠券要实时更新
  653 + getApp().getConfig2(function(e) {
  654 + var json_d = JSON.parse(e.switch_list);
  655 + th.setData({is_closecoupon: json_d.is_closecoupon})
  656 + th.setData({is_open_offline: json_d.is_pricing_open})
  657 + },1)
  658 +
  659 +
648 660 var ui = setInterval(function () {
649 661 goods_list = th.selectComponent("#goods_list");
650 662 if (goods_list) {
... ... @@ -654,7 +666,6 @@ Page({
654 666 }
655 667 }, 300)
656 668  
657   -
658 669 this.data.is_timer = 1;
659 670 var ee = this,
660 671 gid = this.data.gid,
... ... @@ -1092,6 +1103,7 @@ Page({
1092 1103 newd.prom_id = th.data.prom_id;
1093 1104 if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
1094 1105 if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
  1106 +
1095 1107  
1096 1108 th.add_cart_next(e,t,a,o,newd); //立即购买下一步
1097 1109  
... ... @@ -1186,7 +1198,13 @@ Page({
1186 1198 if(o.prom_type==4){
1187 1199 newd.is_integral_normal=1;
1188 1200 }
1189   -
  1201 +
  1202 + //如果有线下取价
  1203 + if(o.offline_price){
  1204 + newd.offline_price=o.offline_price;
  1205 + newd.pricing_type=o.pricing_type;
  1206 + }
  1207 +
1190 1208 //-----如果是秒杀,团购,积分购,拼团-----
1191 1209 if (th.data.prom_type == 1) {
1192 1210 newd.goods_price = th.data.prom_price;
... ... @@ -1624,8 +1642,8 @@ Page({
1624 1642 },
1625 1643  
1626 1644 openSpecModel: function(t) {
  1645 + var th=this;
1627 1646 var open_store = t.currentTarget.dataset.ind;
1628   -
1629 1647 this.setData({
1630 1648 store: 0,
1631 1649 choice_sort_store: 0,
... ... @@ -1646,7 +1664,71 @@ Page({
1646 1664 openSpecModal: !0,
1647 1665 openSpecModal_ind: ind,
1648 1666 });
  1667 +
  1668 + var is_open=th.data.config
  1669 +
  1670 +
  1671 + this.get_off_price();
  1672 +
1649 1673 },
  1674 +
  1675 + //----获取线下价格-------
  1676 + get_off_price(){
  1677 + var th=this;
  1678 + //没有开启就返回
  1679 + if(!th.data.is_open_offline) return false;
  1680 + //先看下购买的功能有没有到期
  1681 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{
  1682 + //未购买
  1683 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){
  1684 + return false;
  1685 + }else{
  1686 + //已经过期
  1687 + var item=res.data.data.pageData[0];
  1688 + if(item.end_time<ut.gettimestamp()){
  1689 + return false;
  1690 + }
  1691 + }
  1692 +
  1693 +
  1694 + var cur_goods=this.data.sele_g;
  1695 + var cur_price=cur_goods.shop_price;
  1696 + if(th.data.card_field && cur_goods[th.data.card_field]>0){
  1697 + cur_price=cur_goods[th.data.card_field];
  1698 + }
  1699 +
  1700 + var user_info = getApp().globalData.userInfo;
  1701 + //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行
  1702 + if(cur_goods.prom_type==0 && !this.data.prom_goods){
  1703 + cur_goods.offline_price=null;
  1704 + //如果没有门店,不用计算线下价格
  1705 + var def_pick_store=this.data.def_pick_store;
  1706 + if(!def_pick_store) return false;
  1707 + getApp().request.get("/api/weshop/goods/listWarePrice", {
  1708 + data:{VIPId:encodeURIComponent(user_info.erpvipid),
  1709 + store_id:os.stoid,
  1710 + PickupId:def_pick_store.pickup_id,
  1711 + WareIds:encodeURIComponent(cur_goods.erpwareid)},
  1712 + success:function(res){
  1713 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  1714 + var datalist=res.data.data;
  1715 + if(datalist[0].WarePrice<cur_price){
  1716 + cur_goods.offline_price=datalist[0].WarePrice; //存储线下活动的价格
  1717 + cur_goods.pricing_type=datalist[0].PriceType; //存储线下活动的类型
  1718 + }
  1719 + }
  1720 + th.setData({sele_g:cur_goods});
  1721 + }
  1722 +
  1723 + })
  1724 + }
  1725 +
  1726 + })
  1727 +
  1728 +
  1729 + },
  1730 +
  1731 +
1650 1732 //---------点击收藏和不收藏------------
1651 1733 collectGoods: function() {
1652 1734 var t = this,
... ... @@ -2104,10 +2186,12 @@ Page({
2104 2186 th.setData({def_pick_store:th.data.fir_def_store});
2105 2187 }
2106 2188  
  2189 + /*--最新的,不用这里筛选配送方式
2107 2190 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 ){
2108 2191 th.setData({def_pick_store:null});
2109   - }
  2192 + }--*/
2110 2193  
  2194 +
2111 2195 wx.showLoading({
2112 2196 title:'加载中.'
2113 2197 });
... ... @@ -2130,8 +2214,8 @@ Page({
2130 2214 th.data.fir_def_store=e.data.data.pageData[0];
2131 2215 }
2132 2216  
2133   - //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
2134   - if (th.data.def_pick_store && JSON.stringify(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 )){
  2217 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
  2218 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){
2135 2219 for (var k = 0; k < e.data.data.pageData.length; k++) {
2136 2220 if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
2137 2221 e.data.data.pageData.splice(k, 1); //删除
... ... @@ -2408,10 +2492,10 @@ Page({
2408 2492 //---把数组组装进去---
2409 2493 th.deal_pickup(em);
2410 2494 }else{
2411   - th.setData({def_pick_store:null,all_sto:null,only_pk:null})
  2495 + th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null})
2412 2496 }
2413 2497 }else{
2414   - th.setData({def_pick_store:null,all_sto:null,only_pk:null})
  2498 + th.setData({def_pick_store:null,all_sto:null,only_pk:null,def_pickpu_list:null})
2415 2499 }
2416 2500 })
2417 2501 },
... ... @@ -3299,8 +3383,6 @@ Page({
3299 3383 }
3300 3384 }
3301 3385  
3302   -
3303   -
3304 3386 //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
3305 3387  
3306 3388 if(th.data.is_normal == 1){
... ... @@ -3565,7 +3647,8 @@ Page({
3565 3647 type: 1,
3566 3648 pageSize: 100,
3567 3649 page: 1,
3568   - user_id: app.globalData.user_id
  3650 + user_id: app.globalData.user_id,
  3651 + is_share:0
3569 3652 }
3570 3653 }).then(res => {
3571 3654 wx.hideLoading();
... ... @@ -4341,12 +4424,12 @@ Page({
4341 4424 is_gps: 1
4342 4425 });
4343 4426 //th.onShow();
4344   - th.get_sto();
  4427 + th.get_sto(th.data.is_normal);
4345 4428 },
4346 4429 fail: function(res) {
4347 4430 //th.onShow();
4348 4431 th.data.is_get_local_ok = 1;
4349   - th.get_sto();
  4432 + th.get_sto(th.data.is_normal);
4350 4433 if (res.errCode == 2) {
4351 4434 th.setData({
4352 4435 is_gps: 0
... ... @@ -4364,7 +4447,7 @@ Page({
4364 4447 })
4365 4448 }else{
4366 4449 th.data.is_get_local_ok = 1;
4367   - th.get_sto();
  4450 + th.get_sto(th.data.is_normal);
4368 4451 }
4369 4452  
4370 4453 if(ind!=undefined && ind!=null ){
... ... @@ -4527,7 +4610,18 @@ Page({
4527 4610 var index = th.data.sec_pick_index;
4528 4611 item = th.data.sec_sto.s_arr[index];
4529 4612 }
4530   -
  4613 +
  4614 + //判断门店的配送方式是不是匹配
  4615 + var g_distr_type = th.data.sele_g.distr_type;
  4616 + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){
  4617 + wx.showToast({
  4618 + title: "门店配送方式不匹配",
  4619 + icon: 'none',
  4620 + duration: 2000
  4621 + });
  4622 + return false;
  4623 + }
  4624 +
4531 4625 //--回调函数的用法--
4532 4626 th.check_the_pick(item,function(){
4533 4627 th.setData({
... ... @@ -4565,7 +4659,9 @@ Page({
4565 4659 choice_sort_store: 0,
4566 4660 sort_store: 0
4567 4661 })
4568   - }
  4662 + }
  4663 + //如果商品没有其他活动,要取一下线下价格
  4664 + th.get_off_price();
4569 4665 })
4570 4666 },
4571 4667 //---点击二级之后的选择---
... ... @@ -4593,6 +4689,17 @@ Page({
4593 4689 var index = th.data.sec_pick_index;
4594 4690 item = th.data.sec_sto.s_arr[index];
4595 4691 }
  4692 +
  4693 + //判断门店的配送方式是不是匹配
  4694 + var g_distr_type = th.data.sele_g.distr_type;
  4695 + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){
  4696 + wx.showToast({
  4697 + title: "门店配送方式不匹配",
  4698 + icon: 'none',
  4699 + duration: 2000
  4700 + });
  4701 + return false;
  4702 + }
4596 4703  
4597 4704 //先设置之前,要判断是不是有库存
4598 4705 th.check_the_pick(item,function(){
... ... @@ -4662,6 +4769,10 @@ Page({
4662 4769 sort_store: 0,
4663 4770 })
4664 4771 }
  4772 +
  4773 + //如果商品没有其他活动,要取一下线下价格
  4774 + th.get_off_price();
  4775 +
4665 4776 })
4666 4777 },
4667 4778  
... ... @@ -4783,7 +4894,13 @@ Page({
4783 4894  
4784 4895 //----跳转到搭配购买----
4785 4896 go_prom_list:function () {
4786   - wx.navigateTo({ url: "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid, })
  4897 +
  4898 + var url= "../../../packageA/pages/prom_list/prom_list?goods_id="+this.data.gid;
  4899 + var room_id= getApp().globalData.room_id;
  4900 + if(room_id && this.data.gid==getApp().globalData.room_goods_id){
  4901 + url+="&room_id="+room_id;
  4902 + }
  4903 + wx.navigateTo({ url: url,})
4787 4904 },
4788 4905  
4789 4906 //---检查有没有优惠活动---
... ... @@ -4959,6 +5076,7 @@ Page({
4959 5076  
4960 5077 //-- 积分购 --
4961 5078 go_pay_integral:function(){
  5079 + this.get_sto(0)
4962 5080 this.setData({openSpecModal_inte:1});
4963 5081 },
4964 5082 //-- 积分购普通购买 --
... ... @@ -4971,7 +5089,6 @@ Page({
4971 5089 this.setData({openSpecModal_inte:0});
4972 5090 } ,
4973 5091 closeSpecModal_inte_normal:function(){
4974   - this.get_sto()
4975 5092 this.setData({openSpecModal_inte_normal:0});
4976 5093 },
4977 5094  
... ...
pages/goods/goodsInfo/goodsInfo.wxml
... ... @@ -442,13 +442,16 @@
442 442 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}
443 443  
444 444 </view>
445   - </view>
  445 + </view>
  446 +
  447 +
446 448 <view class="no_store" wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view>
447   - <block wx:else>
  449 + <block wx:else>
448 450 <view class="no_store" wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
449 451 <block wx:else>
450   - <view class="no_store" wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
451   - </block>
  452 + <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view>
  453 + <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
  454 + </block>
452 455 </block>
453 456  
454 457 <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view>
... ... @@ -999,7 +1002,7 @@
999 1002 <image class="wh100 spec-img xc-distance-bottom" src="{{sele_g.original_img}}" binderror="pop_err_img" data-errorimg="sele_g.original_img"></image>
1000 1003 <view class="spec-goods-info">
1001 1004 <view class="spec-goods-name ellipsis-2">{{sele_g.goods_name}}</view>
1002   - <view class="flex ai_end xc-val-money">
  1005 + <view class="flex ai_end xc-val-money" >
1003 1006 <view class="spec-goods-price" wx:if="{{prom_price==null}}" >
1004 1007 <text class="fs20">¥</text>
1005 1008 <!-- 如果是等级会员,且有等级价 -->
... ... @@ -1007,6 +1010,10 @@
1007 1010 <block wx:else>{{sele_g.shop_price}}</block>
1008 1011 </view>
1009 1012 <view class="spec-goods-price" wx:else><text class="fs20">¥</text>{{prom_price}}</view>
  1013 + <!-- 显示线下价格 -->
  1014 + <view wx:if="{{sele_g.offline_price}}" class="quan_price flex ai-center jc-center">
  1015 + 券后¥<text class="fs32">{{sele_g.offline_price}}</text>
  1016 + </view>
1010 1017 </view>
1011 1018  
1012 1019 <block wx:if="{{prom_type==0}}">
... ... @@ -1038,7 +1045,7 @@
1038 1045  
1039 1046 </view>
1040 1047 </view>
1041   -
  1048 +
1042 1049 <!-- 没有门店的时候 -->
1043 1050 <view class="flex" bindtap="choice_store" wx:else>
1044 1051 <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image>
... ... @@ -1054,7 +1061,8 @@
1054 1061 <block wx:else>
1055 1062 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
1056 1063 <block wx:else>
1057   - <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
  1064 + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
  1065 + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>
1058 1066 </block>
1059 1067 </block>
1060 1068  
... ... @@ -1096,54 +1104,63 @@
1096 1104  
1097 1105 </view>
1098 1106 <view class="spec-cart-btns">
1099   - <!-- 根本就找不到门店 -->
1100   - <block wx:if="{{!only_pk && !def_pickpu_list}}">
1101   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
1102   - </block>
  1107 + <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
1103 1108 <block wx:else>
1104   -
1105   -
1106   - <block wx:if="{{only_pk.length && !only_pk.length}}">
1107   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
1108   - </block>
1109   - <block wx:else>
1110   - <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">
1111   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
1112   - </block>
1113   - <block wx:else>
1114   - <block wx:if="{{!def_pick_store}}">
1115   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view>
1116   - </block>
1117   - <block wx:else>
1118   - <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 -->
1119   - <block wx:if="{{sales_rules==2 && prom_type==0}}">
1120   - <block wx:if="{{!def_pick_store.CanOutQty}}">
1121   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
1122   - </block>
1123   - <block wx:else>
1124   - <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
1125   - class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view>
1126   - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
1127   - class="spec-cart-btn spec-buy" data-action="buy">立即购买</view>
1128   - </block>
1129   - </block>
1130   - <!-- 线上销售 -->
1131   - <block wx:else>
1132   - <block wx:if="{{sele_g.store_count<=0}}">
1133   - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
  1109 +
  1110 + <!-- 根本就找不到门店 -->
  1111 + <block wx:if="{{!only_pk && !def_pickpu_list}}">
  1112 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
  1113 + </block>
  1114 + <block wx:else>
  1115 +
  1116 +
  1117 + <block wx:if="{{only_pk.length && !only_pk.length}}">
  1118 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
  1119 + </block>
  1120 + <block wx:else>
  1121 + <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">
  1122 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
  1123 + </block>
  1124 + <block wx:else>
  1125 + <block wx:if="{{!def_pick_store}}">
  1126 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view>
  1127 + </block>
  1128 + <block wx:else>
  1129 + <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 -->
  1130 + <block wx:if="{{sales_rules==2 && prom_type==0}}">
  1131 + <block wx:if="{{!def_pick_store.CanOutQty}}">
  1132 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
  1133 + </block>
  1134 + <block wx:else>
  1135 + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
  1136 + class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view>
  1137 + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
  1138 + class="spec-cart-btn spec-buy" data-action="buy">
  1139 + {{sele_g.offline_price?"券后购买":"立即购买"}}
  1140 + </view>
  1141 + </block>
1134 1142 </block>
  1143 + <!-- 线上销售 -->
1135 1144 <block wx:else>
1136   - <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
1137   - class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view>
1138   - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
1139   - class="spec-cart-btn spec-buy" data-action="buy">立即购买</view>
  1145 + <block wx:if="{{sele_g.store_count<=0}}">
  1146 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>
  1147 + </block>
  1148 + <block wx:else>
  1149 + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
  1150 + class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view>
  1151 + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}"
  1152 + class="spec-cart-btn spec-buy" data-action="buy">
  1153 + {{sele_g.offline_price?"券后购买":"立即购买"}}
  1154 + </view>
  1155 + </block>
1140 1156 </block>
1141   - </block>
1142   - </block>
1143   - </block>
1144   - </block>
1145   - </block>
1146   - </view>
  1157 + </block>
  1158 + </block>
  1159 + </block>
  1160 + </block>
  1161 +
  1162 + </block>
  1163 + </view>
1147 1164  
1148 1165 <view class="clear"></view>
1149 1166 <!---选择门店的列表--->
... ... @@ -1426,17 +1443,20 @@
1426 1443 <warn id="warn"></warn>
1427 1444  
1428 1445  
1429   -<view wx:if="{{showPoster}}" class="poster-container">
1430   - <view class="poster-wrapper">
1431   - <view class="poster">
1432   - <!-- <view class="poster" bindtap="previewImage"> -->
1433   - <image src="{{shareImgPath}}" class="poster-img" show-menu-by-longpress></image>
1434   - <view class="btn-close" catchtap="closePoster"><text class="iconfont icon-close"></text></view>
1435   - </view>
1436   - <!-- <view class="btn-container">
1437   - <button class="btn-share" open-type="share" bindtap="">微信好友分享</button>
1438   - <button class="btn-share" bindtap="savePic">保存到相册</button>
1439   - </view> -->
1440   - </view>
  1446 +<view wx:if="{{showPoster}}">
  1447 + <view class="mask" catchtap="closePoster"></view>
  1448 + <view class="poster-container">
  1449 + <view class="poster-wrapper">
  1450 + <view class="poster">
  1451 + <!-- <view class="poster" bindtap="previewImage"> -->
  1452 + <image src="{{shareImgPath}}" class="poster-img" show-menu-by-longpress></image>
  1453 + <view class="btn-close" catchtap="closePoster"><text class="iconfont icon-close"></text></view>
  1454 + </view>
  1455 + <!-- <view class="btn-container">
  1456 + <button class="btn-share" open-type="share" bindtap="">微信好友分享</button>
  1457 + <button class="btn-share" bindtap="savePic">保存到相册</button>
  1458 + </view> -->
  1459 + </view>
  1460 + </view>
1441 1461 </view>
1442 1462  
... ...
pages/goods/goodsInfo/goodsInfo.wxss
... ... @@ -2643,17 +2643,22 @@ button.custom-service::after{
2643 2643 .color_b{color: #ff9c00}
2644 2644  
2645 2645 .poster-container {
2646   - box-sizing: border-box;
2647   - position: fixed;
2648   - top: 0;
2649   - width: 100%;
2650   - height: 100%;
2651   - z-index: 999;
2652   - background-color: rgba(0,0,0,.4);
2653   - padding: 0 60rpx;
2654   - display: flex;
2655   - /* flex-wrap: wrap; */
2656   - align-items: center;
  2646 + box-sizing: border-box;
  2647 + position: fixed;
  2648 + top: 50%;
  2649 + left: 50%;
  2650 + transform: translate(-50%, -50%);
  2651 + width: calc(100% - 120rpx);
  2652 + z-index: 1000;
  2653 +}
  2654 +.mask {
  2655 + position: fixed;
  2656 + top: 0;
  2657 + left: 0;
  2658 + width: 100%;
  2659 + height: 100%;
  2660 + z-index: 999;
  2661 + background-color: rgba(0,0,0,.4);
2657 2662 }
2658 2663 .poster-wrapper {
2659 2664 width: 100%;
... ... @@ -2664,7 +2669,7 @@ button.custom-service::after{
2664 2669 width: 100%;
2665 2670 height: 1055rpx;
2666 2671 border-radius: 20rpx;
2667   - box-shadow: 0 0 1px #000;
  2672 + /* box-shadow: 0 8px 12px #666; */
2668 2673 position: relative;
2669 2674 z-index: 999;
2670 2675 overflow: hidden;
... ... @@ -2687,24 +2692,40 @@ button.custom-service::after{
2687 2692 margin-top: 28rpx;
2688 2693 padding: 0 60rpx;
2689 2694 }
2690   -.btn-close {
  2695 +/* .btn-close {
2691 2696 background-color: rgba(0,0,0,.5);
2692   - color: #ccc;
2693   - width: 50rpx;
2694   - height: 50rpx;
2695   - line-height: 50rpx;
  2697 + color: white;
  2698 + width: 40rpx;
  2699 + height: 40rpx;
  2700 + line-height: 40rpx;
2696 2701 text-align: center;
2697 2702 border-radius: 50%;
2698 2703 position: absolute;
2699 2704 right: 20rpx;
2700   - top: 20rpx;
2701   -}
  2705 + top: 10rpx;
  2706 +} */
2702 2707  
2703 2708 .goods-price .rel_txt{
2704 2709 position: relative; top: 32rpx; font-size: 30rpx;
2705 2710 }
2706   -.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;}
2707   -
  2711 +.goods-price .rel_img{width: 62rpx; height: 62rpx;position: relative; top: 12rpx;}
  2712 +
  2713 +.btn-close {
  2714 + /* background-color: rgba(0,0,0,.5); */
  2715 + color: #ccc;
  2716 + width: 50rpx;
  2717 + height: 50rpx;
  2718 + line-height: 50rpx;
  2719 + text-align: center;
  2720 + border-radius: 50%;
  2721 + position: absolute;
  2722 + right: 20rpx;
  2723 + top: 20rpx;
  2724 +}
  2725 +
2708 2726 .icon-close {
2709   - font-size: 48rpx;
2710   -}
2711 2727 \ No newline at end of file
  2728 + font-size: 48rpx;
  2729 +}
  2730 +.quan_price{
  2731 + background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx;
  2732 +}
2712 2733 \ No newline at end of file
... ...
pages/index/index/index.js
... ... @@ -16,8 +16,6 @@ var api = require(&#39;../../../api/api.js&#39;);
16 16 var d = getApp().globalData;
17 17  
18 18  
19   -
20   -
21 19 Page({
22 20 data: {
23 21 url: o.imghost,
... ... @@ -75,11 +73,13 @@ Page({
75 73 new_nav: "", //新人页面跳转地址
76 74 w_holiday_pop:0,
77 75  
78   - showHongbao: true,
79   - showHongbaoSmall: false,
  76 + showHongbao: false,
  77 + showHongbaoSmall: false,
  78 +
80 79 },
81 80  
82 81 onLoad: async function(tt) {
  82 +
83 83 var th = this;
84 84 var first_leader=tt.first_leader;
85 85 if(!first_leader && tt.scene){
... ... @@ -116,9 +116,7 @@ Page({
116 116 });
117 117  
118 118  
119   - // console.log(9090909);
120   -
121   -
  119 + // console.log(9090909);
122 120 //看一下商家是否开通了权益
123 121 //--初始化是否有打勾--
124 122 getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", {
... ... @@ -145,6 +143,8 @@ Page({
145 143 //t.editTabBar(th,o.stoid,th.data.url);
146 144  
147 145 await this.init_load();
  146 +
  147 +
148 148 //显示的时候要开启计时器
149 149 this.data.is_timer = 1;
150 150 //如果是自定义模板
... ... @@ -206,7 +206,7 @@ Page({
206 206 }
207 207 })
208 208  
209   -
  209 +
210 210 },
211 211 //关闭新用户领取广告
212 212 close_disgraceful: function() {
... ... @@ -217,6 +217,24 @@ Page({
217 217 },
218 218  
219 219 async onShow() {
  220 + var th=this;
  221 + //-- 登录回来判断弹框 --
  222 + var userInfo=getApp().globalData.userInfo;
  223 + if(userInfo){
  224 + th.is_festival();
  225 + var new_nav = th.data.new_nav;
  226 + if (new_nav == "") {
  227 + th.is_new();
  228 + }
  229 + }
  230 +
  231 + //优惠券要实时更新
  232 + getApp().getConfig2(function(e) {
  233 + var json_d = JSON.parse(e.switch_list);
  234 + th.setData({is_closecoupon: json_d.is_closecoupon})
  235 + th.setData({is_topstore: json_d.is_show_storeselect})
  236 + },1)
  237 +
220 238 if (typeof this.getTabBar === 'function' && this.getTabBar()) {
221 239 var index=getApp().getPageIndex(this);
222 240 this.getTabBar().setData({
... ... @@ -226,18 +244,19 @@ Page({
226 244 getApp().requestCardNum(this);
227 245 }
228 246  
229   - var th = this
230   - var show=getApp().globalData.isLoad_ad;
231   - var userInfo=getApp().globalData.userInfo;
232   - //有加载过一次首页,就显示.或者有会员就显示
233   - if(show || userInfo || getApp().globalData.user_id){
234   - var full_screen = th.selectComponent("#full_screen"); //组件的id
235   - full_screen.get_the_full_screen();
236   - }else{
237   - getApp().globalData.isLoad_ad=1;
238   - }
239   -
  247 + var th = this;
240 248  
  249 + var show=getApp().globalData.isLoad_ad;
  250 + var userInfo=getApp().globalData.userInfo;
  251 +
  252 + //有加载过一次首页,就显示
  253 + if(show || userInfo || getApp().globalData.user_id){
  254 + var full_screen = th.selectComponent("#full_screen"); //组件的id
  255 + full_screen.get_the_full_screen();
  256 + }else{
  257 + getApp().globalData.isLoad_ad=1;
  258 + }
  259 +
241 260 },
242 261 //当隐藏的时候就关闭计时器
243 262 onHide: function() {
... ... @@ -254,10 +273,11 @@ Page({
254 273  
255 274 //同步初始加载
256 275 async init_load() {
  276 + await getApp().getConfig_ays();
257 277 var th = this;
258 278 await getApp().get_isbuy();
259 279 this.setappdata(getApp().globalData.wxapp_buy_obj);
260   - await getApp().getConfig_ays();
  280 +
261 281  
262 282 //因为营销版本的功能包含了自定义模板的功能,是同时的
263 283 //读取全局是否有弄自定义模板
... ... @@ -484,9 +504,9 @@ Page({
484 504 setTimeout(function () {
485 505 if (getApp().globalData.user_id) getApp().requestCardNum(th);
486 506 },500)
487   -
488 507  
489 508 });
  509 +
490 510 var goods_list = this.selectComponent("#goods_list"); //组件的id
491 511 goods_list.init();
492 512 setTimeout(function() {
... ... @@ -497,11 +517,11 @@ Page({
497 517 //--判断小程序是否过期--
498 518 setappdata: function(t) {
499 519 if (t.isout == 1)
500   - wx.navigateTo({
501   - url: "/pages/error/error?msg=小程序已经过期",
  520 + wx.reLaunch({
  521 + url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+getApp().globalData.config.store_tel,
502 522 });
503 523 if (t.isbuy == 0)
504   - wx.navigateTo({
  524 + wx.reLaunch({
505 525 url: "/pages/error/error?msg=还未购买小程序",
506 526 });
507 527 },
... ... @@ -511,8 +531,6 @@ Page({
511 531 if (goods_list) goods_list.get_list();
512 532 },
513 533  
514   -
515   -
516 534 onPullDownRefresh: function(e) {
517 535 this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(),
518 536 this.requestRecommend();
... ... @@ -693,9 +711,6 @@ Page({
693 711 }
694 712 }
695 713 var txt = "pindGoods[" + j + "][" + i + "].djs";
696   -
697   -
698   -
699 714 th.setData({
700 715 [txt]: obj
701 716 });
... ...
pages/index/index/index.json
... ... @@ -18,7 +18,8 @@
18 18 "mvideo": "/components/diy_video/diy_video",
19 19 "service": "/components/diy_service/diy_service",
20 20 "scan": "/components/diy_scan/diy_scan",
21   - "full_screen": "/components/full_screen/full_screen"
  21 + "full_screen": "/components/full_screen/full_screen",
  22 + "store_select": "/components/diy_store_select/diy_store_select"
22 23 },
23 24 "enablePullDownRefresh": false
24 25 }
25 26 \ No newline at end of file
... ...
pages/index/index/index.wxml
... ... @@ -3,13 +3,16 @@
3 3 <!--普通界面-->
4 4 <wxs module="filter" src="../../../utils/filter.wxs"></wxs>
5 5 <view class="container rel" wx:if="{{ishow}}">
6   -
7   -
8 6 <block wx:if="{{banner}}">
9 7 <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image>
10 8 </block>
  9 + <!-- 控制要不要显示顶部门店选择 -->
  10 + <block wx:if="{{is_topstore}}">
  11 + <store_select></store_select>
  12 + </block>
  13 +
11 14 <!--搜索框-->
12   - <view class="{{banner==null?'pink-b ':''}} search-box {{scrollTop>10?'search-fixed':''}} flex-center white ">
  15 + <view class="search-box {{scrollTop>10?'search-fixed':''}} flex-center white " style="top:{{is_topstore?88:0}}rpx">
13 16 <view class="classify-frame t-c" bindtap="go_cate">
14 17 <image class="classify-img" src="{{url}}/miniapp/images/classify.png"></image>
15 18 <view class="fs20">分
... ... @@ -30,7 +33,7 @@
30 33 </view>
31 34 <!--滚动广告-->
32 35 <view class="rel title-img" wx:if="{{banner}}">
33   - <swiper autoplay="true" class="swiper_box" duration="1000" interval="3000" vertical="" bindchange="bannerSwiperChange" style="height:{{max_sw_height}}rpx" circular="true">
  36 + <swiper circular="true" autoplay="true" class="swiper_box" duration="1000" interval="3000" vertical="" bindchange="bannerSwiperChange" style="height:{{max_sw_height}}rpx" circular="true">
34 37 <swiper-item wx:for="{{banner}}" wx:key="banner" class="swiperItem">
35 38 <view class="slide-image-frame">
36 39 <image bindtap='go_ad' data-url="{{item.ad_weapplink}}" class="slide-image" mode="widthFix" src="{{item.ad_code}}" bindload="imageLoad" data-index="{{index}}" lazy-load="true" binderror="bind_bnerr" data-errorimg="banner[{{index}}].ad_code"></image>
... ... @@ -81,7 +84,7 @@
81 84 <view>积分购</view>
82 85 </navigator>
83 86 </view>
84   - <view class="venues_item">
  87 + <view class="venues_item" wx:if="{{is_closecoupon!=1}}">
85 88 <navigator url="/packageA/pages/quan_list/quan_list">
86 89 <image src="{{url}}/miniapp/images/index/youhui.png"></image>
87 90 <view>优惠券</view>
... ... @@ -294,6 +297,28 @@
294 297  
295 298 <!--是否是自定义-->
296 299 <view class="container" wx:if="{{isTemplate}}" style="background-color:{{bgcolor_t}}">
  300 + <!-- 置顶层 -->
  301 + <view class="dis_top">
  302 + <block wx:for="{{template_arr}}" >
  303 + <block wx:if="{{item.content.is_top==1}}">
  304 + <!--如果是搜索框的时候 -->
  305 + <block wx:if="{{item.ename=='searchbox'}}">
  306 + <searchbox object="{{item.content}}"></searchbox>
  307 + </block>
  308 + <block wx:if="{{item.ename=='store_select'}}">
  309 + <store_select object="{{item.content}}"></store_select>
  310 + </block>
  311 + </block>
  312 + </block>
  313 + </view>
  314 + <!-- 撑开层 -->
  315 + <view>
  316 + <block wx:for="{{template_arr}}" >
  317 + <view wx:if="{{item.content.is_top==1 && item.ename=='searchbox'}}" style="height: 100rpx;"></view>
  318 + <view wx:if="{{item.content.is_top==1 && item.ename=='store_select'}}" style="height: 100rpx;"></view>
  319 + </block>
  320 + </view>
  321 +
297 322 <block wx:for="{{template_arr}}" wx:key="{{index}}">
298 323 <view>
299 324 <!--导航-->
... ... @@ -325,7 +350,7 @@
325 350 <mvideo object="{{item.content}}"></mvideo>
326 351 </block>
327 352 <!--搜索-->
328   - <block wx:if="{{item.ename=='searchbox'}}">
  353 + <block wx:if="{{item.ename=='searchbox' && item.content.is_top!=1}}">
329 354 <searchbox object="{{item.content}}"></searchbox>
330 355 </block>
331 356 <!--天天拼单-->
... ... @@ -356,6 +381,10 @@
356 381 <block wx:if="{{item.ename=='scan'}}">
357 382 <scan object="{{item.content}}"></scan>
358 383 </block>
  384 + <!--扫一扫-->
  385 + <block wx:if="{{item.ename=='store_select' && item.content.is_top!=1}}">
  386 + <store_select object="{{item.content}}"></store_select>
  387 + </block>
359 388  
360 389 </view>
361 390 </block>
... ... @@ -399,7 +428,7 @@
399 428 </block>
400 429  
401 430 <!-- <hongbao id="hongbao" bind:closeHongbao="closeHongbao" wx:if="{{showHongbao}}" url="{{url}}"></hongbao> -->
402   - <full_screen id="full_screen"></full_screen>
  431 +<full_screen id="full_screen"></full_screen>
403 432  
404 433  
405 434  
... ...
pages/index/index/index.wxss
... ... @@ -2,6 +2,7 @@
2 2 background: #ff7295;
3 3 }
4 4  
  5 +
5 6 .search-box {
6 7 position: fixed;
7 8 top: 0;
... ... @@ -964,4 +965,6 @@ page {
964 965 right: 0;
965 966 /* transform: translateY(-50%); */
966 967 z-index: 10000;
967   -}
968 968 \ No newline at end of file
  969 +}
  970 +
  971 +.dis_top{position: fixed; top: 0; left: 0; width: 100%;}
969 972 \ No newline at end of file
... ...
pages/team/team_show/team_show.js
... ... @@ -88,6 +88,9 @@ Page({
88 88 lon: null, //经度
89 89  
90 90 is_get_local_ok: 0, //获取坐标是否完成
  91 +
  92 + sort_store: 0, //门店分类
  93 + choice_sort_store: 0, //选择分类门店
91 94  
92 95 },
93 96 onLoad: function(options) {
... ... @@ -575,8 +578,9 @@ Page({
575 578 var g_distr_type=th.data.goods.distr_type;
576 579 //--如果默认门店的配送方式不对,就不能被选择--
577 580 if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){
578   - th.data.fir_def_store={}; //赋值空对象
579   - return false;
  581 + //th.data.fir_def_store={}; //赋值空对象
  582 + //return false;
  583 + ee.is_no_dis=1;
580 584 }
581 585  
582 586 var appd=getApp().globalData;
... ... @@ -1017,6 +1021,7 @@ Page({
1017 1021 this.setData({
1018 1022 store: 1,
1019 1023 yijian: false,
  1024 + choice_sort_store:0
1020 1025 })
1021 1026  
1022 1027 },
... ... @@ -1104,8 +1109,9 @@ Page({
1104 1109 }
1105 1110 clearInterval(timer_get);
1106 1111  
1107   - 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 ){
1108   - th.setData({def_pick_store:null});
  1112 + //如果会员是有默认的门店话
  1113 + if(!th.data.def_pick_store && th.data.fir_def_store){
  1114 + th.setData({def_pick_store:th.data.fir_def_store});
1109 1115 }
1110 1116  
1111 1117 //----------获取门店----------------
... ... @@ -1127,7 +1133,7 @@ Page({
1127 1133 }
1128 1134  
1129 1135 //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
1130   - if (th.data.def_pick_store && (th.data.def_pick_store.distr_type==0 || th.data.def_pick_store.distr_type==g_distr_type )){
  1136 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){
1131 1137 for (var k = 0; k < e.data.data.pageData.length; k++) {
1132 1138 if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
1133 1139 e.data.data.pageData.splice(k, 1); //删除
... ... @@ -1306,6 +1312,9 @@ Page({
1306 1312 }
1307 1313 }
1308 1314 },
  1315 +
  1316 +
  1317 +
1309 1318 //---选择分类门店---
1310 1319 choice_sort_store: function(e) {
1311 1320 var index = e.currentTarget.dataset.index;
... ... @@ -1316,7 +1325,7 @@ Page({
1316 1325 sort_store: 0,
1317 1326 choice_sort_store: 1,
1318 1327 sec_sto: item,
1319   - sec_pick_index: 0
  1328 + sec_pick_index: 0,
1320 1329 });
1321 1330 },
1322 1331  
... ...
pages/team/team_show/team_show.wxml
... ... @@ -233,6 +233,7 @@
233 233  
234 234  
235 235 </view>
  236 + <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view>
236 237 <view class="fs24 xc-ash-9f xc-distance-top " wx:if="{{def_pick_store}}">地址:5{{def_pick_store.fulladdress}}</view>
237 238  
238 239 </view>
... ... @@ -264,7 +265,8 @@
264 265 </view>
265 266  
266 267 <view class="pt_qd">
267   - <view bindtap="go_pay" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
  268 + <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">确定</view>
  269 + <view wx:else bindtap="go_pay" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
268 270 </view>
269 271  
270 272 </view>
... ... @@ -278,7 +280,7 @@
278 280 <view class="mongolia-layer" bindtap="close_popup"></view>
279 281 <view class="popup-frame">
280 282 <block wx:if="{{sort_store==0}}">
281   - <!-- 头部 标题 -->
  283 + <!-- 头部 标题 -->
282 284 <view class="popup-top flex-space-between">
283 285 <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text>
284 286 <view>
... ... @@ -392,19 +394,14 @@
392 394  
393 395 <block wx:else>
394 396 <view class="popup-top flex-space-between">
395   - <text class="fs32 nearby_store">门店分类选择</text>
396   - <view>
  397 + <text class="fs32 nearby_store">门店分类选择</text>
397 398 <view>
398   - <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  399 + <view><icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon></view>
  400 + <view class="felx choose_mores" bindtap="returns"><text class="fs26 red-co">返回--{{sort_store}}</text></view>
399 401 </view>
400   - <view class="felx choose_mores" bindtap="returns">
401   - <text class="fs26 red-co">返回</text>
402   - </view>
403   - </view>
404   - </view>
405   - <view class="sort_store_list">
406   -
407   - <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
  402 + </view>
  403 + <view class="sort_store_list">
  404 + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
408 405 <view class="sort-store flex-vertical-between" >
409 406 <view class="fs30" di>{{item.name}}</view>
410 407 <view class="black_rights-frame">
... ... @@ -413,7 +410,7 @@
413 410 </view>
414 411 </view>
415 412  
416   - </view>
  413 + </view>
417 414 </block>
418 415 </view>
419 416 </block>
... ...
pages/team/team_show/team_show.wxss
... ... @@ -2172,3 +2172,5 @@ page {
2172 2172 height: 30rpx;
2173 2173 border: 1rpx solid #999;
2174 2174 }
  2175 +
  2176 +.no_store{color:#d60021; font-size: 26rpx;}
... ...
pages/togoin/togoin.js
... ... @@ -10,7 +10,7 @@ Page({
10 10 store_logo:'',
11 11 first_leader:'', //-- 邀请人 --
12 12 },
13   - onLoad: function (options) {
  13 + onLoad: function (options) {
14 14 //--判断是否有接受到邀请人的ID--
15 15 if(options.first_leader){
16 16 this.setData({first_leader:options.first_leader});
... ... @@ -41,52 +41,67 @@ Page({
41 41 //-- 会员授权 --
42 42 bindGetUserInfo: function(ee) {
43 43 var that = this;
44   - var user=ee.detail.userInfo;
45   - //此处授权得到userInfo
46   - getApp().globalData.getu = user;
47   -
48   - //--拿下code--
49   - wx.login({
50   - success: function (o) {
51   - var dd = {
52   - js_code:o.code,
53   - store_id: os.stoid,
54   - nickname: app.clear_word(app.globalData.getu.nickName),
55   - head_pic: app.clear_word(app.globalData.getu.avatarUrl)
56   - };
57   -
58   - //-- 导购会员ID --
59   - if(getApp().globalData.guide_id){
60   - dd.guide_id=getApp().globalData.guide_id;
61   - }
62   -
63   - getApp().request.get("/api/weshop/users/openidandkey", {
64   - data: dd,
65   - success: function (e) {
66   - if(e.data.code==0){
67   - that.setData({user:user})
68   - //如果有会员的话,没有sessionKey
69   - if(!e.data.data.sessionKey){
70   - getApp().showWarning("登录成功");
71   - getApp().globalData.userInfo=e.data.data;
72   - getApp().globalData.user_id=e.data.data.user_id;
73   - getApp().globalData.openid = e.data.data.weapp_openid;
74   -
75   - setTimeout(function () {
76   - wx.navigateBack({ delta: 1}) //返回上一页
77   - },1000)
78   - }else{
79   - getApp().globalData.sessionKey=e.data.data.sessionKey;
80   - getApp().globalData.openid=e.data.data.openid;;
81   - that.setData({show_bind:1})
82   - }
83   - }else{
84   - getApp().confirmBox(e.data.msg);
85   - }
86   - }
87   - });
88   - }
89   - })
  44 + //-- 点击授权 --
  45 + that.getUserProfile(function(res){
  46 + var user=res;
  47 + //--拿下code--
  48 + wx.login({
  49 + success: function (o) {
  50 + var dd = {
  51 + js_code:o.code,
  52 + store_id: os.stoid,
  53 + nickname: app.clear_word(app.globalData.getu.nickName),
  54 + head_pic: app.clear_word(app.globalData.getu.avatarUrl)
  55 + };
  56 + //-- 导购会员ID --
  57 + if(getApp().globalData.guide_id){
  58 + dd.guide_id=getApp().globalData.guide_id;
  59 + }
  60 +
  61 + getApp().request.get("/api/weshop/users/openidandkey", {
  62 + data: dd,
  63 + success: function (e) {
  64 + if(e.data.code==0){
  65 + that.setData({user:user})
  66 + //如果有会员的话,没有sessionKey
  67 + if(!e.data.data.sessionKey){
  68 + getApp().showWarning("登录成功");
  69 + getApp().globalData.userInfo=e.data.data;
  70 + getApp().globalData.user_id=e.data.data.user_id;
  71 + getApp().globalData.openid = e.data.data.weapp_openid;
  72 + //把会员的信息存在内存
  73 + wx.setStorageSync("userinfo",e.data.data);
  74 +
  75 + setTimeout(function () {
  76 + wx.navigateBack({ delta: 1}) //返回上一页
  77 + },1000)
  78 + }else{
  79 + getApp().globalData.sessionKey=e.data.data.sessionKey;
  80 + getApp().globalData.openid=e.data.data.openid;
  81 + that.setData({show_bind:1});
  82 + }
  83 + }else{
  84 + getApp().confirmBox(e.data.msg);
  85 + }
  86 + }
  87 + });
  88 + }
  89 + })
  90 + })
  91 + },
  92 +
  93 + //-- 调整后的获取会员信息 --
  94 + getUserProfile:function(func){
  95 + var that=this;
  96 + wx.getUserProfile({
  97 + desc:'获取用户相关信息',
  98 + success:res=>{
  99 + console.log("getUserProfile",res);
  100 + //此处授权得到userInfo
  101 + getApp().globalData.getu = res.userInfo;
  102 + func(res.userInfo);
  103 + }
  104 + });
90 105 },
91 106  
92 107 //暂不登录,返回上一页
... ...
pages/togoin/togoin.wxml
... ... @@ -4,8 +4,10 @@
4 4 <view >
5 5 <view class="logins flex-center2 ali-c flex" style="position: relative;top: 120rpx;">
6 6 <image mode="widthFix" bindtap="go_index" class="login_img_back" src="{{imghots}}/miniapp/images/loginbg.jpg"></image>
7   - <image bindtap="go_index" class="login_img" src="{{store_logo}}" binderror="bind_bnerr" lazy-load="true" data-errorimg="store_logo"></image>
8   - <view style="position: absolute; margin-top:140rpx">{{store.store_name}}</view>
  7 + <view class="middle_view">
  8 + <image bindtap="go_index" class="login_img" src="{{store_logo}}" binderror="bind_bnerr" lazy-load="true" data-errorimg="store_logo"></image>
  9 + <view>{{store.store_name}}</view>
  10 + </view>
9 11 </view>
10 12 </view>
11 13  
... ... @@ -13,7 +15,7 @@
13 15 <view>
14 16 <view class="phones">
15 17 <!-- 授权获取基础信息 -->
16   - <button hidden="{{user}}" class="getPhoneNumber" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">
  18 + <button hidden="{{user}}" class="getPhoneNumber" bindtap="bindGetUserInfo">
17 19 <view class="flex flex-center2 ali-c">
18 20 <image class="we_chat" src="{{imghots}}/miniapp/images/we_chat.png"></image>
19 21 <view>微信账号快捷登录</view>
... ...
pages/togoin/togoin.wxss
... ... @@ -14,7 +14,6 @@ page{
14 14 width: 192rpx;
15 15 height: 192rpx;
16 16 border-radius: 50%;
17   - position: absolute;
18 17 }
19 18 .phones{
20 19 margin-bottom: 48rpx;
... ... @@ -62,3 +61,7 @@ button{
62 61 .f2 {
63 62 flex: 2 0;
64 63 }
  64 +
  65 +.middle_view{
  66 + position: absolute; left: 0; width: 100%; text-align: center;
  67 +}
... ...
pages/user/Change_phone/Change_phone.js
... ... @@ -52,7 +52,7 @@ Page({
52 52 var change_phone = th.data.change_phone;
53 53 var isver = th.data.isver;
54 54 var send = th.data.send;
55   - var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
  55 + var myreg = /^(((11[0-9]{1})|(12[0-9]{1})|(13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(19[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
56 56 if(change_phone){
57 57 if (change_phone.length < 11) {
58 58 getApp().my_warnning("请输入11位的手机号码", 0, th);
... ...
pages/user/coupons/coupons.js
... ... @@ -140,12 +140,7 @@ Page({
140 140 * 生命周期函数--监听页面加载
141 141 */
142 142 onLoad: function(options) {
143   - var th = this;
144   - getApp().getConfig2(function (ee) {
145   - var json_d = JSON.parse(ee.switch_list);
146   - th.setData({ is_show_dhwz: json_d.dhwz_switch });
147   - })
148   -
  143 +
149 144 },
150 145  
151 146  
... ... @@ -159,7 +154,13 @@ Page({
159 154 wx.navigateTo({ url: '/pages/togoin/togoin', })
160 155 return false;
161 156 }
162   - this.init(th.myyhj,th.s_guoqi);
  157 + this.init(th.myyhj,th.s_guoqi);
  158 + var th = this;
  159 + //-- 要实时 --
  160 + getApp().getConfig2(function (ee) {
  161 + var json_d = JSON.parse(ee.switch_list);
  162 + th.setData({ is_show_dhwz: json_d.dhwz_switch });
  163 + },1)
163 164  
164 165  
165 166 },
... ...
pages/user/deposit/deposit.js
... ... @@ -31,7 +31,7 @@ Page({
31 31 getApp().getConfig2(function (ee) {
32 32 var json_d = JSON.parse(ee.switch_list);
33 33 th.setData({ is_show_yckcz: json_d.yckcz_switch });
34   - })
  34 + },1)
35 35 },
36 36  
37 37 /**
... ...
pages/user/index/index.js
... ... @@ -189,11 +189,7 @@ Page({
189 189 }
190 190 }
191 191 })
192   -
193   -
194   -
195   -
196   -
  192 +
197 193 /*-----获取会员权益列表-----*/
198 194 rq.get("/api/weshop/users/grade/vipprivilegeinfo/page", {
199 195 data: {
... ... @@ -372,6 +368,7 @@ Page({
372 368 }
373 369 },
374 370 setappdata: function(t) {
  371 + var t=getApp().globalData.wxapp_buy_obj;
375 372 if (t.isout == 1)
376 373 wx.navigateTo({
377 374 url: "/pages/error/error?msg=小程序已经过期",
... ...
pages/user/integral/integral.js
... ... @@ -220,11 +220,7 @@ Page({
220 220 }
221 221 });
222 222  
223   - var th=this;
224   - getApp().getConfig2(function(ee){
225   - var json_d = JSON.parse(ee.switch_list);
226   - th.setData({ is_show_jfcz: json_d.jfcz_switch });
227   - })
  223 +
228 224 },
229 225  
230 226 /**
... ... @@ -322,6 +318,14 @@ Page({
322 318 wx.setNavigationBarTitle({
323 319 title: "我的积分",
324 320 })
  321 +
  322 + //要实时获取开关是显示
  323 + var th=this;
  324 + getApp().getConfig2(function(ee){
  325 + var json_d = JSON.parse(ee.switch_list);
  326 + th.setData({ is_show_jfcz: json_d.jfcz_switch });
  327 + },1)
  328 +
325 329 },
326 330  
327 331  
... ...
pages/user/member/bring/bring.js
... ... @@ -29,14 +29,10 @@ Page({
29 29 },
30 30 // 银行卡失去焦点事件
31 31 blurInputEvent: function(e) {
32   - console.log("银行卡失去焦点事件");
33 32 var inputvalue = e.detail.value.length;
34   - console.log("值的长度" + inputvalue);
35 33 if (inputvalue > 14) {
36 34 var value = e.detail.value;
37   - console.log("银行卡" + value);
38 35 var account_bank = value.replace(/\s+/g, "");
39   - console.log("银行卡去去去" + account_bank);
40 36 this.yhk(account_bank);
41 37  
42 38 }
... ... @@ -44,7 +40,6 @@ Page({
44 40 },
45 41 /** 获取提现输入框的值 bindinput='genre' */
46 42 money: function(e) {
47   -
48 43 this.setData({
49 44 money: Number(e.detail.value)
50 45 })
... ... @@ -60,22 +55,18 @@ Page({
60 55 },
61 56 /*点击确定提现后表现的形式*/
62 57 Gettime: function(e) {
63   - this.data.user_infor;
64 58 var user_money = this.data.user_money;
65 59 var money = e.detail.value.moneys; //typeof判断数据类型
66 60 var current = this.data.current;
67 61 var money = Number(money);
68   - console.log(money, typeof money + "有吗" + user_money, typeof user_money + e.detail.value.moneys + "是什么" + Number(money));
69   - if (user_money<this.data.needmon){
70   - console.log("满多少提现",this.data.needmon);
71   - return false;
72   - }
  62 +
  63 + if (user_money<this.data.needmon) return false;
  64 +
73 65 if (money == 0 || money == "" || money == null) {
74   - console.log("aaaaa")
75 66 getApp().showWarning("请输入提现金额");
76 67 return false;
77 68 }
78   - console.log(this.data.distribut_min,"没救了",money);
  69 +
79 70 if (this.data.distribut_min > money){
80 71 getApp().showWarning("提现需大于"+this.data.distribut_min+"元");
81 72 return false;
... ... @@ -149,9 +140,7 @@ Page({
149 140 this.data.user_infor.account_bank = card;
150 141 this.data.user_infor.bank_name = cardname;
151 142 this.data.user_infor.bank_type = this.data.current;
152   - console.log(this.data.user_infor.account_name, cardname, card, userName, moneys, "控制器类型", this.data.current);
153 143 var user_infor = this.data.user_infor;
154   - console.log("保存的数nnnnnnnnnnnnnnn", this.data.user_infor);
155 144 this.Cashwithdrawal(user_infor)
156 145 } else {
157 146 var userName = e.detail.value.userName; //名字
... ... @@ -195,27 +184,8 @@ Page({
195 184 }
196 185 },
197 186  
198   -
199   - // //银行卡格式
200   - // bankinput: function(e) {
201   - // var that = this;
202   - // console.log("输入框", e);
203   - // var value = e.detail.value;
204   - // console.log("监听输入框" + value);
205   - // var inputvalue = e.detail.value.length;
206   -
207   - // //获取银行卡刷出银行名字
208   - // if (inputvalue < 15) {
209   -
210   -
211   - // that.setData({
212   - // bank_name: ""
213   - // });
214   - // }
215   - // },
216 187 // 提现
217 188 Cashwithdrawal: function(user_infor) {
218   - console.log(user_infor.type, "hiiihiiiiiiiiiiiiiii", user_infor);
219 189 delete user_infor.rmon;
220 190 delete user_infor.isck;
221 191 delete user_infor.needmon;
... ... @@ -293,7 +263,7 @@ Page({
293 263 console.log("卡号", account_bank, "初始化", a.data.isck);
294 264 if (a.data.isck == 1) {
295 265 this.setData({
296   - weixin: a.data.isck ,
  266 +
297 267 bank_name: a.data.bank_name,
298 268 account_bank: account_bank,
299 269 usernames: a.data.account_name,
... ... @@ -304,6 +274,7 @@ Page({
304 274 });
305 275 } else {
306 276 this.setData({
  277 +
307 278 bank_name: a.data.bank_name,
308 279 account_bank: account_bank,
309 280 usernames: a.data.account_name,
... ... @@ -357,7 +328,7 @@ Page({
357 328 * 生命周期函数--监听页面显示
358 329 */
359 330 onShow: function() {
360   - console.log("onShow里面");
  331 + var th=this;
361 332 this.weixin();
362 333 this.setData({
363 334 button: 0
... ... @@ -376,7 +347,18 @@ Page({
376 347 title: "流动资金提现",
377 348 });
378 349  
379   -
  350 + //优惠券要实时更新
  351 + getApp().getConfig2(function(e) {
  352 + var json_d = JSON.parse(e.switch_list);
  353 + var is_closetxbank=json_d.is_closetxbank;
  354 + var is_tx_wx=json_d.is_tx_wx;
  355 + var data={
  356 + is_closetxbank:is_closetxbank,is_tx_wx:is_tx_wx
  357 + };
  358 + if(is_closetxbank) data.current=2;
  359 + th.setData(data);
  360 +
  361 + },1)
380 362 },
381 363 //提取金额的输入框事件
382 364 defocus: function (event){
... ...
pages/user/member/bring/bring.wxml
1 1 <wxs module="filter" src="../filter.wxs"></wxs>
2 2 <view class="big-rim">
3   -<form bindsubmit='Gettime'>
4   - <view class="txyebk">
5   - <view class="tou">
6   - <view class="ktxye">可提现余额 </view>
7   - <view class="ye">¥<text class="texts">{{filter.getNum(user_money)}}</text></view>
8   - </view>
9   - </view>
10   - <view class="txjebk">
11   - <view class="zhons">
12   - <view class="txje">提现金额 </view>
13   - <view class="dd">
14   - <view class="a">¥</view>
15   - <view class="srk-rim">
16   - <input name="moneys" type="digit" class="srk" value='{{val}}' bindblur="defocus"placeholder-style="color: #df848f;" placeholder='请输入金额最少提现¥{{distribut_min}}' />
17   - </view>
18   - </view>
19   -</view>
20   - </view>
21   - <view class="list-rim">
22   - <view class="xia">
23   - <view class="one-list">请按要求正确填写,预计1-7个工作日到账</view>
24   - <view class="two-list">
25   - <view class="txfs">提现方式</view>
26   -
27   - <view class="big-rim-one" bindtap="onClickItem" data-idx='1'>
28   - <view class="rim-one" >
29   - <view class="ys {{current==1?'tab_item_active':''}}" ></view>
30   - </view>
31   - <view class="yhk">银行卡</view>
32   - </view>
33   - <view wx:if="{{weixin==1}}">
34   - <view class="big-rim-two" bindtap="onClickItem" data-idx='2'>
35   - <view class="rim-one" >
36   - <view class="ys {{current==2?'tab_item_active':''}}" ></view>
37   - </view>
38   - <view class="yhks">微信余额</view>
39   - </view>
40   -</view>
41   - </view>
42   - <view class="one-lists"hidden='{{current==2}}'>卡号
43   - <input name="card" bindinput="bankinput" bindblur="blurInputEvent" class="srk-two"value="{{account_bank}}"placeholder='请输入银行卡账号' maxlength="23"> </input>
44   - </view>
45   - <view class="one-lists">姓名
46   - <input name="userName" class="srk-two" value='{{usernames}}' placeholder='请输入银行卡的开户人姓名'></input></view>
47   - <view class="yh"hidden='{{current==2}}'>银行<text class="yhmz">
48   - {{bank_name}}
49   - </text></view>
50   - </view>
51   - </view>
52   - <button class="{{button<needmon?'om':'botton'}}" data-usermoney="{{user_money}}"
53   - form-type="{{submit}}">{{user_money<needmon?"满"+needmon+"元才可提现":"申请提现"}}</button>
54   -</form>
  3 + <form bindsubmit='Gettime'>
  4 + <!-- 头部 -->
  5 + <view class="txyebk">
  6 + <view class="tou">
  7 + <view class="ktxye">可提现余额 </view>
  8 + <view class="ye">¥<text class="texts">{{filter.getNum(user_money)}}</text></view>
  9 + </view>
  10 + </view>
  11 + <!-- 提现金额的输入 -->
  12 + <view class="txjebk">
  13 + <view class="zhons">
  14 + <view class="txje">提现金额</view>
  15 + <view class="dd">
  16 + <view class="a">¥</view>
  17 + <view class="srk-rim">
  18 + <input name="moneys" type="digit" class="srk" value='{{val}}'
  19 + bindblur="defocus"placeholder-style="color: #df848f;" placeholder='请输入金额最少提现¥{{distribut_min}}' />
  20 + </view>
  21 + </view>
  22 + </view>
  23 + </view>
  24 +
  25 + <view class="list-rim">
  26 + <view class="xia">
  27 + <view class="one-list">请按要求正确填写,预计1-7个工作日到账</view>
  28 + <view class="two-list">
  29 + <view class="txfs">提现方式</view>
  30 + <view wx:if="{{is_closetxbank!=1}}" class="big-rim-one" bindtap="onClickItem" data-idx='1'>
  31 + <view class="rim-one" > <view class="ys {{current==1?'tab_item_active':''}}" ></view></view>
  32 + <view class="yhk">银行卡</view>
  33 + </view>
  34 + <view wx:if="{{is_tx_wx==1}}">
  35 + <view class="big-rim-two" bindtap="onClickItem" data-idx='2'>
  36 + <view class="rim-one" ><view class="ys {{current==2?'tab_item_active':''}}" ></view></view>
  37 + <view class="yhks">微信余额</view>
  38 + </view>
  39 + </view>
  40 + </view>
  41 + <view class="one-lists" hidden='{{current==2}}'>卡号
  42 + <input name="card" bindinput="bankinput" bindblur="blurInputEvent" class="srk-two"value="{{account_bank}}"placeholder='请输入银行卡账号' maxlength="23"> </input>
  43 + </view>
  44 + <view class="one-lists">姓名<input name="userName" class="srk-two" value='{{usernames}}' placeholder="{{current==2?'请输入微信的开户人姓名':'请输入银行卡的开户人姓名'}}"></input></view>
  45 + <view class="yh"hidden='{{current==2}}'>银行<text class="yhmz">{{bank_name}}</text></view>
  46 + </view>
  47 + </view>
  48 + <button class="{{button<needmon?'om':'botton'}}" data-usermoney="{{user_money}}" form-type="{{submit}}">{{user_money<needmon?"满"+needmon+"元才可提现":"申请提现"}}</button>
  49 + </form>
55 50 </view>
56 51  
... ...
pages/user/member/menber.js
... ... @@ -20,16 +20,25 @@ Page({
20 20 * 生命周期函数--监听页面显示
21 21 */
22 22 onShow: function () {
23   - //--先判断会员状态--
  23 + var th=this;
  24 + //--先判断会员状态--
24 25 var user_info = getApp().globalData.userInfo;
25 26 if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
26 27 wx.navigateTo({ url: '/pages/togoin/togoin', })
27   - return false;
  28 + return false;
28 29 }
29   - this.init_fir();
30   - wx.setNavigationBarTitle({
31   - title: "余额",
32   - })
  30 + this.init_fir();
  31 + wx.setNavigationBarTitle({
  32 + title: "余额",
  33 + })
  34 + //优惠券要实时更新
  35 + getApp().getConfig2(function(e) {
  36 + var json_d = JSON.parse(e.switch_list);
  37 +
  38 + th.data.is_closetxbank=json_d.is_closetxbank;
  39 + th.data.is_tx_wx=json_d.is_tx_wx;
  40 + },1)
  41 +
33 42 },
34 43 init_fir: function () {
35 44 this.myMoney(); //我的资产
... ... @@ -78,6 +87,17 @@ Page({
78 87 },
79 88 // 流动资金提现
80 89 jumPage:function(){
  90 +
  91 + //如果都关闭的情况下,不去提现
  92 + if(this.data.is_closetxbank && !this.data.is_tx_wx ){
  93 + wx.showToast({
  94 + title: "商家暂未开通提现功能,敬请期待!",
  95 + icon: 'none',
  96 + duration: 2000
  97 + })
  98 + return false;
  99 + }
  100 +
81 101 wx.navigateTo({
82 102 url: 'bring/bring',
83 103 })
... ...
pages/user/order_detail/order_detail.js
... ... @@ -18,10 +18,12 @@ Page({
18 18 var r = void 0 !== e.isGoup && e.isGoup;
19 19  
20 20 getApp().getConfig2(function (e) {
  21 +
21 22 th.setData({conf: e,sales_rules:e.sales_rules });
22 23 //--- 看后台是不是有开通等级卡 ---
23 24 if(e.switch_list){
24 25 var s_list=JSON.parse(e.switch_list);
  26 + var is_open_offline=s_list.is_pricing_open;
25 27 var user=getApp().globalData.userInfo;
26 28 //如果后台有开启等级价的功能
27 29 if(parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
... ... @@ -34,8 +36,24 @@ Page({
34 36 th.setData({card_field:user.card_field})
35 37 }
36 38 }
  39 + //-- 判断有没有过期 --
  40 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{
  41 + //未购买
  42 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){
  43 + is_open_offline=0;
  44 + }else{
  45 + //已经过期
  46 + var item=res.data.data.pageData[0];
  47 + if(item.end_time<ut.gettimestamp()){
  48 + is_open_offline=0;
  49 + }
  50 + }
  51 +
  52 + th.data.is_open_offline=is_open_offline;
  53 + })
  54 +
37 55 }
38   - })
  56 + },1)
39 57  
40 58 this.setData({
41 59 optionIsGoup: r
... ... @@ -77,6 +95,9 @@ Page({
77 95 r.order_status_detail = "已作废";
78 96 if (r.order_status == 6)
79 97 r.order_status_detail = "退款完成";
  98 + if (r.pt_status == 1 && r.pt_prom_id>0)
  99 + r.order_status_detail = "组团中";
  100 +
80 101  
81 102 r['is_all_return'] = 0;
82 103  
... ... @@ -301,9 +322,17 @@ Page({
301 322 var order=this.data.order;
302 323 var order_goods=order.order_goods;
303 324  
304   -
  325 + var wlist="";
305 326 for(var i in order_goods){
306   - var good=order_goods[i];
  327 + var good=order_goods[i];
  328 + //线下取价功能已经关闭或者过期
  329 + if(!th.data.is_open_offline && good.offline_cut>0){
  330 + wx.showModal({
  331 + title: '提示',
  332 + content: '线下取价功能已经关闭或者过期!'
  333 + });
  334 + return false;
  335 + }
307 336 //如果不是小程序有的功能,直接提示要去3.0处理
308 337 if(good.prom_type==2 ){
309 338 wx.showModal({
... ... @@ -322,6 +351,7 @@ Page({
322 351 })
323 352 var limit = gg.viplimited;
324 353 var store_count = gg.store_count;
  354 + good.erpwareid=gg.erpwareid;
325 355  
326 356 //---要获得商品,该用户买了多少件,同步应用---
327 357 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
... ... @@ -347,8 +377,40 @@ Page({
347 377 return false;
348 378 }
349 379  
  380 + //如果优惠促销和搭配购的时候
  381 + if((good.prom_type==3 || good.prom_type==5) && !good.is_collocation){
  382 + var p_ok=1;
  383 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  384 + }).then(res=>{
  385 + if(res.data.code==0){
  386 + var r_data=res.data.data;
  387 + if(!r_data.collocationPromList && good.prom_type==5){
  388 + wx.showModal({
  389 + title: '提示',
  390 + content: good.goods_name+'未找到活动'
  391 + });
  392 + p_ok=0;
  393 + }
  394 + if(!r_data.promGoodsLists && good.prom_type==3){
  395 + wx.showModal({
  396 + title: '提示',
  397 + content: good.goods_name+'未找到活动'
  398 + });
  399 + p_ok=0;
  400 + }
  401 + }else{
  402 + wx.showModal({
  403 + title: '提示',
  404 + content: good.goods_name+'未找到活动'
  405 + });
  406 + p_ok=0;
  407 + }
  408 + })
  409 + if(!p_ok) return false;
  410 + }
  411 +
350 412 //商品的普通购买 ,不要进行判断
351   - if((good.prom_type==1 || good.prom_type==6 || good.prom_type==5 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
  413 + 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){
352 414 if(gg.prom_type!=good.prom_type) {
353 415 wx.showModal({
354 416 title: '提示',
... ... @@ -356,87 +418,81 @@ Page({
356 418 });
357 419 return false;
358 420 }
359   - if(good.prom_type==3 || good.prom_type==5){
360   - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
361   - }).then(res=>{
362   - if(res.data.code==0){
363   - var r_data=res.data.data;
364   - if(!r_data.collocationPromList && good.prom_type==5){
365   - wx.showModal({
366   - title: '提示',
367   - content: good.goods_name+'未找到活动'
368   - });
369   - }
370   - if(!r_data.promGoodsLists && good.prom_type==3){
371   - wx.showModal({
372   - title: '提示',
373   - content: good.goods_name+'未找到活动'
374   - });
375   - }
376   - }else{
377   - wx.showModal({
378   - title: '提示',
379   - content: good.goods_name+'未找到活动'
380   - });
381   - return false;
382   - }
383   - })
384   - }
385   -
386 421 }else{
387   - if((gg.prom_type==1 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
388   - var prom=null;
389   - //---如果是活动的时候---
390   - var prom=null,th=this;
391   - if(gg.prom_type==1){
392   - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{
393   - }).then(res=>{
394   - if(res.data.code==0){
395   - prom=res.data.data;
396   - }
397   - })
398   - }
399   - if(gg.prom_type==6){
400   - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{
401   - }).then(res=>{
402   - if(res.data.code==0){
403   - prom=res.data.data;
404   - }
405   - })
406   - }
407   -
408   - if(gg.prom_type==4){
409   - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
410   - data:{store_id:os.stoid,goods_id:gg.goods_id}
411   - }).then(res=>{
412   - if(res.data.code==0 && res.data.data && res.data.data.pageData){
413   - prom=res.data.data.pageData[0];
414   - }
415   - })
416   - }
417   -
418   - if(prom){
419   - var t_now=ut.gettimestamp();
420   - if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){
421   - wx.showModal({
422   - title: '提示',
423   - content: gg.goods_name+'商品的活动发生了变化'
424   - });
425   - return false;
426   - }
427   - }
  422 + if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
  423 + var prom=null;
  424 + //---如果是活动的时候---
  425 + var prom=null,th=this;
  426 + if(gg.prom_type==1){
  427 + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{
  428 + }).then(res=>{
  429 + if(res.data.code==0){
  430 + prom=res.data.data;
  431 + }
  432 + })
  433 + }
  434 + if(gg.prom_type==6){
  435 + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{
  436 + }).then(res=>{
  437 + if(res.data.code==0){
  438 + prom=res.data.data;
  439 + }
  440 + })
  441 + }
  442 +
  443 + if(gg.prom_type==4){
  444 + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
  445 + data:{store_id:os.stoid,goods_id:gg.goods_id}
  446 + }).then(res=>{
  447 + if(res.data.code==0 && res.data.data && res.data.data.pageData){
  448 + prom=res.data.data.pageData[0];
  449 + }
  450 + })
  451 + }
  452 +
  453 + if(prom){
  454 + var t_now=ut.gettimestamp();
  455 + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){
  456 + wx.showModal({
  457 + title: '提示',
  458 + content: gg.goods_name+'商品的活动发生了变化'
  459 + });
  460 + return false;
  461 + }
  462 + }
428 463 }
  464 + else{
  465 + var t_ok=1;
  466 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  467 + if(res.data.code==0){
  468 + var r_data=res.data.data;
  469 + //-- 参加了全局的优惠活动 --
  470 + if(r_data.promGoodsLists){
  471 + wx.showModal({
  472 + title: '提示',
  473 + content: gg.goods_name+'商品的活动发生了变化'
  474 + });
  475 + t_ok=0;
  476 + }
  477 + }
  478 + })
  479 + if(!t_ok) return false;
  480 + //-- 如果有参加线下取价 --
  481 + if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+",";
  482 + }
429 483 //赠品和搭配购不判断商品金额
430 484 var isok=1;
431 485 var card_field=th.data.card_field;
432 486 //如果会员是等级会员,商品有等级价,且不是活动商品
433 487 if(!good.is_gift && !good.is_collocation) {
434   - if (card_field && gg[card_field] > 0) {
435   - if (good.goods_price != gg[card_field]) isok = 0;
436   - } else {
437   - if (good.goods_price != gg.shop_price) isok = 0;
438   -
439   - }
  488 + if (card_field && gg[card_field] > 0) {
  489 + if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
  490 + if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  491 +
  492 + } else {
  493 + if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
  494 + if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  495 + }
440 496 var is_h=0;
441 497 if (!isok) {
442 498 wx.showModal({
... ... @@ -474,87 +530,123 @@ Page({
474 530 }
475 531  
476 532 console.log("------------------------------------");
477   -
478   - var prom=null;
479   - //---如果是活动的时候---
480   - var prom=null,goodsinfo=good,th=this;
481   - if(goodsinfo.prom_type==1){
482   - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
483   - }).then(res=>{
484   - if(res.data.code==0){
485   - prom=res.data.data;
486   - }
487   - })
488   - }
489   - if(goodsinfo.prom_type==6 && !good.is_pd_normal){
490   - await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
491   - }).then(res=>{
492   - if(res.data.code==0){
493   - prom=res.data.data;
494   - }
495   - })
496   - }
497   -
498   - if(goodsinfo.prom_type==4 && !good.is_integral_normal){
499   - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
500   - data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
501   - }).then(res=>{
502   - if(res.data.code==0 && res.data.data && res.data.data.pageData){
503   - prom=res.data.data.pageData[0];
504   - }
505   - })
506   - }
507   -
508   -
509   - //----------如果有活动,并且在进行中,就不计算线下库存---------------
510   - if(prom){
511   - var now=ut.gettimestamp();
512   - if(prom.is_end==1 && prom.end_time<now){
513   - wx.showModal({
514   - title: '提示',
515   - content: goodsinfo.goods_name+'商品的活动已经结束'
516   - });
517   - return false;
518   - }
519   -
520   - buyed_mum2=promgoodsbuynum+good.goods_num;
521   - if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) {
522   - wx.showModal({
523   - title: '提示',
524   - content: goodsinfo.goods_name+'购买数量超出商品活动限购'
525   - });
526   - return false;
527   - }
528   -
529   - if(goodsinfo.prom_type==4){
530   - if (good.goods_num > prom.limitqty-prom.buy_num) {
531   - wx.showModal({
532   - title: '提示',
533   - content: goodsinfo.goods_name+'购买数量超出商品活动库存'
534   - });
535   - return false;
536   - }
537   - }else{
538   - var redis_num = 0;
539   - //------判断活动是否抢光-----
540   - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
541   - os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
542   - }).then(res => {
543   - redis_num = res.data.data;
544   - });
545   -
546   - if (good.goods_num > redis_num) {
547   - wx.showModal({
548   - title: gg.goods_name+'超出商品活动库存',
549   - });
550   - return false;
551   - }
552   - }
553   - }
  533 + //---如果是活动的时候---
  534 + var prom=null,goodsinfo=good,th=this;
  535 + if(goodsinfo.prom_type==1){
  536 + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
  537 + }).then(res=>{
  538 + if(res.data.code==0){
  539 + prom=res.data.data;
  540 + }
  541 + })
  542 + }
  543 + if(goodsinfo.prom_type==6 && !good.is_pd_normal){
  544 + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
  545 + }).then(res=>{
  546 + if(res.data.code==0){
  547 + prom=res.data.data;
  548 + }
  549 + })
  550 + }
  551 +
  552 + if(goodsinfo.prom_type==4 && !good.is_integral_normal){
  553 + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
  554 + data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
  555 + }).then(res=>{
  556 + if(res.data.code==0 && res.data.data && res.data.data.pageData){
  557 + prom=res.data.data.pageData[0];
  558 + }
  559 + })
  560 + }
  561 +
  562 + //----------如果有活动,并且在进行中,就不计算线下库存---------------
  563 + if(prom){
  564 + var now=ut.gettimestamp();
  565 + if(prom.is_end==1 && prom.end_time<now){
  566 + wx.showModal({
  567 + title: '提示',
  568 + content: goodsinfo.goods_name+'商品的活动已经结束'
  569 + });
  570 + return false;
  571 + }
  572 +
  573 + buyed_mum2=promgoodsbuynum+good.goods_num;
  574 + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) {
  575 + wx.showModal({
  576 + title: '提示',
  577 + content: goodsinfo.goods_name+'购买数量超出商品活动限购'
  578 + });
  579 + return false;
  580 + }
  581 +
  582 + if(goodsinfo.prom_type==4){
  583 + if (good.goods_num > prom.limitqty-prom.buy_num) {
  584 + wx.showModal({
  585 + title: '提示',
  586 + content: goodsinfo.goods_name+'购买数量超出商品活动库存'
  587 + });
  588 + return false;
  589 + }
  590 + }else{
  591 + var redis_num = 0;
  592 + //------判断活动是否抢光-----
  593 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
  594 + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
  595 + }).then(res => {
  596 + redis_num = res.data.data;
  597 + });
  598 +
  599 + if (good.goods_num > redis_num) {
  600 + wx.showModal({
  601 + title: gg.goods_name+'超出商品活动库存',
  602 + });
  603 + return false;
  604 + }
  605 + }
  606 +
  607 + }
554 608  
555 609 }
556 610  
557   -
  611 + //-- 要判断一下线下取价价格是不是发生改变 --
  612 + if(wlist!="" && th.data.is_open_offline && th.data.is_open_offline>0){
  613 + wlist=ut.sub_last(wlist);
  614 + var keyid=order.pickup_id;
  615 + var user_info=getApp().globalData.userInfo;
  616 + if(!keyid) return false;
  617 + var offarr=null;
  618 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  619 + data:{
  620 + VIPId:encodeURIComponent(user_info.erpvipid),
  621 + store_id:os.stoid,
  622 + PickupId:keyid,
  623 + WareIds:wlist},
  624 + },
  625 + ).then(res=>{
  626 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  627 + offarr=res.data.data;
  628 + }
  629 + })
  630 + if(!offarr && offarr.length<=0 ){
  631 + wx.showModal({ title: '获取线下取价失败',});
  632 + }
  633 + var newarr=ut.convert_arr_key(offarr,'WareId');
  634 + //-- 循环判断线下的价格 --
  635 + for(var k in order_goods){
  636 + var good=order_goods[k];
  637 + //判断线下取价是不是一样
  638 + if(newarr[good.erpwareid] &&
  639 + parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
  640 + wx.showModal({
  641 + title: '提示',
  642 + content: good.goods_name + '商品的价格发生了变化'
  643 + });
  644 + return false;
  645 + }
  646 + }
  647 +
  648 + }
  649 +
558 650 o.jumpToCart4({
559 651 order_sn: this.data.order.order_sn,
560 652 order_amount: this.data.order.order_amount,
... ... @@ -707,11 +799,16 @@ Page({
707 799 await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
708 800 data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid}
709 801 }).then(res=>{
710   - if(res.data.code==0){
  802 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
711 803 plist=res.data.data.pageData[0];
712 804 }
713 805 })
714 806 var ob={}; ob.code=1;
  807 + if(!plist){
  808 + ob.code=-1; ob.CanOutQty=0;
  809 + func(ob);return false;
  810 + }
  811 +
715 812 if(num>plist.CanOutQty-lock){
716 813 ob.code=-1;
717 814 ob.CanOutQty=plist.CanOutQty-lock
... ...
pages/user/order_list/order_list.js
... ... @@ -81,15 +81,19 @@ Page({
81 81 if (t.type != undefined) this.setData({
82 82 activeCategoryId: t.type
83 83 });
84   - s.init(this, "", "orderList");
  84 + s.init(this, "", "orderList");
  85 + },
  86 + onShow: function() {
  87 + var th=this;
85 88 //---查看会员的等级价---
86   - getApp().getConfig2(function(e) {
  89 + getApp().getConfig2(function(e) {
87 90 th.setData({conf: e,sales_rules:e.sales_rules });
88 91 //--- 看后台是不是有开通等级卡 ---
89 92 if(e.switch_list){
90   - var s_list=JSON.parse(e.switch_list);
91   - var user=getApp().globalData.userInfo;
92   - //如果后台有开启等级价的功能
  93 + var s_list=JSON.parse(e.switch_list);
  94 + var user=getApp().globalData.userInfo;
  95 + var is_open_offline=s_list.is_pricing_open;
  96 + //-- 如果后台有开启等级价的功能 --
93 97 if(parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
94 98 var str = user['card_expiredate'].replace(/-/g, '/');
95 99 var end = new Date(str);
... ... @@ -99,12 +103,27 @@ Page({
99 103 if(user.card_field && now<end){
100 104 th.setData({card_field:user.card_field})
101 105 }
102   - }
103   - }
104   - })
105   - },
106   - onShow: function() {
  106 + }
  107 + //-- 判断有没有过期 --
  108 + getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{
  109 + //未购买
  110 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){
  111 + is_open_offline=0;
  112 + }else{
  113 + //已经过期
  114 + var item=res.data.data.pageData[0];
  115 + if(item.end_time<ut.gettimestamp()){
  116 + is_open_offline=0;
  117 + }
  118 + }
  119 +
  120 + th.data.is_open_offline=is_open_offline;
  121 + })
  122 + }
  123 + },1)
  124 +
107 125 this.resetData(), this.requestOrderList(this.data.activeCategoryId);
  126 +
108 127 },
109 128 changeTab: function(t) {
110 129 if (this.data.activeCategoryId == t.currentTarget.id) return false;
... ... @@ -420,9 +439,18 @@ Page({
420 439 var th = this;
421 440 var order=e ;
422 441 var order_goods=e.order_goods;
423   -
  442 +
  443 + var wlist="";
424 444 for(var i in order_goods){
425 445 var good=order_goods[i];
  446 + //线下取价功能已经关闭或者过期
  447 + if(!th.data.is_open_offline && good.offline_cut>0){
  448 + wx.showModal({
  449 + title: '提示',
  450 + content: '线下取价功能已经关闭或者过期!'
  451 + });
  452 + return false;
  453 + }
426 454 //如果不是小程序有的功能,直接提示要去3.0处理
427 455 if(good.prom_type==2 ){
428 456 wx.showModal({
... ... @@ -430,8 +458,7 @@ Page({
430 458 content: '小程序还未有该活动,请到3.0公众号支付'
431 459 });
432 460 return false;
433   - }
434   -
  461 + }
435 462 //要每件每件的商品进行检查,看有么有超出库存,超出限购
436 463 var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null;
437 464 //获取单品的现在的活动状态
... ... @@ -441,6 +468,7 @@ Page({
441 468 })
442 469 var limit = gg.viplimited;
443 470 var store_count = gg.store_count;
  471 + good.erpwareid=gg.erpwareid;
444 472  
445 473 //---要获得商品,该用户买了多少件,同步应用---
446 474 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
... ... @@ -466,8 +494,40 @@ Page({
466 494 return false;
467 495 }
468 496  
  497 + //如果优惠促销和搭配购的时候
  498 + if(good.prom_type==3 || good.prom_type==5){
  499 + var p_ok=1;
  500 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  501 + if(res.data.code==0){
  502 + var r_data=res.data.data;
  503 + if(!r_data.collocationPromList && good.prom_type==5){
  504 + wx.showModal({
  505 + title: '提示',
  506 + content: good.goods_name+'未找到活动'
  507 + });
  508 + p_ok=0;
  509 + }
  510 + if(!r_data.promGoodsLists && good.prom_type==3){
  511 + wx.showModal({
  512 + title: '提示',
  513 + content: good.goods_name+'未找到活动'
  514 + });
  515 + p_ok=0;
  516 + }
  517 + }else{
  518 + wx.showModal({
  519 + title: '提示',
  520 + content: good.goods_name+'未找到活动'
  521 + });
  522 + p_ok=0;
  523 + }
  524 + })
  525 + if(!p_ok) return false;
  526 + }
  527 +
469 528 //商品的普通购买 ,不要进行判断
470   - if((good.prom_type==1 || good.prom_type==6 || good.prom_type==5 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
  529 + if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4 )
  530 + && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
471 531 if(gg.prom_type!=good.prom_type) {
472 532 wx.showModal({
473 533 title: '提示',
... ... @@ -475,35 +535,9 @@ Page({
475 535 });
476 536 return false;
477 537 }
478   - if(good.prom_type==3 || good.prom_type==5){
479   - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
480   - }).then(res=>{
481   - if(res.data.code==0){
482   - var r_data=res.data.data;
483   - if(!r_data.collocationPromList && good.prom_type==5){
484   - wx.showModal({
485   - title: '提示',
486   - content: good.goods_name+'未找到活动'
487   - });
488   - }
489   - if(!r_data.promGoodsLists && good.prom_type==3){
490   - wx.showModal({
491   - title: '提示',
492   - content: good.goods_name+'未找到活动'
493   - });
494   - }
495   - }else{
496   - wx.showModal({
497   - title: '提示',
498   - content: good.goods_name+'未找到活动'
499   - });
500   - return false;
501   - }
502   - })
503   - }
504   -
  538 +
505 539 }else{
506   - if((gg.prom_type==1 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
  540 + if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) {
507 541 var prom=null;
508 542 //---如果是活动的时候---
509 543 var prom=null,th=this;
... ... @@ -545,16 +579,38 @@ Page({
545 579 }
546 580 }
547 581 }
  582 + else{
  583 + var t_ok=1;
  584 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  585 + if(res.data.code==0){
  586 + var r_data=res.data.data;
  587 + //-- 参加了全局的优惠活动 --
  588 + if(r_data.promGoodsLists){
  589 + wx.showModal({
  590 + title: '提示',
  591 + content: gg.goods_name+'商品的活动发生了变化'
  592 + });
  593 + t_ok=0;
  594 + }
  595 + }
  596 + })
  597 + if(!t_ok) return false;
  598 + //-- 如果有参加线下取价 --
  599 + if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+",";
  600 + }
548 601 //赠品和搭配购不判断商品金额
549 602 var isok=1;
550 603 var card_field=th.data.card_field;
551   - //如果会员是等级会员,商品有等级价,且不是活动商品
  604 +
  605 + //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 --
552 606 if(!good.is_gift && !good.is_collocation) {
553 607 if (card_field && gg[card_field] > 0) {
554   - if (good.goods_price != gg[card_field]) isok = 0;
  608 + if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
  609 + if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  610 +
555 611 } else {
556   - if (good.goods_price != gg.shop_price) isok = 0;
557   -
  612 + if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
  613 + if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
558 614 }
559 615 var is_h=0;
560 616 if (!isok) {
... ... @@ -592,9 +648,7 @@ Page({
592 648 }
593 649 }
594 650  
595   - console.log("------------------------------------");
596   -
597   - var prom=null;
  651 + console.log("------------------------------------");
598 652 //---如果是活动的时候---
599 653 var prom=null,goodsinfo=good,th=this;
600 654 if(goodsinfo.prom_type==1){
... ... @@ -623,8 +677,7 @@ Page({
623 677 }
624 678 })
625 679 }
626   -
627   -
  680 +
628 681 //----------如果有活动,并且在进行中,就不计算线下库存---------------
629 682 if(prom){
630 683 var now=ut.gettimestamp();
... ... @@ -669,12 +722,49 @@ Page({
669 722 return false;
670 723 }
671 724 }
672   -
673   -
674   - }
675   -
676   -
  725 +
  726 + }
  727 + }
  728 +
  729 + //-- 要判断一下线下取价价格是不是发生改变 --
  730 + if(wlist!="" && th.data.is_open_offline && th.data.is_open_offline>0){
  731 + wlist=ut.sub_last(wlist);
  732 + var keyid=order.pickup_id;
  733 + var user_info=getApp().globalData.userInfo;
  734 + if(!keyid) return false;
  735 + var offarr=null;
  736 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  737 + data:{
  738 + VIPId:encodeURIComponent(user_info.erpvipid),
  739 + store_id:os.stoid,
  740 + PickupId:keyid,
  741 + WareIds:wlist},
  742 + },
  743 + ).then(res=>{
  744 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  745 + offarr=res.data.data;
  746 + }
  747 + })
  748 + if(!offarr && offarr.length<=0){
  749 + wx.showModal({ title: '获取线下取价失败',});
  750 + }
  751 + var newarr=ut.convert_arr_key(offarr,'WareId');
  752 + //-- 循环判断线下的价格 --
  753 + for(var k in order_goods){
  754 + var good=order_goods[k];
  755 + //判断线下取价是不是一样
  756 + if(newarr[good.erpwareid] &&
  757 + parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
  758 + wx.showModal({
  759 + title: '提示',
  760 + content: good.goods_name + '商品的价格发生了变化'
  761 + });
  762 + return false;
  763 + }
  764 + }
  765 +
677 766 }
  767 +
678 768 th.pay_next(e);
679 769 },
680 770  
... ... @@ -734,11 +824,17 @@ Page({
734 824 await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
735 825 data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid}
736 826 }).then(res=>{
737   - if(res.data.code==0){
  827 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
738 828 plist=res.data.data.pageData[0];
739 829 }
740   - })
741   - var ob={}; ob.code=1;
  830 + })
  831 +
  832 + var ob={}; ob.code=1;
  833 + if(!plist){
  834 + ob.code=-1; ob.CanOutQty=0;
  835 + func(ob);return false;
  836 + }
  837 +
742 838 if(num>plist.CanOutQty-lock){
743 839 ob.code=-1;
744 840 ob.CanOutQty=plist.CanOutQty-lock
... ... @@ -959,8 +1055,7 @@ Page({
959 1055 }
960 1056  
961 1057 //判断是不是线下库存的购买, 是不是秒杀活动
962   - if(th.data.sales_rules==2 && !prom){
963   -
  1058 + if(th.data.sales_rules==2 && !prom){
964 1059 //-- 看一下购物车上有多少商品 --
965 1060 var cart_num=0;
966 1061 await getApp().request.promiseGet("/api/weshop/cart/page", {
... ... @@ -1367,10 +1462,7 @@ Page({
1367 1462 endDate: '选择结束时间',
1368 1463 });--*/
1369 1464 } else if(currentIndex == 1) {
1370   - console.log('线下订单');
1371   -
1372   -
1373   -
  1465 + console.log('线下订单');
1374 1466 this.request_list({
1375 1467 store_id: os.stoid,
1376 1468 user_id: oo.user_id,
... ...
pages/user/order_list/order_list.wxml
... ... @@ -41,7 +41,7 @@
41 41 <!-- 商品评价状态 -->
42 42 <view class="flex-center c-r">
43 43 <!-- 订单状态 -->
44   - <view wx:if="{{item.pt_status==1}}">组团中</view>
  44 + <view wx:if="{{item.pt_status==1 && item.pt_prom_id>0}}">组团中</view>
45 45 <view wx:if="{{(item.order_status==0&&item.pay_status==0)}}">未支付</view>
46 46 <block wx:if="{{!(item.is_all_return_status==0 || item.is_all_return_status==1)}}">
47 47 <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==0)}}">待发货</view>
... ...
utils/auth.js
... ... @@ -213,7 +213,7 @@ module.exports = {
213 213 var userInfo = a.userInfo;
214 214 if (userInfo==undefined){
215 215 //判断本地是数据是否正确
216   - n.goto("/pages/togoin/togoin");
  216 + if(n.globalData.wxapp_buy_obj && n.globalData.wxapp_buy_obj.isbuy==1 && n.globalData.wxapp_buy_obj.isout==0 ) n.goto("/pages/togoin/togoin");
217 217  
218 218 }else{
219 219 a && void 0 != a ? (n.globalData.wechatUser = a, o.login(t, a, e)) : o.goGetUserInfo();
... ...
utils/util.js
... ... @@ -459,11 +459,14 @@ function sha1(s) {
459 459  
460 460 return hex;
461 461 };
462   -
463   -
464   -
465   -
466   -
  462 +//将JS数组对象按其某个键值重组成Map对象
  463 +function convert_arr_key(list,key){
  464 + let keyObs = {}
  465 + list.forEach(item => {
  466 + keyObs[item[key]] = item
  467 + })
  468 + return keyObs;
  469 +}
467 470 module.exports = {
468 471 formatTime: function(e, r) {
469 472 var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) {
... ... @@ -570,5 +573,6 @@ module.exports = {
570 573 isContained:isContained, //是否包含
571 574 base64_encode:base64_encode, //64位加密
572 575 ob_to_parm:ob_to_parm ,//对象变成参数
573   - sha1:sha1, //sha1进行签名
  576 + sha1:sha1, //sha1进行签名
  577 + convert_arr_key:convert_arr_key //将JS数组对象按其某个键值重组成Map对象
574 578 };
... ...