Commit 214634ad1ff55089e2ae931e294f4d2188bccfd6

Authored by 前端开发-陈颖阳
1 parent d93a7968

OA117228 组合购添加分享图设置

packageB/pages/zuhegou/index/index.js
Changes suppressed. Click to show
... ... @@ -6,2630 +6,2975 @@ var regeneratorRuntime = require('../../../../utils/runtime.js');
6 6 var oo = app.globalData;
7 7  
8 8  
9   -let imgDraw = {
10   - "width": "650px",
11   - "height": "843px",
12   - "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
13   - "views": [{ // 头像
14   - "type": "image",
15   - "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
16   - "css": {
17   - "width": "100px",
18   - "height": "100px",
19   - "top": "20px",
20   - "left": "275px",
21   - "borderRadius": "100px",
22   - "mode": "scaleToFill",
23   - "borderWidth": "2px",
24   - "borderColor": "#fff",
25   - }
26   - },
27   - { //昵称
28   - "type": "text",
29   - "text": "我是店铺名",
30   - "css": {
31   - "width": "650px",
32   - "color": "#fff",
33   - "top": "136px",
34   - // "left": "137px",
35   - "textAlign": "center",
36   - "fontSize": "26px",
37   - "maxLines": "1",
38   - }
39   - },
40   - { //10元任选3件
41   - "type": "text",
42   - "text": "10元3件",
43   - "css": {
44   - "color": "#fff",
45   - "width": "650px",
46   - "top": "270px",
47   - "fontSize": "70px",
48   - "maxLines": "1",
49   - "textAlign": "center",
50   - "fontWeight": "bold",
51   - }
52   - },
53   - { //活动时间
54   - "type": "text",
55   - "text": "活动时间:2021.07.06 - 2021.07.08",
56   - "css": {
57   - "color": "#333",
58   - "width": "650px",
59   - "top": "440px",
60   - "fontSize": "26px",
61   - "fontWeight": "normal",
62   - "maxLines": "1",
63   - "textAlign": "center"
64   - }
65   - },
66   - { // 码
67   - "type": "image",
68   - "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
69   - "css": {
70   - "color": "#000",
71   - "width": "200px",
72   - "height": "200px",
73   - "top": "525px",
74   - "left": "225px",
75   - }
76   - },
77   - { // 扫码提示
78   - "type": "text",
79   - "text": "长按扫码即可参与活动",
80   - "css": {
81   - "color": "#666",
82   - "width": "650px",
83   - "top": "750px",
84   - "fontSize": "26px",
85   - "textAlign": "center"
86   - }
87   - },
88   - ]
89   -};
90 9  
91 10  
92 11 Page({
93 12  
94   - /**
95   - * 页面的初始数据
96   - */
97   - data: {
98   - iurl: os.imghost,
99   - showRule: false,
100   - showMask: false,
101   - showNum: false,
102   - haveAdded: false,
103   - //imgDraw: imgDraw, 分享内容
104   - id: 0, //获得活动id
105   - page: 1, //第一页
106   - no_more: 0, //没有更多
107   - loading: 0, //加载中
108   - list: null, //商品列表的显示
109   - act: null, //组合活动
110   - all_price: 0, //合计价格
111   - all_num: 0, //全部数量
112   - sele_pick_id: 0, //默认选择门店,当用户什么商品都没有选,sele_pick_id=0
113   - def_store: null, //用户默认的门店
114   - sele_store: 0, //是不是选择了门店
115   - more_store: 0, //选择门店
116   - sort_store: 0, //门店分类
117   - choice_sort_store: 0, //选择分类门店
118   - fir_pick_index: 0, //门店选择的下标
119   - sec_pick_index: 0, //门店选择的下标,地区选择之后的内页
120   - userbuynum:false,//是否有超出购买次数,还是否可以购买。false 为可购买,true为不可购买
121   - sales_map:{}, //线下销售的map
122   - },
123   -
124   - /**
125   - * 生命周期函数--监听页面加载
126   - */
127   - onLoad: function (options) {
128   -
129   - console.log(options, 111);
130   - self = this;
131   - var the_id = options.id;
132   - if (options.title) {
133   - wx.setNavigationBarTitle({
134   - title: options.title,
  13 + /**
  14 + * 页面的初始数据
  15 + */
  16 + data: {
  17 + iurl: os.imghost,
  18 + showRule: false,
  19 + showMask: false,
  20 + showNum: false,
  21 + haveAdded: false,
  22 + imgDraw: {},
  23 + id: 0, //获得活动id
  24 + page: 1, //第一页
  25 + no_more: 0, //没有更多
  26 + loading: 0, //加载中
  27 + list: null, //商品列表的显示
  28 + act: null, //组合活动
  29 + all_price: 0, //合计价格
  30 + all_num: 0, //全部数量
  31 + sele_pick_id: 0, //默认选择门店,当用户什么商品都没有选,sele_pick_id=0
  32 + def_store: null, //用户默认的门店
  33 + sele_store: 0, //是不是选择了门店
  34 + more_store: 0, //选择门店
  35 + sort_store: 0, //门店分类
  36 + choice_sort_store: 0, //选择分类门店
  37 + fir_pick_index: 0, //门店选择的下标
  38 + sec_pick_index: 0, //门店选择的下标,地区选择之后的内页
  39 + userbuynum: false,//是否有超出购买次数,还是否可以购买。false 为可购买,true为不可购买
  40 + sales_map: {}, //线下销售的map
  41 + },
  42 +
  43 + /**
  44 + * 生命周期函数--监听页面加载
  45 + */
  46 + onLoad: function (options) {
  47 +
  48 + console.log(options, 111);
  49 + self = this;
  50 + var the_id = options.id;
  51 + if (options.title) {
  52 + wx.setNavigationBarTitle({
  53 + title: options.title,
  54 + });
  55 + };
  56 + var first_leader = options.first_leader;
  57 +
  58 + //--如果tg_id是空的话,分享回来--
  59 + if (the_id == undefined || the_id == null || the_id == "") {
  60 + var gid_str = decodeURIComponent(options.scene);
  61 + gid_str = gid_str.split("_");
  62 + the_id = gid_str[0];
  63 + if (gid_str.length > 1) {
  64 + first_leader = gid_str[1];
  65 + }
  66 + }
  67 +
  68 + this.data.id = the_id;
  69 + if (first_leader) {
  70 + getApp().globalData.first_leader = first_leader;
  71 + //调用接口判断是不是会员
  72 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
  73 + if (res.data.code == 0) {
  74 + getApp().globalData.guide_id = res.data.data.id;
  75 + getApp().globalData.guide_pick_id = res.data.data.pickup_id
  76 + }
  77 + })
  78 + }
  79 + },
  80 +
  81 + //检测有没有导购分享的门店
  82 + check_guide(func) {
  83 + var first_leader = getApp().globalData.first_leader;
  84 + if (!first_leader) {
  85 + func();
  86 + return false;
  87 + }
  88 + if (this.data.is_geted_guide_pick) {
  89 + func();
  90 + return false;
  91 + }
  92 +
  93 + if (getApp().globalData.guide_pick_id) {
  94 + func();
  95 + return false;
  96 + }
  97 + var th = this;
  98 + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
  99 + if (res.data.code == 0) {
  100 + getApp().globalData.guide_pick_id = res.data.data.pickup_id;
  101 + }
  102 + th.data.is_geted_guide_pick = 1;
  103 + func();
  104 + })
  105 + },
  106 +
  107 +
  108 + /**
  109 + * 生命周期函数--监听页面显示
  110 + */
  111 + onShow: function () {
  112 + getApp().check_can_share();
  113 + var th = this,
  114 + that = this,
  115 + ee = this;
  116 +
  117 + let scene = wx.getLaunchOptionsSync().scene;
  118 + //--判断是否是单页面--
  119 + if (scene == 1154) {
  120 + var url = "/api/weshop/prom/zhbuy/getone/" + os.stoid + "/" + th.data.id;
  121 + getApp().request.get(url, {
  122 + success: function (e) {
  123 + th.data.is_get_act = 1;
  124 + if (e.data.code == 0 && e.data.data) {
  125 + if (e.data.data.share_imgurl) {
  126 + var imgDraw = {
  127 + "width": "550px",
  128 + "height": "943px",
  129 + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
  130 + "views": [{ // 头像
  131 + "type": "image",
  132 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  133 + "css": {
  134 + "display": "none",
  135 + "height": "10px",
  136 + "top": "20px",
  137 + "left": "275px",
  138 + "borderRadius": "100px",
  139 + "mode": "scaleToFill",
  140 + "borderWidth": "2px",
  141 + "borderColor": "#fff",
  142 + }
  143 + },
  144 + { //昵称
  145 + "type": "text",
  146 + "text": "我是店铺名",
  147 + "css": {
  148 + "width": "650px",
  149 + "color": "#fff",
  150 + "top": "16px",
  151 + // "left": "137px",
  152 + "textAlign": "center",
  153 + "fontSize": "26px",
  154 + "maxLines": "1",
  155 + }
  156 + },
  157 +
  158 + { // 码
  159 + "type": "image",
  160 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  161 + "css": {
  162 + "color": "#000",
  163 + "width": "509px",
  164 + "height": "510px",
  165 + "top": "80px",
  166 + "left": "21px",
  167 + }
  168 + },
  169 + { //10元任选3件
  170 + "type": "text",
  171 + "text": "10元3件",
  172 + "css": {
  173 + "color": "red",
  174 + "width": "250px",
  175 + "top": "750px",
  176 + "fontSize": "30px",
  177 + "maxLines": "1",
  178 + "textAlign": "center",
  179 + "fontWeight": "bold",
  180 + }
  181 + },
  182 + { //活动时间
  183 + "type": "text",
  184 + "text": "活动时间:2021.07.06 - 2021.07.08",
  185 + "css": {
  186 + "color": "#333",
  187 + "width": "250px",
  188 + "top": "820px",
  189 + "fontSize": "26px",
  190 + "fontWeight": "normal",
  191 + "maxLines": "1",
  192 + "left": "60px",
  193 + }
  194 + },
  195 + { // 码
  196 + "type": "image",
  197 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  198 + "css": {
  199 + "color": "#000",
  200 + "width": "120px",
  201 + "height": "120px",
  202 + "top": "680px",
  203 + "left": "365px",
  204 + }
  205 + },
  206 + { // 扫码提示
  207 + "type": "text",
  208 + "text": "长按识别二维码",
  209 + "css": {
  210 + "color": "#666",
  211 + "width": "650px",
  212 + "top": "840px",
  213 + "fontSize": "22px",
  214 + "left": "335px",
  215 + }
  216 + },
  217 + ]
  218 + }
  219 +
  220 + th.setData({
  221 + imgDraw: imgDraw
  222 + });
  223 +
  224 + } else {
  225 + var imgDraw = {
  226 + "width": "650px",
  227 + "height": "843px",
  228 + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
  229 + "views": [{ // 头像
  230 + "type": "image",
  231 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  232 + "css": {
  233 + "width": "100px",
  234 + "height": "100px",
  235 + "top": "20px",
  236 + "left": "275px",
  237 + "borderRadius": "100px",
  238 + "mode": "scaleToFill",
  239 + "borderWidth": "2px",
  240 + "borderColor": "#fff",
  241 + }
  242 + },
  243 + { //昵称
  244 + "type": "text",
  245 + "text": "我是店铺名",
  246 + "css": {
  247 + "width": "650px",
  248 + "color": "#fff",
  249 + "top": "136px",
  250 + // "left": "137px",
  251 + "textAlign": "center",
  252 + "fontSize": "26px",
  253 + "maxLines": "1",
  254 + }
  255 + },
  256 + { //10元任选3件
  257 + "type": "text",
  258 + "text": "10元3件",
  259 + "css": {
  260 + "color": "#fff",
  261 + "width": "650px",
  262 + "top": "270px",
  263 + "fontSize": "70px",
  264 + "maxLines": "1",
  265 + "textAlign": "center",
  266 + "fontWeight": "bold",
  267 + }
  268 + },
  269 + { //活动时间
  270 + "type": "text",
  271 + "text": "活动时间:2021.07.06 - 2021.07.08",
  272 + "css": {
  273 + "color": "#333",
  274 + "width": "650px",
  275 + "top": "440px",
  276 + "fontSize": "26px",
  277 + "fontWeight": "normal",
  278 + "maxLines": "1",
  279 + "textAlign": "center"
  280 + }
  281 + },
  282 + { // 码
  283 + "type": "image",
  284 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  285 + "css": {
  286 + "color": "#000",
  287 + "width": "200px",
  288 + "height": "200px",
  289 + "top": "525px",
  290 + "left": "225px",
  291 + }
  292 + },
  293 + { // 扫码提示
  294 + "type": "text",
  295 + "text": "长按扫码即可参与活动",
  296 + "css": {
  297 + "color": "#666",
  298 + "width": "650px",
  299 + "top": "750px",
  300 + "fontSize": "26px",
  301 + "textAlign": "center"
  302 + }
  303 + },
  304 + ]
  305 + }
  306 +
  307 + th.setData({
  308 + imgDraw: imgDraw
  309 + });
  310 + }
  311 + self.setData({
  312 + act: e.data.data
135 313 });
136   - };
137   - var first_leader = options.first_leader;
138   -
139   - //--如果tg_id是空的话,分享回来--
140   - if (the_id == undefined || the_id == null || the_id == "") {
141   - var gid_str = decodeURIComponent(options.scene);
142   - gid_str = gid_str.split("_");
143   - the_id = gid_str[0];
144   - if (gid_str.length > 1) {
145   - first_leader = gid_str[1];
  314 + if (e.data.data.is_show != 1) {
  315 + th.setData({
  316 + error: '活动未开启'
  317 + });
  318 + return false;
146 319 }
147   - }
148 320  
149   - this.data.id = the_id;
150   - if (first_leader) {
151   - getApp().globalData.first_leader = first_leader;
152   - //调用接口判断是不是会员
153   - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
154   - if (res.data.code == 0) {
155   - getApp().globalData.guide_id = res.data.data.id;
156   - getApp().globalData.guide_pick_id= res.data.data.pickup_id
157   - }
158   - })
159   - }
160   - },
  321 + if (ut.gettimestamp() < e.data.data.start_time) {
  322 + th.setData({
  323 + error: '活动还未开始'
  324 + });
  325 + return false;
  326 + }
  327 + if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
  328 + //判断是否有限制购买次数
  329 + if (e.data.data.buy_limit != 0) {
161 330  
162   - //检测有没有导购分享的门店
163   - check_guide(func){
164   - var first_leader=getApp().globalData.first_leader;
165   - if(!first_leader){
166   - func();
167   - return false;
168   - }
169   - if(this.data.is_geted_guide_pick){
170   - func();
  331 + }
  332 + //-- 获取商品列表 --
  333 + self.get_list();
  334 + self.countDown();
  335 + } else {
  336 + th.setData({
  337 + error: '活动已经过期'
  338 + });
  339 + return false;
  340 + }
  341 + } else {
  342 + th.data.is_get_act = 0;
  343 + th.setData({
  344 + error: e.data.msg
  345 + });
171 346 return false;
  347 + }
172 348 }
  349 + });
  350 + }
173 351  
174   - if(getApp().globalData.guide_pick_id){
175   - func();
176   - return false;
177   - }
178   - var th=this;
179   - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + first_leader, {}).then(res => {
180   - if (res.data.code == 0) {
181   - getApp().globalData.guide_pick_id= res.data.data.pickup_id;
182   - }
183   - th.data.is_geted_guide_pick=1;
184   - func();
185   - })
186   - },
187   -
188   -
189   - /**
190   - * 生命周期函数--监听页面显示
191   - */
192   - onShow: function () {
193   - getApp().check_can_share();
194   - var th = this,
195   - that = this,
196   - ee = this;
197   -
198   - let scene = wx.getLaunchOptionsSync().scene;
199   - //--判断是否是单页面--
200   - if (scene== 1154) {
201   - var url = "/api/weshop/prom/zhbuy/getone/" + os.stoid + "/" + th.data.id;
  352 +
  353 +
  354 +
  355 + getApp().is_Single_page(this, function () {
  356 +
  357 + this.data.is_timer = 1;
  358 + if (this.data.act) this.countDown();
  359 + //如果有会员的时候
  360 + var userInfo = getApp().globalData.userInfo;
  361 + if (userInfo) {
  362 + if (!th.data.is_get_act) {
  363 + //获取活动信息
  364 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + th.data.id + "/" + userInfo.user_id;
202 365 getApp().request.get(url, {
203   - success: function (e) {
204   - th.data.is_get_act = 1;
205   - if (e.data.code == 0 && e.data.data) {
206   - self.setData({
207   - act: e.data.data
208   - });
209   - if (e.data.data.is_show != 1) {
210   - th.setData({
211   - error: '活动未开启'
212   - });
213   - return false;
  366 + success: function (e) {
  367 + th.data.is_get_act = 1;
  368 + if (e.data.code == 0 && e.data.data) {
  369 + if (e.data.data.share_imgurl) {
  370 + var imgDraw = {
  371 + "width": "550px",
  372 + "height": "943px",
  373 + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
  374 + "views": [{ // 头像
  375 + "type": "image",
  376 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  377 + "css": {
  378 + "width": "100px",
  379 + "height": "100px",
  380 + "top": "20px",
  381 + "left": "225px",
  382 + "borderRadius": "100px",
  383 + "mode": "scaleToFill",
  384 + "borderWidth": "2px",
  385 + "borderColor": "#fff",
214 386 }
215   - if (ut.gettimestamp() < e.data.data.start_time) {
216   - th.setData({
217   - error: '活动还未开始'
218   - });
219   - return false;
  387 + },
  388 + { //昵称
  389 + "type": "text",
  390 + "text": "我是店铺名",
  391 + "css": {
  392 + "width": "550px",
  393 + "color": "#fff",
  394 + "top": "136px",
  395 + // "left": "137px",
  396 + "textAlign": "center",
  397 + "fontSize": "26px",
  398 + "maxLines": "1",
220 399 }
221   - if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
222   - //判断是否有限制购买次数
223   - if(e.data.data.buy_limit !=0){
224   -
225   - }
226   - //-- 获取商品列表 --
227   - self.get_list();
228   - self.countDown();
229   - } else {
230   - th.setData({
231   - error: '活动已经过期'
232   - });
233   - return false;
  400 + },
  401 +
  402 + { // 码
  403 + "type": "image",
  404 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  405 + "css": {
  406 + "color": "#000",
  407 + "width": "509px",
  408 + "height": "510px",
  409 + "top": "180px",
  410 + "left": "21px",
234 411 }
235   - } else {
236   - th.data.is_get_act = 0;
237   - th.setData({
238   - error: e.data.msg
239   - });
240   - return false;
  412 + },
  413 + { //10元任选3件
  414 + "type": "text",
  415 + "text": "10元3件",
  416 + "css": {
  417 + "color": "red",
  418 + "width": "250px",
  419 + "top": "750px",
  420 + "fontSize": "30px",
  421 + "maxLines": "1",
  422 + "left": "60px",
  423 + "fontWeight": "bold",
  424 + }
  425 + },
  426 + { //活动时间
  427 + "type": "text",
  428 + "text": "活动时间:2021.07.06 - 2021.07.08",
  429 + "css": {
  430 + "color": "#333",
  431 + "width": "250px",
  432 + "top": "820px",
  433 + "fontSize": "26px",
  434 + "fontWeight": "normal",
  435 + "maxLines": "1",
  436 + "left": "60px",
  437 + }
  438 + },
  439 + { // 码
  440 + "type": "image",
  441 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  442 + "css": {
  443 + "color": "#000",
  444 + "width": "120px",
  445 + "height": "120px",
  446 + "top": "710px",
  447 + "left": "365px",
  448 + }
  449 + },
  450 + { // 扫码提示
  451 + "type": "text",
  452 + "text": "长按识别二维码",
  453 + "css": {
  454 + "color": "#666",
  455 + "width": "650px",
  456 + "top": "850px",
  457 + "fontSize": "22px",
  458 + "left": "335px",
  459 + }
  460 + },
  461 + ]
241 462 }
  463 +
  464 + th.setData({
  465 + imgDraw: imgDraw
  466 + });
  467 +
  468 + } else {
  469 + var imgDraw = {
  470 + "width": "650px",
  471 + "height": "843px",
  472 + "background": "https://mshopimg.yolipai.net/miniapp/images/zhg/bg-zuhegou.jpg",
  473 + "views": [{ // 头像
  474 + "type": "image",
  475 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  476 + "css": {
  477 + "width": "100px",
  478 + "height": "100px",
  479 + "top": "20px",
  480 + "left": "275px",
  481 + "borderRadius": "100px",
  482 + "mode": "scaleToFill",
  483 + "borderWidth": "2px",
  484 + "borderColor": "#fff",
  485 + }
  486 + },
  487 + { //昵称
  488 + "type": "text",
  489 + "text": "我是店铺名",
  490 + "css": {
  491 + "width": "650px",
  492 + "color": "#fff",
  493 + "top": "136px",
  494 + // "left": "137px",
  495 + "textAlign": "center",
  496 + "fontSize": "26px",
  497 + "maxLines": "1",
  498 + }
  499 + },
  500 + { //10元任选3件
  501 + "type": "text",
  502 + "text": "10元3件",
  503 + "css": {
  504 + "color": "#fff",
  505 + "width": "650px",
  506 + "top": "270px",
  507 + "fontSize": "70px",
  508 + "maxLines": "1",
  509 + "textAlign": "center",
  510 + "fontWeight": "bold",
  511 + }
  512 + },
  513 + { //活动时间
  514 + "type": "text",
  515 + "text": "活动时间:2021.07.06 - 2021.07.08",
  516 + "css": {
  517 + "color": "#333",
  518 + "width": "650px",
  519 + "top": "440px",
  520 + "fontSize": "26px",
  521 + "fontWeight": "normal",
  522 + "maxLines": "1",
  523 + "textAlign": "center"
  524 + }
  525 + },
  526 + { // 码
  527 + "type": "image",
  528 + "url": "https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/0F/08/ChMkJlauzXWIDrXBAAdCg2xP7oYAAH9FQOpVAIAB0Kb342.jpg",
  529 + "css": {
  530 + "color": "#000",
  531 + "width": "200px",
  532 + "height": "200px",
  533 + "top": "525px",
  534 + "left": "225px",
  535 + }
  536 + },
  537 + { // 扫码提示
  538 + "type": "text",
  539 + "text": "长按扫码即可参与活动",
  540 + "css": {
  541 + "color": "#666",
  542 + "width": "650px",
  543 + "top": "750px",
  544 + "fontSize": "26px",
  545 + "textAlign": "center"
  546 + }
  547 + },
  548 + ]
  549 + }
  550 +
  551 + th.setData({
  552 + imgDraw: imgDraw
  553 + });
  554 + }
  555 + self.setData({
  556 + act: e.data.data
  557 + });
  558 + if (e.data.data.is_show != 1) {
  559 + th.setData({
  560 + error: '活动未开启'
  561 + });
  562 + return false;
  563 + }
  564 + if (ut.gettimestamp() < e.data.data.start_time) {
  565 + th.setData({
  566 + error: '活动还未开始'
  567 + });
  568 + return false;
  569 + }
  570 + if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
  571 + //判断是否有限制购买次数
  572 + if (e.data.data.buy_limit != 0) {
  573 + self.getUserBuyPromNum()
  574 + }
  575 + //-- 获取商品列表 --
  576 + self.get_list();
  577 + self.countDown();
  578 + } else {
  579 + th.setData({
  580 + error: '活动已经过期'
  581 + });
  582 + return false;
  583 + }
  584 + } else {
  585 + th.data.is_get_act = 0;
  586 + th.setData({
  587 + error: e.data.msg
  588 + });
  589 + return false;
242 590 }
  591 + }
243 592 });
244 593 }
245 594  
246   - getApp().is_Single_page(this, function () {
247   -
248   - this.data.is_timer = 1;
249   - if (this.data.act) this.countDown();
250   - //如果有会员的时候
251   - var userInfo = getApp().globalData.userInfo;
252   - if (userInfo) {
253   - if (!th.data.is_get_act) {
254   - //获取活动信息
255   - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + th.data.id + "/" + userInfo.user_id;
256   - getApp().request.get(url, {
257   - success: function (e) {
258   - th.data.is_get_act = 1;
259   - if (e.data.code == 0 && e.data.data) {
260   - self.setData({
261   - act: e.data.data
262   - });
263   - if (e.data.data.is_show != 1) {
264   - th.setData({
265   - error: '活动未开启'
266   - });
267   - return false;
268   - }
269   - if (ut.gettimestamp() < e.data.data.start_time) {
270   - th.setData({
271   - error: '活动还未开始'
272   - });
273   - return false;
274   - }
275   - if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
276   - //判断是否有限制购买次数
277   - if(e.data.data.buy_limit !=0){
278   - self.getUserBuyPromNum()
279   - }
280   - //-- 获取商品列表 --
281   - self.get_list();
282   - self.countDown();
283   - } else {
284   - th.setData({
285   - error: '活动已经过期'
286   - });
287   - return false;
288   - }
289   - } else {
290   - th.data.is_get_act = 0;
291   - th.setData({
292   - error: e.data.msg
293   - });
294   - return false;
295   - }
296   - }
297   - });
298   - }
299 595  
300   - //等待活动值
301   - this.waitfor2(10, 'list', function () {
302   - if (!th.data.list) return false;
303   - if (ut.gettimestamp() < th.data.act.start_time) {
304   - return false;
305   - }
306   - if (th.data.act.is_end == 10 || ut.gettimestamp() >= th.data.act.end_time) {
307   - return false;
308   - }
309   - //获取头像的分享
310   - th.get_head_temp(function () {
311   - var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件";
312   - imgDraw.views[0].url = th.data.share_head;
313   - imgDraw.views[1].text = userInfo.nickname;
314   - imgDraw.views[2].text = txt;
315   -
316   - var start = ut.formar_no_full(th.data.act.start_time, '.');
317   - var end = ut.formar_no_full(th.data.act.end_time, '.');
318   - txt = "活动时间:" + start + " - " + end;
319   - imgDraw.views[3].text = txt;
320   -
321   - var scene = th.data.id + "";
322   - var user_id = getApp().globalData.user_id;
323   - scene += "_" + user_id;
324   - ///二微码
325   - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
326   - os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index";
327   - wx.getImageInfo({
328   - src: path3,
329   - success: function (res) {
330   - var vpath = res.path;
331   - imgDraw.views[4].url = vpath;
332   - th.setData({
333   - imgDraw: imgDraw
334   - })
335   - }
336   - })
337   - })
338 596  
339   - th.check_guide(()=>{
340   - //获取用户的默认门店
341   - getApp().get_user_store(function (e) {
342   - if (!e) {
343   - th.data.fir_def_store = {}; //赋值空对象
344   - return false;
345   - }
346   - if(getApp().globalData.is_dj_pk) th.setData({has_def:1})
347   -
348   - var ee = JSON.parse(JSON.stringify(e));
349   - var appd = getApp().globalData;
350   - //-- 等待定位系统的开启 --
351   - th.waitfor2(15, 'is_get_local_ok', function () {
352   -
353   - if (!th.data.is_get_local_ok) return false;
354   -
355   - var e = JSON.parse(JSON.stringify(ee));
356   - //如果有开启近距离的话,同时距离优不一样了
357   - if (that.data.lat != null) {
358   - //如果经纬度有变化的话
359   - if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
360   - that.set_def_storage(e);
361   - } else {
362   - //要用接口是获取距离,js的计算不准
363   - getApp().request.promiseGet("/api/weshop/pickup/list", {
364   - data: {
365   - store_id: os.stoid,
366   - pickup_id: e.pickup_id,
367   - is_pos: 1,
368   - lat: th.data.lat,
369   - lon: th.data.lon
370   - },
371   - }).then(res => {
372   - if (res.data.code == 0) {
373   - e = res.data.data.pageData[0];
374   - if (e) {
375   - e.is_no_dis = ee.is_no_dis;
376   - appd.pk_store = e;
377   - that.set_def_storage(e);
378   - }
379   -
380   - }
381   - })
382   - }
383   - appd.lat = that.data.lat;
384   - appd.lon = that.data.lon;
385   - } else {
386   - if (e) {
387   - e.distance = null;
388   - that.set_def_storage(e);
389   - }
390   - }
391   - })
392   - });
393   - })
394 597  
395   - //----获取系统参数-----
396   - getApp().getConfig2(function (e) {
397   - ee.setData({
398   - bconfig: e,
399   - });
400   - //设置基本参数
401   - th.wait_for_store_config(e);
402   -
403   - var json_d = JSON.parse(e.switch_list);
404   - ee.setData({
405   - store_config: e,
406   - sys_switch: json_d,
407   - is_closecoupon: json_d.is_closecoupon,
408   - is_newsales_rules: json_d.is_newsales_rules,
409   - is_open_offline: json_d.is_pricing_open,
410   - sales_rules: e.sales_rules,
411   - appoint_pick_keyid: json_d.appoint_pick_keyid
412   - });
413   -
414   - //-- 计算等级价相关 --
415   - var swithc_list = e.switch_list;
416   - var sw_arr = JSON.parse(swithc_list);
417   - //---如果后台又开等级卡的开关---
418   - if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
419   - th.setData({
420   - rank_switch: true
421   - });
422   - //---回调卡的列表---
423   - th.getPlusCardType(function (ob) {
424   - th.setData({
425   - card_list: ob.card_list
426   - });
427   - var user = getApp().globalData.userInfo;
428   - if (!user) return false;
429   - if (user.card_field && user['card_expiredate']) {
430   - var str = user['card_expiredate'].replace(/-/g, '/');
431   - var end = new Date(str);
432   - end = Date.parse(end) / 1000;
433   - var now = ut.gettimestamp();
434   - //--- 判断是等级会员,且在有效期范围内 ---
435   - if (user.card_field && now < end) {
436   - var card_name = ob.name_map.get(user.card_field);
437   - th.setData({
438   - card_field: user.card_field,
439   - card_name: card_name,
440   - card_list: ob.card_list
441   - });
442   - }
443   - }
444   - //获取购物车的内容
445   - setTimeout(function(){
446   - th.get_cart_val(e);
447   - },1000)
448   -
449   -
450   - })
451   - } else {
452   - //获取购物车的内容
453   - setTimeout(function(){
454   - th.get_cart_val(e);
455   - },1000)
456   - }
457   - }, 1);
  598 + //等待活动值
  599 + this.waitfor2(10, 'list', function () {
  600 + if (!th.data.list) return false;
  601 + if (ut.gettimestamp() < th.data.act.start_time) {
  602 + return false;
  603 + }
  604 + if (th.data.act.is_end == 10 || ut.gettimestamp() >= th.data.act.end_time) {
  605 + return false;
  606 + }
458 607  
  608 + if (th.data.act.share_imgurl) {
  609 + var path22 = th.data.iurl + th.data.act.share_imgurl;
  610 + wx.getImageInfo({
  611 + src: path22,
  612 + success: function (res) {
  613 + path22 = res.path;
  614 +
  615 + //获取头像的分享
  616 + th.get_head_temp(function () {
  617 + var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件";
  618 + var imgDraw = th.data.imgDraw;
  619 + imgDraw.views[0].url = th.data.share_head;
  620 + imgDraw.views[1].text = userInfo.nickname;
  621 + imgDraw.views[3].text = txt;
  622 +
  623 + txt = th.data.act.share_title?th.data.act.share_title:th.data.act.name
  624 + imgDraw.views[4].text = txt;
  625 +
  626 + var scene = th.data.id + "";
  627 + var user_id = getApp().globalData.user_id;
  628 + scene += "_" + user_id;
  629 + ///二微码
  630 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  631 + os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index";
  632 + wx.getImageInfo({
  633 + src: path3,
  634 + success: function (res) {
  635 + var vpath = res.path;
  636 + imgDraw.views[2].url = path22;
  637 + imgDraw.views[5].url = vpath;
  638 + th.setData({
  639 + imgDraw: imgDraw
  640 + })
  641 + }
  642 + })
459 643 })
  644 + },
  645 + fail: function () {
460 646  
461   - } else {
462   - getApp().goto("/packageE/pages/togoin/togoin");
463   - return false;
464   - }
465   - })
466   -
467   -
468   -
469   - },
470   - //获取用户参与活动的次数
471   - getUserBuyPromNum(){
472   - var userInfo = getApp().globalData.userInfo;
473   - var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${this.data.act.id}`;
474   - getApp().request.get(url, {
475   - success: (e)=>{
476   - if (e.data.code == 0 && e.data.data) {
477   - let userbuynum=e.data.data.userbuynum
478   - if (userbuynum >=this.data.act.buy_limit && this.data.act.buy_limit !=0) {
479   - this.setData({
480   - userbuynum:true
  647 + }
  648 + });
  649 + } else {
  650 + //获取头像的分享
  651 + th.get_head_temp(function () {
  652 + var txt = th.data.act.zhprice + "元" + th.data.act.zhbuyqty + "件";
  653 + imgDraw.views[0].url = th.data.share_head;
  654 + imgDraw.views[1].text = userInfo.nickname;
  655 + imgDraw.views[2].text = txt;
  656 +
  657 + var start = ut.formar_no_full(th.data.act.start_time, '.');
  658 + var end = ut.formar_no_full(th.data.act.end_time, '.');
  659 + txt = "活动时间:" + start + " - " + end;
  660 + imgDraw.views[3].text = txt;
  661 +
  662 + var scene = th.data.id + "";
  663 + var user_id = getApp().globalData.user_id;
  664 + scene += "_" + user_id;
  665 + ///二微码
  666 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  667 + os.stoid + "?sceneValue=" + scene + "&pageValue=packageB/pages/zuhegou/index/index";
  668 + wx.getImageInfo({
  669 + src: path3,
  670 + success: function (res) {
  671 + var vpath = res.path;
  672 + imgDraw.views[4].url = vpath;
  673 + th.setData({
  674 + imgDraw: imgDraw
481 675 })
482 676 }
483   - } else {
  677 + })
  678 + })
484 679  
485   - }
486 680 }
487   - });
488   - },
489   - onHide: function () {
490   - this.data.is_timer = 0;
491   - },
492   -
493   - //-- 调用接口的LIST,获取商品 --
494   - get_list: function () {
495   - var th = this;
496   - if (this.data.loading) return false;
497   - if (this.data.no_more) return false;
498   - this.data.loading = 1;
499   - var url = "/api/weshop/prom/zhbuyGoods/page";
500   - var req_data = {
501   - page: this.data.page,
502   - pageSize: 10,
503   - store_id: os.stoid,
504   - zh_id: this.data.id
505   - }
506   - //开始调用接口
507   - getApp().request.get(url, {
508   - data: req_data,
509   - success: function (res) {
510   - th.data.loading = 0;
511   - th.setData({
512   - is_get: 1
513   - })
514   - if (ut.ajax_ok(res)) {
515   - th.data.page++;
516   - var list = th.data.list;
517   - if (!list) list = [];
518   -
519   - //当是下拉刷新的时候
520   - if (th.data.page > 1 && th.data.cart_list) {
521   - //下拉之后也要重新计算一下金额
522   - th.calc_more(res.data.data.pageData, function (list1) {
523   - for (var i in list1) {
524   - list.push(list1[i]);
525   - }
526   - th.setData({
527   - list: list
528   - });
529   - th.re_sum_price();
530   - })
531   - } else {
532   - for (var i in res.data.data.pageData) {
533   - list.push(res.data.data.pageData[i]);
534   - }
535   - th.setData({
536   - list: list
537   - });
538   - if (res.data.data.total <= 10) {
539   - th.setData({
540   - no_more: 1
541   - });
542   - }
543   - }
544   - } else {
545   - th.setData({
546   - no_more: 1
547   - });
548   - }
549   - }
550   - })
551   - },
552   -
553   - //-- 滚动到底部触发 --
554   - get_more_list: function () {
555   - this.get_list();
556   - },
557   -
558   - /**
559   - * 用户点击右上角分享
560   - */
561   - onShareAppMessage: function () { getApp().globalData.no_clear=1;
562   - var title = this.data.act.name;
563   - var url = "/packageB/pages/zuhegou/index/index?id=" + this.data.act.id;
564   - if (getApp().globalData.user_id) {
565   - url += "&first_leader=" + getApp().globalData.user_id;
566   - }
567   - var ob = {
568   - title: title,
569   - path: url,
570   - };
571   - if (this.data.act.img_url)
572   - ob.imageUrl = this.data.iurl + this.data.act.img_url;
573   - return ob;
574   - },
575   -
576   - /**
577   - * 用户分享朋友圈
578   - */
579   - onShareTimeline() {
580   - getApp().globalData.no_clear=1;
581   - var title = this.data.act.name;
582   -
583   - var user_id=getApp().globalData.user_id;
584   - if(!user_id) user_id=0;
585 681  
586   - var ob = {
587   - title: title,
588   - query: 'first_leader='+user_id+"&id=" + this.data.act.id
589   - };
590   - if (this.data.act.img_url)
591   - ob.imageUrl = this.data.iurl + this.data.act.img_url;
592   - return ob;
593   - },
594   -
595   - /**
596   - * 点击规则详情,弹出规则
597   - */
598   - showRule() {
599   - this.setData({
600   - type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息
601   - showRule: true,
602   - showMask: true,
603   - });
604   - },
605   -
606   - /**
607   - * 点击关闭按钮关闭规则详情弹窗
608   - */
609   - closeRule() {
610   - this.setData({
611   - showRule: false,
612   - showMask: false,
613   - });
614   - },
615   -
616   - /**
617   - * 点击提示信息
618   - */
619   - showInfo() {
620   - this.setData({
621   - type: 1,
622   - showRule: true,
623   - showMask: true,
624   - });
625   - },
626   -
627   - /**
628   - * 加入购物车
629   - */
630   - addToCart(e) {
631   - var th = this;
632   - var index = e.currentTarget.dataset.index;
633   - var userInfo = getApp().globalData.userInfo;
634   - if (!userInfo) {
635   - getApp().goto("/packageE/pages/togoin/togoin");
636   - return false;
637   - }
638   - let haveAdded = this.data.list[index].haveAdded;
639   - this.data.sele_index = index;
640   - let title = '';
641   - self = this;
642   - th.data.s_cart_num = 0;
643   - if(this.data.userbuynum){
644   - wx.showToast({
645   - title: '你已超出该活动购买次数!',
646   - icon: 'none',
647   - duration: 2000
648   - })
649   - return
650   - }
651 682  
652   - if(this.data.act.zh_num>0 && this.data.act.zh_num<=this.data.act.zh_buy_num){
653   - wx.showToast({
654   - title: '组合总数不足!',
655   - icon: 'none',
656   - duration: 2000
657   - })
658   - return
659   - }
  683 + th.check_guide(() => {
  684 + //获取用户的默认门店
  685 + getApp().get_user_store(function (e) {
  686 + if (!e) {
  687 + th.data.fir_def_store = {}; //赋值空对象
  688 + return false;
  689 + }
  690 + if (getApp().globalData.is_dj_pk) th.setData({ has_def: 1 })
660 691  
  692 + var ee = JSON.parse(JSON.stringify(e));
  693 + var appd = getApp().globalData;
  694 + //-- 等待定位系统的开启 --
  695 + th.waitfor2(15, 'is_get_local_ok', function () {
661 696  
662   - //说明是加入购物车是时候
663   - this.data.is_zuhe_addcart = 1;
664   - if (!haveAdded) {
  697 + if (!th.data.is_get_local_ok) return false;
665 698  
666   - //购买的商品的数量默认超量的数量
667   - th.data.sele_g = this.data.list[index];
668   - if (!th.data.sele_g.num){
669   - th.data.goodsInputNum = 1;
670   - if(th.data.sele_g.zhqty) th.data.goodsInputNum = th.data.sele_g.zhqty;
671   - }
  699 + var e = JSON.parse(JSON.stringify(ee));
  700 + //如果有开启近距离的话,同时距离优不一样了
  701 + if (that.data.lat != null) {
  702 + //如果经纬度有变化的话
  703 + if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) {
  704 + that.set_def_storage(e);
  705 + } else {
  706 + //要用接口是获取距离,js的计算不准
  707 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  708 + data: {
  709 + store_id: os.stoid,
  710 + pickup_id: e.pickup_id,
  711 + is_pos: 1,
  712 + lat: th.data.lat,
  713 + lon: th.data.lon
  714 + },
  715 + }).then(res => {
  716 + if (res.data.code == 0) {
  717 + e = res.data.data.pageData[0];
  718 + if (e) {
  719 + e.is_no_dis = ee.is_no_dis;
  720 + appd.pk_store = e;
  721 + that.set_def_storage(e);
  722 + }
672 723  
673   - //如果没有门店,活动商品的配送方式和门店的配送方式不一样
674   - if (!th.data.def_pick_store ||
675   - (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) {
676   - //选择了门店
677   - if (th.data.sele_store) {
678   - wx.showToast({
679   - title: "该商品的物流配送方式和默认门店不匹配!",
680   - icon: 'none',
681   - duration: 2000
  724 + }
682 725 })
  726 + }
  727 + appd.lat = that.data.lat;
  728 + appd.lon = that.data.lon;
683 729 } else {
684   - wx.showModal({
685   - title: '温馨提示',
686   - content: '该商品的物流配送方式和默认门店不匹配,是否要切换门店?',
687   - success(res) {
688   - if (res.confirm) {
689   - //物流的配送方式不一样
690   - th.get_sto();
691   - var set_data = {
692   - store: 1
693   - };
694   - if (th.data.def_pick_store) {
695   - set_data.is_no_pipei = th.data.def_pick_store.pickup_id;
696   - }
697   - th.setData(set_data);
698   - }
699   - }
700   - })
  730 + if (e) {
  731 + e.distance = null;
  732 + that.set_def_storage(e);
  733 + }
701 734 }
702   - return false;
703   - } else {
704   - //先判断一下线下库存
705   -
706   - th.chect_act_zh_num(function (){
707   - th.check_pk_store_conut(function(){
708   - th.setData({
709   - is_no_pipei: 0
710   - });
711   - th.check_is_in_cart(function () {
712   - th.add_cart_func();
713   - })
714   - })
715   - })
716   -
717   - }
718   - } else {
719   -
720   - var txt = "list[" + index + "].haveAdded";
721   - var txt1 = "list[" + index + "].num";
722   - var txt2 = "list[" + index + "].showNum";
723   - th.data.sele_g = this.data.list[index];
  735 + })
  736 + });
  737 + })
724 738  
725   - wx.showModal({
726   - title: '温馨提示',
727   - content: "确定取消该商品参与活动?",
728   - success(res) {
729   - if (res.confirm) {
730   - console.log('用户点击确定');
731   - if (th.data.sele_g.cart_num && th.data.sele_g.cart_num - th.data.sele_g.num > 0) {
732   -
733   - var updata = {
734   - id: th.data.sele_g.cart_id,
735   - goods_num: th.data.sele_g.cart_num - th.data.sele_g.num,
736   - store_id: os.stoid
737   - }
738   - getApp().request.put("/api/weshop/cart/update", {
739   - data: updata,
740   - success: function (rs) {
741   - if (rs.data.code == 0) {
742   - title = '取消成功';
743   - th.setData({
744   - [txt1]: 0,
745   - [txt2]: false,
746   - [txt]: false,
747   - });
748   - wx.showToast({
749   - title: title,
750   - icon: 'success',
751   - });
752   - th.re_sum_price();
753   - }
754   - }
755   - })
756   -
757   - } else {
758   - var url = '/api/weshop/cart/del/' + os.stoid + '/' + th.data.sele_g.cart_id;
759   - getApp().request.delete(url, {
760   - success: function (res) {
761   -
762   - if (res.data.code == 0) {
763   - title = '取消成功';
764   - th.setData({
765   - [txt1]: 0,
766   - [txt2]: false,
767   - [txt]: false,
768   - });
769   - wx.showToast({
770   - title: title,
771   - icon: 'success',
772   - });
773   -
774   - th.re_sum_price();
775   - }
776   - }
777   - });
778   - }
  739 + //----获取系统参数-----
  740 + getApp().getConfig2(function (e) {
  741 + ee.setData({
  742 + bconfig: e,
  743 + });
  744 + //设置基本参数
  745 + th.wait_for_store_config(e);
  746 +
  747 + var json_d = JSON.parse(e.switch_list);
  748 + ee.setData({
  749 + store_config: e,
  750 + sys_switch: json_d,
  751 + is_closecoupon: json_d.is_closecoupon,
  752 + is_newsales_rules: json_d.is_newsales_rules,
  753 + is_open_offline: json_d.is_pricing_open,
  754 + sales_rules: e.sales_rules,
  755 + appoint_pick_keyid: json_d.appoint_pick_keyid
  756 + });
779 757  
780   - } else if (res.cancel) {
781   - console.log('用户点击取消')
782   - self.setData({
783   - haveAdded: true,
784   - });
785   - }
  758 + //-- 计算等级价相关 --
  759 + var swithc_list = e.switch_list;
  760 + var sw_arr = JSON.parse(swithc_list);
  761 + //---如果后台又开等级卡的开关---
  762 + if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
  763 + th.setData({
  764 + rank_switch: true
  765 + });
  766 + //---回调卡的列表---
  767 + th.getPlusCardType(function (ob) {
  768 + th.setData({
  769 + card_list: ob.card_list
  770 + });
  771 + var user = getApp().globalData.userInfo;
  772 + if (!user) return false;
  773 + if (user.card_field && user['card_expiredate']) {
  774 + var str = user['card_expiredate'].replace(/-/g, '/');
  775 + var end = new Date(str);
  776 + end = Date.parse(end) / 1000;
  777 + var now = ut.gettimestamp();
  778 + //--- 判断是等级会员,且在有效期范围内 ---
  779 + if (user.card_field && now < end) {
  780 + var card_name = ob.name_map.get(user.card_field);
  781 + th.setData({
  782 + card_field: user.card_field,
  783 + card_name: card_name,
  784 + card_list: ob.card_list
  785 + });
  786 + }
786 787 }
787   - })
788   - }
  788 + //获取购物车的内容
  789 + setTimeout(function () {
  790 + th.get_cart_val(e);
  791 + }, 1000)
789 792  
790   - },
791   -
792   - //在启用线下的时候,要判断一下是不是有库存
793   - async check_pk_store_conut(func,is_no_msg,gd,by_num){
794   - var th=this;
795   - if(this.data.sales_rules<2){
796   - if(is_no_msg) return true;
797   - else {
798   - if(func) func();
799   - return false;
800   - }
801   - }
802   - //门店库存no
803   - var pkno= gd && gd.pickup_no?gd.pickup_no:this.data.def_pick_store.pickup_no;
804   - var pickup_id=gd && gd.pick_id?gd.pick_id:this.data.def_pick_store.pickup_id;
805   - var lock = [];
806   - var plist=null;
807   - var good=gd || th.data.sele_g;
808   - var buy_num=by_num || th.data.goodsInputNum;
809   -
810   - if(this.data.sales_map[good.goods_id]){
811   -
812   - var mp=this.data.sales_map[good.goods_id];
813   - var lock_num=mp.lock_num;
814   - var CanOutQty=mp.CanOutQty;
815   - if (CanOutQty < lock_num +buy_num) {
816   -
817   - if(!is_no_msg) {
818   - wx.showToast({
819   - title: "门店库存不足",
820   - icon: 'none',
821   - duration: 2000
822   - })
823   - }
824   - return false;
825   - }
826   - if(is_no_msg) return true;
827   - func();
828   -
829   - }else {
830   - //先读取门店的lock,采用链式写法,少用await
831   - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
832   - data: {store_id: os.stoid, wareId: good.goods_id, pageSize: 1000}
833   - }).then(res => {
834   - if (res.data.code == 0 && res.data.data.total > 0) {
835   - lock = res.data.data.pageData
836   - }
837   -
838   - })
839   -
840   - var dw_rq={ storageNos: pkno,wareIds: encodeURIComponent(good.erpwareid), storeId: os.stoid, pageSize: 2000};
841   - if(this.data.sales_rules==3){
842   - dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid)
843   - delete dw_rq.storageNos
844   - }
845   -
846   - //---通过接口获取门店的线下库存信息--
847   - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
848   - data:dw_rq
849   - }).then(res => {
850   - if (ut.ajax_ok(res)) {
851   - plist = res.data.data.pageData[0];
852   - }
853   - })
854   -
855   - if(!plist){
856   - if(!is_no_msg) {
857   - wx.showToast({
858   - title: "该商品在门店未找到库存",
859   - icon: 'none',
860   - duration: 2000
861   - })
862   - }
863   - return false;
864   - }
865   -
866   - var lock_num = th.find_lock_num(pickup_id, lock);
867   - this.data.sales_map[good.goods_id]={
868   - CanOutQty:plist.CanOutQty,
869   - lock_num:lock_num
870   - }
871   -
872   - if (plist.CanOutQty < lock_num + buy_num) {
873   - if(!is_no_msg) {
874   - wx.showToast({
875   - title: "该商品在门店未找到库存",
876   - icon: 'none',
877   - duration: 2000
878   - })
879   - }
880   - return false;
881   - }
882   - if(is_no_msg) return true;
883   - func();
884   - }
885   -
886   - },
887   -
888   - find_lock_num(pick_id, lock) {
889   - var lock_num = 0;
890   - if (!lock) return 0;
891   - if (lock.length < 0) return 0;
892   - for (var i in lock) {
893   - if (pick_id == lock[i].pickupId) {
894   - lock_num += lock[i].outQty;
  793 +
  794 + })
  795 + } else {
  796 + //获取购物车的内容
  797 + setTimeout(function () {
  798 + th.get_cart_val(e);
  799 + }, 1000)
895 800 }
896   - }
897   - return lock_num;
898   - },
  801 + }, 1);
899 802  
  803 + })
900 804  
901   - /**
902   - * 增加数量
903   - */
904   - add(e) {
  805 + } else {
  806 + getApp().goto("/packageE/pages/togoin/togoin");
  807 + return false;
  808 + }
  809 + })
  810 +
  811 +
  812 +
  813 + },
  814 + //获取用户参与活动的次数
  815 + getUserBuyPromNum() {
  816 + var userInfo = getApp().globalData.userInfo;
  817 + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${this.data.act.id}`;
  818 + getApp().request.get(url, {
  819 + success: (e) => {
  820 + if (e.data.code == 0 && e.data.data) {
  821 + let userbuynum = e.data.data.userbuynum
  822 + if (userbuynum >= this.data.act.buy_limit && this.data.act.buy_limit != 0) {
  823 + this.setData({
  824 + userbuynum: true
  825 + })
  826 + }
  827 + } else {
905 828  
906   - if(this.data.userbuynum){
907   - wx.showToast({
908   - title: '你已超出该活动购买次数!',
909   - icon: 'none',
910   - duration: 2000
911   - })
912   - return
913 829 }
914   -
915   - var th = this;
916   - var userInfo = getApp().globalData.userInfo;
917   - if (!userInfo) {
918   - getApp().goto("/packageE/pages/togoin/togoin");
919   - return false;
  830 + }
  831 + });
  832 + },
  833 + onHide: function () {
  834 + this.data.is_timer = 0;
  835 + },
  836 +
  837 + //-- 调用接口的LIST,获取商品 --
  838 + get_list: function () {
  839 + var th = this;
  840 + if (this.data.loading) return false;
  841 + if (this.data.no_more) return false;
  842 + this.data.loading = 1;
  843 + var url = "/api/weshop/prom/zhbuyGoods/page";
  844 + var req_data = {
  845 + page: this.data.page,
  846 + pageSize: 10,
  847 + store_id: os.stoid,
  848 + zh_id: this.data.id
  849 + }
  850 + //开始调用接口
  851 + getApp().request.get(url, {
  852 + data: req_data,
  853 + success: function (res) {
  854 + th.data.loading = 0;
  855 + th.setData({
  856 + is_get: 1
  857 + })
  858 + if (ut.ajax_ok(res)) {
  859 + th.data.page++;
  860 + var list = th.data.list;
  861 + if (!list) list = [];
  862 +
  863 + //当是下拉刷新的时候
  864 + if (th.data.page > 1 && th.data.cart_list) {
  865 + //下拉之后也要重新计算一下金额
  866 + th.calc_more(res.data.data.pageData, function (list1) {
  867 + for (var i in list1) {
  868 + list.push(list1[i]);
  869 + }
  870 + th.setData({
  871 + list: list
  872 + });
  873 + th.re_sum_price();
  874 + })
  875 + } else {
  876 + for (var i in res.data.data.pageData) {
  877 + list.push(res.data.data.pageData[i]);
  878 + }
  879 + th.setData({
  880 + list: list
  881 + });
  882 + if (res.data.data.total <= 10) {
  883 + th.setData({
  884 + no_more: 1
  885 + });
  886 + }
  887 + }
  888 + } else {
  889 + th.setData({
  890 + no_more: 1
  891 + });
920 892 }
  893 + }
  894 + })
  895 + },
  896 +
  897 + //-- 滚动到底部触发 --
  898 + get_more_list: function () {
  899 + this.get_list();
  900 + },
  901 +
  902 + /**
  903 + * 用户点击右上角分享
  904 + */
  905 + onShareAppMessage: function () {
  906 + getApp().globalData.no_clear = 1;
  907 + var title = this.data.act.name;
  908 + var url = "/packageB/pages/zuhegou/index/index?id=" + this.data.act.id;
  909 + if (getApp().globalData.user_id) {
  910 + url += "&first_leader=" + getApp().globalData.user_id;
  911 + }
  912 + var ob = {
  913 + title: title,
  914 + path: url,
  915 + };
  916 + if (this.data.act.img_url)
  917 + ob.imageUrl = this.data.iurl + this.data.act.img_url;
  918 + return ob;
  919 + },
  920 +
  921 + /**
  922 + * 用户分享朋友圈
  923 + */
  924 + onShareTimeline() {
  925 + getApp().globalData.no_clear = 1;
  926 + var title = this.data.act.name;
  927 +
  928 + var user_id = getApp().globalData.user_id;
  929 + if (!user_id) user_id = 0;
  930 +
  931 + var ob = {
  932 + title: title,
  933 + query: 'first_leader=' + user_id + "&id=" + this.data.act.id
  934 + };
  935 + if (this.data.act.img_url)
  936 + ob.imageUrl = this.data.iurl + this.data.act.img_url;
  937 + return ob;
  938 + },
  939 +
  940 + /**
  941 + * 点击规则详情,弹出规则
  942 + */
  943 + showRule() {
  944 + this.setData({
  945 + type: 0, //控制显示规则详情还是提示信息,0规则详情,1提示信息
  946 + showRule: true,
  947 + showMask: true,
  948 + });
  949 + },
  950 +
  951 + /**
  952 + * 点击关闭按钮关闭规则详情弹窗
  953 + */
  954 + closeRule() {
  955 + this.setData({
  956 + showRule: false,
  957 + showMask: false,
  958 + });
  959 + },
  960 +
  961 + /**
  962 + * 点击提示信息
  963 + */
  964 + showInfo() {
  965 + this.setData({
  966 + type: 1,
  967 + showRule: true,
  968 + showMask: true,
  969 + });
  970 + },
  971 +
  972 + /**
  973 + * 加入购物车
  974 + */
  975 + addToCart(e) {
  976 + var th = this;
  977 + var index = e.currentTarget.dataset.index;
  978 + var userInfo = getApp().globalData.userInfo;
  979 + if (!userInfo) {
  980 + getApp().goto("/packageE/pages/togoin/togoin");
  981 + return false;
  982 + }
  983 + let haveAdded = this.data.list[index].haveAdded;
  984 + this.data.sele_index = index;
  985 + let title = '';
  986 + self = this;
  987 + th.data.s_cart_num = 0;
  988 + if (this.data.userbuynum) {
  989 + wx.showToast({
  990 + title: '你已超出该活动购买次数!',
  991 + icon: 'none',
  992 + duration: 2000
  993 + })
  994 + return
  995 + }
921 996  
922   - if (this.data.changing) return false;
923   - this.data.changing = 1;
924   -
925   - var index = e.currentTarget.dataset.index;
926   - this.data.sele_g = th.data.list[index];
927   - this.data.sele_index = index;
928   - th.data.goodsInputNum = th.data.sele_g.num + 1;
929   -
930   - //必须是组合购买的超量
931   - var is_zhqty=0;
932   - if(th.data.goodsInputNum<th.data.sele_g.zhqty){
933   - th.data.goodsInputNum=th.data.sele_g.zhqty;
934   - is_zhqty=1;
935   - }
  997 + if (this.data.act.zh_num > 0 && this.data.act.zh_num <= this.data.act.zh_buy_num) {
  998 + wx.showToast({
  999 + title: '组合总数不足!',
  1000 + icon: 'none',
  1001 + duration: 2000
  1002 + })
  1003 + return
  1004 + }
936 1005  
937   - th.check_pk_store_conut(function(){
938   - if (th.data.sele_g.cart_num) {
939   - th.data.s_cart_num = th.data.sele_g.cart_num + 1;
940   - if(is_zhqty) th.data.s_cart_num=th.data.sele_g.zhqty;
941   - }
942   - th.add_cart_func();
943   - })
944 1006  
945   - },
  1007 + //说明是加入购物车是时候
  1008 + this.data.is_zuhe_addcart = 1;
  1009 + if (!haveAdded) {
946 1010  
947   - /**
948   - * 减少数量
949   - */
950   - sub(e) {
951   - var userInfo = getApp().globalData.userInfo;
952   - if (!userInfo) {
953   - getApp().goto("/packageE/pages/togoin/togoin");
954   - return false;
955   - }
  1011 + //购买的商品的数量默认超量的数量
  1012 + th.data.sele_g = this.data.list[index];
  1013 + if (!th.data.sele_g.num) {
  1014 + th.data.goodsInputNum = 1;
  1015 + if (th.data.sele_g.zhqty) th.data.goodsInputNum = th.data.sele_g.zhqty;
  1016 + }
956 1017  
957   - var th = this;
958   - var index = e.currentTarget.dataset.index;
959   - var item = this.data.list[index];
960   - this.data.sele_g = item;
961   - let num = item.num;
962   - th.data.s_cart_num = item.cart_num - 1;
963   -
964   - if (num >= 2) {
965   - var check_num = num - 1;
966   - //小于起购数
967   - if (check_num < item.zhqty) {
968   - wx.showToast({
969   - title: "该商品至少要购买" + item.zhqty + "件",
970   - icon: 'none',
971   - duration: 2000
972   - })
973   - return false;
  1018 + //如果没有门店,活动商品的配送方式和门店的配送方式不一样
  1019 + if (!th.data.def_pick_store ||
  1020 + (th.data.sele_g.distr_type != 0 && th.data.def_pick_store.distr_type != 0 && th.data.sele_g.distr_type != th.data.def_pick_store.distr_type)) {
  1021 + //选择了门店
  1022 + if (th.data.sele_store) {
  1023 + wx.showToast({
  1024 + title: "该商品的物流配送方式和默认门店不匹配!",
  1025 + icon: 'none',
  1026 + duration: 2000
  1027 + })
  1028 + } else {
  1029 + wx.showModal({
  1030 + title: '温馨提示',
  1031 + content: '该商品的物流配送方式和默认门店不匹配,是否要切换门店?',
  1032 + success(res) {
  1033 + if (res.confirm) {
  1034 + //物流的配送方式不一样
  1035 + th.get_sto();
  1036 + var set_data = {
  1037 + store: 1
  1038 + };
  1039 + if (th.data.def_pick_store) {
  1040 + set_data.is_no_pipei = th.data.def_pick_store.pickup_id;
  1041 + }
  1042 + th.setData(set_data);
  1043 + }
974 1044 }
975   -
976   - if (th.data.changing) return false;
977   - th.data.changing = 1;
978   - th.data.sele_g = item;
979   - th.data.sele_index = index;
980   - th.data.goodsInputNum = check_num;
981   -
982   - th.sub_updata_cart();
983   - return false;
  1045 + })
984 1046 }
  1047 + return false;
  1048 + } else {
  1049 + //先判断一下线下库存
985 1050  
986   - var txt = "list[" + index + "].haveAdded";
987   - var txt1 = "list[" + index + "].num";
988   - var txt2 = "list[" + index + "].showNum";
  1051 + th.chect_act_zh_num(function () {
  1052 + th.check_pk_store_conut(function () {
  1053 + th.setData({
  1054 + is_no_pipei: 0
  1055 + });
  1056 + th.check_is_in_cart(function () {
  1057 + th.add_cart_func();
  1058 + })
  1059 + })
  1060 + })
989 1061  
990   - wx.showModal({
991   - title: '温馨提示',
992   - content: '确定取消该商品参与活动?',
993   - success(res) {
994   - if (res.confirm) {
  1062 + }
  1063 + } else {
  1064 +
  1065 + var txt = "list[" + index + "].haveAdded";
  1066 + var txt1 = "list[" + index + "].num";
  1067 + var txt2 = "list[" + index + "].showNum";
  1068 + th.data.sele_g = this.data.list[index];
  1069 +
  1070 + wx.showModal({
  1071 + title: '温馨提示',
  1072 + content: "确定取消该商品参与活动?",
  1073 + success(res) {
  1074 + if (res.confirm) {
  1075 + console.log('用户点击确定');
  1076 + if (th.data.sele_g.cart_num && th.data.sele_g.cart_num - th.data.sele_g.num > 0) {
  1077 +
  1078 + var updata = {
  1079 + id: th.data.sele_g.cart_id,
  1080 + goods_num: th.data.sele_g.cart_num - th.data.sele_g.num,
  1081 + store_id: os.stoid
  1082 + }
  1083 + getApp().request.put("/api/weshop/cart/update", {
  1084 + data: updata,
  1085 + success: function (rs) {
  1086 + if (rs.data.code == 0) {
  1087 + title = '取消成功';
  1088 + th.setData({
  1089 + [txt1]: 0,
  1090 + [txt2]: false,
  1091 + [txt]: false,
  1092 + });
  1093 + wx.showToast({
  1094 + title: title,
  1095 + icon: 'success',
  1096 + });
  1097 + th.re_sum_price();
  1098 + }
  1099 + }
  1100 + })
995 1101  
996   - if (th.data.s_cart_num) {
997   - var updata = {
998   - id: th.data.sele_g.cart_id,
999   - goods_num: th.data.s_cart_num,
1000   - store_id: os.stoid
1001   - }
1002   - getApp().request.put("/api/weshop/cart/update", {
1003   - data: updata,
1004   - success: function (rs) {
1005   - if (rs.data.code == 0) {
1006   - var title = '取消成功';
1007   - th.setData({
1008   - [txt1]: 0,
1009   - [txt2]: false,
1010   - [txt]: false,
1011   - });
1012   - wx.showToast({
1013   - title: title,
1014   - icon: 'success',
1015   - });
1016   - th.re_sum_price();
1017   - }
1018   - }
1019   - })
1020   - } else {
1021   - var url = '/api/weshop/cart/del/' + os.stoid + '/' + item.cart_id;
1022   - getApp().request.delete(url, {
1023   - success: function (res) {
1024   - if (res.data.code == 0) {
1025   - var title = '移除购物车成功';
1026   - th.setData({
1027   - [txt1]: 0,
1028   - [txt2]: false,
1029   - [txt]: false,
1030   - });
1031   - wx.showToast({
1032   - title: title,
1033   - icon: 'success',
1034   - });
1035   - th.re_sum_price(); //重新统计数量和总金额
1036   - }
1037   - }
1038   - });
1039   - }
  1102 + } else {
  1103 + var url = '/api/weshop/cart/del/' + os.stoid + '/' + th.data.sele_g.cart_id;
  1104 + getApp().request.delete(url, {
  1105 + success: function (res) {
1040 1106  
1041   - } else if (res.cancel) {
1042   - console.log('用户点击取消')
1043   - self.setData({
1044   - haveAdded: true,
  1107 + if (res.data.code == 0) {
  1108 + title = '取消成功';
  1109 + th.setData({
  1110 + [txt1]: 0,
  1111 + [txt2]: false,
  1112 + [txt]: false,
  1113 + });
  1114 + wx.showToast({
  1115 + title: title,
  1116 + icon: 'success',
1045 1117 });
  1118 +
  1119 + th.re_sum_price();
  1120 + }
1046 1121 }
  1122 + });
1047 1123 }
1048   - })
1049   - return false;
1050 1124  
1051   - },
1052   -
1053   - /** 分享 **/
1054   - share() {
1055   - var th = this;
1056   - var userInfo = getApp().globalData.userInfo;
1057   - if (!userInfo) {
1058   - getApp().goto("/packageE/pages/togoin/togoin");
1059   - return false;
1060   - }
1061   - wx.showLoading();
1062   - setTimeout(function () {
1063   - th.setData({
1064   - showMask: true,
1065   - showPoster: true,
  1125 + } else if (res.cancel) {
  1126 + console.log('用户点击取消')
  1127 + self.setData({
  1128 + haveAdded: true,
1066 1129 });
1067   - wx.hideLoading();
1068   - }, 1000);
1069   - },
1070   -
1071   - /**
1072   - * 关闭海报
1073   - */
1074   - closePoster() {
1075   - this.setData({
1076   - showMask: false,
1077   - showPoster: false,
1078   - });
1079   - },
  1130 + }
  1131 + }
  1132 + })
  1133 + }
1080 1134  
1081   - onImgOK(e) {
1082   - console.log(e.detail.path);
1083   - this.setData({
1084   - myimg: e.detail.path,
1085   - });
  1135 + },
1086 1136  
1087   - },
1088   -
1089   - //---小于10的格式化函数----
1090   - timeFormat(param) {
1091   - return param < 10 ? '0' + param : param;
1092   - },
1093   -
1094   - //----倒计时函数-----
1095   - countDown() {
1096   - if (!this.data.is_timer) return false;
1097   - var th = this;
1098   - // 获取当前时间,同时得到活动结束时间数组
1099   - var endTime = this.data.act.end_time;
1100   - var newTime = ut.gettimestamp();
1101   - // 对结束时间进行处理渲染到页面
1102   - var obj = null;
1103   - // 如果活动未结束,对时间进行处理
1104   - if (endTime - newTime > 0) {
1105   - var time = (endTime - newTime);
1106   - // 获取天、时、分、秒
1107   - var day = parseInt(time / (60 * 60 * 24));
1108   - var hou = parseInt(time % (60 * 60 * 24) / 3600);
1109   - var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
1110   - var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
1111   - obj = {
1112   - hou: this.timeFormat(hou),
1113   - min: this.timeFormat(min),
1114   - sec: this.timeFormat(sec)
1115   - }
1116   - if (day > 0) {
1117   - obj.day = this.timeFormat(day);
1118   - }
1119   - } else {
1120   - //活动已结束,全部设置为'00'
1121   - obj = {
1122   - day: '00',
1123   - hou: '00',
1124   - min: '00',
1125   - sec: '00'
1126   - }
1127   - th.setData({
1128   - prom_time_text: '活动已经结束:',
1129   - prom_st: 3
1130   - })
1131   - th.setData({
1132   - djs: obj
1133   - });
1134   - return false;
  1137 + //在启用线下的时候,要判断一下是不是有库存
  1138 + async check_pk_store_conut(func, is_no_msg, gd, by_num) {
  1139 + var th = this;
  1140 + if (this.data.sales_rules < 2) {
  1141 + if (is_no_msg) return true;
  1142 + else {
  1143 + if (func) func();
  1144 + return false;
  1145 + }
  1146 + }
  1147 + //门店库存no
  1148 + var pkno = gd && gd.pickup_no ? gd.pickup_no : this.data.def_pick_store.pickup_no;
  1149 + var pickup_id = gd && gd.pick_id ? gd.pick_id : this.data.def_pick_store.pickup_id;
  1150 + var lock = [];
  1151 + var plist = null;
  1152 + var good = gd || th.data.sele_g;
  1153 + var buy_num = by_num || th.data.goodsInputNum;
  1154 +
  1155 + if (this.data.sales_map[good.goods_id]) {
  1156 +
  1157 + var mp = this.data.sales_map[good.goods_id];
  1158 + var lock_num = mp.lock_num;
  1159 + var CanOutQty = mp.CanOutQty;
  1160 + if (CanOutQty < lock_num + buy_num) {
  1161 +
  1162 + if (!is_no_msg) {
  1163 + wx.showToast({
  1164 + title: "门店库存不足",
  1165 + icon: 'none',
  1166 + duration: 2000
  1167 + })
  1168 + }
  1169 + return false;
  1170 + }
  1171 + if (is_no_msg) return true;
  1172 + func();
  1173 +
  1174 + } else {
  1175 + //先读取门店的lock,采用链式写法,少用await
  1176 + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
  1177 + data: { store_id: os.stoid, wareId: good.goods_id, pageSize: 1000 }
  1178 + }).then(res => {
  1179 + if (res.data.code == 0 && res.data.data.total > 0) {
  1180 + lock = res.data.data.pageData
1135 1181 }
1136 1182  
1137   - th.setData({
1138   - djs: obj
1139   - });
1140   - setTimeout(function () {
1141   - th.countDown()
1142   - }, 1000);
1143   - },
1144   -
1145   - close_all: function () {
1146   - this.setData({
1147   - showMask: false,
1148   - showPoster: false,
1149   - showRule: false
1150   - });
1151   - },
  1183 + })
1152 1184  
  1185 + var dw_rq = { storageNos: pkno, wareIds: encodeURIComponent(good.erpwareid), storeId: os.stoid, pageSize: 2000 };
  1186 + if (this.data.sales_rules == 3) {
  1187 + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid)
  1188 + delete dw_rq.storageNos
  1189 + }
1153 1190  
1154   - //------定时等待某个值,有值才进行运算--------
1155   - waitfor2: function (n, pop_value, func) {
1156   - var th = this;
1157   - if (n <= 0) {
1158   - func()
1159   - return false
1160   - }
1161   - if (th.data[pop_value]) {
1162   - func();
1163   - return false;
1164   - }
1165   - setTimeout(function () {
1166   - --n;
1167   - th.waitfor2(n, pop_value, func)
1168   - }, 1000);
1169   - },
1170   -
1171   - //--获取头像的本地缓存,回调写法--
1172   - get_head_temp: function (tt) {
1173   - var ee = this;
1174   - if (ee.data.share_head) {
1175   - tt();
1176   - return false;
1177   - }
1178   - //---获取分享图片的本地地址,头像和商品图片----
1179   - var path2 = getApp().globalData.userInfo.head_pic;
1180   - if (path2 == "") {
1181   - ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
1182   - tt();
1183   - } else {
1184   - path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
1185   - path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
1186   - wx.getImageInfo({
1187   - src: path2,
1188   - success: function (res) {
1189   - //res.path是网络图片的本地地址
1190   - console.log(res);
1191   - ee.data.share_head = res.path;
1192   - tt();
1193   - },
1194   - fail: function () {
1195   - ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
1196   - tt();
1197   - }
1198   - });
  1191 + //---通过接口获取门店的线下库存信息--
  1192 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
  1193 + data: dw_rq
  1194 + }).then(res => {
  1195 + if (ut.ajax_ok(res)) {
  1196 + plist = res.data.data.pageData[0];
1199 1197 }
1200   - },
1201   -
1202   - go_url: function (e) {
1203   - var url = e.currentTarget.dataset.url;
1204   - getApp().goto(url);
1205   - },
1206   -
1207   - //-- 加入购物的函数 --
1208   - add_cart_func: function () {
1209   - if (oo.user_id == null) {
1210   - this.data.changing = 0;
1211   - return getApp().my_warnning("还未登录!", 0, this);
1212   - }
1213   - if (!getApp().globalData.userInfo) {
1214   - this.data.changing = 0;
1215   - return getApp().my_warnning("还未登录!", 0, this);
  1198 + })
  1199 +
  1200 + if (!plist) {
  1201 + if (!is_no_msg) {
  1202 + wx.showToast({
  1203 + title: "该商品在门店未找到库存",
  1204 + icon: 'none',
  1205 + duration: 2000
  1206 + })
1216 1207 }
  1208 + return false;
  1209 + }
1217 1210  
1218   - var e = this,
1219   - th = e,
1220   - o = this.data.sele_g,
1221   - a = o.goods_id;
1222   -
1223   - //----------添加到购物车时,要判断限购数量,--------
1224   - e.get_buy_num(o, function (ee) {
1225   - //---判断商品是否超出限购---
1226   - if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
1227   - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
1228   - wx.showModal({
1229   - title: '提示',
1230   - content: '超出商品限购'
1231   - });
1232   - th.data.changing = 0;
1233   - return false;
1234   - }
1235   - if (th.data.s_cart_num) {
1236   - if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
1237   - wx.showModal({
1238   - title: '提示',
1239   - content: '超出商品限购'
1240   - });
1241   - th.data.changing = 0;
1242   - return false;
1243   - }
1244   - }
  1211 + var lock_num = th.find_lock_num(pickup_id, lock);
  1212 + this.data.sales_map[good.goods_id] = {
  1213 + CanOutQty: plist.CanOutQty,
  1214 + lock_num: lock_num
  1215 + }
1245 1216  
1246   - }
1247   - //---判断商品是否超出活动限购---
1248   - if (th.data.sele_g.buyqty > 0) {
1249   - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) {
1250   - wx.showModal({
1251   - title: '提示',
1252   - content: '超出商品活动限购'
1253   - });
1254   - th.data.changing = 0;
1255   - return false;
1256   - }
1257   - }
  1217 + if (plist.CanOutQty < lock_num + buy_num) {
  1218 + if (!is_no_msg) {
  1219 + wx.showToast({
  1220 + title: "该商品在门店未找到库存",
  1221 + icon: 'none',
  1222 + duration: 2000
  1223 + })
  1224 + }
  1225 + return false;
  1226 + }
  1227 + if (is_no_msg) return true;
  1228 + func();
  1229 + }
1258 1230  
1259   - if (th.data.goodsInputNum <= 0) {
1260   - this.data.changing = 0;
1261   - return s.my_warnning("商品数量不能为0", 0, th);
1262   - }
1263   - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
1264   - th.setData({
1265   - sto_sele_name: ""
1266   - });
1267   - if (th.data.sto_sele_name == "") {
1268   - th.data.changing = 0;
1269   - return s.my_warnning("请选择门店", 0, th);
1270   - }
  1231 + },
1271 1232  
1272   - //--------------此时操作的数据------------
1273   - var newd = {
1274   - goods_id: o.goods_id,
1275   - goods_num: th.data.goodsInputNum,
1276   - pick_id: th.data.sto_sele_id,
1277   - user_id: oo.user_id,
1278   - store_id: os.stoid,
1279   - goods_price: o.shop_price,
1280   - member_goods_price: o.shop_price,
1281   - goods_name: o.goods_name,
1282   - goods_sn: o.goods_sn,
1283   - };
  1233 + find_lock_num(pick_id, lock) {
  1234 + var lock_num = 0;
  1235 + if (!lock) return 0;
  1236 + if (lock.length < 0) return 0;
  1237 + for (var i in lock) {
  1238 + if (pick_id == lock[i].pickupId) {
  1239 + lock_num += lock[i].outQty;
  1240 + }
  1241 + }
  1242 + return lock_num;
  1243 + },
  1244 +
  1245 +
  1246 + /**
  1247 + * 增加数量
  1248 + */
  1249 + add(e) {
  1250 +
  1251 + if (this.data.userbuynum) {
  1252 + wx.showToast({
  1253 + title: '你已超出该活动购买次数!',
  1254 + icon: 'none',
  1255 + duration: 2000
  1256 + })
  1257 + return
  1258 + }
1284 1259  
1285   - if (th.data.s_cart_num) {
1286   - newd.goods_num = th.data.s_cart_num;
1287   - }
  1260 + var th = this;
  1261 + var userInfo = getApp().globalData.userInfo;
  1262 + if (!userInfo) {
  1263 + getApp().goto("/packageE/pages/togoin/togoin");
  1264 + return false;
  1265 + }
1288 1266  
1289   - //---是不是从收藏夹出来的---
1290   - if (th.data.c_guide_id) {
1291   - newd['guide_id'] = th.data.c_guide_id;
1292   - newd['guide_type'] = 2;
1293   - newd['guide_type'] = 3;
1294   - } else {
1295   - if (getApp().globalData.guide_id) {
1296   - newd['guide_id'] = getApp().globalData.guide_id;
1297   - newd['guide_type'] = 0;
1298   - newd['guide_type'] = 1;
1299   - }
1300   - }
  1267 + if (this.data.changing) return false;
  1268 + this.data.changing = 1;
1301 1269  
1302   - //让商品带上房间号
1303   - if (th.data.sys_switch.is_skuroom_id == 1) {
1304   - if (th.data.sele_g.goods_id == getApp().globalData.room_goods_id) {
1305   - newd.room_id = getApp().globalData.room_id;
1306   - }
1307   - } else {
1308   - if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
1309   - }
  1270 + var index = e.currentTarget.dataset.index;
  1271 + this.data.sele_g = th.data.list[index];
  1272 + this.data.sele_index = index;
  1273 + th.data.goodsInputNum = th.data.sele_g.num + 1;
1310 1274  
1311   - if (o.store_count <= 0) {
1312   - th.data.changing = 0;
1313   - return getApp().my_warnning("库存已为空!", 0, th);
1314   - }
1315   - if (o.store_count < e.data.goodsInputNum) {
1316   - th.data.changing = 0;
1317   - return getApp().my_warnning("库存不足!", 0, th);
1318   - }
1319   - th.add_cart_next(o, newd); //加入购物车下一步
  1275 + //必须是组合购买的超量
  1276 + var is_zhqty = 0;
  1277 + if (th.data.goodsInputNum < th.data.sele_g.zhqty) {
  1278 + th.data.goodsInputNum = th.data.sele_g.zhqty;
  1279 + is_zhqty = 1;
  1280 + }
  1281 +
  1282 + th.check_pk_store_conut(function () {
  1283 + if (th.data.sele_g.cart_num) {
  1284 + th.data.s_cart_num = th.data.sele_g.cart_num + 1;
  1285 + if (is_zhqty) th.data.s_cart_num = th.data.sele_g.zhqty;
  1286 + }
  1287 + th.add_cart_func();
  1288 + })
  1289 +
  1290 + },
  1291 +
  1292 + /**
  1293 + * 减少数量
  1294 + */
  1295 + sub(e) {
  1296 + var userInfo = getApp().globalData.userInfo;
  1297 + if (!userInfo) {
  1298 + getApp().goto("/packageE/pages/togoin/togoin");
  1299 + return false;
  1300 + }
1320 1301  
  1302 + var th = this;
  1303 + var index = e.currentTarget.dataset.index;
  1304 + var item = this.data.list[index];
  1305 + this.data.sele_g = item;
  1306 + let num = item.num;
  1307 + th.data.s_cart_num = item.cart_num - 1;
  1308 +
  1309 + if (num >= 2) {
  1310 + var check_num = num - 1;
  1311 + //小于起购数
  1312 + if (check_num < item.zhqty) {
  1313 + wx.showToast({
  1314 + title: "该商品至少要购买" + item.zhqty + "件",
  1315 + icon: 'none',
  1316 + duration: 2000
1321 1317 })
1322   - },
1323   -
1324   - //---加入购物车的最后一步---
1325   - add_cart_next(o, newd) {
1326   - var th = this;
1327   - //如果会员有等级价
1328   - if (th.data.card_field) {
1329   - var card_price = o[th.data.card_field];
1330   - if (card_price > 0) {
1331   - newd.goods_price = card_price;
1332   - newd.member_goods_price = card_price;
1333   - }
1334   - }
  1318 + return false;
  1319 + }
1335 1320  
1336   - var index = this.data.sele_index;
1337   - var txt = "list[" + index + "].haveAdded";
1338   - var txt1 = "list[" + index + "].num";
1339   - var txt2 = "list[" + index + "].showNum";
1340   - var txt3 = "list[" + index + "].current_price";
  1321 + if (th.data.changing) return false;
  1322 + th.data.changing = 1;
  1323 + th.data.sele_g = item;
  1324 + th.data.sele_index = index;
  1325 + th.data.goodsInputNum = check_num;
1341 1326  
  1327 + th.sub_updata_cart();
  1328 + return false;
  1329 + }
1342 1330  
1343   - newd.prom_type = 7;
1344   - newd.prom_id = th.data.act.id;
  1331 + var txt = "list[" + index + "].haveAdded";
  1332 + var txt1 = "list[" + index + "].num";
  1333 + var txt2 = "list[" + index + "].showNum";
1345 1334  
1346   - if (th.data.adding) return false;
1347   - th.data.adding = 1;
1348   - //-------如果购物车中有相关的数据---------
1349   - if (th.data.list[index].num > 0) {
1350   - var item = th.data.sele_g;
1351   - if (th.data.goodsInputNum > o.store_count) {
1352   - th.data.adding = 0;
1353   - return getApp().my_warnning("库存不足!", 0, th);
1354   - }
1355   - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty > 0) {
1356   - th.data.adding = 0;
1357   - return getApp().my_warnning("超出商品活动限购!", 0, th);
1358   - }
1359   - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited &&
1360   - th.data.sele_g.viplimited > 0
1361   - ) {
1362   - th.data.adding = 0;
1363   - return getApp().my_warnning("超出商品限购!", 0, th);
1364   - }
  1335 + wx.showModal({
  1336 + title: '温馨提示',
  1337 + content: '确定取消该商品参与活动?',
  1338 + success(res) {
  1339 + if (res.confirm) {
1365 1340  
1366   - //如果商品没有其他活动,要取一下线下价格
  1341 + if (th.data.s_cart_num) {
1367 1342 var updata = {
1368   - id: item.cart_id,
1369   - goods_num: th.data.goodsInputNum,
1370   - goods_price: newd.goods_price,
1371   - member_goods_price: newd.goods_price,
1372   - store_id: os.stoid,
1373   - state:0
1374   - };
1375   - if (th.data.s_cart_num) {
1376   - updata.goods_num = th.data.s_cart_num;
1377   - }
1378   - //---是不是从收藏夹出来的---
1379   - if (th.data.c_guide_id) {
1380   - updata['guide_id'] = th.data.c_guide_id;
1381   - updata['guide_type'] = 3; //加入购物车之后就变成了3
1382   - } else {
1383   - if (getApp().globalData.guide_id) {
1384   - updata['guide_id'] = getApp().globalData.guide_id;
1385   - updata['guide_type'] = 0;
1386   - }
  1343 + id: th.data.sele_g.cart_id,
  1344 + goods_num: th.data.s_cart_num,
  1345 + store_id: os.stoid
1387 1346 }
1388 1347 getApp().request.put("/api/weshop/cart/update", {
1389   - data: updata,
1390   - success: function (t) {
1391   - th.setData({
1392   - [txt1]: th.data.goodsInputNum,
1393   - [txt2]: true,
1394   - [txt]: true,
1395   - [txt3]: newd.goods_price,
1396   - });
1397   - th.data.adding = 0;
1398   - th.data.sele_store = 1;
1399   -
1400   - if (th.data.s_cart_num) {
1401   - var txt_temp = "list[" + index + "].cart_num";
1402   - th.setData({
1403   - [txt_temp]: th.data.s_cart_num
1404   - })
1405   - }
1406   -
1407   - th.re_sum_price(); //重新统计数量和总金额
  1348 + data: updata,
  1349 + success: function (rs) {
  1350 + if (rs.data.code == 0) {
  1351 + var title = '取消成功';
  1352 + th.setData({
  1353 + [txt1]: 0,
  1354 + [txt2]: false,
  1355 + [txt]: false,
  1356 + });
  1357 + wx.showToast({
  1358 + title: title,
  1359 + icon: 'success',
  1360 + });
  1361 + th.re_sum_price();
1408 1362 }
1409   - });
1410   - } else {
1411   -
1412   - getApp().request.post("/api/weshop/cart/save", {
1413   - data: newd,
1414   - success: function (t) {
1415   - if (t.data.code == 0) {
1416   - var txt4 = "list[" + th.data.sele_index + "].cart_id";
1417   - th.setData({
1418   - [txt1]: newd.goods_num,
1419   - [txt2]: true,
1420   - [txt3]: newd.goods_price,
1421   - [txt]: true,
1422   - [txt4]: t.data.data.id,
1423   - });
1424   -
1425   - th.data.adding = 0;
1426   - th.data.sele_store = 1;
1427   - th.re_sum_price(); //重新统计数量和总金额
1428   - }
  1363 + }
  1364 + })
  1365 + } else {
  1366 + var url = '/api/weshop/cart/del/' + os.stoid + '/' + item.cart_id;
  1367 + getApp().request.delete(url, {
  1368 + success: function (res) {
  1369 + if (res.data.code == 0) {
  1370 + var title = '移除购物车成功';
  1371 + th.setData({
  1372 + [txt1]: 0,
  1373 + [txt2]: false,
  1374 + [txt]: false,
  1375 + });
  1376 + wx.showToast({
  1377 + title: title,
  1378 + icon: 'success',
  1379 + });
  1380 + th.re_sum_price(); //重新统计数量和总金额
1429 1381 }
  1382 + }
1430 1383 });
1431   - }
1432   - },
1433   -
1434   - //等待获取配置
1435   - wait_for_store_config: function (bconfig) {
1436   - var th = this;
1437   - var e = bconfig;
1438   - if (e && e.is_sort_storage) {
1439   - wx.getLocation({
1440   - type: 'gcj02',
1441   - success: function (res) {
1442   - th.data.lat = res.latitude;
1443   - th.data.lon = res.longitude;
1444   - th.data.is_get_local_ok = 1;
1445   - },
1446   - fail: function (res) {
1447   - if (res.errCode == 2) {
1448   - th.setData({
1449   - is_gps: 0
1450   - });
1451   - if (th.data.is_gps == 0) {
1452   - getApp().confirmBox("请开启GPS定位", null, 10000, !1);
1453   - }
  1384 + }
1454 1385  
1455   - } else {
1456   - th.setData({
1457   - is_gps: "3"
1458   - });
1459   - }
  1386 + } else if (res.cancel) {
  1387 + console.log('用户点击取消')
  1388 + self.setData({
  1389 + haveAdded: true,
  1390 + });
  1391 + }
  1392 + }
  1393 + })
  1394 + return false;
  1395 +
  1396 + },
  1397 +
  1398 + /** 分享 **/
  1399 + share() {
  1400 + var th = this;
  1401 + var userInfo = getApp().globalData.userInfo;
  1402 + if (!userInfo) {
  1403 + getApp().goto("/packageE/pages/togoin/togoin");
  1404 + return false;
  1405 + }
  1406 + wx.showLoading();
  1407 + setTimeout(function () {
  1408 + th.setData({
  1409 + showMask: true,
  1410 + showPoster: true,
  1411 + });
  1412 + wx.hideLoading();
  1413 + }, 1000);
  1414 + },
  1415 +
  1416 + /**
  1417 + * 关闭海报
  1418 + */
  1419 + closePoster() {
  1420 + this.setData({
  1421 + showMask: false,
  1422 + showPoster: false,
  1423 + });
  1424 + },
  1425 +
  1426 + onImgOK(e) {
  1427 + console.log(e.detail.path);
  1428 + this.setData({
  1429 + myimg: e.detail.path,
  1430 + });
  1431 +
  1432 + },
  1433 +
  1434 + //---小于10的格式化函数----
  1435 + timeFormat(param) {
  1436 + return param < 10 ? '0' + param : param;
  1437 + },
  1438 +
  1439 + //----倒计时函数-----
  1440 + countDown() {
  1441 + if (!this.data.is_timer) return false;
  1442 + var th = this;
  1443 + // 获取当前时间,同时得到活动结束时间数组
  1444 + var endTime = this.data.act.end_time;
  1445 + var newTime = ut.gettimestamp();
  1446 + // 对结束时间进行处理渲染到页面
  1447 + var obj = null;
  1448 + // 如果活动未结束,对时间进行处理
  1449 + if (endTime - newTime > 0) {
  1450 + var time = (endTime - newTime);
  1451 + // 获取天、时、分、秒
  1452 + var day = parseInt(time / (60 * 60 * 24));
  1453 + var hou = parseInt(time % (60 * 60 * 24) / 3600);
  1454 + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  1455 + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  1456 + obj = {
  1457 + hou: this.timeFormat(hou),
  1458 + min: this.timeFormat(min),
  1459 + sec: this.timeFormat(sec)
  1460 + }
  1461 + if (day > 0) {
  1462 + obj.day = this.timeFormat(day);
  1463 + }
  1464 + } else {
  1465 + //活动已结束,全部设置为'00'
  1466 + obj = {
  1467 + day: '00',
  1468 + hou: '00',
  1469 + min: '00',
  1470 + sec: '00'
  1471 + }
  1472 + th.setData({
  1473 + prom_time_text: '活动已经结束:',
  1474 + prom_st: 3
  1475 + })
  1476 + th.setData({
  1477 + djs: obj
  1478 + });
  1479 + return false;
  1480 + }
1460 1481  
1461   - th.data.is_get_local_ok = 1;
1462   - }
1463   - })
1464   - } else {
1465   - th.data.is_get_local_ok = 1;
  1482 + th.setData({
  1483 + djs: obj
  1484 + });
  1485 + setTimeout(function () {
  1486 + th.countDown()
  1487 + }, 1000);
  1488 + },
  1489 +
  1490 + close_all: function () {
  1491 + this.setData({
  1492 + showMask: false,
  1493 + showPoster: false,
  1494 + showRule: false
  1495 + });
  1496 + },
  1497 +
  1498 +
  1499 + //------定时等待某个值,有值才进行运算--------
  1500 + waitfor2: function (n, pop_value, func) {
  1501 + var th = this;
  1502 + if (n <= 0) {
  1503 + func()
  1504 + return false
  1505 + }
  1506 + if (th.data[pop_value]) {
  1507 + func();
  1508 + return false;
  1509 + }
  1510 + setTimeout(function () {
  1511 + --n;
  1512 + th.waitfor2(n, pop_value, func)
  1513 + }, 1000);
  1514 + },
  1515 +
  1516 + //--获取头像的本地缓存,回调写法--
  1517 + get_head_temp: function (tt) {
  1518 + var ee = this;
  1519 + if (ee.data.share_head) {
  1520 + tt();
  1521 + return false;
  1522 + }
  1523 + //---获取分享图片的本地地址,头像和商品图片----
  1524 + var path2 = getApp().globalData.userInfo.head_pic;
  1525 + if (path2 == "") {
  1526 + ee.data.share_head = "../../../../images/share/hui_hear_pic.png";
  1527 + tt();
  1528 + } else {
  1529 + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
  1530 + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
  1531 + wx.getImageInfo({
  1532 + src: path2,
  1533 + success: function (res) {
  1534 + //res.path是网络图片的本地地址
  1535 + console.log(res);
  1536 + ee.data.share_head = res.path;
  1537 + tt();
  1538 + },
  1539 + fail: function () {
  1540 + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
  1541 + tt();
1466 1542 }
1467   - },
1468   -
1469   - //--- 获取卡类列表 ---
1470   - getPlusCardType: function (func) {
1471   - var storid = os.stoid;
1472   - var user = getApp().globalData.userInfo;
1473   - if (!user) return false;
1474   - getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
1475   - var plusCard = res.data.data;
1476   - var arr = [1219, 2089, 3031];
1477   - var new_arr = new Array();
1478   - var card_name_map = new Map();
1479   -
1480   - var list = [];
1481   - for (var i = 0; i < plusCard.length; i++) {
1482   - if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue;
1483   - var name = "card" + plusCard[i].CorrPrice.toLowerCase();
1484   - card_name_map.set(name, plusCard[i].CardName);
1485   - list.push(plusCard[i]);
1486   - }
  1543 + });
  1544 + }
  1545 + },
  1546 +
  1547 + go_url: function (e) {
  1548 + var url = e.currentTarget.dataset.url;
  1549 + getApp().goto(url);
  1550 + },
  1551 +
  1552 + //-- 加入购物的函数 --
  1553 + add_cart_func: function () {
  1554 + if (oo.user_id == null) {
  1555 + this.data.changing = 0;
  1556 + return getApp().my_warnning("还未登录!", 0, this);
  1557 + }
  1558 + if (!getApp().globalData.userInfo) {
  1559 + this.data.changing = 0;
  1560 + return getApp().my_warnning("还未登录!", 0, this);
  1561 + }
1487 1562  
1488   - var ob = {
1489   - "card_list": list,
1490   - "name_map": card_name_map
1491   - };
1492   - func(ob);
1493   - })
1494   - },
1495   -
1496   -
1497   - //--- 设置一下默认库存的数量 ----
1498   - set_def_storage(ee) {
1499   - var that = this;
1500   - that.data.fir_def_store = ee;
1501   - that.setData({
1502   - def_pick_store: ee,
1503   - sto_sele_name: ee.pickup_name,
1504   - sto_sele_id: ee.pickup_id,
1505   - sto_sele_distr: ee.distr_type
1506   - })
1507   - },
1508   -
1509   - //---------拿出门店分类和门店------------
1510   - get_sto(e) {
1511   - var th = this;
1512   - this.waitfor2(15, 'is_get_local_ok', function () {
1513   - //if (!th.data.sele_g) return false;
1514   - var dd = null;
1515   - var g_distr_type = 0;
1516   - if (th.data.sele_g) g_distr_type = th.data.sele_g.distr_type;
1517   - if (g_distr_type != 0) {
1518   - dd = {
1519   - store_id: os.stoid,
1520   - distr_type: g_distr_type,
1521   - isstop: 0,
1522   - is_pos: 1,
1523   - pageSize: 2000
1524   - }
1525   - } else {
1526   - dd = {
1527   - store_id: os.stoid,
1528   - isstop: 0,
1529   - is_pos: 1,
1530   - pageSize: 2000
1531   - }
1532   - }
  1563 + var e = this,
  1564 + th = e,
  1565 + o = this.data.sele_g,
  1566 + a = o.goods_id;
  1567 +
  1568 + //----------添加到购物车时,要判断限购数量,--------
  1569 + e.get_buy_num(o, function (ee) {
  1570 + //---判断商品是否超出限购---
  1571 + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) {
  1572 + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
  1573 + wx.showModal({
  1574 + title: '提示',
  1575 + content: '超出商品限购'
  1576 + });
  1577 + th.data.changing = 0;
  1578 + return false;
  1579 + }
  1580 + if (th.data.s_cart_num) {
  1581 + if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) {
  1582 + wx.showModal({
  1583 + title: '提示',
  1584 + content: '超出商品限购'
  1585 + });
  1586 + th.data.changing = 0;
  1587 + return false;
  1588 + }
  1589 + }
1533 1590  
1534   - //如果有距离的话
1535   - if (th.data.lat != null) {
1536   - dd.lat = th.data.lat;
1537   - dd.lon = th.data.lon;
1538   - }
  1591 + }
  1592 + //---判断商品是否超出活动限购---
  1593 + if (th.data.sele_g.buyqty > 0) {
  1594 + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) {
  1595 + wx.showModal({
  1596 + title: '提示',
  1597 + content: '超出商品活动限购'
  1598 + });
  1599 + th.data.changing = 0;
  1600 + return false;
  1601 + }
  1602 + }
1539 1603  
1540   - //如果会员是有默认的门店话
1541   - if (!th.data.def_pick_store && th.data.fir_def_store) {
1542   - th.setData({
1543   - def_pick_store: th.data.fir_def_store
1544   - });
1545   - }
  1604 + if (th.data.goodsInputNum <= 0) {
  1605 + this.data.changing = 0;
  1606 + return s.my_warnning("商品数量不能为0", 0, th);
  1607 + }
  1608 + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined)
  1609 + th.setData({
  1610 + sto_sele_name: ""
  1611 + });
  1612 + if (th.data.sto_sele_name == "") {
  1613 + th.data.changing = 0;
  1614 + return s.my_warnning("请选择门店", 0, th);
  1615 + }
  1616 +
  1617 + //--------------此时操作的数据------------
  1618 + var newd = {
  1619 + goods_id: o.goods_id,
  1620 + goods_num: th.data.goodsInputNum,
  1621 + pick_id: th.data.sto_sele_id,
  1622 + user_id: oo.user_id,
  1623 + store_id: os.stoid,
  1624 + goods_price: o.shop_price,
  1625 + member_goods_price: o.shop_price,
  1626 + goods_name: o.goods_name,
  1627 + goods_sn: o.goods_sn,
  1628 + };
  1629 +
  1630 + if (th.data.s_cart_num) {
  1631 + newd.goods_num = th.data.s_cart_num;
  1632 + }
  1633 +
  1634 + //---是不是从收藏夹出来的---
  1635 + if (th.data.c_guide_id) {
  1636 + newd['guide_id'] = th.data.c_guide_id;
  1637 + newd['guide_type'] = 2;
  1638 + newd['guide_type'] = 3;
  1639 + } else {
  1640 + if (getApp().globalData.guide_id) {
  1641 + newd['guide_id'] = getApp().globalData.guide_id;
  1642 + newd['guide_type'] = 0;
  1643 + newd['guide_type'] = 1;
  1644 + }
  1645 + }
1546 1646  
1547   - wx.showLoading({
1548   - title: '加载中.'
1549   - });
1550   - //----------获取门店----------------
1551   - getApp().request.promiseGet("/api/weshop/pickup/list", {
1552   - data: dd,
1553   - }).then(res => {
1554   - var e = res;
1555   - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
1556   -
1557   - var his_cate_num = 0;
1558   - for (let i in e.data.data.pageData) {
1559   - let item = e.data.data.pageData[i];
1560   - if (item.category_id > 0) {
1561   - his_cate_num = 1;
1562   - break;
1563   - }
1564   - }
1565   - e.his_cate_num = his_cate_num;
1566   -
1567   - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
1568   - if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
1569   - th.setData({
1570   - def_pick_store: e.data.data.pageData[0],
1571   - sto_sele_name: e.data.data.pageData[0].pickup_name,
1572   - sto_sele_id: e.data.data.pageData[0].pickup_id,
1573   - sto_sele_distr: e.data.data.pageData[0].distr_type
1574   - });
1575   - th.data.fir_def_store = e.data.data.pageData[0];
1576   - }
  1647 + //让商品带上房间号
  1648 + if (th.data.sys_switch.is_skuroom_id == 1) {
  1649 + if (th.data.sele_g.goods_id == getApp().globalData.room_goods_id) {
  1650 + newd.room_id = getApp().globalData.room_id;
  1651 + }
  1652 + } else {
  1653 + if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id;
  1654 + }
  1655 +
  1656 + if (o.store_count <= 0) {
  1657 + th.data.changing = 0;
  1658 + return getApp().my_warnning("库存已为空!", 0, th);
  1659 + }
  1660 + if (o.store_count < e.data.goodsInputNum) {
  1661 + th.data.changing = 0;
  1662 + return getApp().my_warnning("库存不足!", 0, th);
  1663 + }
  1664 + th.add_cart_next(o, newd); //加入购物车下一步
  1665 +
  1666 + })
  1667 + },
  1668 +
  1669 + //---加入购物车的最后一步---
  1670 + add_cart_next(o, newd) {
  1671 + var th = this;
  1672 + //如果会员有等级价
  1673 + if (th.data.card_field) {
  1674 + var card_price = o[th.data.card_field];
  1675 + if (card_price > 0) {
  1676 + newd.goods_price = card_price;
  1677 + newd.member_goods_price = card_price;
  1678 + }
  1679 + }
1577 1680  
1578   - //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
1579   - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
1580   - for (var k = 0; k < e.data.data.pageData.length; k++) {
1581   - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
1582   - e.data.data.pageData.splice(k, 1); //删除
1583   - break;
1584   - }
1585   - }
1586   - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
1587   - }
  1681 + var index = this.data.sele_index;
  1682 + var txt = "list[" + index + "].haveAdded";
  1683 + var txt1 = "list[" + index + "].num";
  1684 + var txt2 = "list[" + index + "].showNum";
  1685 + var txt3 = "list[" + index + "].current_price";
  1686 +
  1687 +
  1688 + newd.prom_type = 7;
  1689 + newd.prom_id = th.data.act.id;
  1690 +
  1691 + if (th.data.adding) return false;
  1692 + th.data.adding = 1;
  1693 + //-------如果购物车中有相关的数据---------
  1694 + if (th.data.list[index].num > 0) {
  1695 + var item = th.data.sele_g;
  1696 + if (th.data.goodsInputNum > o.store_count) {
  1697 + th.data.adding = 0;
  1698 + return getApp().my_warnning("库存不足!", 0, th);
  1699 + }
  1700 + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty > 0) {
  1701 + th.data.adding = 0;
  1702 + return getApp().my_warnning("超出商品活动限购!", 0, th);
  1703 + }
  1704 + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited &&
  1705 + th.data.sele_g.viplimited > 0
  1706 + ) {
  1707 + th.data.adding = 0;
  1708 + return getApp().my_warnning("超出商品限购!", 0, th);
  1709 + }
  1710 +
  1711 + //如果商品没有其他活动,要取一下线下价格
  1712 + var updata = {
  1713 + id: item.cart_id,
  1714 + goods_num: th.data.goodsInputNum,
  1715 + goods_price: newd.goods_price,
  1716 + member_goods_price: newd.goods_price,
  1717 + store_id: os.stoid,
  1718 + state: 0
  1719 + };
  1720 + if (th.data.s_cart_num) {
  1721 + updata.goods_num = th.data.s_cart_num;
  1722 + }
  1723 + //---是不是从收藏夹出来的---
  1724 + if (th.data.c_guide_id) {
  1725 + updata['guide_id'] = th.data.c_guide_id;
  1726 + updata['guide_type'] = 3; //加入购物车之后就变成了3
  1727 + } else {
  1728 + if (getApp().globalData.guide_id) {
  1729 + updata['guide_id'] = getApp().globalData.guide_id;
  1730 + updata['guide_type'] = 0;
  1731 + }
  1732 + }
  1733 + getApp().request.put("/api/weshop/cart/update", {
  1734 + data: updata,
  1735 + success: function (t) {
  1736 + th.setData({
  1737 + [txt1]: th.data.goodsInputNum,
  1738 + [txt2]: true,
  1739 + [txt]: true,
  1740 + [txt3]: newd.goods_price,
  1741 + });
  1742 + th.data.adding = 0;
  1743 + th.data.sele_store = 1;
1588 1744  
1589   - th.setData({
1590   - all_pick_list: e.data.data.pageData
1591   - });
1592   - th.deal_pickup(e);
1593   - }
  1745 + if (th.data.s_cart_num) {
  1746 + var txt_temp = "list[" + index + "].cart_num";
  1747 + th.setData({
  1748 + [txt_temp]: th.data.s_cart_num
1594 1749 })
1595   - })
1596   - },
1597   - //------------处理门店---------------
1598   - deal_pickup(e) {
1599   - var th = this;
1600   - wx.hideLoading();
1601   - //单总量超出5个的时候
1602   - if (e.data.data.total > 10 && e.his_cate_num) {
1603   - getApp().request.get("/api/weshop/storagecategory/page", {
1604   - data: {
1605   - store_id: os.stoid,
1606   - pageSize: 1000,
1607   - orderField: "sort",
1608   - orderType: 'asc',
1609   - },
1610   - success: function (ee) {
1611   - if (ee.data.code == 0) {
1612   -
1613   - var check_all_cate = 0;
1614   - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
1615   - for (let i in ee.data.data.pageData) {
1616   - let item = ee.data.data.pageData[i];
1617   - if (item.is_show == 1) {
1618   - check_all_cate = 1;
1619   - break
1620   - }
1621   - }
1622   - }
  1750 + }
1623 1751  
1624   - if (check_all_cate) {
1625   -
1626   - var sto_cate = ee.data.data.pageData;
1627   - var sto_arr = e.data.data.pageData;
1628   - var newarr = new Array();
1629   - var qita = new Array();
1630   -
1631   - var is_del_pk = 0;
1632   - //----要进行门店分组--------
1633   - for (var i = 0; i < sto_arr.length; i++) {
1634   - //找一下这个门店有没有在分类数组内
1635   - var find2 = 0,
1636   - find2name = "",
1637   - sort = 0;
1638   - is_del_pk = 0;
1639   - for (var m = 0; m < sto_cate.length; m++) {
1640   - if (sto_arr[i].category_id == sto_cate[m].cat_id) {
1641   - if (sto_cate[m].is_show != 1) {
1642   - is_del_pk = 1;
1643   - sto_arr.splice(i, 1);
1644   - i--;
1645   - } else {
1646   - find2 = sto_cate[m].cat_id;
1647   - find2name = sto_cate[m].cat_name;
1648   - sort = sto_cate[m].sort;
1649   - is_del_pk = 0;
1650   - }
1651   - break;
1652   - }
1653   - }
1654   - if (is_del_pk) continue;
1655   -
1656   - if (newarr.length > 0) {
1657   - var find = 0;
1658   - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
1659   - if (find2 != 0) {
1660   - for (var ii = 0; ii < newarr.length; ii++) {
1661   - if (sto_arr[i].category_id == newarr[ii].cat_id) {
1662   - newarr[ii].s_arr.push(sto_arr[i]);
1663   - find = 1;
1664   - break;
1665   - }
1666   - }
1667   - if (find == 0) {
1668   - var arr0 = new Array();
1669   - arr0.push(sto_arr[i]);
1670   - var item = {
1671   - cat_id: find2,
1672   - name: find2name,
1673   - sort: sort,
1674   - s_arr: arr0
1675   - };
1676   - newarr.push(item);
1677   - }
1678   - } else {
1679   - qita.push(sto_arr[i]);
1680   - }
1681   - } else {
1682   - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
1683   - if (find2 != 0) {
1684   - var arr0 = new Array();
1685   - arr0.push(sto_arr[i]);
1686   - var item = {
1687   - cat_id: find2,
1688   - name: find2name,
1689   - sort: sort,
1690   - s_arr: arr0
1691   - };
1692   - newarr.push(item);
1693   - } else {
1694   - qita.push(sto_arr[i]);
1695   - }
1696   - }
1697   - }
1698   -
1699   - var def_arr = new Array();
1700   - //-- 开始就看10个门店 --
1701   - for (var k = 0; k < 10; k++) {
1702   - if (k == sto_arr.length) break;
1703   - def_arr.push(sto_arr[k]);
1704   - }
1705   -
1706   - th.setData({
1707   - def_pickpu_list: def_arr,
1708   - pickpu_list: ee.data.data.pageData
1709   - });
1710   -
1711   - //门店分类要排序下
1712   - function compare(property) {
1713   - return function (a, b) {
1714   - var value1 = a[property];
1715   - var value2 = b[property];
1716   - return value1 - value2;
1717   - }
1718   - }
1719   -
1720   - if (newarr.length > 0)
1721   - newarr.sort(compare("sort"));
1722   - //----安排其他的分类-----
1723   - if (qita.length > 0) {
1724   - var item = {
1725   - cat_id: -1,
1726   - name: "其他",
1727   - s_arr: qita
1728   - };
1729   - newarr.push(item);
1730   - }
1731   -
1732   -
1733   - var sd = {
1734   - all_sto: newarr,
1735   - is_show_sto_cat: 1
1736   - }
1737   - if (!sto_arr || sto_arr.length <= 10) {
1738   - sd.is_show_sto_cat = -1;
1739   - sd.only_pk = sto_arr;
1740   - }
1741   - th.setData(sd);
1742   -
1743   - } else {
1744   - th.setData({
1745   - is_show_sto_cat: -1,
1746   - only_pk: e.data.data.pageData
1747   - });
1748   - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
1749   - if (!th.data.def_pick_store) {
1750   - th.setData({
1751   - def_pick_store: e.data.data.pageData[0]
1752   - })
1753   - }
1754   - }
1755   - } else {
1756   - th.setData({
1757   - is_show_sto_cat: -1,
1758   - only_pk: e.data.data.pageData
1759   - });
1760   - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
1761   - if (!th.data.def_pick_store) {
1762   - th.setData({
1763   - def_pick_store: e.data.data.pageData[0]
1764   - })
1765   - }
1766   - }
1767   - }
1768   - });
1769   - } else {
  1752 + th.re_sum_price(); //重新统计数量和总金额
  1753 + }
  1754 + });
  1755 + } else {
  1756 +
  1757 + getApp().request.post("/api/weshop/cart/save", {
  1758 + data: newd,
  1759 + success: function (t) {
  1760 + if (t.data.code == 0) {
  1761 + var txt4 = "list[" + th.data.sele_index + "].cart_id";
1770 1762 th.setData({
1771   - is_show_sto_cat: 0,
1772   - only_pk: e.data.data.pageData
  1763 + [txt1]: newd.goods_num,
  1764 + [txt2]: true,
  1765 + [txt3]: newd.goods_price,
  1766 + [txt]: true,
  1767 + [txt4]: t.data.data.id,
1773 1768 });
1774   - //-----如果没有默认门店,要取第一个门店作为默认店------
1775   - if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
1776   - if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
1777   - th.setData({
1778   - def_pick_store: e.data.data.pageData[0],
1779   - sto_sele_name: e.data.data.pageData[0].pickup_name,
1780   - sto_sele_id: e.data.data.pageData[0].pickup_id,
1781   - sto_sele_distr: e.data.data.pageData[0].distr_type
1782   - })
1783   - }
1784   - }
1785   - }
1786   - },
1787   -
1788   - //---选择分类门店---
1789   - choice_sort_store: function (e) {
1790   - var index = e.currentTarget.dataset.index;
1791   - var region_name = e.currentTarget.dataset.region;
1792   - var item = this.data.all_sto[index];
1793   - this.setData({
1794   - region_name: region_name,
1795   - sort_store: 0,
1796   - choice_sort_store: 1,
1797   - sec_sto: item,
1798   - sec_pick_index: 0
1799   - });
1800   - },
1801 1769  
1802   - choose_for_store_fir: function (e) {
1803   - var index_c = e.currentTarget.dataset.ind;
1804   - var th = this;
1805   - th.setData({
1806   - fir_pick_index: index_c
1807   - })
1808   - },
1809   -
1810   - //确定def_pick为选择的门店
1811   - sure_pick: function (e) {
1812   - var th = this;
1813   - var item = null;
1814   - var openindstore = th.data.open_ind_store;
1815   -
1816   - if (th.data.choice_sort_store == 0) {
1817   - var index = th.data.fir_pick_index;
1818   - if (th.data.is_show_sto_cat == 1) {
1819   - item = th.data.def_pickpu_list[index];
1820   - } else {
1821   - item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
1822   - }
1823   - } else {
1824   - var index = th.data.sec_pick_index;
1825   - item = th.data.sec_sto.s_arr[index];
  1770 + th.data.adding = 0;
  1771 + th.data.sele_store = 1;
  1772 + th.re_sum_price(); //重新统计数量和总金额
  1773 + }
1826 1774 }
  1775 + });
  1776 + }
  1777 + },
  1778 +
  1779 + //等待获取配置
  1780 + wait_for_store_config: function (bconfig) {
  1781 + var th = this;
  1782 + var e = bconfig;
  1783 + if (e && e.is_sort_storage) {
  1784 + wx.getLocation({
  1785 + type: 'gcj02',
  1786 + success: function (res) {
  1787 + th.data.lat = res.latitude;
  1788 + th.data.lon = res.longitude;
  1789 + th.data.is_get_local_ok = 1;
  1790 + },
  1791 + fail: function (res) {
  1792 + if (res.errCode == 2) {
  1793 + th.setData({
  1794 + is_gps: 0
  1795 + });
  1796 + if (th.data.is_gps == 0) {
  1797 + getApp().confirmBox("请开启GPS定位", null, 10000, !1);
  1798 + }
1827 1799  
1828   - if(!item) return false;
1829   -
1830   - //判断门店的配送方式是不是匹配
1831   - var g_distr_type = 0;
1832   - if (th.data.sele_g)
1833   - g_distr_type = th.data.sele_g.distr_type;
1834   - if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
1835   - wx.showToast({
1836   - title: "门店配送方式不匹配",
1837   - icon: 'none',
1838   - duration: 2000
  1800 + } else {
  1801 + th.setData({
  1802 + is_gps: "3"
1839 1803 });
1840   - return false;
  1804 + }
  1805 +
  1806 + th.data.is_get_local_ok = 1;
  1807 + }
  1808 + })
  1809 + } else {
  1810 + th.data.is_get_local_ok = 1;
  1811 + }
  1812 + },
  1813 +
  1814 + //--- 获取卡类列表 ---
  1815 + getPlusCardType: function (func) {
  1816 + var storid = os.stoid;
  1817 + var user = getApp().globalData.userInfo;
  1818 + if (!user) return false;
  1819 + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
  1820 + var plusCard = res.data.data;
  1821 + var arr = [1219, 2089, 3031];
  1822 + var new_arr = new Array();
  1823 + var card_name_map = new Map();
  1824 +
  1825 + var list = [];
  1826 + for (var i = 0; i < plusCard.length; i++) {
  1827 + if ((!user || user.card_field == null || user.card_field == "") && plusCard[i].IsStopBuy == true) continue;
  1828 + var name = "card" + plusCard[i].CorrPrice.toLowerCase();
  1829 + card_name_map.set(name, plusCard[i].CardName);
  1830 + list.push(plusCard[i]);
  1831 + }
  1832 +
  1833 + var ob = {
  1834 + "card_list": list,
  1835 + "name_map": card_name_map
  1836 + };
  1837 + func(ob);
  1838 + })
  1839 + },
  1840 +
  1841 +
  1842 + //--- 设置一下默认库存的数量 ----
  1843 + set_def_storage(ee) {
  1844 + var that = this;
  1845 + that.data.fir_def_store = ee;
  1846 + that.setData({
  1847 + def_pick_store: ee,
  1848 + sto_sele_name: ee.pickup_name,
  1849 + sto_sele_id: ee.pickup_id,
  1850 + sto_sele_distr: ee.distr_type
  1851 + })
  1852 + },
  1853 +
  1854 + //---------拿出门店分类和门店------------
  1855 + get_sto(e) {
  1856 + var th = this;
  1857 + this.waitfor2(15, 'is_get_local_ok', function () {
  1858 + //if (!th.data.sele_g) return false;
  1859 + var dd = null;
  1860 + var g_distr_type = 0;
  1861 + if (th.data.sele_g) g_distr_type = th.data.sele_g.distr_type;
  1862 + if (g_distr_type != 0) {
  1863 + dd = {
  1864 + store_id: os.stoid,
  1865 + distr_type: g_distr_type,
  1866 + isstop: 0,
  1867 + is_pos: 1,
  1868 + pageSize: 2000
  1869 + }
  1870 + } else {
  1871 + dd = {
  1872 + store_id: os.stoid,
  1873 + isstop: 0,
  1874 + is_pos: 1,
  1875 + pageSize: 2000
1841 1876 }
  1877 + }
1842 1878  
  1879 + //如果有距离的话
  1880 + if (th.data.lat != null) {
  1881 + dd.lat = th.data.lat;
  1882 + dd.lon = th.data.lon;
  1883 + }
  1884 +
  1885 + //如果会员是有默认的门店话
  1886 + if (!th.data.def_pick_store && th.data.fir_def_store) {
1843 1887 th.setData({
1844   - def_pick_store: item,
1845   - sto_sele_name: item.pickup_name,
1846   - sto_sele_id: item.pickup_id,
1847   - sto_sele_distr: item.distr_type,
1848   - store: 0,
1849   - choice_sort_store: 0,
1850   - fir_pick_index: 0,
1851   - sort_store: 0
  1888 + def_pick_store: th.data.fir_def_store
1852 1889 });
  1890 + }
1853 1891  
1854   - //只是单纯的选择门店
1855   - if (this.data.only) {
1856   - this.data.only = 0;
1857   - this.data.sales_map={};
  1892 + wx.showLoading({
  1893 + title: '加载中.'
  1894 + });
  1895 + //----------获取门店----------------
  1896 + getApp().request.promiseGet("/api/weshop/pickup/list", {
  1897 + data: dd,
  1898 + }).then(res => {
  1899 + var e = res;
  1900 + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
  1901 +
  1902 + var his_cate_num = 0;
  1903 + for (let i in e.data.data.pageData) {
  1904 + let item = e.data.data.pageData[i];
  1905 + if (item.category_id > 0) {
  1906 + his_cate_num = 1;
  1907 + break;
  1908 + }
  1909 + }
  1910 + e.his_cate_num = his_cate_num;
1858 1911  
1859   - return false;
  1912 + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店
  1913 + if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  1914 + th.setData({
  1915 + def_pick_store: e.data.data.pageData[0],
  1916 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  1917 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  1918 + sto_sele_distr: e.data.data.pageData[0].distr_type
  1919 + });
  1920 + th.data.fir_def_store = e.data.data.pageData[0];
  1921 + }
  1922 +
  1923 + //-- 如果有默认选择门店的时候,要把默认门店放在第一位,修改不要配送方式的判断 --
  1924 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}') {
  1925 + for (var k = 0; k < e.data.data.pageData.length; k++) {
  1926 + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
  1927 + e.data.data.pageData.splice(k, 1); //删除
  1928 + break;
  1929 + }
  1930 + }
  1931 + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
  1932 + }
  1933 +
  1934 + th.setData({
  1935 + all_pick_list: e.data.data.pageData
  1936 + });
  1937 + th.deal_pickup(e);
1860 1938 }
  1939 + })
  1940 + })
  1941 + },
  1942 + //------------处理门店---------------
  1943 + deal_pickup(e) {
  1944 + var th = this;
  1945 + wx.hideLoading();
  1946 + //单总量超出5个的时候
  1947 + if (e.data.data.total > 10 && e.his_cate_num) {
  1948 + getApp().request.get("/api/weshop/storagecategory/page", {
  1949 + data: {
  1950 + store_id: os.stoid,
  1951 + pageSize: 1000,
  1952 + orderField: "sort",
  1953 + orderType: 'asc',
  1954 + },
  1955 + success: function (ee) {
  1956 + if (ee.data.code == 0) {
  1957 +
  1958 + var check_all_cate = 0;
  1959 + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) {
  1960 + for (let i in ee.data.data.pageData) {
  1961 + let item = ee.data.data.pageData[i];
  1962 + if (item.is_show == 1) {
  1963 + check_all_cate = 1;
  1964 + break
  1965 + }
  1966 + }
  1967 + }
1861 1968  
1862   - //-- 判断一下库存 --
1863   - th.check_pk_store_conut(function(){
1864   - th.check_is_in_cart(function () {
1865   - th.add_cart_func();
1866   - })
1867   - })
  1969 + if (check_all_cate) {
  1970 +
  1971 + var sto_cate = ee.data.data.pageData;
  1972 + var sto_arr = e.data.data.pageData;
  1973 + var newarr = new Array();
  1974 + var qita = new Array();
  1975 +
  1976 + var is_del_pk = 0;
  1977 + //----要进行门店分组--------
  1978 + for (var i = 0; i < sto_arr.length; i++) {
  1979 + //找一下这个门店有没有在分类数组内
  1980 + var find2 = 0,
  1981 + find2name = "",
  1982 + sort = 0;
  1983 + is_del_pk = 0;
  1984 + for (var m = 0; m < sto_cate.length; m++) {
  1985 + if (sto_arr[i].category_id == sto_cate[m].cat_id) {
  1986 + if (sto_cate[m].is_show != 1) {
  1987 + is_del_pk = 1;
  1988 + sto_arr.splice(i, 1);
  1989 + i--;
  1990 + } else {
  1991 + find2 = sto_cate[m].cat_id;
  1992 + find2name = sto_cate[m].cat_name;
  1993 + sort = sto_cate[m].sort;
  1994 + is_del_pk = 0;
  1995 + }
  1996 + break;
  1997 + }
  1998 + }
  1999 + if (is_del_pk) continue;
  2000 +
  2001 + if (newarr.length > 0) {
  2002 + var find = 0;
  2003 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  2004 + if (find2 != 0) {
  2005 + for (var ii = 0; ii < newarr.length; ii++) {
  2006 + if (sto_arr[i].category_id == newarr[ii].cat_id) {
  2007 + newarr[ii].s_arr.push(sto_arr[i]);
  2008 + find = 1;
  2009 + break;
  2010 + }
  2011 + }
  2012 + if (find == 0) {
  2013 + var arr0 = new Array();
  2014 + arr0.push(sto_arr[i]);
  2015 + var item = {
  2016 + cat_id: find2,
  2017 + name: find2name,
  2018 + sort: sort,
  2019 + s_arr: arr0
  2020 + };
  2021 + newarr.push(item);
  2022 + }
  2023 + } else {
  2024 + qita.push(sto_arr[i]);
  2025 + }
  2026 + } else {
  2027 + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
  2028 + if (find2 != 0) {
  2029 + var arr0 = new Array();
  2030 + arr0.push(sto_arr[i]);
  2031 + var item = {
  2032 + cat_id: find2,
  2033 + name: find2name,
  2034 + sort: sort,
  2035 + s_arr: arr0
  2036 + };
  2037 + newarr.push(item);
  2038 + } else {
  2039 + qita.push(sto_arr[i]);
  2040 + }
  2041 + }
  2042 + }
1868 2043  
  2044 + var def_arr = new Array();
  2045 + //-- 开始就看10个门店 --
  2046 + for (var k = 0; k < 10; k++) {
  2047 + if (k == sto_arr.length) break;
  2048 + def_arr.push(sto_arr[k]);
  2049 + }
1869 2050  
1870   - },
  2051 + th.setData({
  2052 + def_pickpu_list: def_arr,
  2053 + pickpu_list: ee.data.data.pageData
  2054 + });
  2055 +
  2056 + //门店分类要排序下
  2057 + function compare(property) {
  2058 + return function (a, b) {
  2059 + var value1 = a[property];
  2060 + var value2 = b[property];
  2061 + return value1 - value2;
  2062 + }
  2063 + }
1871 2064  
  2065 + if (newarr.length > 0)
  2066 + newarr.sort(compare("sort"));
  2067 + //----安排其他的分类-----
  2068 + if (qita.length > 0) {
  2069 + var item = {
  2070 + cat_id: -1,
  2071 + name: "其他",
  2072 + s_arr: qita
  2073 + };
  2074 + newarr.push(item);
  2075 + }
1872 2076  
1873   - //---点击二级之后的选择---
1874   - choose_for_store: function (e) {
1875   - var index_c = e.currentTarget.dataset.ind;
1876   - var th = this;
1877   - th.setData({
1878   - sec_pick_index: index_c,
1879   - fir_pick_index: index_c
1880   - })
1881 2077  
1882   - },
1883   - //把选择的门店设置成默认的门店def_pick
1884   - set_def_pick: function (e) {
1885   - var th = this;
1886   - var item = null;
1887   - if (th.data.choice_sort_store == 0) {
1888   - var index = th.data.fir_pick_index;
1889   - if (th.data.is_show_sto_cat == 1) {
1890   - item = th.data.def_pickpu_list[index];
  2078 + var sd = {
  2079 + all_sto: newarr,
  2080 + is_show_sto_cat: 1
  2081 + }
  2082 + if (!sto_arr || sto_arr.length <= 10) {
  2083 + sd.is_show_sto_cat = -1;
  2084 + sd.only_pk = sto_arr;
  2085 + }
  2086 + th.setData(sd);
  2087 +
1891 2088 } else {
1892   - item = th.data.only_pk?th.data.only_pk[index]:null; //当没有门店分类的时候
  2089 + th.setData({
  2090 + is_show_sto_cat: -1,
  2091 + only_pk: e.data.data.pageData
  2092 + });
  2093 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  2094 + if (!th.data.def_pick_store) {
  2095 + th.setData({
  2096 + def_pick_store: e.data.data.pageData[0]
  2097 + })
  2098 + }
1893 2099 }
1894   - } else {
1895   - var index = th.data.sec_pick_index;
1896   - item = th.data.sec_sto.s_arr[index];
1897   - }
1898   - if(!item) return false;
1899   -
1900   -
1901   - //判断门店的配送方式是不是匹配
1902   - var g_distr_type = th.data.sele_g.distr_type;
1903   - if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
1904   - wx.showToast({
1905   - title: "门店配送方式不匹配",
1906   - icon: 'none',
1907   - duration: 2000
  2100 + } else {
  2101 + th.setData({
  2102 + is_show_sto_cat: -1,
  2103 + only_pk: e.data.data.pageData
1908 2104 });
1909   - return false;
  2105 + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------
  2106 + if (!th.data.def_pick_store) {
  2107 + th.setData({
  2108 + def_pick_store: e.data.data.pageData[0]
  2109 + })
  2110 + }
  2111 + }
1910 2112 }
  2113 + });
  2114 + } else {
  2115 + th.setData({
  2116 + is_show_sto_cat: 0,
  2117 + only_pk: e.data.data.pageData
  2118 + });
  2119 + //-----如果没有默认门店,要取第一个门店作为默认店------
  2120 + if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) {
  2121 + if (e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) {
  2122 + th.setData({
  2123 + def_pick_store: e.data.data.pageData[0],
  2124 + sto_sele_name: e.data.data.pageData[0].pickup_name,
  2125 + sto_sele_id: e.data.data.pageData[0].pickup_id,
  2126 + sto_sele_distr: e.data.data.pageData[0].distr_type
  2127 + })
  2128 + }
  2129 + }
  2130 + }
  2131 + },
  2132 +
  2133 + //---选择分类门店---
  2134 + choice_sort_store: function (e) {
  2135 + var index = e.currentTarget.dataset.index;
  2136 + var region_name = e.currentTarget.dataset.region;
  2137 + var item = this.data.all_sto[index];
  2138 + this.setData({
  2139 + region_name: region_name,
  2140 + sort_store: 0,
  2141 + choice_sort_store: 1,
  2142 + sec_sto: item,
  2143 + sec_pick_index: 0
  2144 + });
  2145 + },
  2146 +
  2147 + choose_for_store_fir: function (e) {
  2148 + var index_c = e.currentTarget.dataset.ind;
  2149 + var th = this;
  2150 + th.setData({
  2151 + fir_pick_index: index_c
  2152 + })
  2153 + },
  2154 +
  2155 + //确定def_pick为选择的门店
  2156 + sure_pick: function (e) {
  2157 + var th = this;
  2158 + var item = null;
  2159 + var openindstore = th.data.open_ind_store;
  2160 +
  2161 + if (th.data.choice_sort_store == 0) {
  2162 + var index = th.data.fir_pick_index;
  2163 + if (th.data.is_show_sto_cat == 1) {
  2164 + item = th.data.def_pickpu_list[index];
  2165 + } else {
  2166 + item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
  2167 + }
  2168 + } else {
  2169 + var index = th.data.sec_pick_index;
  2170 + item = th.data.sec_sto.s_arr[index];
  2171 + }
1911 2172  
1912   - //先设置之前,要判断是不是有库存
1913   - var user_id = getApp().globalData.user_id;
1914   - var def_pickup_id = item.pickup_id;
1915   -
1916   - getApp().request.put('/api/weshop/users/update', {
1917   - data: {
1918   - user_id: user_id,
1919   - def_pickup_id: def_pickup_id
1920   - },
1921   - success: function (res) {
1922   - if (res.data.code == 0) {
1923   - if (th.data.choice_sort_store == 0) th.setData({
1924   - fir_pick_index: 0
1925   - });
1926   - getApp().globalData.pk_store = item;
1927   - } else {
1928   - //s.showWarning("设置默认门店地址失败", null, 500, !1);
1929   - getApp().my_warnning("设置默认门店地址失败", 0, th)
1930   - }
1931   -
1932   - }
1933   - });
  2173 + if (!item) return false;
  2174 +
  2175 + //判断门店的配送方式是不是匹配
  2176 + var g_distr_type = 0;
  2177 + if (th.data.sele_g)
  2178 + g_distr_type = th.data.sele_g.distr_type;
  2179 + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
  2180 + wx.showToast({
  2181 + title: "门店配送方式不匹配",
  2182 + icon: 'none',
  2183 + duration: 2000
  2184 + });
  2185 + return false;
  2186 + }
1934 2187  
1935   - th.setData({
1936   - def_pick_store: item,
1937   - sto_sele_name: item.pickup_name,
1938   - sto_sele_id: item.pickup_id,
1939   - sto_sele_distr: item.distr_type,
1940   - store: 0,
1941   - choice_sort_store: 0,
1942   - sort_store: 0, //关闭门店2级
1943   - });
  2188 + th.setData({
  2189 + def_pick_store: item,
  2190 + sto_sele_name: item.pickup_name,
  2191 + sto_sele_id: item.pickup_id,
  2192 + sto_sele_distr: item.distr_type,
  2193 + store: 0,
  2194 + choice_sort_store: 0,
  2195 + fir_pick_index: 0,
  2196 + sort_store: 0
  2197 + });
  2198 +
  2199 + //只是单纯的选择门店
  2200 + if (this.data.only) {
  2201 + this.data.only = 0;
  2202 + this.data.sales_map = {};
  2203 +
  2204 + return false;
  2205 + }
1944 2206  
  2207 + //-- 判断一下库存 --
  2208 + th.check_pk_store_conut(function () {
  2209 + th.check_is_in_cart(function () {
1945 2210 th.add_cart_func();
1946   - },
  2211 + })
  2212 + })
  2213 +
  2214 +
  2215 + },
  2216 +
  2217 +
  2218 + //---点击二级之后的选择---
  2219 + choose_for_store: function (e) {
  2220 + var index_c = e.currentTarget.dataset.ind;
  2221 + var th = this;
  2222 + th.setData({
  2223 + sec_pick_index: index_c,
  2224 + fir_pick_index: index_c
  2225 + })
  2226 +
  2227 + },
  2228 + //把选择的门店设置成默认的门店def_pick
  2229 + set_def_pick: function (e) {
  2230 + var th = this;
  2231 + var item = null;
  2232 + if (th.data.choice_sort_store == 0) {
  2233 + var index = th.data.fir_pick_index;
  2234 + if (th.data.is_show_sto_cat == 1) {
  2235 + item = th.data.def_pickpu_list[index];
  2236 + } else {
  2237 + item = th.data.only_pk ? th.data.only_pk[index] : null; //当没有门店分类的时候
  2238 + }
  2239 + } else {
  2240 + var index = th.data.sec_pick_index;
  2241 + item = th.data.sec_sto.s_arr[index];
  2242 + }
  2243 + if (!item) return false;
1947 2244  
1948   - // 返回按钮
1949   - returns: function () {
1950   - this.setData({
1951   - sort_store: 0,
1952   - choice_sort_store: 0
1953   - });
1954   - },
1955   - //选择更多门店
1956   - more_store: function () {
1957   - this.setData({
1958   - sort_store: 1
1959   - });
1960   - },
1961   - //关闭选择门店
1962   - close_popup: function (e) {
1963   - var th = this;
1964   - this.setData({
1965   - store: 0,
1966   - choice_sort_store: 0,
1967   - sort_store: 0,
1968   - fir_pick_index: 0,
1969   - sec_pick_index: 0
1970   - })
1971   - },
1972 2245  
1973   - //-------------获取购买数量的总函数----------------
1974   - get_buy_num: function (gd, func) {
1975   - var map = this.data.g_buy_num,
1976   - th = this,
1977   - user_id = getApp().globalData.user_id;
  2246 + //判断门店的配送方式是不是匹配
  2247 + var g_distr_type = th.data.sele_g.distr_type;
  2248 + if (item.distr_type != 0 && g_distr_type != 0 && item.distr_type != g_distr_type) {
  2249 + wx.showToast({
  2250 + title: "门店配送方式不匹配",
  2251 + icon: 'none',
  2252 + duration: 2000
  2253 + });
  2254 + return false;
  2255 + }
1978 2256  
1979   - if (user_id == null) {
1980   - getApp().goto("/packageE/pages/togoin/togoin");
1981   - return false;
1982   - }
1983   - if (map && map.has(gd.goods_id)) {
1984   - "function" == typeof func && func();
  2257 + //先设置之前,要判断是不是有库存
  2258 + var user_id = getApp().globalData.user_id;
  2259 + var def_pickup_id = item.pickup_id;
  2260 +
  2261 + getApp().request.put('/api/weshop/users/update', {
  2262 + data: {
  2263 + user_id: user_id,
  2264 + def_pickup_id: def_pickup_id
  2265 + },
  2266 + success: function (res) {
  2267 + if (res.data.code == 0) {
  2268 + if (th.data.choice_sort_store == 0) th.setData({
  2269 + fir_pick_index: 0
  2270 + });
  2271 + getApp().globalData.pk_store = item;
1985 2272 } else {
1986   - var res1 = null;
1987   - //----获取商品购买数----
1988   - getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
1989   - data: {
1990   - store_id: os.stoid,
1991   - user_id: user_id,
1992   - goods_id: gd.goods_id,
1993   - prom_type: 7,
1994   - prom_id: th.data.act.id
1995   - },
1996   - }).then(res2 => {
1997   - var g_buy_num = 0;
1998   - var promgoodsbuynum = 0;
1999   - if (res2.data.code == 0) {
2000   - var buy_num_data = res2.data.data;
2001   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
2002   - g_buy_num = buy_num_data.goodsbuynum;
2003   - }
2004   -
2005   - if (!map) map = new Map();
2006   - var ob = {
2007   - gd_buynum: g_buy_num,
2008   - prom_buybum: promgoodsbuynum,
2009   - }
2010   - map.set(gd.goods_id, ob);
2011   - th.setData({
2012   - g_buy_num: map
2013   - });
2014   - "function" == typeof func && func();
2015   - })
  2273 + //s.showWarning("设置默认门店地址失败", null, 500, !1);
  2274 + getApp().my_warnning("设置默认门店地址失败", 0, th)
2016 2275 }
2017   - },
2018   -
2019   - //-- 当是减数量的调用 --
2020   - sub_updata_cart() {
2021   - var th = this;
2022   - var index = this.data.sele_index;
2023   - var txt = "list[" + index + "].haveAdded";
2024   - var txt1 = "list[" + index + "].num";
2025   - var txt2 = "list[" + index + "].showNum";
2026   -
2027   - var cur_price = this.data.sele_g.shop_price;
2028   - if (th.data.card_field && this.data.sele_g[th.data.card_field]) {
2029   - cur_price = this.data.sele_g[th.data.card_field];
2030   - }
2031   - var updata = {
2032   - id: th.data.sele_g.cart_id,
2033   - goods_num: th.data.goodsInputNum,
2034   - goods_price: cur_price,
2035   - store_id: os.stoid,
2036   - };
2037 2276  
2038   - if (th.data.s_cart_num) {
2039   - updata.goods_num = th.data.s_cart_num;
  2277 + }
  2278 + });
  2279 +
  2280 + th.setData({
  2281 + def_pick_store: item,
  2282 + sto_sele_name: item.pickup_name,
  2283 + sto_sele_id: item.pickup_id,
  2284 + sto_sele_distr: item.distr_type,
  2285 + store: 0,
  2286 + choice_sort_store: 0,
  2287 + sort_store: 0, //关闭门店2级
  2288 + });
  2289 +
  2290 + th.add_cart_func();
  2291 + },
  2292 +
  2293 + // 返回按钮
  2294 + returns: function () {
  2295 + this.setData({
  2296 + sort_store: 0,
  2297 + choice_sort_store: 0
  2298 + });
  2299 + },
  2300 + //选择更多门店
  2301 + more_store: function () {
  2302 + this.setData({
  2303 + sort_store: 1
  2304 + });
  2305 + },
  2306 + //关闭选择门店
  2307 + close_popup: function (e) {
  2308 + var th = this;
  2309 + this.setData({
  2310 + store: 0,
  2311 + choice_sort_store: 0,
  2312 + sort_store: 0,
  2313 + fir_pick_index: 0,
  2314 + sec_pick_index: 0
  2315 + })
  2316 + },
  2317 +
  2318 + //-------------获取购买数量的总函数----------------
  2319 + get_buy_num: function (gd, func) {
  2320 + var map = this.data.g_buy_num,
  2321 + th = this,
  2322 + user_id = getApp().globalData.user_id;
  2323 +
  2324 + if (user_id == null) {
  2325 + getApp().goto("/packageE/pages/togoin/togoin");
  2326 + return false;
  2327 + }
  2328 + if (map && map.has(gd.goods_id)) {
  2329 + "function" == typeof func && func();
  2330 + } else {
  2331 + var res1 = null;
  2332 + //----获取商品购买数----
  2333 + getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  2334 + data: {
  2335 + store_id: os.stoid,
  2336 + user_id: user_id,
  2337 + goods_id: gd.goods_id,
  2338 + prom_type: 7,
  2339 + prom_id: th.data.act.id
  2340 + },
  2341 + }).then(res2 => {
  2342 + var g_buy_num = 0;
  2343 + var promgoodsbuynum = 0;
  2344 + if (res2.data.code == 0) {
  2345 + var buy_num_data = res2.data.data;
  2346 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  2347 + g_buy_num = buy_num_data.goodsbuynum;
2040 2348 }
2041 2349  
2042   - //---是不是从收藏夹出来的---
2043   - if (th.data.c_guide_id) {
2044   - updata['guide_id'] = th.data.c_guide_id;
2045   - updata['guide_type'] = 3; //加入购物车之后就变成了3
2046   - } else {
2047   - if (getApp().globalData.guide_id) {
2048   - updata['guide_id'] = getApp().globalData.guide_id;
2049   - updata['guide_type'] = 0;
2050   - }
  2350 + if (!map) map = new Map();
  2351 + var ob = {
  2352 + gd_buynum: g_buy_num,
  2353 + prom_buybum: promgoodsbuynum,
2051 2354 }
2052   - //调用接口,更新购物车
2053   - getApp().request.put("/api/weshop/cart/update", {
2054   - data: updata,
2055   - success: function (t) {
2056   - th.setData({
2057   - [txt1]: th.data.goodsInputNum,
2058   - [txt2]: true,
2059   - [txt]: true,
2060   - });
2061   - th.data.adding = 0;
2062   - th.data.sele_store = 1;
2063   - if (th.data.s_cart_num) {
2064   - var txt_temp = "list[" + index + "].cart_num";
2065   - th.setData({
2066   - [txt_temp]: th.data.s_cart_num
2067   - })
2068   - }
  2355 + map.set(gd.goods_id, ob);
  2356 + th.setData({
  2357 + g_buy_num: map
  2358 + });
  2359 + "function" == typeof func && func();
  2360 + })
  2361 + }
  2362 + },
  2363 +
  2364 + //-- 当是减数量的调用 --
  2365 + sub_updata_cart() {
  2366 + var th = this;
  2367 + var index = this.data.sele_index;
  2368 + var txt = "list[" + index + "].haveAdded";
  2369 + var txt1 = "list[" + index + "].num";
  2370 + var txt2 = "list[" + index + "].showNum";
  2371 +
  2372 + var cur_price = this.data.sele_g.shop_price;
  2373 + if (th.data.card_field && this.data.sele_g[th.data.card_field]) {
  2374 + cur_price = this.data.sele_g[th.data.card_field];
  2375 + }
  2376 + var updata = {
  2377 + id: th.data.sele_g.cart_id,
  2378 + goods_num: th.data.goodsInputNum,
  2379 + goods_price: cur_price,
  2380 + store_id: os.stoid,
  2381 + };
  2382 +
  2383 + if (th.data.s_cart_num) {
  2384 + updata.goods_num = th.data.s_cart_num;
  2385 + }
2069 2386  
2070   - th.re_sum_price(); //重新统计数量和总金额
2071   - }
  2387 + //---是不是从收藏夹出来的---
  2388 + if (th.data.c_guide_id) {
  2389 + updata['guide_id'] = th.data.c_guide_id;
  2390 + updata['guide_type'] = 3; //加入购物车之后就变成了3
  2391 + } else {
  2392 + if (getApp().globalData.guide_id) {
  2393 + updata['guide_id'] = getApp().globalData.guide_id;
  2394 + updata['guide_type'] = 0;
  2395 + }
  2396 + }
  2397 + //调用接口,更新购物车
  2398 + getApp().request.put("/api/weshop/cart/update", {
  2399 + data: updata,
  2400 + success: function (t) {
  2401 + th.setData({
  2402 + [txt1]: th.data.goodsInputNum,
  2403 + [txt2]: true,
  2404 + [txt]: true,
2072 2405 });
2073   - },
2074   - //一 开始的选择门店 --
2075   - choose_store: function (e) {
2076   - var userInfo = getApp().globalData.userInfo;
2077   - if (!userInfo) {
2078   - getApp().goto("/packageE/pages/togoin/togoin");
2079   - return false;
  2406 + th.data.adding = 0;
  2407 + th.data.sele_store = 1;
  2408 + if (th.data.s_cart_num) {
  2409 + var txt_temp = "list[" + index + "].cart_num";
  2410 + th.setData({
  2411 + [txt_temp]: th.data.s_cart_num
  2412 + })
2080 2413 }
2081   - this.data.only = 1;
2082   - this.setData({
2083   - store: 1
2084   - })
2085 2414  
  2415 + th.re_sum_price(); //重新统计数量和总金额
  2416 + }
  2417 + });
  2418 + },
  2419 + //一 开始的选择门店 --
  2420 + choose_store: function (e) {
  2421 + var userInfo = getApp().globalData.userInfo;
  2422 + if (!userInfo) {
  2423 + getApp().goto("/packageE/pages/togoin/togoin");
  2424 + return false;
  2425 + }
  2426 + this.data.only = 1;
  2427 + this.setData({
  2428 + store: 1
  2429 + })
2086 2430  
2087   - this.get_sto()
2088   - },
2089 2431  
2090   - // -- 加入之前,先判断有没有在购物车中,没有商品就添加 --
2091   - check_is_in_cart: function (func) {
  2432 + this.get_sto()
  2433 + },
2092 2434  
2093   - var act=this.data.act;
2094   - if(act.zh_num>0 && act.zh_num<=act.zh_buy_num){
2095   - func();
2096   - return false;
2097   - }
  2435 + // -- 加入之前,先判断有没有在购物车中,没有商品就添加 --
  2436 + check_is_in_cart: function (func) {
2098 2437  
2099   - var th = this;
2100   - var index = th.data.sele_index;
2101   - var txt = "list[" + index + "].haveAdded";
2102   - var txt1 = "list[" + index + "].num";
2103   - var txt2 = "list[" + index + "].showNum";
2104   - var txt3 = "list[" + index + "].cart_id";
2105   - var txt4 = "list[" + index + "].current_price";
2106   - var txt5 = "list[" + index + "].cart_num";
2107   -
2108   - //----先看会员在购物车中是否加入了该商品-----
2109   - getApp().request.get("/api/weshop/cart/page", {
2110   - data: {
2111   - store_id: os.stoid,
2112   - user_id: oo.user_id,
2113   - goods_id: th.data.sele_g.goods_id,
2114   - pick_id: th.data.sto_sele_id,
2115   - },
2116   - success: function (re) {
2117   - if (re.data.data.total > 0) {
2118   - var item = re.data.data.pageData[0];
2119   - th.get_buy_num(th.data.sele_g, function () {
2120   - //当前的价格要更新进去
2121   - var cur_price = th.data.sele_g.shop_price;
2122   - if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
2123   - cur_price = th.data.sele_g[th.data.card_field];
2124   - }
  2438 + var act = this.data.act;
  2439 + if (act.zh_num > 0 && act.zh_num <= act.zh_buy_num) {
  2440 + func();
  2441 + return false;
  2442 + }
2125 2443  
2126   - var prom_buybum = 0;
2127   - var gd_buynum = 0;
2128   - //加入也要控制一下限购
2129   - var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id);
2130   - if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum;
2131   - if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum;
2132   -
2133   - if (check_obj) {
2134   - if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty &&
2135   - th.data.sele_g.buyqty > 0
2136   - ) {
2137   - wx.showToast({
2138   - title: "您的已购数量超出活动的限购",
2139   - icon: 'none',
2140   - duration: 2000
2141   - });
2142   - return false;
2143   - }
2144   - if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited &&
2145   - th.data.sele_g.viplimited > 0
2146   - ) {
2147   - wx.showToast({
2148   - title: "您的已购数量超出商品的限购",
2149   - icon: 'none',
2150   - duration: 2000
2151   - });
2152   - return false;
2153   - }
2154   - }
  2444 + var th = this;
  2445 + var index = th.data.sele_index;
  2446 + var txt = "list[" + index + "].haveAdded";
  2447 + var txt1 = "list[" + index + "].num";
  2448 + var txt2 = "list[" + index + "].showNum";
  2449 + var txt3 = "list[" + index + "].cart_id";
  2450 + var txt4 = "list[" + index + "].current_price";
  2451 + var txt5 = "list[" + index + "].cart_num";
  2452 +
  2453 + //----先看会员在购物车中是否加入了该商品-----
  2454 + getApp().request.get("/api/weshop/cart/page", {
  2455 + data: {
  2456 + store_id: os.stoid,
  2457 + user_id: oo.user_id,
  2458 + goods_id: th.data.sele_g.goods_id,
  2459 + pick_id: th.data.sto_sele_id,
  2460 + },
  2461 + success: function (re) {
  2462 + if (re.data.data.total > 0) {
  2463 + var item = re.data.data.pageData[0];
  2464 + th.get_buy_num(th.data.sele_g, function () {
  2465 + //当前的价格要更新进去
  2466 + var cur_price = th.data.sele_g.shop_price;
  2467 + if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
  2468 + cur_price = th.data.sele_g[th.data.card_field];
  2469 + }
2155 2470  
2156   - item.cbuy = 'no';
2157   - var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no';
2158   - if (cbuy != 'no') item.cbuy = cbuy;
2159   - var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no';
2160   - if (cbuy2 != 'no') {
2161   - if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2;
2162   - }
  2471 + var prom_buybum = 0;
  2472 + var gd_buynum = 0;
  2473 + //加入也要控制一下限购
  2474 + var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id);
  2475 + if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum;
  2476 + if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum;
  2477 +
  2478 + if (check_obj) {
  2479 + if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty &&
  2480 + th.data.sele_g.buyqty > 0
  2481 + ) {
  2482 + wx.showToast({
  2483 + title: "您的已购数量超出活动的限购",
  2484 + icon: 'none',
  2485 + duration: 2000
  2486 + });
  2487 + return false;
  2488 + }
  2489 + if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited &&
  2490 + th.data.sele_g.viplimited > 0
  2491 + ) {
  2492 + wx.showToast({
  2493 + title: "您的已购数量超出商品的限购",
  2494 + icon: 'none',
  2495 + duration: 2000
  2496 + });
  2497 + return false;
  2498 + }
  2499 + }
2163 2500  
2164   - var num = item.goods_num;
  2501 + item.cbuy = 'no';
  2502 + var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no';
  2503 + if (cbuy != 'no') item.cbuy = cbuy;
  2504 + var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no';
  2505 + if (cbuy2 != 'no') {
  2506 + if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2;
  2507 + }
2165 2508  
2166   - var is_num_change=0;
2167   - if(num<th.data.goodsInputNum){
2168   - num=th.data.goodsInputNum;
2169   - is_num_change=1;
2170   - }
  2509 + var num = item.goods_num;
2171 2510  
2172   - if (item.cbuy > -1 && item.cbuy < item.goods_num) {
2173   - num = item.cbuy;
2174   - }
2175   - th.setData({
2176   - [txt1]: num,
2177   - [txt2]: true,
2178   - [txt]: true,
2179   - [txt3]: item.id,
2180   - [txt4]: cur_price,
2181   - [txt5]: item.goods_num,
2182   - });
2183   -
2184   - var updata = {
2185   - id: item.id,
2186   - prom_type: 7,
2187   - goods_price: cur_price,
2188   - prom_id: th.data.act.id,
2189   - store_id: os.stoid,
2190   - state:0
2191   - };
2192   - if (getApp().globalData.guide_id) {
2193   - updata['guide_id'] = getApp().globalData.guide_id;
2194   - updata['guide_type'] = 0;
2195   - }
2196   - if(is_num_change){
2197   - updata['goods_num']=num;
2198   - }
  2511 + var is_num_change = 0;
  2512 + if (num < th.data.goodsInputNum) {
  2513 + num = th.data.goodsInputNum;
  2514 + is_num_change = 1;
  2515 + }
2199 2516  
2200   - getApp().request.put("/api/weshop/cart/update", {
2201   - data: updata,
2202   - success: function (t) { }
2203   - });
2204   - th.re_sum_price();
2205   - })
  2517 + if (item.cbuy > -1 && item.cbuy < item.goods_num) {
  2518 + num = item.cbuy;
  2519 + }
  2520 + th.setData({
  2521 + [txt1]: num,
  2522 + [txt2]: true,
  2523 + [txt]: true,
  2524 + [txt3]: item.id,
  2525 + [txt4]: cur_price,
  2526 + [txt5]: item.goods_num,
  2527 + });
2206 2528  
2207   - } else {
2208   - func();
2209   - }
  2529 + var updata = {
  2530 + id: item.id,
  2531 + prom_type: 7,
  2532 + goods_price: cur_price,
  2533 + prom_id: th.data.act.id,
  2534 + store_id: os.stoid,
  2535 + state: 0
  2536 + };
  2537 + if (getApp().globalData.guide_id) {
  2538 + updata['guide_id'] = getApp().globalData.guide_id;
  2539 + updata['guide_type'] = 0;
2210 2540 }
2211   - })
2212   - },
2213   -
2214   - //-- 计算统计之后的金额 --
2215   - re_sum_price: function () {
2216   - var all_num = 0; //商品数量之和
2217   - var all_price = 0;
2218   - var need_to_buy = 0;
2219   - var data = this.data.list;
2220   - var all_zhqty = 0; //所有商品要求起购数之后
2221   - var zhqty_bz = []; //超量
2222   - var no_in_arr = [];
2223   - for (var i in data) {
2224   - var item = data[i];
2225   - if (item.num) {
2226   - all_num += item.num;
2227   - all_price += item.num * item.current_price;
2228   - //当有起购数的控制的时候
2229   - if (item.zhqty) {
2230   - zhqty_bz.push(item);
2231   - all_zhqty += item.zhqty;
2232   - if (item.num < item.zhqty) {
2233   - need_to_buy += item.zhqty - item.num;
2234   - }
2235   - if (item.num > item.zhqty) {
2236   - for (var i = 0; i < item.num - item.zhqty; i++) {
2237   - no_in_arr.push({
2238   - price: item.current_price,
2239   - goods_id: item.goods_id
2240   - });
2241   - }
2242   - }
2243   - } else {
2244   - for (var j = 0; j < item.num; j++) {
2245   - no_in_arr.push({
2246   - price: item.current_price,
2247   - goods_id: item.goods_id
2248   - });
2249   - }
2250   - }
2251   - } else {
2252   - if (item.zhqty) need_to_buy += item.zhqty;
  2541 + if (is_num_change) {
  2542 + updata['goods_num'] = num;
2253 2543 }
2254   - }
2255 2544  
2256   - //当满足组合的要求:总数要满足,起购数要满足
2257   - if (all_num >= this.data.act.zhbuyqty && !need_to_buy) {
2258   - function sortData(a, b) {
2259   - return a.price - b.price
2260   - }
2261   - if (no_in_arr.length) no_in_arr.sort(sortData);
  2545 + getApp().request.put("/api/weshop/cart/update", {
  2546 + data: updata,
  2547 + success: function (t) { }
  2548 + });
  2549 + th.re_sum_price();
  2550 + })
2262 2551  
2263   - var aprice = this.data.act.zhprice;
2264   - if (this.data.act.zhbuyqty > all_zhqty) {
2265   - for (var n = 0; n < this.data.act.zhbuyqty - all_zhqty; n++) {
2266   - no_in_arr.pop();
2267   - }
  2552 + } else {
  2553 + func();
  2554 + }
  2555 + }
  2556 + })
  2557 + },
  2558 +
  2559 + //-- 计算统计之后的金额 --
  2560 + re_sum_price: function () {
  2561 + var all_num = 0; //商品数量之和
  2562 + var all_price = 0;
  2563 + var need_to_buy = 0;
  2564 + var data = this.data.list;
  2565 + var all_zhqty = 0; //所有商品要求起购数之后
  2566 + var zhqty_bz = []; //超量
  2567 + var no_in_arr = [];
  2568 + for (var i in data) {
  2569 + var item = data[i];
  2570 + if (item.num) {
  2571 + all_num += item.num;
  2572 + all_price += item.num * item.current_price;
  2573 + //当有起购数的控制的时候
  2574 + if (item.zhqty) {
  2575 + zhqty_bz.push(item);
  2576 + all_zhqty += item.zhqty;
  2577 + if (item.num < item.zhqty) {
  2578 + need_to_buy += item.zhqty - item.num;
  2579 + }
  2580 + if (item.num > item.zhqty) {
  2581 + for (var i = 0; i < item.num - item.zhqty; i++) {
  2582 + no_in_arr.push({
  2583 + price: item.current_price,
  2584 + goods_id: item.goods_id
  2585 + });
2268 2586 }
  2587 + }
  2588 + } else {
  2589 + for (var j = 0; j < item.num; j++) {
  2590 + no_in_arr.push({
  2591 + price: item.current_price,
  2592 + goods_id: item.goods_id
  2593 + });
  2594 + }
  2595 + }
  2596 + } else {
  2597 + if (item.zhqty) need_to_buy += item.zhqty;
  2598 + }
  2599 + }
2269 2600  
2270   - //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增
2271   - if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) {
2272   - var bz_num_ok = 0; //超量倍增是否满足
2273   - var delete_num = 0;
2274   - var zhqty_len = 0; //几个超量倍增
2275   - var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍
2276   - //如果有总数控制的时候
2277   - if(this.data.act.zh_num){
2278   - var be1=this.data.act.zh_num-this.data.act.zh_buy_num-1;
2279   - if(be1<be) be=be1;
2280   - }
2281   - if(be){
2282   - if (this.data.act.is_bzyh && zhqty_bz.length > 0) {
2283   - if (zhqty_bz.length > 1) {
2284   - let zhqty_bz_arr = [];
2285   - let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr);
2286   -
2287   - if (zhqty_bz_flag) {
2288   - for (let i = 0; i < zhqty_bz.length; i++) {
2289   - var vv = zhqty_bz[i];
2290   - for (let j = 0; j < be * vv['zhqty']; j++) {
2291   - let index = no_in_arr.findIndex(i => {
2292   - return vv.goods_id === i.goods_id
2293   - })
2294   - if (index > -1) {
2295   - delete_num++
2296   - no_in_arr.splice(index, 1)
2297   - }
2298   - }
2299   - }
2300   - } else {
2301   - zhqty_len = 1;
2302   - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {
2303   - return o['num'];
2304   - }));
2305   - let new_arr = zhqty_bz_arr.filter(ii => {
2306   - return ii['num'] == min_bz_num;
2307   - })
2308   - var vv = new_arr[0];
2309   - var bz_num = be * new_arr[0].zhqty; //超量倍增
2310   - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量
2311   - bz_num_ok = bz_num - num;
2312   - if (bz_num_ok <= 0) {
2313   - //超量倍增满足,超量倍增就等于倍数
2314   - bz_num_ok = bz_num;
2315   - } else {
2316   - //超量倍增不满足,倍数要减去多出得
2317   - // be=be-bz_num_ok;
2318   - if (num % vv.zhqty == 0) {
2319   - be = num / vv.zhqty;
2320   - } else {
2321   - be = Math.floor(num / vv.zhqty)
2322   - }
2323   - bz_num_ok = be * vv.zhqty;
2324   - }
2325   -
2326   - for (let i = 0; i < zhqty_bz.length; i++) {
2327   - let item1 = zhqty_bz[i];
2328   - for (let j = 0; j < be * item1['zhqty']; j++) {
2329   - let index = no_in_arr.findIndex(i => {
2330   - return item1.goods_id === i.goods_id
2331   - })
2332   - if (index > -1) {
2333   - // delete_num++
2334   - no_in_arr.splice(index, 1)
2335   - }
2336   - }
2337   - }
2338   - aprice += be * aprice;
2339   - }
2340   - } else {
2341   - var vv = zhqty_bz[0];
2342   - var bz_num = be * vv.zhqty; //超量倍增
2343   - var num = vv['num'] - vv.zhqty; //购买数量减去超量
2344   - if (num > 0) {
2345   - bz_num_ok = bz_num - num;
2346   - if (bz_num_ok <= 0) {
2347   - //超量倍增满足,超量倍增就等于倍数
2348   - bz_num_ok = bz_num;
2349   - } else {
2350   - //超量倍增不满足,倍数要减去多出得
2351   - // be=be-bz_num_ok;
2352   - if (num % vv.zhqty == 0) {
2353   - be = num / vv.zhqty;
2354   - } else {
2355   - be = Math.floor(num / vv.zhqty)
2356   - }
2357   - bz_num_ok = be * vv.zhqty;
2358   - }
2359   - for (let j = 0; j < bz_num_ok; j++) {
2360   - let index = no_in_arr.findIndex(i => {
2361   - return vv.goods_id === i.goods_id
2362   - })
2363   - if (index > -1) {
2364   - delete_num++
2365   - no_in_arr.splice(index, 1)
2366   - }
2367   - }
2368   - } else {
2369   - zhqty_len = 1;
2370   - }
2371   - }
2372   - }
2373   - if (!zhqty_len) {
2374   - //多个超量就不用pop了
2375   - aprice += be * aprice;
2376   - let pop_num = be * this.data.act.zhbuyqty - delete_num;
2377   - for (var m = 0; m < pop_num; m++) {
2378   - no_in_arr.pop();
2379   - }
  2601 + //当满足组合的要求:总数要满足,起购数要满足
  2602 + if (all_num >= this.data.act.zhbuyqty && !need_to_buy) {
  2603 + function sortData(a, b) {
  2604 + return a.price - b.price
  2605 + }
  2606 + if (no_in_arr.length) no_in_arr.sort(sortData);
  2607 +
  2608 + var aprice = this.data.act.zhprice;
  2609 + if (this.data.act.zhbuyqty > all_zhqty) {
  2610 + for (var n = 0; n < this.data.act.zhbuyqty - all_zhqty; n++) {
  2611 + no_in_arr.pop();
  2612 + }
  2613 + }
  2614 +
  2615 + //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增
  2616 + if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) {
  2617 + var bz_num_ok = 0; //超量倍增是否满足
  2618 + var delete_num = 0;
  2619 + var zhqty_len = 0; //几个超量倍增
  2620 + var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍
  2621 + //如果有总数控制的时候
  2622 + if (this.data.act.zh_num) {
  2623 + var be1 = this.data.act.zh_num - this.data.act.zh_buy_num - 1;
  2624 + if (be1 < be) be = be1;
  2625 + }
  2626 + if (be) {
  2627 + if (this.data.act.is_bzyh && zhqty_bz.length > 0) {
  2628 + if (zhqty_bz.length > 1) {
  2629 + let zhqty_bz_arr = [];
  2630 + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr);
  2631 +
  2632 + if (zhqty_bz_flag) {
  2633 + for (let i = 0; i < zhqty_bz.length; i++) {
  2634 + var vv = zhqty_bz[i];
  2635 + for (let j = 0; j < be * vv['zhqty']; j++) {
  2636 + let index = no_in_arr.findIndex(i => {
  2637 + return vv.goods_id === i.goods_id
  2638 + })
  2639 + if (index > -1) {
  2640 + delete_num++
  2641 + no_in_arr.splice(index, 1)
2380 2642 }
  2643 + }
  2644 + }
  2645 + } else {
  2646 + zhqty_len = 1;
  2647 + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {
  2648 + return o['num'];
  2649 + }));
  2650 + let new_arr = zhqty_bz_arr.filter(ii => {
  2651 + return ii['num'] == min_bz_num;
  2652 + })
  2653 + var vv = new_arr[0];
  2654 + var bz_num = be * new_arr[0].zhqty; //超量倍增
  2655 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量
  2656 + bz_num_ok = bz_num - num;
  2657 + if (bz_num_ok <= 0) {
  2658 + //超量倍增满足,超量倍增就等于倍数
  2659 + bz_num_ok = bz_num;
  2660 + } else {
  2661 + //超量倍增不满足,倍数要减去多出得
  2662 + // be=be-bz_num_ok;
  2663 + if (num % vv.zhqty == 0) {
  2664 + be = num / vv.zhqty;
  2665 + } else {
  2666 + be = Math.floor(num / vv.zhqty)
  2667 + }
  2668 + bz_num_ok = be * vv.zhqty;
2381 2669 }
2382 2670  
2383   - }
2384   -
2385   - //算一下剩余的钱
2386   - if (no_in_arr.length) {
2387   - for (var ii in no_in_arr) {
2388   - var item = no_in_arr[ii];
2389   - aprice += item.price;
  2671 + for (let i = 0; i < zhqty_bz.length; i++) {
  2672 + let item1 = zhqty_bz[i];
  2673 + for (let j = 0; j < be * item1['zhqty']; j++) {
  2674 + let index = no_in_arr.findIndex(i => {
  2675 + return item1.goods_id === i.goods_id
  2676 + })
  2677 + if (index > -1) {
  2678 + // delete_num++
  2679 + no_in_arr.splice(index, 1)
  2680 + }
  2681 + }
  2682 + }
  2683 + aprice += be * aprice;
  2684 + }
  2685 + } else {
  2686 + var vv = zhqty_bz[0];
  2687 + var bz_num = be * vv.zhqty; //超量倍增
  2688 + var num = vv['num'] - vv.zhqty; //购买数量减去超量
  2689 + if (num > 0) {
  2690 + bz_num_ok = bz_num - num;
  2691 + if (bz_num_ok <= 0) {
  2692 + //超量倍增满足,超量倍增就等于倍数
  2693 + bz_num_ok = bz_num;
  2694 + } else {
  2695 + //超量倍增不满足,倍数要减去多出得
  2696 + // be=be-bz_num_ok;
  2697 + if (num % vv.zhqty == 0) {
  2698 + be = num / vv.zhqty;
  2699 + } else {
  2700 + be = Math.floor(num / vv.zhqty)
  2701 + }
  2702 + bz_num_ok = be * vv.zhqty;
  2703 + }
  2704 + for (let j = 0; j < bz_num_ok; j++) {
  2705 + let index = no_in_arr.findIndex(i => {
  2706 + return vv.goods_id === i.goods_id
  2707 + })
  2708 + if (index > -1) {
  2709 + delete_num++
  2710 + no_in_arr.splice(index, 1)
  2711 + }
2390 2712 }
  2713 + } else {
  2714 + zhqty_len = 1;
  2715 + }
2391 2716 }
2392   - all_price = aprice;
2393   - }
2394   - this.data.changing = 0;
2395   - this.setData({
2396   - all_price: all_price,
2397   - need_to_buy: need_to_buy,
2398   - all_num: all_num
2399   - })
2400   -
2401   - if (all_num <= 0) {
2402   - this.data.sele_store = 0; //什么都没有选,就没有选择了门店
  2717 + }
  2718 + if (!zhqty_len) {
  2719 + //多个超量就不用pop了
  2720 + aprice += be * aprice;
  2721 + let pop_num = be * this.data.act.zhbuyqty - delete_num;
  2722 + for (var m = 0; m < pop_num; m++) {
  2723 + no_in_arr.pop();
  2724 + }
  2725 + }
2403 2726 }
2404 2727  
2405   - },
2406   -
2407   - go_cart: function () {
2408   - getApp().goto("/pages/cart/cart/cart");
2409   - },
2410   -
2411   - //获取购物车中,相应的门店已购买的商品
2412   - get_cart_val: function (e) {
2413   - var th = this;
2414   - var user_id = getApp().globalData.user_id;
2415   - var req = {
2416   - user_id: user_id,
2417   - store_id: os.stoid,
2418   - pageSize: 600,
2419   - state: 0,
2420   - prom_type: 7,
2421   - prom_id: this.data.act.id
2422   - };
2423   - //获取购物车列表
2424   - getApp().request.get("/api/weshop/cart/list", {
2425   - data: req,
2426   - success: async function (e) {
2427   - if(ut.ajax_ok(e)) {
2428   - var map = {};
2429   - var mlist = e.data.data.pageData;
2430   - th.data.cart_list = mlist;
2431   - for (let i in mlist) {
2432   - let item = mlist[i];
2433   - if (item.prom_type != 7) continue;
2434   - if (item.prom_id != th.data.act.id) continue;
2435   - if(th.data.def_pick_store && th.data.def_pick_store.pickup_id){
2436   - if(item.pick_id!=th.data.def_pick_store.pickup_id){
2437   - continue;
2438   - }
2439   - }
2440   - map[item.goods_id] = item;
2441   - }
2442   -
2443   - //-- 循环活动的从表 --
2444   - for (let j in th.data.list) {
2445   - let item_j = th.data.list[j];
2446   - item_j.current_price = item_j.shop_price;
2447   -
2448   - var card_price = 0;
2449   - //如果会员有等级价
2450   - if (th.data.card_field) {
2451   - card_price = item_j[th.data.card_field];
2452   - if (card_price > 0) {
2453   - item_j.current_price = card_price;
2454   - }
2455   - }
  2728 + }
2456 2729  
  2730 + //算一下剩余的钱
  2731 + if (no_in_arr.length) {
  2732 + for (var ii in no_in_arr) {
  2733 + var item = no_in_arr[ii];
  2734 + aprice += item.price;
  2735 + }
  2736 + }
  2737 + all_price = aprice;
  2738 + }
  2739 + this.data.changing = 0;
  2740 + this.setData({
  2741 + all_price: all_price,
  2742 + need_to_buy: need_to_buy,
  2743 + all_num: all_num
  2744 + })
  2745 +
  2746 + if (all_num <= 0) {
  2747 + this.data.sele_store = 0; //什么都没有选,就没有选择了门店
  2748 + }
2457 2749  
2458   - if (map[item_j.goods_id]) {
2459   - var cart_num = map[item_j.goods_id].goods_num;
2460   - item_j.num = cart_num;
2461   - item_j.pickup_no = map[item_j.goods_id].pickup_no;
2462   - item_j.pick_id = map[item_j.goods_id].pick_id;
2463   -
2464   - //判断库存是不是存在
2465   - var can_qty=await th.check_pk_store_conut(null,1,item_j,cart_num);
2466   - if(!can_qty){
2467   - item_j.num=0;
2468   - continue;
2469   - }
2470   -
2471   - item_j.cart_num = cart_num;
2472   - item_j.cart_id = map[item_j.goods_id].id;
2473   - if (item_j.buyqty > 0) {
2474   - var g_buy_num = 0;
2475   - var promgoodsbuynum = 0;
2476   - //----获取商品购买数----
2477   - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
2478   - data: {
2479   - store_id: os.stoid,
2480   - user_id: user_id,
2481   - goods_id: item_j.goods_id,
2482   - prom_type: 7,
2483   - prom_id: th.data.act.id
2484   - },
2485   - }).then(res2 => {
2486   - if (res2.data.code == 0) {
2487   - var buy_num_data = res2.data.data;
2488   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
2489   - g_buy_num = buy_num_data.goodsbuynum;
2490   - }
2491   - })
2492   -
2493   - if (item_j.viplimited > 0) {
2494   - var cby = item_j.viplimited - g_buy_num;
2495   - if (cby <= 0) continue; //不能买就continue下一个
2496   - item_j.num = cby > item_j.num ? item_j.num : cby;
2497   - }
2498   - if (item_j.buyqty > 0) {
2499   - var cby = item_j.buyqty - promgoodsbuynum;
2500   - if (cby <= 0) continue; //不能买就continue下一个
2501   - item_j.num = cby > item_j.num ? item_j.num : cby;
2502   - }
2503   - }
2504   -
2505   - item_j.haveAdded = 1;
2506   - item_j.showNum = true;
2507   - }
2508   - }
2509   - th.setData({
2510   - list: th.data.list
2511   - });
2512   - th.re_sum_price();
2513   - }
2514   - }
2515   - });
2516   - },
2517   -
2518   - //滚动加载跟多的时候的计算
2519   - async calc_more(list, func) {
2520   - var th = this;
2521   - var map = {};
2522   - var mlist = this.data.cart_list;
2523   - for (let i in mlist) {
  2750 + },
  2751 +
  2752 + go_cart: function () {
  2753 + getApp().goto("/pages/cart/cart/cart");
  2754 + },
  2755 +
  2756 + //获取购物车中,相应的门店已购买的商品
  2757 + get_cart_val: function (e) {
  2758 + var th = this;
  2759 + var user_id = getApp().globalData.user_id;
  2760 + var req = {
  2761 + user_id: user_id,
  2762 + store_id: os.stoid,
  2763 + pageSize: 600,
  2764 + state: 0,
  2765 + prom_type: 7,
  2766 + prom_id: this.data.act.id
  2767 + };
  2768 + //获取购物车列表
  2769 + getApp().request.get("/api/weshop/cart/list", {
  2770 + data: req,
  2771 + success: async function (e) {
  2772 + if (ut.ajax_ok(e)) {
  2773 + var map = {};
  2774 + var mlist = e.data.data.pageData;
  2775 + th.data.cart_list = mlist;
  2776 + for (let i in mlist) {
2524 2777 let item = mlist[i];
2525 2778 if (item.prom_type != 7) continue;
2526 2779 if (item.prom_id != th.data.act.id) continue;
  2780 + if (th.data.def_pick_store && th.data.def_pick_store.pickup_id) {
  2781 + if (item.pick_id != th.data.def_pick_store.pickup_id) {
  2782 + continue;
  2783 + }
  2784 + }
2527 2785 map[item.goods_id] = item;
2528   - }
  2786 + }
2529 2787  
2530   - for (let j in list) {
2531   - let item_j = list[j];
  2788 + //-- 循环活动的从表 --
  2789 + for (let j in th.data.list) {
  2790 + let item_j = th.data.list[j];
2532 2791 item_j.current_price = item_j.shop_price;
2533 2792  
2534 2793 var card_price = 0;
2535 2794 //如果会员有等级价
2536 2795 if (th.data.card_field) {
2537   - card_price = item_j[th.data.card_field];
2538   - if (card_price > 0) {
2539   - item_j.current_price = card_price;
2540   - }
  2796 + card_price = item_j[th.data.card_field];
  2797 + if (card_price > 0) {
  2798 + item_j.current_price = card_price;
  2799 + }
2541 2800 }
2542 2801  
2543 2802  
2544 2803 if (map[item_j.goods_id]) {
2545   - var cart_num = map[item_j.goods_id].goods_num;
2546   - item_j.num = cart_num;
2547   - item_j.cart_num = cart_num;
2548   - item_j.cart_id = map[item_j.goods_id].id;
2549   - if (item_j.buyqty > 0) {
2550   - var g_buy_num = 0;
2551   - var promgoodsbuynum = 0;
2552   - //----获取商品购买数----
2553   - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
2554   - data: {
2555   - store_id: os.stoid,
2556   - user_id: oo.user_id,
2557   - goods_id: item_j.goods_id,
2558   - prom_type: 7,
2559   - prom_id: th.data.act.id
2560   - },
2561   - }).then(res2 => {
2562   - if (res2.data.code == 0) {
2563   - var buy_num_data = res2.data.data;
2564   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
2565   - g_buy_num = buy_num_data.goodsbuynum;
2566   - }
2567   - })
  2804 + var cart_num = map[item_j.goods_id].goods_num;
  2805 + item_j.num = cart_num;
  2806 + item_j.pickup_no = map[item_j.goods_id].pickup_no;
  2807 + item_j.pick_id = map[item_j.goods_id].pick_id;
  2808 +
  2809 + //判断库存是不是存在
  2810 + var can_qty = await th.check_pk_store_conut(null, 1, item_j, cart_num);
  2811 + if (!can_qty) {
  2812 + item_j.num = 0;
  2813 + continue;
  2814 + }
2568 2815  
2569   - if (item_j.viplimited > 0) {
2570   - var cby = item_j.viplimited - g_buy_num;
2571   - if (cby <= 0) continue; //不能买就continue下一个
2572   - item_j.num = cby > item_j.num ? item_j.num : cby;
2573   - }
2574   - if (item_j.buyqty > 0) {
2575   - var cby = item_j.buyqty - promgoodsbuynum;
2576   - if (cby <= 0) continue; //不能买就continue下一个
2577   - item_j.num = cby > item_j.num ? item_j.num : cby;
2578   - }
  2816 + item_j.cart_num = cart_num;
  2817 + item_j.cart_id = map[item_j.goods_id].id;
  2818 + if (item_j.buyqty > 0) {
  2819 + var g_buy_num = 0;
  2820 + var promgoodsbuynum = 0;
  2821 + //----获取商品购买数----
  2822 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  2823 + data: {
  2824 + store_id: os.stoid,
  2825 + user_id: user_id,
  2826 + goods_id: item_j.goods_id,
  2827 + prom_type: 7,
  2828 + prom_id: th.data.act.id
  2829 + },
  2830 + }).then(res2 => {
  2831 + if (res2.data.code == 0) {
  2832 + var buy_num_data = res2.data.data;
  2833 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  2834 + g_buy_num = buy_num_data.goodsbuynum;
  2835 + }
  2836 + })
  2837 +
  2838 + if (item_j.viplimited > 0) {
  2839 + var cby = item_j.viplimited - g_buy_num;
  2840 + if (cby <= 0) continue; //不能买就continue下一个
  2841 + item_j.num = cby > item_j.num ? item_j.num : cby;
2579 2842 }
  2843 + if (item_j.buyqty > 0) {
  2844 + var cby = item_j.buyqty - promgoodsbuynum;
  2845 + if (cby <= 0) continue; //不能买就continue下一个
  2846 + item_j.num = cby > item_j.num ? item_j.num : cby;
  2847 + }
  2848 + }
2580 2849  
2581   - item_j.haveAdded = 1;
2582   - item_j.showNum = true;
2583   - }
2584   - }
2585   - if (func) func(list)
2586   -
2587   - },
2588   -
2589   - zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr) {
2590   - let zhqty_bz_flag = true;
2591   - for (let i = 0; i < zhqty_bz.length; i++) {
2592   - let item = zhqty_bz[i];
2593   - let bz_num = be * item['zhqty']; //超量倍增
2594   - let num = item['num'] - item['zhqty']; //购买数量减去超量
2595   - if (bz_num > num) {
2596   - zhqty_bz_flag = false;
2597   - zhqty_bz_arr.push(item);
2598   - // zhqty_bz.splice(i,1)
  2850 + item_j.haveAdded = 1;
  2851 + item_j.showNum = true;
2599 2852 }
  2853 + }
  2854 + th.setData({
  2855 + list: th.data.list
  2856 + });
  2857 + th.re_sum_price();
2600 2858 }
2601   - return zhqty_bz_flag;
2602   - },
2603   -
2604   - chect_act_zh_num(func){
2605   - var userInfo = getApp().globalData.userInfo;
2606   - //获取活动信息
2607   - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id;
2608   - getApp().request.get(url, {
2609   - success: function (e) {
2610   - if (e.data.code == 0 && e.data.data) {
2611   - var t_act=e.data.data;
2612   - if(t_act.zh_num>0 && t_act.zh_num<=t_act.zh_buy_num){
2613   - wx.showToast({
2614   - title: '组合活动不足!',
2615   - icon: 'none',
2616   - duration: 2000
2617   - })
2618   - return false;
2619   - }
2620   - func();
  2859 + }
  2860 + });
  2861 + },
  2862 +
  2863 + //滚动加载跟多的时候的计算
  2864 + async calc_more(list, func) {
  2865 + var th = this;
  2866 + var map = {};
  2867 + var mlist = this.data.cart_list;
  2868 + for (let i in mlist) {
  2869 + let item = mlist[i];
  2870 + if (item.prom_type != 7) continue;
  2871 + if (item.prom_id != th.data.act.id) continue;
  2872 + map[item.goods_id] = item;
  2873 + }
2621 2874  
2622   - }else{
2623   - wx.showToast({
2624   - title: '未找到活动!',
2625   - icon: 'none',
2626   - duration: 2000
2627   - })
2628   - }
  2875 + for (let j in list) {
  2876 + let item_j = list[j];
  2877 + item_j.current_price = item_j.shop_price;
2629 2878  
  2879 + var card_price = 0;
  2880 + //如果会员有等级价
  2881 + if (th.data.card_field) {
  2882 + card_price = item_j[th.data.card_field];
  2883 + if (card_price > 0) {
  2884 + item_j.current_price = card_price;
  2885 + }
  2886 + }
  2887 +
  2888 +
  2889 + if (map[item_j.goods_id]) {
  2890 + var cart_num = map[item_j.goods_id].goods_num;
  2891 + item_j.num = cart_num;
  2892 + item_j.cart_num = cart_num;
  2893 + item_j.cart_id = map[item_j.goods_id].id;
  2894 + if (item_j.buyqty > 0) {
  2895 + var g_buy_num = 0;
  2896 + var promgoodsbuynum = 0;
  2897 + //----获取商品购买数----
  2898 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  2899 + data: {
  2900 + store_id: os.stoid,
  2901 + user_id: oo.user_id,
  2902 + goods_id: item_j.goods_id,
  2903 + prom_type: 7,
  2904 + prom_id: th.data.act.id
  2905 + },
  2906 + }).then(res2 => {
  2907 + if (res2.data.code == 0) {
  2908 + var buy_num_data = res2.data.data;
  2909 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  2910 + g_buy_num = buy_num_data.goodsbuynum;
2630 2911 }
2631   - })
  2912 + })
  2913 +
  2914 + if (item_j.viplimited > 0) {
  2915 + var cby = item_j.viplimited - g_buy_num;
  2916 + if (cby <= 0) continue; //不能买就continue下一个
  2917 + item_j.num = cby > item_j.num ? item_j.num : cby;
  2918 + }
  2919 + if (item_j.buyqty > 0) {
  2920 + var cby = item_j.buyqty - promgoodsbuynum;
  2921 + if (cby <= 0) continue; //不能买就continue下一个
  2922 + item_j.num = cby > item_j.num ? item_j.num : cby;
  2923 + }
  2924 + }
  2925 +
  2926 + item_j.haveAdded = 1;
  2927 + item_j.showNum = true;
  2928 + }
  2929 + }
  2930 + if (func) func(list)
  2931 +
  2932 + },
  2933 +
  2934 + zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr) {
  2935 + let zhqty_bz_flag = true;
  2936 + for (let i = 0; i < zhqty_bz.length; i++) {
  2937 + let item = zhqty_bz[i];
  2938 + let bz_num = be * item['zhqty']; //超量倍增
  2939 + let num = item['num'] - item['zhqty']; //购买数量减去超量
  2940 + if (bz_num > num) {
  2941 + zhqty_bz_flag = false;
  2942 + zhqty_bz_arr.push(item);
  2943 + // zhqty_bz.splice(i,1)
  2944 + }
2632 2945 }
  2946 + return zhqty_bz_flag;
  2947 + },
  2948 +
  2949 + chect_act_zh_num(func) {
  2950 + var userInfo = getApp().globalData.userInfo;
  2951 + //获取活动信息
  2952 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id;
  2953 + getApp().request.get(url, {
  2954 + success: function (e) {
  2955 + if (e.data.code == 0 && e.data.data) {
  2956 + var t_act = e.data.data;
  2957 + if (t_act.zh_num > 0 && t_act.zh_num <= t_act.zh_buy_num) {
  2958 + wx.showToast({
  2959 + title: '组合活动不足!',
  2960 + icon: 'none',
  2961 + duration: 2000
  2962 + })
  2963 + return false;
  2964 + }
  2965 + func();
  2966 +
  2967 + } else {
  2968 + wx.showToast({
  2969 + title: '未找到活动!',
  2970 + icon: 'none',
  2971 + duration: 2000
  2972 + })
  2973 + }
  2974 +
  2975 + }
  2976 + })
  2977 + }
2633 2978  
2634 2979  
2635 2980  
... ...
packageB/pages/zuhegou/index/index.wxss
... ... @@ -194,7 +194,7 @@ page {
194 194  
195 195 .poster {
196 196 width: 650rpx;
197   - height: 843rpx;
  197 + height: 943rpx;
198 198 border-radius: 16rpx;
199 199 margin: 0 auto;
200 200 }
... ...