Commit 5d92fcf84f647896dacea14ace73644858f2babe

Authored by yvan.ni
1 parent 446c8c3f

1.门店选择

2.线下取价
3.(提现,兑换券,预存,积分充值)  的开关
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}}' >
30 23 <view class='s2_left'>
31 24 <navigator url="/pages/index/index/index" class="s1_gk_a1">
32 25 <image src='/public/static/images/model/nav.png'></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 40 <navigator url="/pages/cart/cart/cart" class="s1_gk_a1">
50 41 <image src='/public/static/images/model/car.png'></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 + getApp().get_user_store(function(){
  41 + var top_store=getApp().globalData.pk_store;
  42 + if(top_store){
  43 + th.setData({top_store:top_store});
  44 + }else{
  45 + wx.getLocation({
  46 + type: 'gcj02',
  47 + success: function(res) {
  48 + th.data.lat = res.latitude;
  49 + th.data.lon = res.longitude;
  50 + th.set_fir_store_to_def();
  51 + },
  52 + fail: function(res) {
  53 + if(res.errCode == 2) {
  54 + getApp().confirmBox("请开启GPS定位", null, 25000, !1);
  55 + }
  56 + }
  57 + })
  58 + }
  59 + })
  60 + },
  61 + //-- 设置最近的店为默认的店,一开始加载的时候 --
  62 + set_fir_store_to_def(){
  63 + var th=this;
  64 + var dd = {
  65 + store_id: o.stoid,
  66 + isstop: 0,
  67 + pageSize: 1,
  68 + page:1,
  69 + };
  70 + dd.lat = th.data.lat;
  71 + dd.lon = th.data.lon;
  72 + //----------获取门店,最近的门店----------------
  73 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  74 + data: dd,
  75 + }).then(res => {
  76 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  77 + var top_store=res.data.data.pageData[0];
  78 + th.setData({top_store:top_store})
  79 + }
  80 + })
  81 + },
  82 +
  83 + //点击选择门店
  84 + sele_top_store(){
  85 + var user_id=getApp().globalData.user_id;
  86 + if(!user_id) return false;
  87 + var th=this;
  88 + this.get_top_sto(function(){
  89 + th.setData({store:1});
  90 + });
  91 + },
  92 + //选择更多门店
  93 + more_store: function() {
  94 + this.setData({
  95 + sort_store: 1
  96 + });
  97 + },
  98 +
  99 + //确定def_pick为选择的门店
  100 + sure_pick: function() {
  101 + var th = this,item = null,user_id=getApp().globalData.user_id;
  102 + if(!user_id) return false;
  103 +
  104 + //如果是第一层的时候
  105 + if (th.data.choice_sort_store == 0) {
  106 + var index = th.data.fir_pick_index;
  107 + if (th.data.is_show_sto_cat == 1) {
  108 + item = th.data.def_pickpu_list[index];
  109 + } else {
  110 + item = th.data.only_pk[index]; //当没有门店分类的时候
  111 + }
  112 + }
  113 + //如果是跳转到门店分类里面的时候
  114 + else {
  115 + var index = th.data.sec_pick_index;
  116 + item = th.data.sec_sto.s_arr[index];
  117 + }
  118 +
  119 + //--回调函数的用法--
  120 + th.setData({
  121 + top_store: item,
  122 + sto_sele_name: item.pickup_name,
  123 + sto_sele_id: item.pickup_id,
  124 + sto_sele_distr: item.distr_type,
  125 + store: 0,
  126 + choice_sort_store: 0,
  127 + fir_pick_index: 0
  128 + });
  129 + //全局默认门店
  130 + getApp().globalData.pk_store=item;
  131 + //还原基础属性
  132 + th.setData({store: 0,choice_sort_store: 0,sort_store: 0})
  133 + //更新会员的默认的门店
  134 + getApp().request.put('/api/weshop/users/update', {
  135 + data: {
  136 + user_id:user_id,
  137 + def_pickup_id:item.pickup_id
  138 + },
  139 + success: function(res) {}
  140 + });
  141 +
  142 + },
  143 +
  144 + //---点击二级之后的选择---
  145 + choose_for_store: function(e) {
  146 + var index_c = e.currentTarget.dataset.ind;
  147 + this.setData({
  148 + sec_pick_index: index_c,
  149 + fir_pick_index: index_c
  150 + })
  151 + },
  152 +
  153 + //关闭弹出框
  154 + close_popup:function(){
  155 + this.setData({store: 0, choice_sort_store: 0,sort_store: 0})
  156 + },
  157 +
  158 + //---------拿出门店分类和门店------------
  159 + get_top_sto(func) {
  160 + //如果有就不重新调用接口了
  161 + if(this.data.all_pick_list){
  162 + this.deal_pickup(this.data.all_pick_list,func)
  163 + return false;
  164 + }
  165 + var th = this,that=this;
  166 + var i = getApp().request;
  167 + var dd = {
  168 + store_id: o.stoid,
  169 + isstop: 0,
  170 + pageSize: 2000
  171 + }
  172 +
  173 + //如果有距离的话
  174 + if (th.data.lat != null) {
  175 + dd.lat = th.data.lat;
  176 + dd.lon = th.data.lon;
  177 + }
  178 +
  179 + wx.showLoading({title:'加载中.' });
  180 + //----------获取门店----------------
  181 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  182 + data: dd,
  183 + }).then(res => {
  184 + var e = res;
  185 + if (e.data.code == 0 && e.data.data.pageData && e.data.data.pageData.length){
  186 + th.setData({all_pick_list:e.data.data.pageData});
  187 + th.deal_pickup(e.data.data.pageData,func); //--普通门店排版--
  188 + }
  189 + })
  190 + },
  191 +
  192 + //------------处理门店---------------
  193 + deal_pickup(e,func){
  194 + var th=this;
  195 + wx.hideLoading();
  196 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
  197 + if (th.data.top_store){
  198 + for (var k = 0; k < e.length; k++) {
  199 + if (e[k].pickup_id == th.data.top_store.pickup_id) {
  200 + e.splice(k, 1); //删除
  201 + break;
  202 + }
  203 + }
  204 + e.splice(0, 0, th.data.top_store); //添加
  205 + }
  206 +
  207 +
  208 + //单总量超出5个的时候
  209 + if (e.length > 5) {
  210 + getApp().request.get("/api/weshop/storagecategory/page", {
  211 + data: {
  212 + store_id: o.stoid,
  213 + is_show: 1,
  214 + pageSize: 1000,
  215 + orderField:"sort",
  216 + orderType:'asc',
  217 + },
  218 + success: function(ee) {
  219 + if (ee.data.code == 0) {
  220 + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
  221 + var def_arr = new Array();
  222 + var ishas = 0;
  223 + //-- 开始就看5个门店 --
  224 + for (var k = 0; k < 5; k++) {
  225 + if (k == e.length) break;
  226 + def_arr.push(e[k]);
  227 + }
  228 +
  229 + th.setData({
  230 + def_pickpu_list: def_arr,
  231 + pickpu_list: ee.data.data.pageData
  232 + });
  233 + var sto_cate = ee.data.data.pageData;
  234 + var sto_arr = e;
  235 + var newarr = new Array();
  236 + var qita = new Array();
  237 +
  238 + //----要进行门店分组--------
  239 + for (var i = 0; i < sto_arr.length; i++) {
  240 + //找一下这个门店有没有在分类数组内
  241 + var find2 = 0, find2name = "",sort=0;
  242 + for (var m = 0; m < sto_cate.length; m++) {
  243 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  244 + find2 = sto_cate[m].cat_id;
  245 + find2name = sto_cate[m].cat_name;
  246 + sort = sto_cate[m].sort;
  247 + break;
  248 + }
  249 + }
  250 +
  251 + if (newarr.length > 0) {
  252 + var find = 0;
  253 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  254 + if (find2 != 0) {
  255 + for (var ii = 0; ii < newarr.length; ii++) {
  256 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  257 + newarr[ii].s_arr.push(sto_arr[i]);
  258 + find = 1;
  259 + break;
  260 + }
  261 + }
  262 + if (find == 0) {
  263 + var arr0 = new Array();
  264 + arr0.push(sto_arr[i]);
  265 + var item = {
  266 + cat_id: find2,
  267 + name: find2name,
  268 + sort:sort,
  269 + s_arr: arr0
  270 + };
  271 + newarr.push(item);
  272 + }
  273 + } else {
  274 + qita.push(sto_arr[i]);
  275 + }
  276 + } else {
  277 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  278 + if (find2 != 0) {
  279 + var arr0 = new Array();
  280 + arr0.push(sto_arr[i]);
  281 + var item = {
  282 + cat_id: find2,
  283 + name: find2name,
  284 + sort:sort,
  285 + s_arr: arr0
  286 + };
  287 + newarr.push(item);
  288 + } else {
  289 + qita.push(sto_arr[i]);
  290 + }
  291 + }
  292 + }
  293 +
  294 + //门店分类要排序下
  295 + function compare(property){
  296 + return function(a,b){
  297 + var value1 = a[property];
  298 + var value2 = b[property];
  299 + return value1 - value2;
  300 + }
  301 + }
  302 + if(newarr.length>0) newarr.sort(compare("sort"));
  303 +
  304 + //----安排其他的分类-----
  305 + if (qita.length > 0) {
  306 + var item = {
  307 + cat_id: -1,
  308 + name: "其他",
  309 + s_arr: qita
  310 + };
  311 + newarr.push(item);
  312 + }
  313 +
  314 + th.setData({
  315 + is_show_sto_cat: 1,
  316 + all_sto: newarr
  317 + });
  318 +
  319 + } else {
  320 + th.setData({is_show_sto_cat: -1,only_pk: e});
  321 + }
  322 + } else {
  323 + th.setData({is_show_sto_cat: -1,only_pk: e});
  324 + }
  325 + func(); //回调
  326 + }
  327 + });
  328 + } else {
  329 + th.setData({is_show_sto_cat: 0,only_pk: e});
  330 + func(); //回调
  331 + }
  332 + },
  333 +
  334 + //---选择分类门店---
  335 + choice_sort_store: function(e) {
  336 + var index = e.currentTarget.dataset.index;
  337 + var region_name = e.currentTarget.dataset.region;
  338 + var item = this.data.all_sto[index];
  339 + this.setData({
  340 + region_name: region_name,
  341 + sort_store: 0,
  342 + choice_sort_store: 1,
  343 + sec_sto: item,
  344 + sec_pick_index: 0
  345 + });
  346 + },
  347 + //返回按钮
  348 + returns: function() {
  349 + this.setData({
  350 + sort_store: 0,
  351 + choice_sort_store: 0
  352 + });
  353 + },
  354 +
  355 + //第一层选择门店的情况
  356 + choose_for_store_fir: function(e) {
  357 + var index_c = e.currentTarget.dataset.ind;
  358 + var th=this;
  359 + th.setData({ fir_pick_index: index_c })
  360 + },
  361 + },
  362 +
  363 +
  364 +
  365 +})
0 366 \ 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 +<block wx:if="{{object}}">
  2 + <view class="store_sele1 flex ai_c" bindtap="sele_top_store">
  3 + <image class="logo_box circle" src="{{url+store_config.store_logo}}"></image>{{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
  4 + </view>
  5 +</block>
  6 +<block wx:else>
  7 + <view class="store_sele flex ai_c" bindtap="sele_top_store">
  8 + <image class="logo_box circle" src="{{url+store_config.store_logo}}"></image>{{top_store?top_store.pickup_name+'[切换]':'请选择门店'}}
  9 + </view>
  10 + <view class="pd-view"></view>
  11 +</block>
  12 +
  13 +<!-- 选择门店的弹框,1.1版最新的 -->
  14 +<block wx:if="{{store==1}}">
  15 + <view class="mongolia-layer" bindtap="close_popup"></view>
  16 + <view class="popup-frame">
  17 + <block wx:if="{{sort_store==0}}">
  18 + <!-- 头部 标题 -->
  19 + <view class="popup-top flex-space-between">
  20 + <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text>
  21 + <view>
  22 + <view>
  23 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  24 + </view>
  25 + <view class="felx choose_more" bindtap="more_store">
  26 + <text class="fs26 red-co" wx:if="{{is_show_sto_cat}}">{{choice_sort_store==0?'更多门店':'返回'}}</text>
  27 + <view class="bg_rights" wx:if="{{is_show_sto_cat}}"></view>
  28 + </view>
  29 + </view>
  30 + </view>
  31 + <!-- 门店列表,最外层的门店列表,一开始 -->
  32 + <view class="store-list">
  33 + <!--如果还没有点击更多门店的时候 -->
  34 + <block wx:if="{{choice_sort_store==0}}">
  35 + <!-- 需要for循环 -->
  36 + <block wx:if="{{is_show_sto_cat==1}}">
  37 + <view class="store_choose flex" wx:for="{{def_pickpu_list}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  38 + <view class="store flex-vertical">
  39 + <!-- 需要点击事件 -->
  40 + <block wx:if="{{index==fir_pick_index}}">
  41 + <view class="circle white xc-hook fs20 red-b">Г</view>
  42 + </block>
  43 + <block wx:else>
  44 + <view class="circle xc-hooks"></view>
  45 + </block>
  46 + <view class="address-frame xc-ash">
  47 + <view class="flex-vertical-between butttem5">
  48 + <view class="flex xc-ash">
  49 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  50 + </view>
  51 + <view>
  52 + <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}">
  53 + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}}</view>
  54 + </view>
  55 + </view>
  56 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  57 + </view>
  58 + </view>
  59 + </view>
  60 + </block>
  61 + <block wx:else>
  62 + <view class="store_choose flex" wx:for="{{only_pk}}" bindtap="choose_for_store_fir" data-ind="{{index}}">
  63 + <view class="store flex-vertical">
  64 + <!-- 需要点击事件 -->
  65 + <block wx:if="{{index==fir_pick_index}}" >
  66 + <view class="circle white xc-hook fs20 red-b">Г</view>
  67 + </block>
  68 + <block wx:else>
  69 + <view class="circle xc-hooks"></view>
  70 + </block>
  71 +
  72 + <view class="address-frame xc-ash">
  73 + <view class="flex-vertical-between ">
  74 + <view class="flex xc-ash">
  75 + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view>
  76 + </view>
  77 + <view>
  78 + <view class="distance fs24 address-val"
  79 + wx:if="{{item.distance!=null}}">距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}
  80 + </view>
  81 + </view>
  82 + </view>
  83 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  84 + </view>
  85 + </view>
  86 + </view>
  87 + </block>
  88 + </block>
  89 + <block wx:else> <!-- 如果是点击选择门店分类后显示分类下的门店 -->
  90 + <view class="store_choose flex" wx:for="{{sec_sto.s_arr}}" data-ind="{{index}}" bindtap="choose_for_store">
  91 + <view class="store flex-vertical">
  92 + <!-- 需要点击事件 -->
  93 + <block wx:if="{{index==sec_pick_index}}">
  94 + <view class="circle white xc-hook fs20 red-b">Г</view>
  95 + </block>
  96 + <block wx:else>
  97 + <view class="circle xc-hooks"></view>
  98 + </block>
  99 +
  100 + <view class="address-frame xc-ash">
  101 + <view class="flex-vertical-between ">
  102 + <view class="flex xc-ash">
  103 + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view>
  104 + </view>
  105 + <view>
  106 + <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}">
  107 + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view>
  108 + </view>
  109 + </view>
  110 + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view>
  111 + </view>
  112 + </view>
  113 + </view>
  114 + </block>
  115 +
  116 + </view>
  117 +
  118 + <!-- 门店列表底部 -->
  119 + <view class="store-bottom-frame">
  120 + <view class="store-bottom flex jc-center ai_center">
  121 + <view class="determine red-b fs28 white t-c" bindtap="sure_pick">确定</view>
  122 + </view>
  123 + </view>
  124 + </block>
  125 + <block wx:else>
  126 + <view class="popup-top flex-space-between">
  127 + <text class="fs32 nearby_store">门店分类选择</text>
  128 + <view>
  129 + <view>
  130 + <icon bindtap="close_popup" class="modal-closes" color="black" size="22" type="cancel"></icon>
  131 + </view>
  132 + <view class="felx choose_mores" bindtap="returns">
  133 + <text class="fs26 red-co">返回</text>
  134 + </view>
  135 + </view>
  136 + </view>
  137 + <view class="sort_store_list">
  138 +
  139 + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}">
  140 + <view class="sort-store flex-vertical-between" >
  141 + <view class="fs30" di>{{item.name}}</view>
  142 + <view class="black_rights-frame">
  143 + <view class="black_rights"></view>
  144 + </view>
  145 + </view>
  146 + </view>
  147 +
  148 + </view>
  149 + </block>
  150 + </view>
  151 +</block>
0 152 \ 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: #666;
  2 + top: 0; left: 0; background-color: #fff; font-size: 32rpx;}
  3 +
  4 + .store_sele1{ height: 88rpx; 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
... ...
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 + this.getCardList();
  69 +
  70 + //--获取是否又秒杀活动--
  71 + getApp().request.promiseGet("/api/ms/flash_sale/spikepage", {
  72 + data: {
  73 + store_id: oo.stoid,
  74 + timetype: 2,
  75 + is_end: 0,
  76 + is_show: 1,
  77 + pageSize: 1
  78 + },
  79 + }).then(res => {
  80 + if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) {
  81 + th.setData({
  82 + is_has_flash: 1
  83 + })
189 84 }
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   - }
  85 + });
  86 +
  87 + },
  88 +
  89 + onHide(){
  90 + for(var i = 1; i < 100; i++) {
  91 + clearInterval(i);
  92 + }
  93 + },
  94 +
  95 + //-------------获取购物车列表,要安装门店进行分类订单-----------
  96 + getCardList: function() {
  97 + var th = this;
  98 + //如果门店还未读出来的时候
  99 + if (th.data.allsto == null) {
  100 + //读取门店
  101 + app.get_allsto(function(e) {
  102 + th.setData({
  103 + allsto: e
203 104 });
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;
  105 + th.get_cart();
  106 + })
  107 + } else {
  108 + th.get_cart();
  109 + }
  110 +
  111 + //要获取会员是不是等级会员
  112 + getApp().getConfig2(function(conf){
  113 + //--- 看后台是不是有开通等级卡 ---
  114 + if(conf.switch_list){
  115 + var s_list=JSON.parse(conf.switch_list);
  116 + var user=getApp().globalData.userInfo;
  117 + //如果后台有开启等级价的功能
  118 + if(user && parseInt(s_list.rank_switch)==2 && user['card_expiredate']){
  119 +
  120 + var str = user['card_expiredate'].replace(/-/g, '/');
  121 + var end = new Date(str);
  122 + end = Date.parse(end) / 1000;
  123 + var now = ut.gettimestamp();
  124 + //--- 判断是等级会员,且在有效期范围内 ---
  125 + if(user.card_field && now<end){
  126 + th.setData({card_field:user.card_field})
  127 + }
225 128 }
226   - })
227   - if (!isok) continue;
228 129 }
  130 + })
  131 +
  132 +
  133 + },
  134 + //-----真的获取购物车--------
  135 + get_cart: function() {
  136 + var th = this;
  137 + var rd = Math.random().toString(36).substr(2, 15);
  138 + getApp().request.get("/api/weshop/cart/list", {
  139 + data: {
  140 + user_id: app.globalData.user_id,
  141 + rd: rd,
  142 + store_id: oo.stoid,
  143 + pageSize: 600,
  144 + state:0
  145 + },
  146 + success:async function(su) {
  147 + //按门店分类的数组
  148 + var arr = new Array(),
  149 + carr = su.data.data.pageData;
  150 + var all_num = 0;
  151 +
  152 + if(carr && carr.length>0) {
  153 + for (var i = 0; i < carr.length; i++) {
  154 + var item = carr[i];
  155 + var good = null;
  156 + if(item.is_gift){
  157 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  158 + getApp().request.delete(url, {
  159 + success: function (t) {
  160 + }
  161 + });
  162 + //商品已经下架
  163 + continue;
  164 + }
  165 +
  166 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
  167 + good = res.data.data;
  168 + })
  169 + if(!good){
  170 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  171 + getApp().request.delete(url, {
  172 + success: function (t) {
  173 + }
  174 + });
  175 + continue;
  176 + }
  177 +
  178 + var tt = ut.gettimestamp();
  179 + //如果商品下架了,或者商品是赠品,一开始都要清除
  180 + if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) {
  181 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  182 + getApp().request.delete(url, {
  183 + success: function (t) {
  184 + }
  185 + });
  186 + //商品已经下架
  187 + continue;
  188 + }
229 189  
230   - all_num += item.goods_num;
231   - item.original_img = oo.imghost + item.original_img;
232   - item.selected = 0;
  190 + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
  191 + if (item.prom_type == 1) {
  192 + var prom = null;
  193 + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
  194 + if (res.data.code == 0) prom = res.data.data;
  195 + })
  196 + //---如果有活动,不算在一起---
  197 + if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
  198 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  199 + a.delete(url, {
  200 + success: function (t) {
  201 + }
  202 + });
  203 + //商品已经下架
  204 + continue;
  205 + }
  206 + }
  207 + //--判断优惠活动有没有过期--
  208 + else if (item.prom_type == 3) {
  209 + var isok = 1;
  210 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
  211 + if (res.data.code == 0) {
  212 + var r_data = res.data.data;
  213 + if (!r_data.promGoodsLists) {
  214 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  215 + getApp().request.delete(url, {});
  216 + //商品已经下架
  217 + isok = 0;
  218 + }
  219 + } else {
  220 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  221 + getApp().request.delete(url, {});
  222 + //商品已经下架
  223 + isok = 0;
  224 + }
  225 + })
  226 + if (!isok) continue;
  227 + } else if(item.prom_type == 0) {
  228 + //如果有优惠活动,要更新活动
  229 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
  230 + if (res.data.code == 0) {
  231 + var r_data = res.data.data;
  232 + if (r_data.promGoodsLists) {
  233 + var url = '/api/weshop/cart/update';
  234 + getApp().request.put(url, {
  235 + data:{id:item.id,store_id:oo.stoid,prom_type:3,prom_id:r_data.promGoodsLists[0].prom_id}
  236 + });
  237 + item.prom_type=3;
  238 + item.prom_id=r_data.promGoodsLists[0].prom_id;
  239 + }
  240 + }
  241 + })
233 242  
  243 + }
234 244  
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;
  245 + all_num += item.goods_num;
  246 + item.original_img = oo.imghost + item.original_img;
  247 + item.selected = 0;
  248 + item.erpwareid=good.erpwareid; //要同步下线商品的id
  249 + item.shop_price=good.shop_price; //要同步下线商品的id
  250 +
  251 + var pcid = item.pick_id;
  252 + var find = 0;
  253 + //---------循环查找门店---
  254 + if (arr.length > 0) {
  255 + for (var j = 0; j < arr.length; j++) {
  256 + if (arr[j].pid == pcid) {
  257 + arr[j].goods.push(item);
  258 + find = 1;
  259 + break;
  260 + }
  261 + }
  262 + }
  263 +
  264 + //------如果没有找到-----
  265 + if (find == 0) {
  266 + var pikname = '';
  267 + //找到门店名称
  268 + for (var k = 0; k < th.data.allsto.length; k++) {
  269 + if (pcid == th.data.allsto[k].pickup_id) {
  270 + pikname = th.data.allsto[k].pickup_name;
  271 + break;
  272 + }
  273 + }
  274 + var narr = new Array();
  275 + narr.push(item);
  276 + var ie = {
  277 + pid: pcid,
  278 + pname: pikname,
  279 + goods: narr,
  280 + selected: 0
  281 + };
  282 + arr.push(ie);
  283 + }
  284 + }
244 285 }
245   - }
246   - }
247 286  
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;
  287 + if(arr.length==0) {
  288 + setTimeout(function () {
  289 + var goods_list = th.selectComponent("#goods_list"); //组件的id
  290 + goods_list.init();
  291 + goods_list.get_list();
  292 + }, 800)
256 293 }
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 294  
  295 + //-- 此时要实时更新线下取价价格 --
  296 + for(var i=0;i<arr.length;i++){
  297 + //每个门店都去看下线下取价
  298 + var list=arr[i];
  299 + await th.set_offline(list);
  300 + }
  301 +
  302 + th.setData({
  303 + requestData: arr,
  304 + all_num: all_num,
  305 + is_load: 1,
  306 + is_edit: 0
  307 + }),
  308 + th.doCheckAll(), wx.stopPullDownRefresh();
  309 +
  310 + }
  311 + });
  312 + },
271 313  
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)
  314 + //设置莫个门店的所有线下价格
  315 + async set_offline(list){
  316 + var th=this;
  317 + var userInfo=getApp().globalData.userInfo;
  318 + //组织一下商品,然后进行线下价格的赋值
  319 + var wlist="";
  320 + for(var i in list.goods){
  321 + //如果商品有促销活动
  322 + if(list.goods[i].prom_type>0) continue;
  323 + wlist+= encodeURIComponent(list.goods[i].erpwareid)+",";
278 324 }
  325 + wlist=ut.sub_last(wlist);
  326 + //调用接口进行赋值
  327 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  328 + data:{
  329 + store_id:os.stoid,
  330 + PickupId:list.pid,
  331 + WareIds:wlist,
  332 + VIPId: userInfo.erpvipid
  333 + }
  334 + }).then(res => {
  335 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  336 + for(var e in res.data.data){
  337 + th.set_cart_offline_price(res.data.data[e],list.goods);
  338 + }
  339 + }
  340 + })
  341 + },
279 342  
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();
  343 + //-- 设置购物车线下 --
  344 + set_cart_offline_price:function(data,glist)
  345 + {
  346 + for(var i in glist) {
  347 + if(glist[i].erpwareid==data.WareId && glist[i].prom_type==0){
  348 + if(glist[i].goods_price>=data.WarePrice){
  349 + glist[i].is_offline=1;
  350 + glist[i].offline_price=data.WarePrice;
  351 + glist[i].pricing_type=data.PriceType;
  352 + }
305 353 }
306   - });
307 354 }
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 {
  355 + },
  356 + //删除商品
  357 + delete_th_item: function(t) {
  358 + var e = this;
  359 + var a = rq;
  360 + console.log(a);
363 361 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,
  362 + title: "确定删除?",
  363 + success: function(s) {
  364 + if (s.confirm) {
  365 + var r = t.currentTarget.dataset.cartid;
  366 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + r;
  367 + a.delete(url, {
  368 + success: function(t) {
  369 + e.getCardList();
  370 + }
  371 + });
  372 + }
  373 + }
411 374 });
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;
  375 + },
  376 +
  377 + //-----------------点击输入修改商品数量---------------
  378 + valueToNum: function(t) {
  379 + if(!this.data.is_load) return false;
  380 + //控制住,避免事件响应冲突,只有input有输入的时候,才刷新
  381 + if(this.data.btn_click){
  382 + return false;
  383 + }
  384 + this.data.btn_click=1;
  385 +
  386 + var a = t.currentTarget.dataset.item;
  387 + var b = t.currentTarget.dataset.pitems;
  388 + a = this.data.requestData[b].goods[a];
  389 + var e = a;
  390 + var th=this;
  391 +
  392 + if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) {
  393 + var s = {
  394 + goods_num: a,
  395 + goods_id: e.goods_id,
  396 + id: e.id,
  397 + store_id: oo.stoid
  398 + };
  399 + th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  400 + }
  401 +
  402 + },
  403 +
  404 + //-------------加数量---------------------
  405 + addNum: function(t) {
  406 + if(!this.data.is_load) return false;
  407 + if (this.data.up_dating == 1) return false;
  408 + this.data.up_dating = 1;
  409 +
  410 + var a = t.currentTarget.dataset.item;
  411 + var b = t.currentTarget.dataset.pitems;
  412 + a = this.data.requestData[b].goods[a];
  413 +
  414 + if (a.goods_num<a.store_count) {
  415 + var e = {
  416 + goods_num: a.goods_num + 1,
  417 + id: a.id,
  418 + goods_id: a.goods_id,
  419 + store_id: oo.stoid
  420 + };
  421 + isShowLoading: 0;
  422 + this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
418 423 } 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   - }
  424 + wx.showModal({
  425 + title: '提示',
  426 + content: '购买的数量不能超出库存数量',
  427 + });
  428 + this.data.up_dating = 0;
424 429 }
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;
  430 + },
  431 + //-------------减数量---------------------
  432 + subNum: function(t) {
  433 + if(!this.data.is_load) return false;
  434 + if (this.data.up_dating == 1) return false;
  435 + this.data.up_dating = 1;
  436 +
  437 + var a = t.currentTarget.dataset.item;
  438 + var b = t.currentTarget.dataset.pitems;
  439 + a = this.data.requestData[b].goods[a];
  440 + this.data.btn_click=1;
  441 +
  442 + if (a.goods_num - 1 < 0){
  443 + this.data.up_dating = 0;
  444 + return false;
432 445 }
433   - }
434   - }
435 446  
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   - }
  447 + if (1 != a.goods_num) {
  448 + var e = {
  449 + goods_num: a.goods_num - 1,
  450 + id: a.id,
  451 + goods_id: a.goods_id,
  452 + store_id: oo.stoid
  453 + };
  454 + this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  455 + }
  456 + },
  457 + //---------------全选,全选的时候要判断是否门店的匹配方式一致--------------
  458 + checkAll: function() {
  459 + var e = this,
  460 + dda = e.data.requestData,
  461 + tfeel = 0,
  462 + t_num = 0,
  463 + text_arr = "";
  464 + this.data.btn_click=1;
  465 +
  466 + for (var i = 0; i < dda.length; i++) {
  467 + var item = dda[i].goods;
  468 + if (!e.data.checkAllToggle) {
  469 + var txt = "requestData[" + i + "].selected";
  470 + e.setData({
  471 + [txt]: 0,
  472 + });
  473 + }
  474 + var fir = 0;
  475 + for (var j = 0; j < item.length; j++) {
  476 + if(item[j].is_gift) continue;
  477 + if (fir == 0) {
  478 + fir = item[j].distr_type;
  479 + } else {
  480 + //如果同一门店有不同门店的商品,不能同一配送
  481 + if (fir != item[j].distr_type && !e.data.checkAllToggle && item[j].distr_type != 0) {
  482 + text_arr += item[j].goods_name + " ";
  483 + break;
  484 + }
  485 + }
  486 + var txt = "requestData[" + i + "].goods[" + j + "].selected"
  487 + e.setData({
  488 + [txt]: !e.data.checkAllToggle,
  489 + })
  490 + if (!e.data.checkAllToggle) {
  491 + tfeel += item[j].goods_num * item[j].goods_price;
  492 + t_num += item[j].goods_num;
  493 + }
  494 + }
  495 + }
452 496  
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;
  497 + if (text_arr != "") {
  498 + wx.showModal({
  499 + title: '提示',
  500 + content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
  501 + });
  502 + return false;
  503 + } else {
  504 + e.setData({
  505 + checkAllToggle: !e.data.checkAllToggle,
  506 + total_fee: tfeel.toFixed(2),
  507 + total_num: t_num,
  508 + });
  509 +
  510 + for(var i in e.data.requestData){
  511 + e.check_prom_activity(i)
477 512 }
478   - }
  513 +
479 514 }
480   - }
481   - }
  515 + },
482 516  
483   - if (!isok) {
484   - wx.showModal({
485   - title: '提示',
486   - content: '同一门店自提和物流的商品不能同时结算'
487   - });
488   - return false;
489   - }
  517 + //------门店全选按钮,要判断是否门店的匹配方式一致---------
  518 + check_th_all_item:async function(ele) {
  519 + var e = this,
  520 + pitems = ele.currentTarget.dataset.pitems,
  521 + item = this.data.requestData[pitems].goods,
  522 + sele = this.data.requestData[pitems].selected;
  523 + this.data.btn_click=1;
  524 +
  525 + var isok = 1,
  526 + fir = 0,
  527 + iarr = item;
  528 + if (!sele && item.length > 0) {
  529 + for (var i = 0; i < iarr.length; i++) {
  530 + if(iarr[i].is_gift==1) continue;
  531 + if (iarr[i].distr_type != 0) {
  532 + if (fir == 0) {
  533 + fir = iarr[i].distr_type;
  534 + } else {
  535 + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
  536 + isok = 0;
  537 + break;
  538 + }
  539 + }
  540 + }
  541 + }
  542 + }
490 543  
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;
  544 + if (!isok) {
  545 + wx.showModal({
  546 + title: '提示',
  547 + content: '同一门店自提和物流的商品不能同时结算'
  548 + });
  549 + return false;
  550 + }
  551 +
  552 + for (var i = 0; i < item.length; i++) {
  553 + var txt = "requestData[" + pitems + "].goods[" + i + "].selected";
  554 + e.setData({
  555 + [txt]: Number(!sele),
  556 + });
  557 + }
  558 + var txt = "requestData[" + pitems + "].selected";
  559 + e.setData({
  560 + [txt]: Number(!sele),
  561 + });
  562 + await e.check_prom_activity(pitems);
  563 + this.doCheckAll();
  564 + },
  565 +
  566 + //---------------单选,也要判断门店的配送方式是否一致--------------
  567 + check_th_item: async function(t) {
  568 + var e = this,
  569 + item = t.currentTarget.dataset.item,
  570 + pitems = t.currentTarget.dataset.pitems;
  571 + a = this.data.requestData[pitems].goods[item];
  572 + var isok = 1,fir = 0;
  573 + var iarr = e.data.requestData[pitems].goods;
  574 + this.data.btn_click=1;
  575 +
  576 +
  577 + //当数量大于1,且是选择的时候
  578 + if (iarr.length > 1 && !a.selected) {
  579 + for (var i = 0; i < iarr.length; i++) {
  580 + if(iarr[i].is_gift==1) continue;
  581 +
  582 + //---当不是本身选择项目----
  583 + var sel = iarr[i].selected;
  584 + if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
  585 + if (fir == 0) {
  586 + fir = iarr[i].distr_type;
  587 + } else {
  588 + if (fir != iarr[i].distr_type && iarr[i].distr_type != 0) {
  589 + isok = 0;
  590 + break;
  591 + }
  592 + }
  593 + }
530 594 }
531   - }
532 595 }
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;
  596 + if (!isok) {
  597 + wx.showModal({
  598 + title: '提示',
  599 + content: '同一门店自提和物流的商品不能同时结算'
  600 + });
572 601 } else {
573   - tfeel += item[c].goods_num * item[c].goods_price;
574   - t_num += item[c].goods_num;
  602 + var txt = "requestData[" + pitems + "].goods[" + item + "].selected";
  603 + e.setData({
  604 + [txt]: Number(!a.selected),
  605 + });
  606 +
  607 + if(a.prom_type==3){
  608 + //判断商品是不是优惠活动
  609 + await e.check_prom_activity(pitems);
  610 + }
  611 +
  612 + this.doCheckAll();
575 613 }
576   - }
  614 + },
  615 + //----------检查是否全选---------
  616 + doCheckAll: function() {
  617 + var th = this,
  618 + tfeel = 0,
  619 + t_num = 0,
  620 + ischeck = 1,
  621 + car = this.data.requestData,
  622 + all_num = 0;
  623 +
  624 + for (var a = 0; a < car.length; a++) {
  625 + var c_item=car[a];
  626 + var item = car[a].goods,
  627 + is_s_sele = 1;
  628 + var offline_price=0;
  629 + var offline_num=0;
  630 + for (var c = 0; c < item.length; c++) {
  631 + if(item[c].is_gift) continue;
  632 + all_num += item[c].goods_num;
  633 + if (item[c].selected == 0) {
  634 + ischeck = 0;
  635 + is_s_sele = 0;
  636 + } else {
  637 + tfeel += item[c].goods_num * item[c].goods_price;
  638 + t_num += item[c].goods_num;
  639 + }
577 640  
578   - var txt = "requestData[" + a + "].selected";
579   - th.setData({
580   - [txt]: Number(is_s_sele)
581   - });
  641 + //-- 如果这个商品是线下取价的时候 --
  642 + if(item[c].is_offline){
  643 + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
  644 + offline_num+=item[c].goods_num;
  645 + }
  646 +
  647 + }
  648 +
  649 + var txt = "requestData[" + a + "].selected";
  650 + th.setData({
  651 + [txt]: Number(is_s_sele)
  652 + });
  653 +
  654 + //当有线下取价的时候
  655 + if(offline_price){
  656 + var txt1= "requestData[" + a + "].offline_price";
  657 + var txt2= "requestData[" + a + "].offline_num";
  658 + th.setData({
  659 + [txt1]: offline_price.toFixed(2),
  660 + [txt2]: offline_num,
  661 + });
  662 + }
582 663  
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 664 }
  665 + this.setData({
  666 + checkAllToggle: ischeck,
  667 + total_fee: tfeel.toFixed(2),
  668 + all_num: all_num,
  669 + total_num: t_num
  670 + });
  671 + },
643 672  
644   -
645   - if (goodsinfo.prom_type == 1) {
646   - //读取秒杀
647   - rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
  673 + //----------------------更新购物数量,加减,调用接口---------------------
  674 + postCardList: function(t, item, pitem) {
  675 +
  676 + var e = this,th=e;
  677 + var user_id = getApp().globalData.user_id;
  678 + console.log('update');
  679 + console.log(t);
  680 + rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, {
648 681 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   -
  682 + async success(d) {
  683 + var limit = d.data.data.viplimited;
  684 + var store_count = d.data.data.store_count;
  685 + var wareIds=d.data.data.erpwareid;
  686 +
  687 + var goodsinfo = e.data.requestData[pitem].goods[item];
  688 + var promgoodsbuynum = 0;
  689 + var goodsbuynum = 0;
  690 +
  691 + //--要获得商品,该用户买了多少件,同步应用--
  692 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  693 + data: {
  694 + store_id: oo.stoid,
  695 + user_id: user_id,
  696 + goods_id: goodsinfo.goods_id,
  697 + prom_type: goodsinfo.prom_type,
  698 + prom_id: goodsinfo.prom_id
  699 + },
  700 + }).then(res => {
  701 + var buy_num_data = res.data.data;
  702 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  703 + goodsbuynum = buy_num_data.goodsbuynum;
  704 + })
  705 +
  706 +
  707 + var buyed_mum2 = t.goods_num + goodsbuynum;
  708 + if (buyed_mum2 > limit && limit > 0) {
  709 + wx.showModal({
  710 + title: '提示',
  711 + content: '购买数量超出商品限购'
  712 + });
  713 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  714 + var cbuy = limit - buyed_mum2;
  715 + e.setData({
  716 + [txt]: cbuy > 0 ? cbuy : 0,
  717 + });
  718 + e.doCheckAll();
  719 +
  720 + t.goods_num=cbuy > 0 ? cbuy : 0,
  721 + e.update_cart(t, pitem, item);
  722 + return false;
  723 + }
  724 +
  725 +
  726 + if (goodsinfo.prom_type == 1) {
  727 + //读取秒杀
  728 + rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, {
  729 + isShowLoading: 0,
  730 + success: function(res_d) {
  731 +
  732 + if(res_d.data.code==0){
  733 + if (t.goods_num > store_count) {
  734 + wx.showModal({
  735 + title: '提示',
  736 + content: '购买数量超出商品库存'
  737 + });
  738 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  739 + e.setData({
  740 + [txt]: store_count
  741 + });
  742 + e.doCheckAll();
  743 +
  744 + t.goods_num=store_count;
  745 + e.update_cart(t, pitem, item);
  746 +
  747 + return false;
  748 + }
  749 +
  750 + var false_data = res_d.data.data;
  751 + //--判断库存--
  752 + if (t.goods_num > false_data.goods_num - false_data.buy_num) {
  753 + wx.showModal({
  754 + title: '提示',
  755 + content: '购买数量超出活动库存'
  756 + });
  757 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  758 + e.setData({
  759 + [txt]: false_data.goods_num - false_data.buy_num
  760 + });
  761 + e.doCheckAll();
  762 +
  763 + t.goods_num=false_data.goods_num - false_data.buy_num;
  764 + e.update_cart(t, pitem, item);
  765 +
  766 + return false;
  767 + }
  768 +
  769 + //--判断redis数量是否已经超出--
  770 + if (t.goods_num > false_data.redisnum) {
  771 + wx.showModal({
  772 + title: '提示',
  773 + content: '购买数量超出商品库存'
  774 + });
  775 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  776 + e.setData({
  777 + [txt]: false_data.redisnum
  778 + });
  779 + e.doCheckAll();
  780 +
  781 + t.goods_num=false_data.redisnum;
  782 + e.update_cart(t, pitem, item);
  783 +
  784 +
  785 + return false;
  786 + }
  787 +
  788 + //--活动的限购是不是要判断--
  789 + if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) {
  790 + wx.showModal({
  791 + title: '提示',
  792 + content: '购买数量超出秒杀限购'
  793 + });
  794 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  795 + e.setData({
  796 + [txt]: false_data.false_data.buy_limit
  797 + });
  798 + e.doCheckAll();
  799 +
  800 + t.goods_num=false_data.false_data.buy_limit;
  801 + e.update_cart(t, pitem, item);
  802 + return false;
  803 + }
  804 + e.update_cart(t, pitem, item);
  805 +
  806 + }else{
  807 + //--- 看一下是不是线下库存 ---
  808 + if(th.data.sales_rules==2){
  809 + th.check_down_line(t, pitem, item,wareIds);
  810 + }else{
  811 + if (t.goods_num > store_count) {
  812 + wx.showModal({
  813 + title: '提示',
  814 + content: '购买数量超出商品库存'
  815 + });
  816 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  817 + e.setData({
  818 + [txt]: store_count
  819 + });
  820 + e.doCheckAll();
  821 + return false;
  822 + }
  823 + e.update_cart(t, pitem, item);
  824 + }
  825 + }
  826 +
  827 + }
  828 + })
  829 + } else {
  830 + //--- 看一下是不是线下库存 ---
  831 + if(th.data.sales_rules==2){
  832 + th.check_down_line(t, pitem, item,wareIds);
  833 + }else{
  834 + if (t.goods_num > store_count) {
  835 + wx.showModal({
  836 + title: '提示',
  837 + content: '购买数量超出商品库存'
  838 + });
  839 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  840 + e.setData({
  841 + [txt]: store_count
  842 + });
  843 + e.doCheckAll();
  844 + t.goods_num=store_count;
  845 + }
  846 + e.update_cart(t, pitem, item);
  847 + }
  848 + }
746 849 }
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   - }
  850 + });
  851 + },
  852 +
  853 + //---检验线下库存的数量---
  854 + async check_down_line(t, pitem, item,erpwareid){
  855 + var ob={},th=this;
  856 + await this.check_down_line_next(t, pitem, item,erpwareid,function(res){
  857 + ob=res;
  858 + });
  859 + var log=0;
  860 + if(ob.code==-1){
  861 + wx.showModal({
  862 + title: '提示',
  863 + content: '购买数量超出商品库存'
  864 + });
  865 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  866 + th.setData({
  867 + [txt]: ob.CanOutQty
  868 + });
  869 + th.doCheckAll();
  870 + t.goods_num=ob.CanOutQty;
767 871 }
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,
  872 + this.update_cart(t, pitem, item);
  873 + },
  874 +
  875 + //---检验线下库存的数量的子函数---
  876 + async check_down_line_next(t, pitem, item,erpwareid,func){
  877 + var goodsinfo = this.data.requestData[pitem].goods[item];
  878 + var lock=0,pick_no,plist;
  879 + //先读取门店的lock
  880 + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
  881 + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000}
  882 + }).then(res=>{
  883 + if(res.data.code==0 && res.data.data.total>0){
  884 + for(var i in res.data.data.pageData)
  885 + lock+=res.data.data.pageData[i].outQty;
  886 + }
  887 + })
  888 + //先获取门店的编号
  889 + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{
  890 + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id}
  891 + }).then(res=>{
  892 + if(res.data.code==0){
  893 + pick_no=res.data.data.pickup_no;
  894 + }
  895 + })
  896 + //读取线下的门店库存
  897 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
  898 + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
  899 + }).then(res=>{
  900 + if(res.data.code==0){
  901 + plist=res.data.data.pageData[0];
  902 + }
  903 + })
  904 + var ob={}; ob.code=1;
  905 +
  906 + if(!plist){
  907 + ob.code=-1;ob.CanOutQty=0;func(ob); return false;
  908 + }
  909 +
  910 + if( t.goods_num>plist.CanOutQty-lock){
  911 + ob.code=-1;
  912 + ob.CanOutQty=plist.CanOutQty-lock
  913 + if(ob.CanOutQty<0) ob.CanOutQty=0;
  914 + }
  915 + func(ob)
  916 + },
  917 +
  918 +
  919 + //--更新购物车---
  920 + update_cart: function(t, pitem, item) {
  921 + var e = this;
  922 +
  923 + getApp().request.put("/api/weshop/cart/update", {
  924 + data: t,
  925 + success:async function(ee) {
  926 + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num";
  927 +
  928 + e.setData({
  929 + [txt]: t.goods_num,
  930 + });
  931 + //for(var i in e.data.requestData){
  932 + await e.check_prom_activity(pitem)
  933 + //}
  934 + e.doCheckAll();
  935 + getApp().requestCardNum(e);
  936 + }
849 937 });
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;
  938 + },
  939 +
  940 + //-------下拉刷新---------
  941 + onPullDownRefresh: function(t) {
  942 + this.getCardList();
  943 + },
  944 +
  945 + //--------------去结算------------
  946 + async checkout() {
  947 +
  948 + if(!this.data.is_load) return false;
  949 + if(this.data.up_dating) {
  950 + wx.showLoading({
  951 + title:"计算中"
  952 + })
  953 + }
  954 +
  955 + var glist = ""; //用逗号隔开的
  956 + var map = new Map(); //使用map值键进行运算
  957 + var map_limit = new Map(); //使用map值键进行存储限购
  958 + var g_arr = new Array(); //已选的商品列表
  959 + var user_id = getApp().globalData.user_id;
  960 + var th = this;
  961 + //用于判断是不是积分购的普通购买
  962 + var normal_arr={};
  963 + var ab = 0; //选中
  964 + wx.showLoading();
  965 + for (var i = 0; i < this.data.requestData.length; i++) {
  966 + var i_arr = this.data.requestData[i].goods;
  967 + for (var j = 0; j < i_arr.length; j++) {
  968 + if (i_arr[j].selected && i_arr[j].is_gift!=1) {
  969 +
  970 + if(i_arr[j].is_pd_normal) {
  971 + normal_arr[i_arr[j].goods_id]=1;
  972 + }
  973 + //map 的key是不会重复,会覆盖,,
  974 + var ie = {
  975 + goods_id: i_arr[j].goods_id,
  976 + id: i_arr[j].id,
  977 + goods_price: i_arr[j].goods_price,
  978 + };
  979 + //判断是不是线下取价
  980 + if(i_arr[j].is_offline){
  981 + ie.is_offline=i_arr[j].is_offline;
  982 + ie.offline_price=i_arr[j].offline_price;
  983 + ie.pricing_type=i_arr[j].pricing_type;
  984 + }
  985 + g_arr.push(ie);
  986 +
  987 + if (map.has(i_arr[j].goods_id + "")) {
  988 + var num11 = map.get(i_arr[j].goods_id + "");
  989 + var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
  990 + map.set(i_arr[j].goods_id + "", num22);
  991 + } else {
  992 + map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
  993 + }
  994 + glist += i_arr[j].goods_id + ",";
  995 + ab = 1;
  996 + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
  997 + 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){
  998 + //--获取商品的线下商品ID--
  999 + var gd=null;
  1000 + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
  1001 + if(res.data.code==0) gd=res.data.data;
  1002 + })
  1003 + //--判断商品是线下库存--
  1004 + var ob={}
  1005 + await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
  1006 + ob=rs;
  1007 + });
  1008 + if(ob.code==-1){
  1009 + t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
  1010 + wx.hideLoading();
  1011 + return false;
  1012 + }
  1013 +
  1014 + var is_ok=1;
  1015 + //如果是优惠活动话,要看活动有没有过期
  1016 + if(i_arr[j].prom_type==3){
  1017 + //判断有没有活动
  1018 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
  1019 + if(res.data.code==0){
  1020 + if(!res.data.data.promGoodsLists){
  1021 + t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
  1022 + wx.hideLoading();
  1023 + is_ok=0;
  1024 + }
  1025 + }
  1026 + })
939 1027 }
  1028 + if(!is_ok){return false;}
940 1029 }
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", {
  1030 +
  1031 + } else {
  1032 + if(i_arr[j].is_gift==1) continue;
  1033 + rq.put("/api/weshop/cart/update", {
  1034 + data: {
  1035 + id: i_arr[j].id,
  1036 + selected: 0,
  1037 + store_id: oo.stoid
  1038 + },
  1039 + success: function(ee) {
  1040 + console.log(ee);
  1041 + }
  1042 + });
  1043 + }
  1044 + }
  1045 + }
  1046 + if (ab == 0) {
  1047 + t.my_warnning("未选择商品", 0, th);
  1048 + wx.hideLoading();
  1049 + return false;
  1050 + }
  1051 +
  1052 + glist = glist.substring(0, glist.length - 1);
  1053 + //--取一下商品的限购 以及活动的限购,redis数量--
  1054 + rq.get("/api/weshop/goods/getGoodsListNum", {
949 1055 data: {
950   - id: i_arr[j].id,
951   - selected: 0,
952   - store_id: oo.stoid
  1056 + goodsidlist: glist,
  1057 + store_id: oo.stoid
953 1058 },
954   - success: function(ee) {
955   - console.log(ee);
  1059 + async success(ee) {
  1060 + console.log(ee);
  1061 + if (ee.data.code == 0) {
  1062 + var ddata = ee.data.data,
  1063 + isok = 1,
  1064 + gname = "",
  1065 + err = "";
  1066 + //--组装--
  1067 + for (var ij = 0; ij < ddata.length; ij++) {
  1068 + var val = ddata[ij];
  1069 + var obj = map_limit.get(val.goods_id + "");
  1070 + if (obj) continue;
  1071 +
  1072 + var promgoodsbuynum = 0;
  1073 + var goodsbuynum = 0;
  1074 + //--要获得商品,该用户买了多少件,同步应用--
  1075 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  1076 + data: {
  1077 + store_id: oo.stoid,
  1078 + user_id: user_id,
  1079 + goods_id: val.goods_id,
  1080 + prom_type: val.prom_type,
  1081 + prom_id: val.prom_id
  1082 + },
  1083 + }).then(res => {
  1084 + var buy_num_data = res.data.data;
  1085 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  1086 + goodsbuynum = buy_num_data.goodsbuynum;
  1087 + })
  1088 + var ie= {
  1089 + promgoodsbuynum: promgoodsbuynum,
  1090 + goodsbuynum: goodsbuynum
  1091 + };
  1092 + map_limit.set(val.goods_id + "", ie);
  1093 + }
  1094 +
  1095 + try {
  1096 + for(var ind in ddata) {
  1097 + var val=ddata[ind];
  1098 + var num = map.get(val.goods_id + "");
  1099 + if (num <= 0) {
  1100 + isok = 0;
  1101 + gname = val.goods_name;
  1102 + throw "购买数量不能为0";
  1103 + return false;
  1104 + }
  1105 +
  1106 + if(val.prom_type==1 || val.prom_type==6){
  1107 + if (num > val.store_count) {
  1108 + isok = 0;
  1109 + gname = val.goods_name;
  1110 + throw "超出库存";
  1111 + return false;
  1112 + }
  1113 + }
  1114 +
  1115 + if(th.data.sales_rules!=2){
  1116 + if (num > val.store_count) {
  1117 + isok = 0;
  1118 + gname = val.goods_name;
  1119 + throw "超出库存";
  1120 + return false;
  1121 + }
  1122 + }
  1123 +
  1124 + if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
  1125 + isok = 0;
  1126 + gname = val.goods_name;
  1127 + throw "超出活动库存";
  1128 + return false;
  1129 + }
  1130 + if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
  1131 + isok = 0;
  1132 + gname = val.goods_name;
  1133 + throw "超出活动库存";
  1134 + return false;
  1135 + }
  1136 +
  1137 + var buyed = map_limit.get(val.goods_id + "");
  1138 + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
  1139 + isok = 0;
  1140 + gname = val.goods_name;
  1141 + throw "超出商品限购";
  1142 + return false;
  1143 + }
  1144 +
  1145 + if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
  1146 + isok = 0;
  1147 + gname = val.goods_name;
  1148 + throw "超出活动限购";
  1149 + return false;
  1150 + }
  1151 +
  1152 +
  1153 + var card_field=th.data.card_field;
  1154 + for (var i = 0; i < g_arr.length; i++) {
  1155 + if (g_arr[i].goods_id == val.goods_id) {
  1156 +
  1157 + //如果会员是等级会员,商品有等级价,且不是活动商品
  1158 + 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]) ){
  1159 + if (g_arr[i].goods_price != val[card_field]){
  1160 + isok = 0;
  1161 + gname = val.goods_name;
  1162 + throw "商品价格已经变化";
  1163 + }
  1164 + }else{
  1165 + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
  1166 + isok = 0;
  1167 + gname = val.goods_name;
  1168 + throw "商品价格已经变化";
  1169 + }
  1170 + }
  1171 +
  1172 + //-- 数据的更新 --
  1173 + var data={
  1174 + id: g_arr[i].id,
  1175 + selected: 1,
  1176 + store_id: oo.stoid
  1177 + };
  1178 + //-- 如果有线下取价的时候 --
  1179 + if(g_arr[i].is_offline){
  1180 + data.pricing_type=g_arr[i].pricing_type;
  1181 + data.offline_price=g_arr[i].offline_price;
  1182 + }
  1183 + rq.put("/api/weshop/cart/update", {
  1184 + data: data,
  1185 + success: function(ee) {
  1186 + console.log(ee);
  1187 + }
  1188 + });
  1189 + }
  1190 + }
  1191 +
  1192 + }
  1193 + } catch (e) {
  1194 + err = e;
  1195 + }
  1196 + if (isok == 0) {
  1197 + t.confirmBox(gname + ":" + err);
  1198 + wx.hideLoading();
  1199 + return false;
  1200 + }
  1201 + wx.hideLoading();
  1202 + wx.navigateTo({
  1203 + url: "/pages/cart/cart2/cart2"
  1204 + });
  1205 + }
956 1206 }
957   - });
  1207 + });
  1208 + },
  1209 +
  1210 + //结算到最后一个商品
  1211 + set_last: function(ab, isok, gname) {
  1212 + if (isok == 0) {
  1213 + t.my_warnning(gname + "商品超出库存", 0, this);
  1214 + } else {
  1215 + ab ? wx.navigateTo({
  1216 + url: "/pages/cart/cart2/cart2"
  1217 + }) : t.my_warnning("还没有选中商品", 0, this);
958 1218 }
959   - }
960   - }
961   - if (ab == 0) {
962   - t.my_warnning("未选择商品", 0, th);
963   - wx.hideLoading();
964   - return false;
965   - }
  1219 + },
966 1220  
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;
  1221 +
  1222 + //图片失败,默认图片
  1223 + bind_bnerr2: function(e) {
  1224 + var _errImg = e.target.dataset.errorimg;
  1225 + var _errurl = e.target.dataset.url;
  1226 + var ii = _errurl.indexOf(oo.imghost);
  1227 + if (ii != -1) {
  1228 + this.setData({
  1229 + [_errImg]: oo.imghost + "/miniapp/images/default_g_img.gif",
1002 1230 })
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   - }
  1231 + }
  1232 + },
  1233 + //设置点击按钮为true或者false
  1234 + radio_chick: function(checked, num) {
  1235 + var th = this;
  1236 + var requestData = th.data.requestData;
  1237 + },
  1238 +
  1239 + //点击编辑后的效果
  1240 + edit_cart: function(e) {
  1241 + var type = parseFloat(e.currentTarget.dataset.type);
  1242 + this.setData({
  1243 + is_edit: type
  1244 + });
  1245 + },
1100 1246  
  1247 + //--多个删除购物车商品---
  1248 + check_del: function() {
  1249 + var glist = ""; //用逗号隔开的
  1250 + var user_id = getApp().globalData.user_id;
  1251 + var th = this;
  1252 +
  1253 + var ab = 0; //选中
  1254 + for (var i = 0; i < this.data.requestData.length; i++) {
  1255 + var i_arr = this.data.requestData[i].goods;
  1256 + for (var j = 0; j < i_arr.length; j++) {
  1257 + if (i_arr[j].selected) {
  1258 + glist += i_arr[j].id + ",";
  1259 + ab = 1;
  1260 + }
1101 1261 }
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 1262 }
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;
  1263 +
  1264 + if (ab == 0) {
  1265 + t.my_warnning("未选择商品", 0, th);
  1266 + return false;
1169 1267 }
1170   - }
1171   - }
  1268 + glist = glist.substring(0, glist.length - 1);
  1269 + //要删除购物车中的商品
  1270 + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
  1271 + getApp().request.delete(url, {
  1272 + success: function(t) {
  1273 + th.getCardList();
  1274 + }
  1275 + });
  1276 + },
  1277 + //跳到首页
  1278 + goto: function(e) {
  1279 + navigateTo({
  1280 + url: '/pages/index/index/index',
  1281 + })
  1282 + },
1172 1283  
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   - },
  1284 + //---加载更多是靠这个函数----
  1285 + onReachBottom: function() {
  1286 + if(this.data.requestData.length==0) {
  1287 + var goods_list = this.selectComponent("#goods_list"); //组件的id
  1288 + if (goods_list) goods_list.get_list();
  1289 + }
  1290 + },
1200 1291  
1201   - //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
1202   - check_prom_activity:async function (cindex) {
  1292 + //检查莫个门店下的商品是不是优惠活动,有的话,看要不要送礼品,同时有没有倍增
  1293 + check_prom_activity:async function (cindex) {
1203 1294 var make_up_arr=new Array();
1204 1295 var th=this;
1205 1296 var map=new Map();
1206 1297 var list= JSON.parse(JSON.stringify(this.data.requestData[cindex]));
1207 1298 //循环处理活动,看活动商品的数量,用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 1299  
1233   - /*--
1234   - var map2=new Map();
1235   - //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2,
1236   - for(var i in list.goods){
  1300 + for(var i=0;i<list.goods.length;i++){
1237 1301 var item=list.goods[i];
1238   - if(item.is_gift){
  1302 + if(item.prom_type==3 && item.selected && !item.is_gift){
1239 1303 if(map.has(item.prom_id+"")){
1240   - if(!map2.has(item.prom_id+"")){
1241   - map2.set(item.prom_id+"",i)
1242   - }
  1304 + var ob=map.get(item.prom_id+"");
  1305 + ob.num+=item.goods_num;
  1306 + ob.price+=item.goods_num*item.goods_price;
  1307 + delete map[item.prom_id+""];
  1308 + map.set(item.prom_id+"",ob);
1243 1309 }else{
1244   - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
1245   - list.goods.splice(i,1);
1246   - getApp().request.delete(url, {});
  1310 + var ob={};
  1311 + ob.num=item.goods_num;
  1312 + ob.price=item.goods_num*item.goods_price;
  1313 + map.set(item.prom_id+"",ob);
1247 1314 }
1248 1315 }
1249   - }--*/
1250   -
1251   - var t_prom_list=new Array();
1252   -
  1316 + if(item.is_gift==1){
  1317 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1318 + //getApp().request.delete(url, {});
  1319 + await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除
  1320 + list.goods.splice(i--,1);
  1321 + }
  1322 + }
  1323 +
  1324 + /*--
  1325 + var map2=new Map();
  1326 + //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2,
  1327 + for(var i in list.goods){
  1328 + var item=list.goods[i];
  1329 + if(item.is_gift){
  1330 + if(map.has(item.prom_id+"")){
  1331 + if(!map2.has(item.prom_id+"")){
  1332 + map2.set(item.prom_id+"",i)
  1333 + }
  1334 + }else{
  1335 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1336 + list.goods.splice(i,1);
  1337 + getApp().request.delete(url, {});
  1338 + }
  1339 + }
  1340 + }--*/
  1341 +
  1342 + var t_prom_list=new Array();
  1343 +
1253 1344 for(let p_item of map.entries()){
1254 1345 var prom=null;
1255 1346 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   - }
  1347 + if(res.data.code==0){
  1348 + prom=res.data.data;
  1349 + }
1259 1350 })
1260 1351 //如果活动已经结束
1261 1352 if(!prom || prom.is_end || prom.end_time<ut.gettimestamp() ){
1262 1353 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   - }
  1354 + var item=list.goods[ii];
  1355 + list.goods.splice(ii,1);
  1356 + if(item.prom_id==p_item[0] && item.prom_type==3){
  1357 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  1358 + getApp().request.delete(url, {});
  1359 + }
1269 1360 }
1270 1361 continue;
1271 1362 }
1272   -
1273   - t_prom_list.push(prom);
1274   -
  1363 +
  1364 + t_prom_list.push(prom);
  1365 +
1275 1366 //---读取打折的详情---
1276 1367 var ob=p_item[1];var discount=null;
1277 1368 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   - }
  1369 + data: {
  1370 + price: ob.price,
  1371 + prom_id: p_item[0],
  1372 + goods_num: ob.num,
  1373 + user_id: getApp().globalData.user_id,
  1374 + is_bz: prom.is_bz
  1375 + }
1285 1376 }).then(res=>{
1286   - if(res.data.code==0) discount=res.data.data;
  1377 + if(res.data.code==0) discount=res.data.data;
1287 1378 })
1288 1379  
1289 1380 //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量---
1290 1381 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   - }
  1382 + var o=discount.goodsinfo;
  1383 + var newd = {
  1384 + goods_id: o.goods_id,
  1385 + goods_num: discount.bs,
  1386 + pick_id: list.pid,
  1387 + user_id: app.globalData.user_id,
  1388 + store_id: os.stoid,
  1389 + goods_price: 0,
  1390 + member_goods_price: 0,
  1391 + goods_name: o.goods_name,
  1392 + goods_sn: o.goods_sn,
  1393 + sku: o.sku,
  1394 + is_gift: 1,
  1395 + prom_id:p_item[0],
  1396 + prom_type:3,
  1397 + selected:1,
  1398 + gift_id:discount.gift_id,
  1399 + original_img:th.data.imgUrl+o.original_img
  1400 + };
  1401 +
  1402 +
  1403 + /*---
  1404 + if(map2.has(p_item[0]+"")){
  1405 + var index=map2.get(p_item[0]+"");
  1406 + if( list.goods[index].goods_num!=discount.bs){
  1407 + list.goods[index].goods_num=discount.bs;
  1408 + getApp().request.put("/api/weshop/cart/update", {
  1409 + data: {
  1410 + id: list.goods[index].id,
  1411 + selected: 1,
  1412 + store_id: oo.stoid,
  1413 + goods_num:discount.bs
  1414 + },
  1415 + success: function(ee) {
  1416 + console.log(ee);
  1417 + }
  1418 + });
  1419 + }
  1420 +
  1421 + }else{---*/
  1422 + var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id="
  1423 + +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id;
  1424 + await getApp().request.promiseDelete(url, {})
1329 1425  
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 1426 var add_data=null;
1336 1427 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   - }
  1428 + if(res.data.code==0){
  1429 + add_data=res.data.data;
  1430 + }
1340 1431 })
1341 1432 if(add_data){
1342   - newd.id=add_data.id;
1343   - list.goods.push(newd);
  1433 + newd.id=add_data.id;
  1434 + list.goods.push(newd);
1344 1435 }
1345   - //}
  1436 + //}
1346 1437 }
1347   -
  1438 +
1348 1439 }
1349 1440 //--更新购物车的前台渲染--
1350 1441 var rq_text="requestData["+cindex+"]";
1351 1442 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   -
  1443 +
  1444 + if(!t_prom_list || t_prom_list.length==0 ) return false;
  1445 +
  1446 + //-- 提示凑单的,放在最后显示 --
  1447 + for(let prid in t_prom_list){
  1448 + var prom=t_prom_list[prid];
  1449 + //-- 获取凑单提示 --
  1450 + await getApp().request.promiseGet("/api/weshop/promgoodslist/list",{
  1451 + data:{prom_id:prom.id}
  1452 + }).then(res=>{
  1453 + if(res.data.code==0){
  1454 + var list=res.data.data;
  1455 + for(var i in list){
  1456 + var item=list[i];
  1457 + if(item.prom_type==0){
  1458 + if(ob.price<item.condition){
  1459 + var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.price).toFixed(2), content:JSON.parse(item.preferential_type)}
  1460 + make_up_arr.push(elem); break;
  1461 + }
  1462 + }else{
  1463 + if(ob.num<item.condition){
  1464 + var elem={prom_id:prom.id,diff_type:item.prom_type,diff:(item.condition-ob.num).toFixed(2), content:JSON.parse(item.preferential_type)}
  1465 + make_up_arr.push(elem);break;
  1466 + }
  1467 + }
  1468 + }
  1469 + }
  1470 + })
  1471 + }
  1472 +
  1473 +
1383 1474 var diff_text="requestData["+cindex+"].make_up_arr";
1384 1475 //-- 如果有凑单的话 --
1385 1476 if(make_up_arr.length>0){
1386   - this.setData({[diff_text]:make_up_arr});
  1477 + this.setData({[diff_text]:make_up_arr});
1387 1478 }else{
1388   - this.setData({[diff_text]:null});
  1479 + this.setData({[diff_text]:null});
1389 1480 }
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 1481 },
1406   -
1407   - refresh_input:function(){
1408   - this.data.btn_click=0;
1409   - }
  1482 +
  1483 + //去凑单
  1484 + go_cou_dang:function (e) {
  1485 + var prom_id=e.currentTarget.dataset.prom_id;
  1486 + var url="/pages/goods/goodsList/goodsList?prom_type=3&prom_id="+prom_id;
  1487 + getApp().goto(url);
  1488 + },
  1489 +
  1490 + //导航跳转
  1491 + nav_goto:function(e){
  1492 + var url=e.currentTarget.dataset.url;
  1493 + if(!url || url=='') return;
  1494 + if(url[0]!='/') url='/'+url;
  1495 + getApp().goto(url);
  1496 + },
  1497 +
  1498 + refresh_input:function(){
  1499 + this.data.btn_click=0;
  1500 + }
1410 1501 });
1411 1502 \ 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  
... ... @@ -1029,7 +1063,12 @@ Page({
1029 1063 var f_o_price=o_price;
1030 1064 //如果又优惠的钱,就要减价
1031 1065 if(c_arr[i].cut_price>0) o_price-=c_arr[i].cut_price;
1032   -
  1066 +
  1067 + //-- 计算线下取价的功能 --
  1068 + if(cart_item.is_offline==1){
  1069 + o_price=o_price-cart_item.offline_price;
  1070 + }
  1071 +
1033 1072 //判断包邮券的钱
1034 1073 var q_conditin=0;
1035 1074 q_conditin=o_price-quan_price;
... ... @@ -1038,6 +1077,8 @@ Page({
1038 1077 //计算物流费用
1039 1078 cart_item.shipping_price = 0;
1040 1079  
  1080 +
  1081 +
1041 1082 //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额--
1042 1083 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 1084 //如果有设置不包邮区域的时候
... ... @@ -1141,7 +1182,6 @@ Page({
1141 1182 continue;
1142 1183 }
1143 1184  
1144   -
1145 1185 //----------------如果是选择了物流---------------------
1146 1186 if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
1147 1187 //如果地址不为空
... ... @@ -1355,9 +1395,13 @@ Page({
1355 1395 //-----------计算商品总价--------------
1356 1396 var allpice = good.shop_price * good.buynum;
1357 1397 var cut_price=0;
  1398 + var allpice1=allpice;
  1399 +
  1400 +
1358 1401 if(good.prom_type==3 && good.prom_price!==null){
1359 1402 cut_price=allpice-good.prom_price;
1360 1403 }
  1404 +
1361 1405 allpice=parseFloat(allpice).toFixed(2);
1362 1406 var txt = "formData.all_price";
1363 1407 th.setData({ [txt]: allpice, });
... ... @@ -1366,6 +1410,12 @@ Page({
1366 1410 th.setData({ [c_txt]: cut_price, });
1367 1411  
1368 1412 }
  1413 +
  1414 + //如果有线下取价的时候
  1415 + if(good.is_offline){
  1416 + allpice = good.offline_price * good.buynum;
  1417 + }
  1418 +
1369 1419  
1370 1420 to.getConfig2(function (ee) {
1371 1421 to.getwuliuprice(async function (rs) {
... ... @@ -1500,7 +1550,7 @@ Page({
1500 1550 }
1501 1551 }
1502 1552 //-----------------支付价,优惠券不减物流-----------------
1503   - var total_m = (parseFloat(allpice)).toFixed(2);
  1553 + var total_m = (parseFloat(allpice1)).toFixed(2);
1504 1554 var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2);
1505 1555 var coupon_price=quan_price; //优惠券优惠了多少钱
1506 1556 if(order_m<0) {
... ... @@ -1731,6 +1781,8 @@ Page({
1731 1781 item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
1732 1782 item.coupon_price=0;
1733 1783 }
  1784 +
  1785 +
1734 1786  
1735 1787 var goods={
1736 1788 'goods_id': gg.goods_id,
... ... @@ -1778,7 +1830,16 @@ Page({
1778 1830 return false;
1779 1831 }
1780 1832 }
1781   -
  1833 +
  1834 + //-- 如果有线下取价的话 --
  1835 + if(th.data.bn_goods.is_offline){
  1836 + item.sum_offline_cut= (th.data.bn_goods.shop_price- th.data.bn_goods.offline_price).toFixed(2);
  1837 + goods.offline_cut=item.sum_offline_cut;
  1838 + goods.pricing_type=th.data.bn_goods.pricing_type;
  1839 + goods.goods_price=th.data.bn_goods.offline_price;
  1840 + goods.member_goods_price=th.data.bn_goods.offline_price;
  1841 + }
  1842 +
1782 1843 //--- 如果有优惠促销的金额,要把金额先平摊下去 ---
1783 1844 if(th.data.formData.cut_price>0 && !th.data.ispt_goods){
1784 1845 var g_arr=new Array();
... ... @@ -1801,7 +1862,6 @@ Page({
1801 1862 }
1802 1863 }
1803 1864  
1804   -
1805 1865 //--组装优惠券的钱--
1806 1866 if(th.data.formData.coupon_price){
1807 1867 item.coupon_price=th.data.formData.coupon_price;
... ... @@ -1884,6 +1944,10 @@ Page({
1884 1944 };
1885 1945 //是不是重新提交
1886 1946 if(th.data.is_continue==1) item.is_continue=1;
  1947 + //----- 如果有线下取价的话 ----
  1948 + if(t_item.is_offline==1){
  1949 + item.sum_offline_cut=t_item.offline_price.toFixed(2);
  1950 + }
1887 1951  
1888 1952 //组装优惠券的钱
1889 1953 if(t_item.coupon_price) {
... ... @@ -1935,7 +1999,14 @@ Page({
1935 1999 'store_id': oo.stoid,
1936 2000 };
1937 2001  
1938   -
  2002 + //-- 线下取价也要写入 --
  2003 + if(g_item.offline_price && t_item.is_offline==1){
  2004 + goods.goods_price=g_item.offline_price;
  2005 + goods.member_goods_price=g_item.offline_price;
  2006 + goods.offline_cut=(g_item.goods_price-g_item.offline_price).toFixed(2);
  2007 + goods.pricing_type=g_item.pricing_type;
  2008 + }
  2009 +
1939 2010 //--把券的钱,写入从表---
1940 2011 if(t_item.quan_youhui_list && t_item.coupon_price ){
1941 2012 for(var kk in t_item.quan_youhui_list ){
... ... @@ -2942,8 +3013,10 @@ Page({
2942 3013 var quanlist=null,th=this,frozenQuan = null;
2943 3014 var good = this.data.bn_goods;
2944 3015 if(good.prom_price){
2945   - th.data.ckeck_quan_price=good.prom_price;
2946   - }
  3016 + th.data.ckeck_quan_price=good.prom_price; //如果有优惠价,就用优惠价
  3017 + }else if(good.is_offline){
  3018 + th.data.ckeck_quan_price=good.offline_price; //如果有线下取价,就用线下价
  3019 + }
2947 3020 //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
2948 3021 if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1)
2949 3022 {
... ... @@ -3212,7 +3285,68 @@ Page({
3212 3285 buycard:function(){
3213 3286 getApp().goto("/pages/user/plus/plus");
3214 3287 getApp().globalData.plus_buy_back=1;
3215   - }
  3288 + },
  3289 +
  3290 + //跳转关闭弹出框的显示
  3291 + close_offline:function(){
  3292 + this.setData({is_offline_show:0});
  3293 + },
  3294 +
  3295 + //立即购买显示弹出框
  3296 + bn_pop_offline:function(){
  3297 + var off_price=this.data.bn_goods.shop_price-this.data.bn_goods.offline_price;
  3298 + //是不是线下
  3299 + var is_get_offline=this.data.bn_goods.is_offline;
  3300 + this.setData({is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
  3301 + },
  3302 +
  3303 + //确定使用线下取价
  3304 + sure_offline:function(){
  3305 + var bn_goods=this.data.bn_goods;
  3306 + if(bn_goods && bn_goods.prom_type==0){
  3307 + bn_goods.is_offline=1;
  3308 + this.setData({is_offline_show:0,bn_goods:bn_goods});
  3309 + this.calculatePrice2();
  3310 + }
  3311 + //就是购物车结算时的
  3312 + else{
  3313 + var index=this.data.pop_offline_index;
  3314 + var txt="cartlist["+index+"].is_offline";
  3315 + this.setData({[txt]:1,is_offline_show:0,});
  3316 + this.data.old_cartlist[index].is_offline=1;
  3317 + this.calculatePrice();
  3318 + }
  3319 + },
  3320 +
  3321 +
  3322 + //取消使用线下取价
  3323 + cancle_offline:function(){
  3324 + //判断是不是立即购买
  3325 + var bn_goods=this.data.bn_goods;
  3326 + if(bn_goods && bn_goods.prom_type==0){
  3327 + bn_goods.is_offline=0;
  3328 + this.setData({is_offline_show:0,bn_goods:bn_goods});
  3329 + this.calculatePrice2();
  3330 + }
  3331 + //就是购物车结算时的
  3332 + else{
  3333 + var index=this.data.pop_offline_index;
  3334 + var txt="cartlist["+index+"].is_offline";
  3335 + this.setData({[txt]:0,is_offline_show:0,})
  3336 + this.data.old_cartlist[index].is_offline=0;
  3337 + this.calculatePrice();
  3338 + }
  3339 + },
  3340 +
  3341 + //-- 弹出购物车选择是不是要店铺优惠 --
  3342 + cart_pop_offline:function (e){
  3343 + var index=e.currentTarget.dataset.index;
  3344 + var item=this.data.cartlist[index];
  3345 + var off_price=item.offline_price;
  3346 + //是不是线下
  3347 + var is_get_offline=item.is_offline;
  3348 + this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline});
  3349 + }
3216 3350  
3217 3351  
3218 3352  
... ...
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/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;">配送不匹配{{def_pick_store.is_no_dis}}</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,7 @@
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>
69 72 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view>
70 73 </view>
71 74 <!----商品的属性项目---->
... ... @@ -139,6 +142,12 @@
139 142 <block wx:if="{{is_normal==1}}">
140 143 <!-- 按钮部分 -->
141 144 <view class="spec-cart-btns">
  145 + <!-- 根本就找不到门店 -->
  146 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  147 + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  148 + </block>
  149 + <block wx:else>
  150 +
142 151 <!-- 根本就找不到门店 -->
143 152 <block wx:if="{{!only_pk && !def_pickpu_list}}">
144 153 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
... ... @@ -167,13 +176,20 @@
167 176  
168 177 </block>
169 178 </block>
170   - </block>
171   - </block>
172   - </view>
  179 + </block>
  180 + </block>
  181 + </block>
  182 + </view>
173 183  
174 184 </block>
175 185 <block wx:else>
176   - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
  186 + <!-- 根本就找不到门店 -->
  187 + <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">
  188 + <view class="spec-cart-btn spec-buy w100" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>
  189 + </block>
  190 + <block wx:else>
  191 + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view>
  192 + </block>
177 193 </block>
178 194  
179 195  
... ...
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({
... ... @@ -643,8 +646,15 @@ Page({
643 646  
644 647 //---展示---
645 648 onShow: function() {
646   -
647 649 var goods_list = null,th = this,that=this;
  650 +
  651 + //优惠券要实时更新
  652 + getApp().getConfig2(function(e) {
  653 + var json_d = JSON.parse(e.switch_list);
  654 + th.setData({is_closecoupon: json_d.is_closecoupon})
  655 + },1)
  656 +
  657 +
648 658 var ui = setInterval(function () {
649 659 goods_list = th.selectComponent("#goods_list");
650 660 if (goods_list) {
... ... @@ -654,7 +664,6 @@ Page({
654 664 }
655 665 }, 300)
656 666  
657   -
658 667 this.data.is_timer = 1;
659 668 var ee = this,
660 669 gid = this.data.gid,
... ... @@ -1092,6 +1101,7 @@ Page({
1092 1101 newd.prom_id = th.data.prom_id;
1093 1102 if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
1094 1103 if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
  1104 +
1095 1105  
1096 1106 th.add_cart_next(e,t,a,o,newd); //立即购买下一步
1097 1107  
... ... @@ -1186,7 +1196,13 @@ Page({
1186 1196 if(o.prom_type==4){
1187 1197 newd.is_integral_normal=1;
1188 1198 }
1189   -
  1199 +
  1200 + //如果有线下取价
  1201 + if(o.offline_price){
  1202 + newd.offline_price=o.offline_price;
  1203 + newd.pricing_type=o.pricing_type;
  1204 + }
  1205 +
1190 1206 //-----如果是秒杀,团购,积分购,拼团-----
1191 1207 if (th.data.prom_type == 1) {
1192 1208 newd.goods_price = th.data.prom_price;
... ... @@ -1624,8 +1640,8 @@ Page({
1624 1640 },
1625 1641  
1626 1642 openSpecModel: function(t) {
  1643 + var th=this;
1627 1644 var open_store = t.currentTarget.dataset.ind;
1628   -
1629 1645 this.setData({
1630 1646 store: 0,
1631 1647 choice_sort_store: 0,
... ... @@ -1646,7 +1662,43 @@ Page({
1646 1662 openSpecModal: !0,
1647 1663 openSpecModal_ind: ind,
1648 1664 });
  1665 +
  1666 + this.get_off_price();
  1667 +
  1668 + },
  1669 +
  1670 + //----获取线下价格-------
  1671 + get_off_price(){
  1672 + var th=this;
  1673 + var cur_goods=this.data.sele_g;
  1674 + var user_info = getApp().globalData.userInfo;
  1675 + //获取一下接口,判断是不是有线下接口,必须是普通商品,全局优惠活动也是不行
  1676 + if(cur_goods.prom_type==0 && !this.data.prom_goods){
  1677 + cur_goods.offline_price=null;
  1678 + //如果没有门店,不用计算线下价格
  1679 + var def_pick_store=this.data.def_pick_store;
  1680 + if(!def_pick_store) return false;
  1681 + getApp().request.get("/api/weshop/goods/listWarePrice", {
  1682 + data:{VIPId:encodeURIComponent(user_info.erpvipid),
  1683 + store_id:os.stoid,
  1684 + PickupId:def_pick_store.pickup_id,
  1685 + WareIds:encodeURIComponent(cur_goods.erpwareid)},
  1686 + success:function(res){
  1687 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  1688 + var datalist=res.data.data;
  1689 + if(datalist[0].WarePrice<cur_goods.shop_price){
  1690 + cur_goods.offline_price=datalist[0].WarePrice; //存储线下活动的价格
  1691 + cur_goods.pricing_type=datalist[0].PriceType; //存储线下活动的类型
  1692 + }
  1693 + }
  1694 + th.setData({sele_g:cur_goods});
  1695 + }
  1696 +
  1697 + })
  1698 + }
1649 1699 },
  1700 +
  1701 +
1650 1702 //---------点击收藏和不收藏------------
1651 1703 collectGoods: function() {
1652 1704 var t = this,
... ... @@ -2104,10 +2156,12 @@ Page({
2104 2156 th.setData({def_pick_store:th.data.fir_def_store});
2105 2157 }
2106 2158  
  2159 + /*--最新的,不用这里筛选配送方式
2107 2160 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 2161 th.setData({def_pick_store:null});
2109   - }
  2162 + }--*/
2110 2163  
  2164 +
2111 2165 wx.showLoading({
2112 2166 title:'加载中.'
2113 2167 });
... ... @@ -2130,8 +2184,8 @@ Page({
2130 2184 th.data.fir_def_store=e.data.data.pageData[0];
2131 2185 }
2132 2186  
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 )){
  2187 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
  2188 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){
2135 2189 for (var k = 0; k < e.data.data.pageData.length; k++) {
2136 2190 if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
2137 2191 e.data.data.pageData.splice(k, 1); //删除
... ... @@ -3299,8 +3353,6 @@ Page({
3299 3353 }
3300 3354 }
3301 3355  
3302   -
3303   -
3304 3356 //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
3305 3357  
3306 3358 if(th.data.is_normal == 1){
... ... @@ -4527,7 +4579,18 @@ Page({
4527 4579 var index = th.data.sec_pick_index;
4528 4580 item = th.data.sec_sto.s_arr[index];
4529 4581 }
4530   -
  4582 +
  4583 + //判断门店的配送方式是不是匹配
  4584 + var g_distr_type = th.data.sele_g.distr_type;
  4585 + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){
  4586 + wx.showToast({
  4587 + title: "门店配送方式不匹配",
  4588 + icon: 'none',
  4589 + duration: 2000
  4590 + });
  4591 + return false;
  4592 + }
  4593 +
4531 4594 //--回调函数的用法--
4532 4595 th.check_the_pick(item,function(){
4533 4596 th.setData({
... ... @@ -4565,7 +4628,9 @@ Page({
4565 4628 choice_sort_store: 0,
4566 4629 sort_store: 0
4567 4630 })
4568   - }
  4631 + }
  4632 + //如果商品没有其他活动,要取一下线下价格
  4633 + th.get_off_price();
4569 4634 })
4570 4635 },
4571 4636 //---点击二级之后的选择---
... ... @@ -4593,6 +4658,17 @@ Page({
4593 4658 var index = th.data.sec_pick_index;
4594 4659 item = th.data.sec_sto.s_arr[index];
4595 4660 }
  4661 +
  4662 + //判断门店的配送方式是不是匹配
  4663 + var g_distr_type = th.data.sele_g.distr_type;
  4664 + if(item.distr_type!=0 && g_distr_type!=0 && item.distr_type!=g_distr_type){
  4665 + wx.showToast({
  4666 + title: "门店配送方式不匹配",
  4667 + icon: 'none',
  4668 + duration: 2000
  4669 + });
  4670 + return false;
  4671 + }
4596 4672  
4597 4673 //先设置之前,要判断是不是有库存
4598 4674 th.check_the_pick(item,function(){
... ... @@ -4662,6 +4738,10 @@ Page({
4662 4738 sort_store: 0,
4663 4739 })
4664 4740 }
  4741 +
  4742 + //如果商品没有其他活动,要取一下线下价格
  4743 + th.get_off_price();
  4744 +
4665 4745 })
4666 4746 },
4667 4747  
... ...
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.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,23 @@ 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 + },1)
  236 +
220 237 if (typeof this.getTabBar === 'function' && this.getTabBar()) {
221 238 var index=getApp().getPageIndex(this);
222 239 this.getTabBar().setData({
... ... @@ -226,18 +243,19 @@ Page({
226 243 getApp().requestCardNum(this);
227 244 }
228 245  
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   -
  246 + var th = this;
240 247  
  248 + var show=getApp().globalData.isLoad_ad;
  249 + var userInfo=getApp().globalData.userInfo;
  250 +
  251 + //有加载过一次首页,就显示
  252 + if(show || userInfo || getApp().globalData.user_id){
  253 + var full_screen = th.selectComponent("#full_screen"); //组件的id
  254 + full_screen.get_the_full_screen();
  255 + }else{
  256 + getApp().globalData.isLoad_ad=1;
  257 + }
  258 +
241 259 },
242 260 //当隐藏的时候就关闭计时器
243 261 onHide: function() {
... ... @@ -254,10 +272,11 @@ Page({
254 272  
255 273 //同步初始加载
256 274 async init_load() {
  275 + await getApp().getConfig_ays();
257 276 var th = this;
258 277 await getApp().get_isbuy();
259 278 this.setappdata(getApp().globalData.wxapp_buy_obj);
260   - await getApp().getConfig_ays();
  279 +
261 280  
262 281 //因为营销版本的功能包含了自定义模板的功能,是同时的
263 282 //读取全局是否有弄自定义模板
... ... @@ -484,9 +503,9 @@ Page({
484 503 setTimeout(function () {
485 504 if (getApp().globalData.user_id) getApp().requestCardNum(th);
486 505 },500)
487   -
488 506  
489 507 });
  508 +
490 509 var goods_list = this.selectComponent("#goods_list"); //组件的id
491 510 goods_list.init();
492 511 setTimeout(function() {
... ... @@ -497,11 +516,11 @@ Page({
497 516 //--判断小程序是否过期--
498 517 setappdata: function(t) {
499 518 if (t.isout == 1)
500   - wx.navigateTo({
501   - url: "/pages/error/error?msg=小程序已经过期",
  519 + wx.reLaunch({
  520 + url: "/pages/error/error?msg=该商城已到期,暂停浏览!\r\n可联系:"+getApp().globalData.config.store_tel,
502 521 });
503 522 if (t.isbuy == 0)
504   - wx.navigateTo({
  523 + wx.reLaunch({
505 524 url: "/pages/error/error?msg=还未购买小程序",
506 525 });
507 526 },
... ... @@ -511,8 +530,6 @@ Page({
511 530 if (goods_list) goods_list.get_list();
512 531 },
513 532  
514   -
515   -
516 533 onPullDownRefresh: function(e) {
517 534 this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(),
518 535 this.requestRecommend();
... ... @@ -693,9 +710,6 @@ Page({
693 710 }
694 711 }
695 712 var txt = "pindGoods[" + j + "][" + i + "].djs";
696   -
697   -
698   -
699 713 th.setData({
700 714 [txt]: obj
701 715 });
... ...
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,14 @@
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 + <store_select></store_select>
  11 +
11 12 <!--搜索框-->
12   - <view class="{{banner==null?'pink-b ':''}} search-box {{scrollTop>10?'search-fixed':''}} flex-center white ">
  13 + <view class="search-box {{scrollTop>10?'search-fixed':''}} flex-center white " style="top:88rpx">
13 14 <view class="classify-frame t-c" bindtap="go_cate">
14 15 <image class="classify-img" src="{{url}}/miniapp/images/classify.png"></image>
15 16 <view class="fs20">分
... ... @@ -30,7 +31,7 @@
30 31 </view>
31 32 <!--滚动广告-->
32 33 <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">
  34 + <swiper circular="true" autoplay="true" class="swiper_box" duration="1000" interval="3000" vertical="" bindchange="bannerSwiperChange" style="height:{{max_sw_height}}rpx" circular="true">
34 35 <swiper-item wx:for="{{banner}}" wx:key="banner" class="swiperItem">
35 36 <view class="slide-image-frame">
36 37 <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 +82,7 @@
81 82 <view>积分购</view>
82 83 </navigator>
83 84 </view>
84   - <view class="venues_item">
  85 + <view class="venues_item" wx:if="{{is_closecoupon!=1}}">
85 86 <navigator url="/packageA/pages/quan_list/quan_list">
86 87 <image src="{{url}}/miniapp/images/index/youhui.png"></image>
87 88 <view>优惠券</view>
... ... @@ -294,6 +295,28 @@
294 295  
295 296 <!--是否是自定义-->
296 297 <view class="container" wx:if="{{isTemplate}}" style="background-color:{{bgcolor_t}}">
  298 + <!-- 置顶层 -->
  299 + <view class="dis_top">
  300 + <block wx:for="{{template_arr}}" >
  301 + <block wx:if="{{item.content.is_top==1}}">
  302 + <!--如果是搜索框的时候 -->
  303 + <block wx:if="{{item.ename=='searchbox'}}">
  304 + <searchbox object="{{item.content}}"></searchbox>
  305 + </block>
  306 + <block wx:if="{{item.ename=='store_select'}}">
  307 + <store_select object="{{item.content}}"></store_select>
  308 + </block>
  309 + </block>
  310 + </block>
  311 + </view>
  312 + <!-- 撑开层 -->
  313 + <view>
  314 + <block wx:for="{{template_arr}}" >
  315 + <view wx:if="{{item.content.is_top==1 && item.ename=='searchbox'}}" style="height: 100rpx;"></view>
  316 + <view wx:if="{{item.content.is_top==1 && item.ename=='store_select'}}" style="height: 100rpx;"></view>
  317 + </block>
  318 + </view>
  319 +
297 320 <block wx:for="{{template_arr}}" wx:key="{{index}}">
298 321 <view>
299 322 <!--导航-->
... ... @@ -325,7 +348,7 @@
325 348 <mvideo object="{{item.content}}"></mvideo>
326 349 </block>
327 350 <!--搜索-->
328   - <block wx:if="{{item.ename=='searchbox'}}">
  351 + <block wx:if="{{item.ename=='searchbox' && item.content.is_top!=1}}">
329 352 <searchbox object="{{item.content}}"></searchbox>
330 353 </block>
331 354 <!--天天拼单-->
... ... @@ -356,6 +379,10 @@
356 379 <block wx:if="{{item.ename=='scan'}}">
357 380 <scan object="{{item.content}}"></scan>
358 381 </block>
  382 + <!--扫一扫-->
  383 + <block wx:if="{{item.ename=='store_select' && item.content.is_top!=1}}">
  384 + <store_select object="{{item.content}}"></store_select>
  385 + </block>
359 386  
360 387 </view>
361 388 </block>
... ... @@ -399,7 +426,7 @@
399 426 </block>
400 427  
401 428 <!-- <hongbao id="hongbao" bind:closeHongbao="closeHongbao" wx:if="{{showHongbao}}" url="{{url}}"></hongbao> -->
402   - <full_screen id="full_screen"></full_screen>
  429 +<full_screen id="full_screen"></full_screen>
403 430  
404 431  
405 432  
... ...
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;}
969 972 \ No newline at end of file
... ...
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});
... ...
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
... ... @@ -301,7 +301,7 @@ Page({
301 301 var order=this.data.order;
302 302 var order_goods=order.order_goods;
303 303  
304   -
  304 + var wlist="";
305 305 for(var i in order_goods){
306 306 var good=order_goods[i];
307 307 //如果不是小程序有的功能,直接提示要去3.0处理
... ... @@ -322,6 +322,7 @@ Page({
322 322 })
323 323 var limit = gg.viplimited;
324 324 var store_count = gg.store_count;
  325 + good.erpwareid=gg.erpwareid;
325 326  
326 327 //---要获得商品,该用户买了多少件,同步应用---
327 328 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
... ... @@ -347,8 +348,36 @@ Page({
347 348 return false;
348 349 }
349 350  
  351 + //如果优惠促销和搭配购的时候
  352 + if((good.prom_type==3 || good.prom_type==5) && !good.is_collocation){
  353 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  354 + }).then(res=>{
  355 + if(res.data.code==0){
  356 + var r_data=res.data.data;
  357 + if(!r_data.collocationPromList && good.prom_type==5){
  358 + wx.showModal({
  359 + title: '提示',
  360 + content: good.goods_name+'未找到活动'
  361 + });
  362 + }
  363 + if(!r_data.promGoodsLists && good.prom_type==3){
  364 + wx.showModal({
  365 + title: '提示',
  366 + content: good.goods_name+'未找到活动'
  367 + });
  368 + }
  369 + }else{
  370 + wx.showModal({
  371 + title: '提示',
  372 + content: good.goods_name+'未找到活动'
  373 + });
  374 + return false;
  375 + }
  376 + })
  377 + }
  378 +
350 379 //商品的普通购买 ,不要进行判断
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){
  380 + 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 381 if(gg.prom_type!=good.prom_type) {
353 382 wx.showModal({
354 383 title: '提示',
... ... @@ -356,34 +385,8 @@ Page({
356 385 });
357 386 return false;
358 387 }
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 388 }else{
  389 +
387 390 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 391 var prom=null;
389 392 //---如果是活动的时候---
... ... @@ -431,12 +434,14 @@ Page({
431 434 var card_field=th.data.card_field;
432 435 //如果会员是等级会员,商品有等级价,且不是活动商品
433 436 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   - }
  437 + if (card_field && gg[card_field] > 0) {
  438 + if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
  439 + if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  440 +
  441 + } else {
  442 + if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
  443 + if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  444 + }
440 445 var is_h=0;
441 446 if (!isok) {
442 447 wx.showModal({
... ... @@ -474,87 +479,122 @@ Page({
474 479 }
475 480  
476 481 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   - }
  482 + //---如果是活动的时候---
  483 + var prom=null,goodsinfo=good,th=this;
  484 + if(goodsinfo.prom_type==1){
  485 + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{
  486 + }).then(res=>{
  487 + if(res.data.code==0){
  488 + prom=res.data.data;
  489 + }
  490 + })
  491 + }
  492 + if(goodsinfo.prom_type==6 && !good.is_pd_normal){
  493 + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{
  494 + }).then(res=>{
  495 + if(res.data.code==0){
  496 + prom=res.data.data;
  497 + }
  498 + })
  499 + }
  500 +
  501 + if(goodsinfo.prom_type==4 && !good.is_integral_normal){
  502 + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{
  503 + data:{store_id:os.stoid,goods_id:goodsinfo.goods_id}
  504 + }).then(res=>{
  505 + if(res.data.code==0 && res.data.data && res.data.data.pageData){
  506 + prom=res.data.data.pageData[0];
  507 + }
  508 + })
  509 + }
  510 +
  511 + //----------如果有活动,并且在进行中,就不计算线下库存---------------
  512 + if(prom){
  513 + var now=ut.gettimestamp();
  514 + if(prom.is_end==1 && prom.end_time<now){
  515 + wx.showModal({
  516 + title: '提示',
  517 + content: goodsinfo.goods_name+'商品的活动已经结束'
  518 + });
  519 + return false;
  520 + }
  521 +
  522 + buyed_mum2=promgoodsbuynum+good.goods_num;
  523 + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) {
  524 + wx.showModal({
  525 + title: '提示',
  526 + content: goodsinfo.goods_name+'购买数量超出商品活动限购'
  527 + });
  528 + return false;
  529 + }
  530 +
  531 + if(goodsinfo.prom_type==4){
  532 + if (good.goods_num > prom.limitqty-prom.buy_num) {
  533 + wx.showModal({
  534 + title: '提示',
  535 + content: goodsinfo.goods_name+'购买数量超出商品活动库存'
  536 + });
  537 + return false;
  538 + }
  539 + }else{
  540 + var redis_num = 0;
  541 + //------判断活动是否抢光-----
  542 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
  543 + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, {
  544 + }).then(res => {
  545 + redis_num = res.data.data;
  546 + });
  547 +
  548 + if (good.goods_num > redis_num) {
  549 + wx.showModal({
  550 + title: gg.goods_name+'超出商品活动库存',
  551 + });
  552 + return false;
  553 + }
  554 + }
  555 +
  556 + }
554 557  
555 558 }
556 559  
557   -
  560 + //-- 要判断一下线下取价价格是不是发生改变 --
  561 + if(wlist!=""){
  562 + wlist=ut.sub_last(wlist);
  563 + var keyid=order.pickup_id;
  564 + var user_info=getApp().globalData.userInfo;
  565 + if(!keyid) return false;
  566 + var offarr=null;
  567 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  568 + data:{
  569 + VIPId:encodeURIComponent(user_info.erpvipid),
  570 + store_id:os.stoid,
  571 + PickupId:keyid,
  572 + WareIds:wlist},
  573 + },
  574 + ).then(res=>{
  575 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  576 + offarr=res.data.data;
  577 + }
  578 + })
  579 + if(!offarr && offarr.length<=0 ){
  580 + wx.showModal({ title: '获取线下取价失败',});
  581 + }
  582 + var newarr=ut.convert_arr_key(offarr,'WareId');
  583 + //-- 循环判断线下的价格 --
  584 + for(var k in order_goods){
  585 + var good=order_goods[k];
  586 + //判断线下取价是不是一样
  587 + if(newarr[good.erpwareid] &&
  588 + parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
  589 + wx.showModal({
  590 + title: '提示',
  591 + content: good.goods_name + '商品的价格发生了变化'
  592 + });
  593 + }
  594 + }
  595 +
  596 + }
  597 +
558 598 o.jumpToCart4({
559 599 order_sn: this.data.order.order_sn,
560 600 order_amount: this.data.order.order_amount,
... ...
pages/user/order_list/order_list.js
... ... @@ -420,7 +420,8 @@ Page({
420 420 var th = this;
421 421 var order=e ;
422 422 var order_goods=e.order_goods;
423   -
  423 +
  424 + var wlist="";
424 425 for(var i in order_goods){
425 426 var good=order_goods[i];
426 427 //如果不是小程序有的功能,直接提示要去3.0处理
... ... @@ -430,8 +431,7 @@ Page({
430 431 content: '小程序还未有该活动,请到3.0公众号支付'
431 432 });
432 433 return false;
433   - }
434   -
  434 + }
435 435 //要每件每件的商品进行检查,看有么有超出库存,超出限购
436 436 var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null;
437 437 //获取单品的现在的活动状态
... ... @@ -441,6 +441,7 @@ Page({
441 441 })
442 442 var limit = gg.viplimited;
443 443 var store_count = gg.store_count;
  444 + good.erpwareid=gg.erpwareid;
444 445  
445 446 //---要获得商品,该用户买了多少件,同步应用---
446 447 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
... ... @@ -466,8 +467,37 @@ Page({
466 467 return false;
467 468 }
468 469  
  470 + //如果优惠促销和搭配购的时候
  471 + if(good.prom_type==3 || good.prom_type==5){
  472 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  473 + }).then(res=>{
  474 + if(res.data.code==0){
  475 + var r_data=res.data.data;
  476 + if(!r_data.collocationPromList && good.prom_type==5){
  477 + wx.showModal({
  478 + title: '提示',
  479 + content: good.goods_name+'未找到活动'
  480 + });
  481 + }
  482 + if(!r_data.promGoodsLists && good.prom_type==3){
  483 + wx.showModal({
  484 + title: '提示',
  485 + content: good.goods_name+'未找到活动'
  486 + });
  487 + }
  488 + }else{
  489 + wx.showModal({
  490 + title: '提示',
  491 + content: good.goods_name+'未找到活动'
  492 + });
  493 + return false;
  494 + }
  495 + })
  496 + }
  497 +
469 498 //商品的普通购买 ,不要进行判断
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){
  499 + if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4 )
  500 + && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){
471 501 if(gg.prom_type!=good.prom_type) {
472 502 wx.showModal({
473 503 title: '提示',
... ... @@ -475,35 +505,9 @@ Page({
475 505 });
476 506 return false;
477 507 }
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   -
  508 +
505 509 }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) {
  510 + 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 511 var prom=null;
508 512 //---如果是活动的时候---
509 513 var prom=null,th=this;
... ... @@ -545,16 +549,34 @@ Page({
545 549 }
546 550 }
547 551 }
  552 + else{
  553 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0", {}).then(res => {
  554 + if(res.data.code==0){
  555 + var r_data=res.data.data;
  556 + //-- 参加了全局的优惠活动 --
  557 + if(r_data.promGoodsLists){
  558 + wx.showModal({
  559 + title: '提示',
  560 + content: gg.goods_name+'商品的活动发生了变化'
  561 + });
  562 + }
  563 + }
  564 + })
  565 + //-- 如果有参加线下取价 --
  566 + if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+",";
  567 + }
548 568 //赠品和搭配购不判断商品金额
549 569 var isok=1;
550 570 var card_field=th.data.card_field;
551   - //如果会员是等级会员,商品有等级价,且不是活动商品
  571 + //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 --
552 572 if(!good.is_gift && !good.is_collocation) {
553 573 if (card_field && gg[card_field] > 0) {
554   - if (good.goods_price != gg[card_field]) isok = 0;
  574 + if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0;
  575 + if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
  576 +
555 577 } else {
556   - if (good.goods_price != gg.shop_price) isok = 0;
557   -
  578 + if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0;
  579 + if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过
558 580 }
559 581 var is_h=0;
560 582 if (!isok) {
... ... @@ -592,9 +614,7 @@ Page({
592 614 }
593 615 }
594 616  
595   - console.log("------------------------------------");
596   -
597   - var prom=null;
  617 + console.log("------------------------------------");
598 618 //---如果是活动的时候---
599 619 var prom=null,goodsinfo=good,th=this;
600 620 if(goodsinfo.prom_type==1){
... ... @@ -623,8 +643,7 @@ Page({
623 643 }
624 644 })
625 645 }
626   -
627   -
  646 +
628 647 //----------如果有活动,并且在进行中,就不计算线下库存---------------
629 648 if(prom){
630 649 var now=ut.gettimestamp();
... ... @@ -669,12 +688,49 @@ Page({
669 688 return false;
670 689 }
671 690 }
672   -
673   -
  691 +
674 692 }
675   -
676   -
  693 +
  694 + }
  695 +
  696 + //-- 要判断一下线下取价价格是不是发生改变 --
  697 + if(wlist!=""){
  698 + wlist=ut.sub_last(wlist);
  699 + var keyid=order.pickup_id;
  700 + var user_info=getApp().globalData.userInfo;
  701 + if(!keyid) return false;
  702 + var offarr=null;
  703 + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", {
  704 + data:{
  705 + VIPId:encodeURIComponent(user_info.erpvipid),
  706 + store_id:os.stoid,
  707 + PickupId:keyid,
  708 + WareIds:wlist},
  709 + },
  710 + ).then(res=>{
  711 + if(res.data.code==0 && res.data.data && res.data.data.length>0){
  712 + offarr=res.data.data;
  713 + }
  714 + })
  715 + if(!offarr && offarr.length<=0){
  716 + wx.showModal({ title: '获取线下取价失败',});
  717 + }
  718 + var newarr=ut.convert_arr_key(offarr,'WareId');
  719 + //-- 循环判断线下的价格 --
  720 + for(var k in order_goods){
  721 + var good=order_goods[k];
  722 + //判断线下取价是不是一样
  723 + if(newarr[good.erpwareid] &&
  724 + parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){
  725 + wx.showModal({
  726 + title: '提示',
  727 + content: good.goods_name + '商品的价格发生了变化'
  728 + });
  729 + }
  730 + }
  731 +
677 732 }
  733 +
678 734 th.pay_next(e);
679 735 },
680 736  
... ... @@ -959,8 +1015,7 @@ Page({
959 1015 }
960 1016  
961 1017 //判断是不是线下库存的购买, 是不是秒杀活动
962   - if(th.data.sales_rules==2 && !prom){
963   -
  1018 + if(th.data.sales_rules==2 && !prom){
964 1019 //-- 看一下购物车上有多少商品 --
965 1020 var cart_num=0;
966 1021 await getApp().request.promiseGet("/api/weshop/cart/page", {
... ... @@ -1367,10 +1422,7 @@ Page({
1367 1422 endDate: '选择结束时间',
1368 1423 });--*/
1369 1424 } else if(currentIndex == 1) {
1370   - console.log('线下订单');
1371   -
1372   -
1373   -
  1425 + console.log('线下订单');
1374 1426 this.request_list({
1375 1427 store_id: os.stoid,
1376 1428 user_id: oo.user_id,
... ...
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 };
... ...