Commit 5d92fcf84f647896dacea14ace73644858f2babe

Authored by yvan.ni
1 parent 446c8c3f

1.门店选择

2.线下取价
3.(提现,兑换券,预存,积分充值)  的开关
components/diy_searchbox/diy_searchbox.wxml
1 <!--pages/diy_ss/diy_ss.wxml--> 1 <!--pages/diy_ss/diy_ss.wxml-->
2 <block wx:if="{{object.style==1}}"> 2 <block wx:if="{{object.style==1}}">
3 -<view class="{{object.is_top==1?'abs_top':''}}">  
4 <view class='ss' > 3 <view class='ss' >
5 <view bindtap='click_sear' class="s1_gk_a1" wx:if="{{first}}"> 4 <view bindtap='click_sear' class="s1_gk_a1" wx:if="{{first}}">
6 <view class='s_ge'> 5 <view class='s_ge'>
@@ -15,24 +14,17 @@ @@ -15,24 +14,17 @@
15 <input id="find_inp" class="find_inp" value="" 14 <input id="find_inp" class="find_inp" value=""
16 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" bindblur="onblur" /> 15 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" bindblur="onblur" />
17 </view> 16 </view>
18 - </view>  
19 -  
20 - 17 + </view>
21 </view> 18 </view>
22 -</view>  
23 -<view wx:if="{{object.is_top==1}}" style="height: 120rpx;"></view>  
24 </block> 19 </block>
25 20
26 -  
27 <block wx:if="{{object.style==2}}"> 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 <view class='s2_left'> 23 <view class='s2_left'>
31 <navigator url="/pages/index/index/index" class="s1_gk_a1"> 24 <navigator url="/pages/index/index/index" class="s1_gk_a1">
32 <image src='/public/static/images/model/nav.png'></image> 25 <image src='/public/static/images/model/nav.png'></image>
33 </navigator> 26 </navigator>
34 </view> 27 </view>
35 -  
36 <view class='s2_cen' style='background-color:{{object.inner_bgcolor}}'> 28 <view class='s2_cen' style='background-color:{{object.inner_bgcolor}}'>
37 <navigator wx:if="{{first}}" bindtap='click_sear' class="s1_gk_a2 flex" style='height: 100%;color:{{object.word_color?object.word_color:"#fff"}}'> 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 <text class="iconfont icon-search" style="font-size: 40rpx;"></text> 30 <text class="iconfont icon-search" style="font-size: 40rpx;"></text>
@@ -44,14 +36,10 @@ @@ -44,14 +36,10 @@
44 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" /> 36 bindconfirm="sear" bindinput='set_input' focus="{{inputShowed}}" />
45 </navigator> 37 </navigator>
46 </view> 38 </view>
47 -  
48 <view class='s2_right'> 39 <view class='s2_right'>
49 <navigator url="/pages/cart/cart/cart" class="s1_gk_a1"> 40 <navigator url="/pages/cart/cart/cart" class="s1_gk_a1">
50 <image src='/public/static/images/model/car.png'></image> 41 <image src='/public/static/images/model/car.png'></image>
51 </navigator> 42 </navigator>
52 </view> 43 </view>
53 </view> 44 </view>
54 -  
55 -<view wx:if="{{object.is_top==1}}" style="height: 100rpx;"></view>  
56 -  
57 </block> 45 </block>
58 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 164 \ No newline at end of file
pages/cart/cart/cart.js
1 var t = getApp(), 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 var regeneratorRuntime = require('../../../utils/runtime.js'); 8 var regeneratorRuntime = require('../../../utils/runtime.js');
9 9
10 Page({ 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 wx.showModal({ 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 } else { 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 } else { 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 isShowLoading: 0, 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 data: { 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 var make_up_arr=new Array(); 1294 var make_up_arr=new Array();
1204 var th=this; 1295 var th=this;
1205 var map=new Map(); 1296 var map=new Map();
1206 var list= JSON.parse(JSON.stringify(this.data.requestData[cindex])); 1297 var list= JSON.parse(JSON.stringify(this.data.requestData[cindex]));
1207 //循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量 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 var item=list.goods[i]; 1301 var item=list.goods[i];
1238 - if(item.is_gift){ 1302 + if(item.prom_type==3 && item.selected && !item.is_gift){
1239 if(map.has(item.prom_id+"")){ 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 }else{ 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 for(let p_item of map.entries()){ 1344 for(let p_item of map.entries()){
1254 var prom=null; 1345 var prom=null;
1255 await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+p_item[0],{}).then(res=> { 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 if(!prom || prom.is_end || prom.end_time<ut.gettimestamp() ){ 1352 if(!prom || prom.is_end || prom.end_time<ut.gettimestamp() ){
1262 for(var ii in list.goods){ 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 continue; 1361 continue;
1271 } 1362 }
1272 -  
1273 - t_prom_list.push(prom);  
1274 - 1363 +
  1364 + t_prom_list.push(prom);
  1365 +
1275 //---读取打折的详情--- 1366 //---读取打折的详情---
1276 var ob=p_item[1];var discount=null; 1367 var ob=p_item[1];var discount=null;
1277 await getApp().request.promiseGet("/api/weshop/goods/getDiscount",{ 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 }).then(res=>{ 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 if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){ 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 var add_data=null; 1426 var add_data=null;
1336 await getApp().request.promisePost("/api/weshop/cart/save", { data: newd }).then(res=>{ 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 if(add_data){ 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 var rq_text="requestData["+cindex+"]"; 1441 var rq_text="requestData["+cindex+"]";
1351 this.setData({[rq_text]:list}); 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 var diff_text="requestData["+cindex+"].make_up_arr"; 1474 var diff_text="requestData["+cindex+"].make_up_arr";
1384 //-- 如果有凑单的话 -- 1475 //-- 如果有凑单的话 --
1385 if(make_up_arr.length>0){ 1476 if(make_up_arr.length>0){
1386 - this.setData({[diff_text]:make_up_arr}); 1477 + this.setData({[diff_text]:make_up_arr});
1387 }else{ 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 \ No newline at end of file 1502 \ No newline at end of file
pages/cart/cart/cart.wxml
@@ -76,6 +76,9 @@ @@ -76,6 +76,9 @@
76 <view class="goods-price co-red baseline ellipsis-1"> 76 <view class="goods-price co-red baseline ellipsis-1">
77 <view class="fs20">¥</view> 77 <view class="fs20">¥</view>
78 <view class="fs28">{{items.goods_price}}</view> 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 </view> 82 </view>
80 <view class="count"> 83 <view class="count">
81 <view bindtap="subNum" class="sub fs28" data-pitems="{{pidx}}" data-item="{{idx}}">一</view> 84 <view bindtap="subNum" class="sub fs28" data-pitems="{{pidx}}" data-item="{{idx}}">一</view>
@@ -89,8 +92,8 @@ @@ -89,8 +92,8 @@
89 </view> 92 </view>
90 </view> 93 </view>
91 </view> 94 </view>
92 - <!--- 去凑单 -->  
93 - <view style="margin-top: 20rpx; padding: 0 30rpx"> 95 + <!--- 去凑单 -->
  96 + <view style="margin-top: 20rpx; padding: 0 30rpx">
94 <view class="flex jc_sb fs28" wx:for="{{item.make_up_arr}}" style="margin-bottom: 20rpx" > 97 <view class="flex jc_sb fs28" wx:for="{{item.make_up_arr}}" style="margin-bottom: 20rpx" >
95 <view class="ellipsis-1" style="width: 80%">再买<text class="co-red">{{item.diff}}<text wx:if="{{item.diff_type==0}}">元</text> 98 <view class="ellipsis-1" style="width: 80%">再买<text class="co-red">{{item.diff}}<text wx:if="{{item.diff_type==0}}">元</text>
96 <text wx:if="{{item.diff_type==1}}">件</text> 99 <text wx:if="{{item.diff_type==1}}">件</text>
@@ -107,6 +110,12 @@ @@ -107,6 +110,12 @@
107 <view class="co-red" data-prom_id="{{item.prom_id}}" bindtap="go_cou_dang">去凑单></view> 110 <view class="co-red" data-prom_id="{{item.prom_id}}" bindtap="go_cou_dang">去凑单></view>
108 </view> 111 </view>
109 </view> 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 </block> 119 </block>
111 </view> 120 </view>
112 <view class="pay-for flex-vertical-between"> 121 <view class="pay-for flex-vertical-between">
pages/cart/cart/cart.wxss
@@ -73,7 +73,7 @@ radio { @@ -73,7 +73,7 @@ radio {
73 } 73 }
74 74
75 .goods-cont { 75 .goods-cont {
76 - width: 385rpx; 76 + width: 420rpx;
77 height: 165rpx; 77 height: 165rpx;
78 font-size: 28rpx; 78 font-size: 28rpx;
79 margin-left: 35rpx; 79 margin-left: 35rpx;
@@ -110,7 +110,7 @@ radio { @@ -110,7 +110,7 @@ radio {
110 } 110 }
111 111
112 .count>view, .count>input { 112 .count>view, .count>input {
113 - width: 50rpx; 113 + width: 45rpx;
114 height: 40rpx; 114 height: 40rpx;
115 line-height: 40rpx; 115 line-height: 40rpx;
116 text-align: center; 116 text-align: center;
@@ -118,6 +118,7 @@ radio { @@ -118,6 +118,7 @@ radio {
118 font-size: 18rpx; 118 font-size: 18rpx;
119 justify-content: center; 119 justify-content: center;
120 min-height: 35rpx; 120 min-height: 35rpx;
  121 + align-items: center;
121 } 122 }
122 123
123 .count>.goodadd { 124 .count>.goodadd {
@@ -350,3 +351,5 @@ page { @@ -350,3 +351,5 @@ page {
350 overflow-x: hidden; 351 overflow-x: hidden;
351 padding-bottom: 100rpx; 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,6 +114,7 @@ Page({
114 card_cut_price:null,//减价多少钱 114 card_cut_price:null,//减价多少钱
115 115
116 show_submit:0, //提交按钮变正常显示 116 show_submit:0, //提交按钮变正常显示
  117 + is_get_offline:1,
117 118
118 }, 119 },
119 onLoad: function(t) { 120 onLoad: function(t) {
@@ -511,7 +512,27 @@ Page({ @@ -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 th.data.old_cartlist= JSON.parse(JSON.stringify(arr)); 537 th.data.old_cartlist= JSON.parse(JSON.stringify(arr));
517 th.setData({ 538 th.setData({
@@ -587,6 +608,8 @@ Page({ @@ -587,6 +608,8 @@ Page({
587 th.setData({card_cut_price:cut_p}); 608 th.setData({card_cut_price:cut_p});
588 } 609 }
589 } 610 }
  611 +
  612 +
590 613
591 switch (gd.prom_type){ 614 switch (gd.prom_type){
592 case 0: 615 case 0:
@@ -603,7 +626,18 @@ Page({ @@ -603,7 +626,18 @@ Page({
603 th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num; 626 th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
604 th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+""; 627 th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
605 th.data.check_quan_ware_list=t.data.data.erpwareid+""; 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 t.data.data.prom_id = 0; 641 t.data.data.prom_id = 0;
608 t.data.data.prom_type = 0; 642 t.data.data.prom_type = 0;
609 643
@@ -1029,7 +1063,12 @@ Page({ @@ -1029,7 +1063,12 @@ Page({
1029 var f_o_price=o_price; 1063 var f_o_price=o_price;
1030 //如果又优惠的钱,就要减价 1064 //如果又优惠的钱,就要减价
1031 if(c_arr[i].cut_price>0) o_price-=c_arr[i].cut_price; 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 var q_conditin=0; 1073 var q_conditin=0;
1035 q_conditin=o_price-quan_price; 1074 q_conditin=o_price-quan_price;
@@ -1038,6 +1077,8 @@ Page({ @@ -1038,6 +1077,8 @@ Page({
1038 //计算物流费用 1077 //计算物流费用
1039 cart_item.shipping_price = 0; 1078 cart_item.shipping_price = 0;
1040 1079
  1080 +
  1081 +
1041 //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额-- 1082 //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额--
1042 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) ){ 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,7 +1182,6 @@ Page({
1141 continue; 1182 continue;
1142 } 1183 }
1143 1184
1144 -  
1145 //----------------如果是选择了物流--------------------- 1185 //----------------如果是选择了物流---------------------
1146 if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){ 1186 if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
1147 //如果地址不为空 1187 //如果地址不为空
@@ -1355,9 +1395,13 @@ Page({ @@ -1355,9 +1395,13 @@ Page({
1355 //-----------计算商品总价-------------- 1395 //-----------计算商品总价--------------
1356 var allpice = good.shop_price * good.buynum; 1396 var allpice = good.shop_price * good.buynum;
1357 var cut_price=0; 1397 var cut_price=0;
  1398 + var allpice1=allpice;
  1399 +
  1400 +
1358 if(good.prom_type==3 && good.prom_price!==null){ 1401 if(good.prom_type==3 && good.prom_price!==null){
1359 cut_price=allpice-good.prom_price; 1402 cut_price=allpice-good.prom_price;
1360 } 1403 }
  1404 +
1361 allpice=parseFloat(allpice).toFixed(2); 1405 allpice=parseFloat(allpice).toFixed(2);
1362 var txt = "formData.all_price"; 1406 var txt = "formData.all_price";
1363 th.setData({ [txt]: allpice, }); 1407 th.setData({ [txt]: allpice, });
@@ -1366,6 +1410,12 @@ Page({ @@ -1366,6 +1410,12 @@ Page({
1366 th.setData({ [c_txt]: cut_price, }); 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 to.getConfig2(function (ee) { 1420 to.getConfig2(function (ee) {
1371 to.getwuliuprice(async function (rs) { 1421 to.getwuliuprice(async function (rs) {
@@ -1500,7 +1550,7 @@ Page({ @@ -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 var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2); 1554 var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2);
1505 var coupon_price=quan_price; //优惠券优惠了多少钱 1555 var coupon_price=quan_price; //优惠券优惠了多少钱
1506 if(order_m<0) { 1556 if(order_m<0) {
@@ -1731,6 +1781,8 @@ Page({ @@ -1731,6 +1781,8 @@ Page({
1731 item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no; 1781 item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
1732 item.coupon_price=0; 1782 item.coupon_price=0;
1733 } 1783 }
  1784 +
  1785 +
1734 1786
1735 var goods={ 1787 var goods={
1736 'goods_id': gg.goods_id, 1788 'goods_id': gg.goods_id,
@@ -1778,7 +1830,16 @@ Page({ @@ -1778,7 +1830,16 @@ Page({
1778 return false; 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 if(th.data.formData.cut_price>0 && !th.data.ispt_goods){ 1844 if(th.data.formData.cut_price>0 && !th.data.ispt_goods){
1784 var g_arr=new Array(); 1845 var g_arr=new Array();
@@ -1801,7 +1862,6 @@ Page({ @@ -1801,7 +1862,6 @@ Page({
1801 } 1862 }
1802 } 1863 }
1803 1864
1804 -  
1805 //--组装优惠券的钱-- 1865 //--组装优惠券的钱--
1806 if(th.data.formData.coupon_price){ 1866 if(th.data.formData.coupon_price){
1807 item.coupon_price=th.data.formData.coupon_price; 1867 item.coupon_price=th.data.formData.coupon_price;
@@ -1884,6 +1944,10 @@ Page({ @@ -1884,6 +1944,10 @@ Page({
1884 }; 1944 };
1885 //是不是重新提交 1945 //是不是重新提交
1886 if(th.data.is_continue==1) item.is_continue=1; 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 if(t_item.coupon_price) { 1953 if(t_item.coupon_price) {
@@ -1935,7 +1999,14 @@ Page({ @@ -1935,7 +1999,14 @@ Page({
1935 'store_id': oo.stoid, 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 if(t_item.quan_youhui_list && t_item.coupon_price ){ 2011 if(t_item.quan_youhui_list && t_item.coupon_price ){
1941 for(var kk in t_item.quan_youhui_list ){ 2012 for(var kk in t_item.quan_youhui_list ){
@@ -2942,8 +3013,10 @@ Page({ @@ -2942,8 +3013,10 @@ Page({
2942 var quanlist=null,th=this,frozenQuan = null; 3013 var quanlist=null,th=this,frozenQuan = null;
2943 var good = this.data.bn_goods; 3014 var good = this.data.bn_goods;
2944 if(good.prom_price){ 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 if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1) 3021 if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1)
2949 { 3022 {
@@ -3212,7 +3285,68 @@ Page({ @@ -3212,7 +3285,68 @@ Page({
3212 buycard:function(){ 3285 buycard:function(){
3213 getApp().goto("/pages/user/plus/plus"); 3286 getApp().goto("/pages/user/plus/plus");
3214 getApp().globalData.plus_buy_back=1; 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,6 +170,22 @@
170 </view> 170 </view>
171 </view> 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 </view> 189 </view>
174 190
175 <!-----使用余额------> 191 <!-----使用余额------>
@@ -322,7 +338,7 @@ @@ -322,7 +338,7 @@
322 </block> 338 </block>
323 </view> 339 </view>
324 </view> 340 </view>
325 - 341 + <!-- 留言 -->
326 <view class="coupon-mes flex-vertical"> 342 <view class="coupon-mes flex-vertical">
327 <view>留言</view> 343 <view>留言</view>
328 <view class="leave-word"> 344 <view class="leave-word">
@@ -330,6 +346,23 @@ @@ -330,6 +346,23 @@
330 class="word-box" maxlength="100" name="user_note"></input> 346 class="word-box" maxlength="100" name="user_note"></input>
331 </view> 347 </view>
332 </view> 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 <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}"> 368 <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}">
@@ -586,5 +619,16 @@ @@ -586,5 +619,16 @@
586 619
587 </view> 620 </view>
588 </view> 621 </view>
589 -  
590 <warn id="warn"></warn> 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,7 +287,7 @@ Page({
287 th.setData({user_addr: ie }); 287 th.setData({user_addr: ie });
288 if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){ 288 if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){
289 th.setData({add_back:1}); 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,7 +49,8 @@
49 <block wx:else> 49 <block wx:else>
50 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> 50 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
51 <block wx:else> 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 </block> 54 </block>
54 </block> 55 </block>
55 56
@@ -77,7 +78,14 @@ @@ -77,7 +78,14 @@
77 </view> 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 <block wx:if="{{!only_pk && !def_pickpu_list}}"> 90 <block wx:if="{{!only_pk && !def_pickpu_list}}">
83 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> 91 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
@@ -107,8 +115,9 @@ @@ -107,8 +115,9 @@
107 </block> 115 </block>
108 </block> 116 </block>
109 </block> 117 </block>
110 - </block>  
111 - </view> 118 + </block>
  119 + </block>
  120 + </view>
112 121
113 122
114 </view> 123 </view>
pages/goods/goodsInfo/buy_integral_normal.wxml
@@ -51,7 +51,8 @@ @@ -51,7 +51,8 @@
51 <block wx:else> 51 <block wx:else>
52 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> 52 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
53 <block wx:else> 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 </block> 56 </block>
56 </block> 57 </block>
57 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view> 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,6 +80,13 @@
79 80
80 <!-- 按钮部分 --> 81 <!-- 按钮部分 -->
81 <view class="spec-cart-btns"> 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 <block wx:if="{{!only_pk && !def_pickpu_list}}"> 91 <block wx:if="{{!only_pk && !def_pickpu_list}}">
84 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> 92 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
@@ -113,8 +121,9 @@ @@ -113,8 +121,9 @@
113 </block> 121 </block>
114 </block> 122 </block>
115 </block> 123 </block>
116 - </block>  
117 - </view> 124 + </block>
  125 + </block>
  126 + </view>
118 127
119 128
120 </view> 129 </view>
pages/goods/goodsInfo/buy_pt.wxml
@@ -49,6 +49,8 @@ @@ -49,6 +49,8 @@
49 49
50 <view class="flex ai_end" wx:if="{{def_pick_store}}"> 50 <view class="flex ai_end" wx:if="{{def_pick_store}}">
51 <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text> 51 <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>
  52 +
  53 +
52 <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}"> 54 <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">
53 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} 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,6 +68,7 @@
66 <text class="right-arrow"></text> 68 <text class="right-arrow"></text>
67 </view> 69 </view>
68 </view> 70 </view>
  71 + <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>
69 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view> 72 <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view>
70 </view> 73 </view>
71 <!----商品的属性项目----> 74 <!----商品的属性项目---->
@@ -139,6 +142,12 @@ @@ -139,6 +142,12 @@
139 <block wx:if="{{is_normal==1}}"> 142 <block wx:if="{{is_normal==1}}">
140 <!-- 按钮部分 --> 143 <!-- 按钮部分 -->
141 <view class="spec-cart-btns"> 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 <block wx:if="{{!only_pk && !def_pickpu_list}}"> 152 <block wx:if="{{!only_pk && !def_pickpu_list}}">
144 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> 153 <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>
@@ -167,13 +176,20 @@ @@ -167,13 +176,20 @@
167 176
168 </block> 177 </block>
169 </block> 178 </block>
170 - </block>  
171 - </block>  
172 - </view> 179 + </block>
  180 + </block>
  181 + </block>
  182 + </view>
173 183
174 </block> 184 </block>
175 <block wx:else> 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 </block> 193 </block>
178 194
179 195
pages/goods/goodsInfo/goodsInfo.js
@@ -246,6 +246,7 @@ Page({ @@ -246,6 +246,7 @@ Page({
246 showPoster: false, 246 showPoster: false,
247 hui_condition:null, 247 hui_condition:null,
248 sto_sele_name_1:'',//分享的门店名称 248 sto_sele_name_1:'',//分享的门店名称
  249 +
249 }, 250 },
250 251
251 //------初始化加载---------- 252 //------初始化加载----------
@@ -408,7 +409,7 @@ Page({ @@ -408,7 +409,7 @@ Page({
408 }) 409 })
409 } 410 }
410 411
411 - }); 412 + },1);
412 413
413 //获取用户设备信息,屏幕宽度 414 //获取用户设备信息,屏幕宽度
414 wx.getSystemInfo({ 415 wx.getSystemInfo({
@@ -420,20 +421,21 @@ Page({ @@ -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 th.data.fir_def_store={}; //赋值空对象 426 th.data.fir_def_store={}; //赋值空对象
427 return false; 427 return false;
428 } 428 }
429 - 429 + var ee=JSON.parse(JSON.stringify(e));
430 //--定时器推迟一下-- 430 //--定时器推迟一下--
431 setTimeout(function () { 431 setTimeout(function () {
432 if(th.data.data) var g_distr_type=th.data.data.distr_type; 432 if(th.data.data) var g_distr_type=th.data.data.distr_type;
433 - //--如果默认门店的配送方式不对,就不能被选择-- 433 + //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对--
434 if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ 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 var appd=getApp().globalData; 441 var appd=getApp().globalData;
@@ -462,6 +464,7 @@ Page({ @@ -462,6 +464,7 @@ Page({
462 if(res.data.code==0){ 464 if(res.data.code==0){
463 e=res.data.data.pageData[0]; 465 e=res.data.data.pageData[0];
464 if (e){ 466 if (e){
  467 + e.is_no_dis=ee.is_no_dis;
465 appd.pk_store=e; 468 appd.pk_store=e;
466 that.data.fir_def_store=e; 469 that.data.fir_def_store=e;
467 that.setData({ 470 that.setData({
@@ -643,8 +646,15 @@ Page({ @@ -643,8 +646,15 @@ Page({
643 646
644 //---展示--- 647 //---展示---
645 onShow: function() { 648 onShow: function() {
646 -  
647 var goods_list = null,th = this,that=this; 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 var ui = setInterval(function () { 658 var ui = setInterval(function () {
649 goods_list = th.selectComponent("#goods_list"); 659 goods_list = th.selectComponent("#goods_list");
650 if (goods_list) { 660 if (goods_list) {
@@ -654,7 +664,6 @@ Page({ @@ -654,7 +664,6 @@ Page({
654 } 664 }
655 }, 300) 665 }, 300)
656 666
657 -  
658 this.data.is_timer = 1; 667 this.data.is_timer = 1;
659 var ee = this, 668 var ee = this,
660 gid = this.data.gid, 669 gid = this.data.gid,
@@ -1092,6 +1101,7 @@ Page({ @@ -1092,6 +1101,7 @@ Page({
1092 newd.prom_id = th.data.prom_id; 1101 newd.prom_id = th.data.prom_id;
1093 if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); 1102 if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th);
1094 if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); 1103 if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th);
  1104 +
1095 1105
1096 th.add_cart_next(e,t,a,o,newd); //立即购买下一步 1106 th.add_cart_next(e,t,a,o,newd); //立即购买下一步
1097 1107
@@ -1186,7 +1196,13 @@ Page({ @@ -1186,7 +1196,13 @@ Page({
1186 if(o.prom_type==4){ 1196 if(o.prom_type==4){
1187 newd.is_integral_normal=1; 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 if (th.data.prom_type == 1) { 1207 if (th.data.prom_type == 1) {
1192 newd.goods_price = th.data.prom_price; 1208 newd.goods_price = th.data.prom_price;
@@ -1624,8 +1640,8 @@ Page({ @@ -1624,8 +1640,8 @@ Page({
1624 }, 1640 },
1625 1641
1626 openSpecModel: function(t) { 1642 openSpecModel: function(t) {
  1643 + var th=this;
1627 var open_store = t.currentTarget.dataset.ind; 1644 var open_store = t.currentTarget.dataset.ind;
1628 -  
1629 this.setData({ 1645 this.setData({
1630 store: 0, 1646 store: 0,
1631 choice_sort_store: 0, 1647 choice_sort_store: 0,
@@ -1646,7 +1662,43 @@ Page({ @@ -1646,7 +1662,43 @@ Page({
1646 openSpecModal: !0, 1662 openSpecModal: !0,
1647 openSpecModal_ind: ind, 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 collectGoods: function() { 1703 collectGoods: function() {
1652 var t = this, 1704 var t = this,
@@ -2104,10 +2156,12 @@ Page({ @@ -2104,10 +2156,12 @@ Page({
2104 th.setData({def_pick_store:th.data.fir_def_store}); 2156 th.setData({def_pick_store:th.data.fir_def_store});
2105 } 2157 }
2106 2158
  2159 + /*--最新的,不用这里筛选配送方式
2107 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 ){ 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 th.setData({def_pick_store:null}); 2161 th.setData({def_pick_store:null});
2109 - } 2162 + }--*/
2110 2163
  2164 +
2111 wx.showLoading({ 2165 wx.showLoading({
2112 title:'加载中.' 2166 title:'加载中.'
2113 }); 2167 });
@@ -2130,8 +2184,8 @@ Page({ @@ -2130,8 +2184,8 @@ Page({
2130 th.data.fir_def_store=e.data.data.pageData[0]; 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 for (var k = 0; k < e.data.data.pageData.length; k++) { 2189 for (var k = 0; k < e.data.data.pageData.length; k++) {
2136 if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { 2190 if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
2137 e.data.data.pageData.splice(k, 1); //删除 2191 e.data.data.pageData.splice(k, 1); //删除
@@ -3299,8 +3353,6 @@ Page({ @@ -3299,8 +3353,6 @@ Page({
3299 } 3353 }
3300 } 3354 }
3301 3355
3302 -  
3303 -  
3304 //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ 3356 //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------
3305 3357
3306 if(th.data.is_normal == 1){ 3358 if(th.data.is_normal == 1){
@@ -4527,7 +4579,18 @@ Page({ @@ -4527,7 +4579,18 @@ Page({
4527 var index = th.data.sec_pick_index; 4579 var index = th.data.sec_pick_index;
4528 item = th.data.sec_sto.s_arr[index]; 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 th.check_the_pick(item,function(){ 4595 th.check_the_pick(item,function(){
4533 th.setData({ 4596 th.setData({
@@ -4565,7 +4628,9 @@ Page({ @@ -4565,7 +4628,9 @@ Page({
4565 choice_sort_store: 0, 4628 choice_sort_store: 0,
4566 sort_store: 0 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,6 +4658,17 @@ Page({
4593 var index = th.data.sec_pick_index; 4658 var index = th.data.sec_pick_index;
4594 item = th.data.sec_sto.s_arr[index]; 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 th.check_the_pick(item,function(){ 4674 th.check_the_pick(item,function(){
@@ -4662,6 +4738,10 @@ Page({ @@ -4662,6 +4738,10 @@ Page({
4662 sort_store: 0, 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,13 +442,16 @@
442 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} 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 </view> 444 </view>
445 - </view> 445 + </view>
  446 +
  447 +
446 <view class="no_store" wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view> 448 <view class="no_store" wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view>
447 - <block wx:else> 449 + <block wx:else>
448 <view class="no_store" wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> 450 <view class="no_store" wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
449 <block wx:else> 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 </block> 455 </block>
453 456
454 <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> 457 <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view>
@@ -999,7 +1002,7 @@ @@ -999,7 +1002,7 @@
999 <image class="wh100 spec-img xc-distance-bottom" src="{{sele_g.original_img}}" binderror="pop_err_img" data-errorimg="sele_g.original_img"></image> 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 <view class="spec-goods-info"> 1003 <view class="spec-goods-info">
1001 <view class="spec-goods-name ellipsis-2">{{sele_g.goods_name}}</view> 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 <view class="spec-goods-price" wx:if="{{prom_price==null}}" > 1006 <view class="spec-goods-price" wx:if="{{prom_price==null}}" >
1004 <text class="fs20">¥</text> 1007 <text class="fs20">¥</text>
1005 <!-- 如果是等级会员,且有等级价 --> 1008 <!-- 如果是等级会员,且有等级价 -->
@@ -1007,6 +1010,10 @@ @@ -1007,6 +1010,10 @@
1007 <block wx:else>{{sele_g.shop_price}}</block> 1010 <block wx:else>{{sele_g.shop_price}}</block>
1008 </view> 1011 </view>
1009 <view class="spec-goods-price" wx:else><text class="fs20">¥</text>{{prom_price}}</view> 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 </view> 1017 </view>
1011 1018
1012 <block wx:if="{{prom_type==0}}"> 1019 <block wx:if="{{prom_type==0}}">
@@ -1038,7 +1045,7 @@ @@ -1038,7 +1045,7 @@
1038 1045
1039 </view> 1046 </view>
1040 </view> 1047 </view>
1041 - 1048 +
1042 <!-- 没有门店的时候 --> 1049 <!-- 没有门店的时候 -->
1043 <view class="flex" bindtap="choice_store" wx:else> 1050 <view class="flex" bindtap="choice_store" wx:else>
1044 <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image> 1051 <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image>
@@ -1054,7 +1061,8 @@ @@ -1054,7 +1061,8 @@
1054 <block wx:else> 1061 <block wx:else>
1055 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> 1062 <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>
1056 <block wx:else> 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 </block> 1066 </block>
1059 </block> 1067 </block>
1060 1068
@@ -1096,54 +1104,63 @@ @@ -1096,54 +1104,63 @@
1096 1104
1097 </view> 1105 </view>
1098 <view class="spec-cart-btns"> 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 <block wx:else> 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 </block> 1142 </block>
  1143 + <!-- 线上销售 -->
1135 <block wx:else> 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 </block> 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 <view class="clear"></view> 1165 <view class="clear"></view>
1149 <!---选择门店的列表---> 1166 <!---选择门店的列表--->
@@ -1426,17 +1443,20 @@ @@ -1426,17 +1443,20 @@
1426 <warn id="warn"></warn> 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 </view> 1461 </view>
1442 1462
pages/goods/goodsInfo/goodsInfo.wxss
@@ -2643,17 +2643,22 @@ button.custom-service::after{ @@ -2643,17 +2643,22 @@ button.custom-service::after{
2643 .color_b{color: #ff9c00} 2643 .color_b{color: #ff9c00}
2644 2644
2645 .poster-container { 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 .poster-wrapper { 2663 .poster-wrapper {
2659 width: 100%; 2664 width: 100%;
@@ -2664,7 +2669,7 @@ button.custom-service::after{ @@ -2664,7 +2669,7 @@ button.custom-service::after{
2664 width: 100%; 2669 width: 100%;
2665 height: 1055rpx; 2670 height: 1055rpx;
2666 border-radius: 20rpx; 2671 border-radius: 20rpx;
2667 - box-shadow: 0 0 1px #000; 2672 + /* box-shadow: 0 8px 12px #666; */
2668 position: relative; 2673 position: relative;
2669 z-index: 999; 2674 z-index: 999;
2670 overflow: hidden; 2675 overflow: hidden;
@@ -2687,24 +2692,40 @@ button.custom-service::after{ @@ -2687,24 +2692,40 @@ button.custom-service::after{
2687 margin-top: 28rpx; 2692 margin-top: 28rpx;
2688 padding: 0 60rpx; 2693 padding: 0 60rpx;
2689 } 2694 }
2690 -.btn-close { 2695 +/* .btn-close {
2691 background-color: rgba(0,0,0,.5); 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 text-align: center; 2701 text-align: center;
2697 border-radius: 50%; 2702 border-radius: 50%;
2698 position: absolute; 2703 position: absolute;
2699 right: 20rpx; 2704 right: 20rpx;
2700 - top: 20rpx;  
2701 -} 2705 + top: 10rpx;
  2706 +} */
2702 2707
2703 .goods-price .rel_txt{ 2708 .goods-price .rel_txt{
2704 position: relative; top: 32rpx; font-size: 30rpx; 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 .icon-close { 2726 .icon-close {
2709 - font-size: 48rpx;  
2710 -}  
2711 \ No newline at end of file 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 \ No newline at end of file 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,8 +16,6 @@ var api = require(&#39;../../../api/api.js&#39;);
16 var d = getApp().globalData; 16 var d = getApp().globalData;
17 17
18 18
19 -  
20 -  
21 Page({ 19 Page({
22 data: { 20 data: {
23 url: o.imghost, 21 url: o.imghost,
@@ -75,11 +73,13 @@ Page({ @@ -75,11 +73,13 @@ Page({
75 new_nav: "", //新人页面跳转地址 73 new_nav: "", //新人页面跳转地址
76 w_holiday_pop:0, 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 onLoad: async function(tt) { 81 onLoad: async function(tt) {
  82 +
83 var th = this; 83 var th = this;
84 var first_leader=tt.first_leader; 84 var first_leader=tt.first_leader;
85 if(!first_leader && tt.scene){ 85 if(!first_leader && tt.scene){
@@ -116,9 +116,7 @@ Page({ @@ -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 getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", { 122 getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", {
@@ -145,6 +143,8 @@ Page({ @@ -145,6 +143,8 @@ Page({
145 //t.editTabBar(th,o.stoid,th.data.url); 143 //t.editTabBar(th,o.stoid,th.data.url);
146 144
147 await this.init_load(); 145 await this.init_load();
  146 +
  147 +
148 //显示的时候要开启计时器 148 //显示的时候要开启计时器
149 this.data.is_timer = 1; 149 this.data.is_timer = 1;
150 //如果是自定义模板 150 //如果是自定义模板
@@ -206,7 +206,7 @@ Page({ @@ -206,7 +206,7 @@ Page({
206 } 206 }
207 }) 207 })
208 208
209 - 209 +
210 }, 210 },
211 //关闭新用户领取广告 211 //关闭新用户领取广告
212 close_disgraceful: function() { 212 close_disgraceful: function() {
@@ -217,6 +217,23 @@ Page({ @@ -217,6 +217,23 @@ Page({
217 }, 217 },
218 218
219 async onShow() { 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 if (typeof this.getTabBar === 'function' && this.getTabBar()) { 237 if (typeof this.getTabBar === 'function' && this.getTabBar()) {
221 var index=getApp().getPageIndex(this); 238 var index=getApp().getPageIndex(this);
222 this.getTabBar().setData({ 239 this.getTabBar().setData({
@@ -226,18 +243,19 @@ Page({ @@ -226,18 +243,19 @@ Page({
226 getApp().requestCardNum(this); 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 onHide: function() { 261 onHide: function() {
@@ -254,10 +272,11 @@ Page({ @@ -254,10 +272,11 @@ Page({
254 272
255 //同步初始加载 273 //同步初始加载
256 async init_load() { 274 async init_load() {
  275 + await getApp().getConfig_ays();
257 var th = this; 276 var th = this;
258 await getApp().get_isbuy(); 277 await getApp().get_isbuy();
259 this.setappdata(getApp().globalData.wxapp_buy_obj); 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,9 +503,9 @@ Page({
484 setTimeout(function () { 503 setTimeout(function () {
485 if (getApp().globalData.user_id) getApp().requestCardNum(th); 504 if (getApp().globalData.user_id) getApp().requestCardNum(th);
486 },500) 505 },500)
487 -  
488 506
489 }); 507 });
  508 +
490 var goods_list = this.selectComponent("#goods_list"); //组件的id 509 var goods_list = this.selectComponent("#goods_list"); //组件的id
491 goods_list.init(); 510 goods_list.init();
492 setTimeout(function() { 511 setTimeout(function() {
@@ -497,11 +516,11 @@ Page({ @@ -497,11 +516,11 @@ Page({
497 //--判断小程序是否过期-- 516 //--判断小程序是否过期--
498 setappdata: function(t) { 517 setappdata: function(t) {
499 if (t.isout == 1) 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 if (t.isbuy == 0) 522 if (t.isbuy == 0)
504 - wx.navigateTo({ 523 + wx.reLaunch({
505 url: "/pages/error/error?msg=还未购买小程序", 524 url: "/pages/error/error?msg=还未购买小程序",
506 }); 525 });
507 }, 526 },
@@ -511,8 +530,6 @@ Page({ @@ -511,8 +530,6 @@ Page({
511 if (goods_list) goods_list.get_list(); 530 if (goods_list) goods_list.get_list();
512 }, 531 },
513 532
514 -  
515 -  
516 onPullDownRefresh: function(e) { 533 onPullDownRefresh: function(e) {
517 this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(), 534 this.data.recommend = null, this.data.currentPage = 1, n.resetConfig(), this.requestHomePage(),
518 this.requestRecommend(); 535 this.requestRecommend();
@@ -693,9 +710,6 @@ Page({ @@ -693,9 +710,6 @@ Page({
693 } 710 }
694 } 711 }
695 var txt = "pindGoods[" + j + "][" + i + "].djs"; 712 var txt = "pindGoods[" + j + "][" + i + "].djs";
696 -  
697 -  
698 -  
699 th.setData({ 713 th.setData({
700 [txt]: obj 714 [txt]: obj
701 }); 715 });
pages/index/index/index.json
@@ -18,7 +18,8 @@ @@ -18,7 +18,8 @@
18 "mvideo": "/components/diy_video/diy_video", 18 "mvideo": "/components/diy_video/diy_video",
19 "service": "/components/diy_service/diy_service", 19 "service": "/components/diy_service/diy_service",
20 "scan": "/components/diy_scan/diy_scan", 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 "enablePullDownRefresh": false 24 "enablePullDownRefresh": false
24 } 25 }
25 \ No newline at end of file 26 \ No newline at end of file
pages/index/index/index.wxml
@@ -3,13 +3,14 @@ @@ -3,13 +3,14 @@
3 <!--普通界面--> 3 <!--普通界面-->
4 <wxs module="filter" src="../../../utils/filter.wxs"></wxs> 4 <wxs module="filter" src="../../../utils/filter.wxs"></wxs>
5 <view class="container rel" wx:if="{{ishow}}"> 5 <view class="container rel" wx:if="{{ishow}}">
6 -  
7 -  
8 <block wx:if="{{banner}}"> 6 <block wx:if="{{banner}}">
9 <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image> 7 <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image>
10 </block> 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 <view class="classify-frame t-c" bindtap="go_cate"> 14 <view class="classify-frame t-c" bindtap="go_cate">
14 <image class="classify-img" src="{{url}}/miniapp/images/classify.png"></image> 15 <image class="classify-img" src="{{url}}/miniapp/images/classify.png"></image>
15 <view class="fs20">分 16 <view class="fs20">分
@@ -30,7 +31,7 @@ @@ -30,7 +31,7 @@
30 </view> 31 </view>
31 <!--滚动广告--> 32 <!--滚动广告-->
32 <view class="rel title-img" wx:if="{{banner}}"> 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 <swiper-item wx:for="{{banner}}" wx:key="banner" class="swiperItem"> 35 <swiper-item wx:for="{{banner}}" wx:key="banner" class="swiperItem">
35 <view class="slide-image-frame"> 36 <view class="slide-image-frame">
36 <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> 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,7 +82,7 @@
81 <view>积分购</view> 82 <view>积分购</view>
82 </navigator> 83 </navigator>
83 </view> 84 </view>
84 - <view class="venues_item"> 85 + <view class="venues_item" wx:if="{{is_closecoupon!=1}}">
85 <navigator url="/packageA/pages/quan_list/quan_list"> 86 <navigator url="/packageA/pages/quan_list/quan_list">
86 <image src="{{url}}/miniapp/images/index/youhui.png"></image> 87 <image src="{{url}}/miniapp/images/index/youhui.png"></image>
87 <view>优惠券</view> 88 <view>优惠券</view>
@@ -294,6 +295,28 @@ @@ -294,6 +295,28 @@
294 295
295 <!--是否是自定义--> 296 <!--是否是自定义-->
296 <view class="container" wx:if="{{isTemplate}}" style="background-color:{{bgcolor_t}}"> 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 <block wx:for="{{template_arr}}" wx:key="{{index}}"> 320 <block wx:for="{{template_arr}}" wx:key="{{index}}">
298 <view> 321 <view>
299 <!--导航--> 322 <!--导航-->
@@ -325,7 +348,7 @@ @@ -325,7 +348,7 @@
325 <mvideo object="{{item.content}}"></mvideo> 348 <mvideo object="{{item.content}}"></mvideo>
326 </block> 349 </block>
327 <!--搜索--> 350 <!--搜索-->
328 - <block wx:if="{{item.ename=='searchbox'}}"> 351 + <block wx:if="{{item.ename=='searchbox' && item.content.is_top!=1}}">
329 <searchbox object="{{item.content}}"></searchbox> 352 <searchbox object="{{item.content}}"></searchbox>
330 </block> 353 </block>
331 <!--天天拼单--> 354 <!--天天拼单-->
@@ -356,6 +379,10 @@ @@ -356,6 +379,10 @@
356 <block wx:if="{{item.ename=='scan'}}"> 379 <block wx:if="{{item.ename=='scan'}}">
357 <scan object="{{item.content}}"></scan> 380 <scan object="{{item.content}}"></scan>
358 </block> 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 </view> 387 </view>
361 </block> 388 </block>
@@ -399,7 +426,7 @@ @@ -399,7 +426,7 @@
399 </block> 426 </block>
400 427
401 <!-- <hongbao id="hongbao" bind:closeHongbao="closeHongbao" wx:if="{{showHongbao}}" url="{{url}}"></hongbao> --> 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,6 +2,7 @@
2 background: #ff7295; 2 background: #ff7295;
3 } 3 }
4 4
  5 +
5 .search-box { 6 .search-box {
6 position: fixed; 7 position: fixed;
7 top: 0; 8 top: 0;
@@ -964,4 +965,6 @@ page { @@ -964,4 +965,6 @@ page {
964 right: 0; 965 right: 0;
965 /* transform: translateY(-50%); */ 966 /* transform: translateY(-50%); */
966 z-index: 10000; 967 z-index: 10000;
967 -}  
968 \ No newline at end of file 968 \ No newline at end of file
  969 +}
  970 +
  971 +.dis_top{position: fixed; top: 0; left: 0;}
969 \ No newline at end of file 972 \ No newline at end of file
pages/togoin/togoin.js
@@ -10,7 +10,7 @@ Page({ @@ -10,7 +10,7 @@ Page({
10 store_logo:'', 10 store_logo:'',
11 first_leader:'', //-- 邀请人 -- 11 first_leader:'', //-- 邀请人 --
12 }, 12 },
13 - onLoad: function (options) { 13 + onLoad: function (options) {
14 //--判断是否有接受到邀请人的ID-- 14 //--判断是否有接受到邀请人的ID--
15 if(options.first_leader){ 15 if(options.first_leader){
16 this.setData({first_leader:options.first_leader}); 16 this.setData({first_leader:options.first_leader});
pages/user/coupons/coupons.js
@@ -140,12 +140,7 @@ Page({ @@ -140,12 +140,7 @@ Page({
140 * 生命周期函数--监听页面加载 140 * 生命周期函数--监听页面加载
141 */ 141 */
142 onLoad: function(options) { 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,7 +154,13 @@ Page({
159 wx.navigateTo({ url: '/pages/togoin/togoin', }) 154 wx.navigateTo({ url: '/pages/togoin/togoin', })
160 return false; 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,7 +31,7 @@ Page({
31 getApp().getConfig2(function (ee) { 31 getApp().getConfig2(function (ee) {
32 var json_d = JSON.parse(ee.switch_list); 32 var json_d = JSON.parse(ee.switch_list);
33 th.setData({ is_show_yckcz: json_d.yckcz_switch }); 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,11 +189,7 @@ Page({
189 } 189 }
190 } 190 }
191 }) 191 })
192 -  
193 -  
194 -  
195 -  
196 - 192 +
197 /*-----获取会员权益列表-----*/ 193 /*-----获取会员权益列表-----*/
198 rq.get("/api/weshop/users/grade/vipprivilegeinfo/page", { 194 rq.get("/api/weshop/users/grade/vipprivilegeinfo/page", {
199 data: { 195 data: {
@@ -372,6 +368,7 @@ Page({ @@ -372,6 +368,7 @@ Page({
372 } 368 }
373 }, 369 },
374 setappdata: function(t) { 370 setappdata: function(t) {
  371 + var t=getApp().globalData.wxapp_buy_obj;
375 if (t.isout == 1) 372 if (t.isout == 1)
376 wx.navigateTo({ 373 wx.navigateTo({
377 url: "/pages/error/error?msg=小程序已经过期", 374 url: "/pages/error/error?msg=小程序已经过期",
pages/user/integral/integral.js
@@ -220,11 +220,7 @@ Page({ @@ -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,6 +318,14 @@ Page({
322 wx.setNavigationBarTitle({ 318 wx.setNavigationBarTitle({
323 title: "我的积分", 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,14 +29,10 @@ Page({
29 }, 29 },
30 // 银行卡失去焦点事件 30 // 银行卡失去焦点事件
31 blurInputEvent: function(e) { 31 blurInputEvent: function(e) {
32 - console.log("银行卡失去焦点事件");  
33 var inputvalue = e.detail.value.length; 32 var inputvalue = e.detail.value.length;
34 - console.log("值的长度" + inputvalue);  
35 if (inputvalue > 14) { 33 if (inputvalue > 14) {
36 var value = e.detail.value; 34 var value = e.detail.value;
37 - console.log("银行卡" + value);  
38 var account_bank = value.replace(/\s+/g, ""); 35 var account_bank = value.replace(/\s+/g, "");
39 - console.log("银行卡去去去" + account_bank);  
40 this.yhk(account_bank); 36 this.yhk(account_bank);
41 37
42 } 38 }
@@ -44,7 +40,6 @@ Page({ @@ -44,7 +40,6 @@ Page({
44 }, 40 },
45 /** 获取提现输入框的值 bindinput='genre' */ 41 /** 获取提现输入框的值 bindinput='genre' */
46 money: function(e) { 42 money: function(e) {
47 -  
48 this.setData({ 43 this.setData({
49 money: Number(e.detail.value) 44 money: Number(e.detail.value)
50 }) 45 })
@@ -60,22 +55,18 @@ Page({ @@ -60,22 +55,18 @@ Page({
60 }, 55 },
61 /*点击确定提现后表现的形式*/ 56 /*点击确定提现后表现的形式*/
62 Gettime: function(e) { 57 Gettime: function(e) {
63 - this.data.user_infor;  
64 var user_money = this.data.user_money; 58 var user_money = this.data.user_money;
65 var money = e.detail.value.moneys; //typeof判断数据类型 59 var money = e.detail.value.moneys; //typeof判断数据类型
66 var current = this.data.current; 60 var current = this.data.current;
67 var money = Number(money); 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 if (money == 0 || money == "" || money == null) { 65 if (money == 0 || money == "" || money == null) {
74 - console.log("aaaaa")  
75 getApp().showWarning("请输入提现金额"); 66 getApp().showWarning("请输入提现金额");
76 return false; 67 return false;
77 } 68 }
78 - console.log(this.data.distribut_min,"没救了",money); 69 +
79 if (this.data.distribut_min > money){ 70 if (this.data.distribut_min > money){
80 getApp().showWarning("提现需大于"+this.data.distribut_min+"元"); 71 getApp().showWarning("提现需大于"+this.data.distribut_min+"元");
81 return false; 72 return false;
@@ -149,9 +140,7 @@ Page({ @@ -149,9 +140,7 @@ Page({
149 this.data.user_infor.account_bank = card; 140 this.data.user_infor.account_bank = card;
150 this.data.user_infor.bank_name = cardname; 141 this.data.user_infor.bank_name = cardname;
151 this.data.user_infor.bank_type = this.data.current; 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 var user_infor = this.data.user_infor; 143 var user_infor = this.data.user_infor;
154 - console.log("保存的数nnnnnnnnnnnnnnn", this.data.user_infor);  
155 this.Cashwithdrawal(user_infor) 144 this.Cashwithdrawal(user_infor)
156 } else { 145 } else {
157 var userName = e.detail.value.userName; //名字 146 var userName = e.detail.value.userName; //名字
@@ -195,27 +184,8 @@ Page({ @@ -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 Cashwithdrawal: function(user_infor) { 188 Cashwithdrawal: function(user_infor) {
218 - console.log(user_infor.type, "hiiihiiiiiiiiiiiiiii", user_infor);  
219 delete user_infor.rmon; 189 delete user_infor.rmon;
220 delete user_infor.isck; 190 delete user_infor.isck;
221 delete user_infor.needmon; 191 delete user_infor.needmon;
@@ -293,7 +263,7 @@ Page({ @@ -293,7 +263,7 @@ Page({
293 console.log("卡号", account_bank, "初始化", a.data.isck); 263 console.log("卡号", account_bank, "初始化", a.data.isck);
294 if (a.data.isck == 1) { 264 if (a.data.isck == 1) {
295 this.setData({ 265 this.setData({
296 - weixin: a.data.isck , 266 +
297 bank_name: a.data.bank_name, 267 bank_name: a.data.bank_name,
298 account_bank: account_bank, 268 account_bank: account_bank,
299 usernames: a.data.account_name, 269 usernames: a.data.account_name,
@@ -304,6 +274,7 @@ Page({ @@ -304,6 +274,7 @@ Page({
304 }); 274 });
305 } else { 275 } else {
306 this.setData({ 276 this.setData({
  277 +
307 bank_name: a.data.bank_name, 278 bank_name: a.data.bank_name,
308 account_bank: account_bank, 279 account_bank: account_bank,
309 usernames: a.data.account_name, 280 usernames: a.data.account_name,
@@ -357,7 +328,7 @@ Page({ @@ -357,7 +328,7 @@ Page({
357 * 生命周期函数--监听页面显示 328 * 生命周期函数--监听页面显示
358 */ 329 */
359 onShow: function() { 330 onShow: function() {
360 - console.log("onShow里面"); 331 + var th=this;
361 this.weixin(); 332 this.weixin();
362 this.setData({ 333 this.setData({
363 button: 0 334 button: 0
@@ -376,7 +347,18 @@ Page({ @@ -376,7 +347,18 @@ Page({
376 title: "流动资金提现", 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 defocus: function (event){ 364 defocus: function (event){
pages/user/member/bring/bring.wxml
1 <wxs module="filter" src="../filter.wxs"></wxs> 1 <wxs module="filter" src="../filter.wxs"></wxs>
2 <view class="big-rim"> 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 </view> 50 </view>
56 51
pages/user/member/menber.js
@@ -20,16 +20,25 @@ Page({ @@ -20,16 +20,25 @@ Page({
20 * 生命周期函数--监听页面显示 20 * 生命周期函数--监听页面显示
21 */ 21 */
22 onShow: function () { 22 onShow: function () {
23 - //--先判断会员状态-- 23 + var th=this;
  24 + //--先判断会员状态--
24 var user_info = getApp().globalData.userInfo; 25 var user_info = getApp().globalData.userInfo;
25 if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { 26 if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
26 wx.navigateTo({ url: '/pages/togoin/togoin', }) 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 init_fir: function () { 43 init_fir: function () {
35 this.myMoney(); //我的资产 44 this.myMoney(); //我的资产
@@ -78,6 +87,17 @@ Page({ @@ -78,6 +87,17 @@ Page({
78 }, 87 },
79 // 流动资金提现 88 // 流动资金提现
80 jumPage:function(){ 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 wx.navigateTo({ 101 wx.navigateTo({
82 url: 'bring/bring', 102 url: 'bring/bring',
83 }) 103 })
pages/user/order_detail/order_detail.js
@@ -301,7 +301,7 @@ Page({ @@ -301,7 +301,7 @@ Page({
301 var order=this.data.order; 301 var order=this.data.order;
302 var order_goods=order.order_goods; 302 var order_goods=order.order_goods;
303 303
304 - 304 + var wlist="";
305 for(var i in order_goods){ 305 for(var i in order_goods){
306 var good=order_goods[i]; 306 var good=order_goods[i];
307 //如果不是小程序有的功能,直接提示要去3.0处理 307 //如果不是小程序有的功能,直接提示要去3.0处理
@@ -322,6 +322,7 @@ Page({ @@ -322,6 +322,7 @@ Page({
322 }) 322 })
323 var limit = gg.viplimited; 323 var limit = gg.viplimited;
324 var store_count = gg.store_count; 324 var store_count = gg.store_count;
  325 + good.erpwareid=gg.erpwareid;
325 326
326 //---要获得商品,该用户买了多少件,同步应用--- 327 //---要获得商品,该用户买了多少件,同步应用---
327 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { 328 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
@@ -347,8 +348,36 @@ Page({ @@ -347,8 +348,36 @@ Page({
347 return false; 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 if(gg.prom_type!=good.prom_type) { 381 if(gg.prom_type!=good.prom_type) {
353 wx.showModal({ 382 wx.showModal({
354 title: '提示', 383 title: '提示',
@@ -356,34 +385,8 @@ Page({ @@ -356,34 +385,8 @@ Page({
356 }); 385 });
357 return false; 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 }else{ 388 }else{
  389 +
387 if((gg.prom_type==1 || gg.prom_type==6 || gg.prom_type==4) && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { 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 var prom=null; 391 var prom=null;
389 //---如果是活动的时候--- 392 //---如果是活动的时候---
@@ -431,12 +434,14 @@ Page({ @@ -431,12 +434,14 @@ Page({
431 var card_field=th.data.card_field; 434 var card_field=th.data.card_field;
432 //如果会员是等级会员,商品有等级价,且不是活动商品 435 //如果会员是等级会员,商品有等级价,且不是活动商品
433 if(!good.is_gift && !good.is_collocation) { 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 var is_h=0; 445 var is_h=0;
441 if (!isok) { 446 if (!isok) {
442 wx.showModal({ 447 wx.showModal({
@@ -474,87 +479,122 @@ Page({ @@ -474,87 +479,122 @@ Page({
474 } 479 }
475 480
476 console.log("------------------------------------"); 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 o.jumpToCart4({ 598 o.jumpToCart4({
559 order_sn: this.data.order.order_sn, 599 order_sn: this.data.order.order_sn,
560 order_amount: this.data.order.order_amount, 600 order_amount: this.data.order.order_amount,
pages/user/order_list/order_list.js
@@ -420,7 +420,8 @@ Page({ @@ -420,7 +420,8 @@ Page({
420 var th = this; 420 var th = this;
421 var order=e ; 421 var order=e ;
422 var order_goods=e.order_goods; 422 var order_goods=e.order_goods;
423 - 423 +
  424 + var wlist="";
424 for(var i in order_goods){ 425 for(var i in order_goods){
425 var good=order_goods[i]; 426 var good=order_goods[i];
426 //如果不是小程序有的功能,直接提示要去3.0处理 427 //如果不是小程序有的功能,直接提示要去3.0处理
@@ -430,8 +431,7 @@ Page({ @@ -430,8 +431,7 @@ Page({
430 content: '小程序还未有该活动,请到3.0公众号支付' 431 content: '小程序还未有该活动,请到3.0公众号支付'
431 }); 432 });
432 return false; 433 return false;
433 - }  
434 - 434 + }
435 //要每件每件的商品进行检查,看有么有超出库存,超出限购 435 //要每件每件的商品进行检查,看有么有超出库存,超出限购
436 var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null; 436 var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null;
437 //获取单品的现在的活动状态 437 //获取单品的现在的活动状态
@@ -441,6 +441,7 @@ Page({ @@ -441,6 +441,7 @@ Page({
441 }) 441 })
442 var limit = gg.viplimited; 442 var limit = gg.viplimited;
443 var store_count = gg.store_count; 443 var store_count = gg.store_count;
  444 + good.erpwareid=gg.erpwareid;
444 445
445 //---要获得商品,该用户买了多少件,同步应用--- 446 //---要获得商品,该用户买了多少件,同步应用---
446 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { 447 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
@@ -466,8 +467,37 @@ Page({ @@ -466,8 +467,37 @@ Page({
466 return false; 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 if(gg.prom_type!=good.prom_type) { 501 if(gg.prom_type!=good.prom_type) {
472 wx.showModal({ 502 wx.showModal({
473 title: '提示', 503 title: '提示',
@@ -475,35 +505,9 @@ Page({ @@ -475,35 +505,9 @@ Page({
475 }); 505 });
476 return false; 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 }else{ 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 var prom=null; 511 var prom=null;
508 //---如果是活动的时候--- 512 //---如果是活动的时候---
509 var prom=null,th=this; 513 var prom=null,th=this;
@@ -545,16 +549,34 @@ Page({ @@ -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 var isok=1; 569 var isok=1;
550 var card_field=th.data.card_field; 570 var card_field=th.data.card_field;
551 - //如果会员是等级会员,商品有等级价,且不是活动商品 571 + //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 --
552 if(!good.is_gift && !good.is_collocation) { 572 if(!good.is_gift && !good.is_collocation) {
553 if (card_field && gg[card_field] > 0) { 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 } else { 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 var is_h=0; 581 var is_h=0;
560 if (!isok) { 582 if (!isok) {
@@ -592,9 +614,7 @@ Page({ @@ -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 var prom=null,goodsinfo=good,th=this; 619 var prom=null,goodsinfo=good,th=this;
600 if(goodsinfo.prom_type==1){ 620 if(goodsinfo.prom_type==1){
@@ -623,8 +643,7 @@ Page({ @@ -623,8 +643,7 @@ Page({
623 } 643 }
624 }) 644 })
625 } 645 }
626 -  
627 - 646 +
628 //----------如果有活动,并且在进行中,就不计算线下库存--------------- 647 //----------如果有活动,并且在进行中,就不计算线下库存---------------
629 if(prom){ 648 if(prom){
630 var now=ut.gettimestamp(); 649 var now=ut.gettimestamp();
@@ -669,12 +688,49 @@ Page({ @@ -669,12 +688,49 @@ Page({
669 return false; 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 th.pay_next(e); 734 th.pay_next(e);
679 }, 735 },
680 736
@@ -959,8 +1015,7 @@ Page({ @@ -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 var cart_num=0; 1020 var cart_num=0;
966 await getApp().request.promiseGet("/api/weshop/cart/page", { 1021 await getApp().request.promiseGet("/api/weshop/cart/page", {
@@ -1367,10 +1422,7 @@ Page({ @@ -1367,10 +1422,7 @@ Page({
1367 endDate: '选择结束时间', 1422 endDate: '选择结束时间',
1368 });--*/ 1423 });--*/
1369 } else if(currentIndex == 1) { 1424 } else if(currentIndex == 1) {
1370 - console.log('线下订单');  
1371 -  
1372 -  
1373 - 1425 + console.log('线下订单');
1374 this.request_list({ 1426 this.request_list({
1375 store_id: os.stoid, 1427 store_id: os.stoid,
1376 user_id: oo.user_id, 1428 user_id: oo.user_id,
utils/util.js
@@ -459,11 +459,14 @@ function sha1(s) { @@ -459,11 +459,14 @@ function sha1(s) {
459 459
460 return hex; 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 module.exports = { 470 module.exports = {
468 formatTime: function(e, r) { 471 formatTime: function(e, r) {
469 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) { 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,5 +573,6 @@ module.exports = {
570 isContained:isContained, //是否包含 573 isContained:isContained, //是否包含
571 base64_encode:base64_encode, //64位加密 574 base64_encode:base64_encode, //64位加密
572 ob_to_parm:ob_to_parm ,//对象变成参数 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 };