Commit 92a480dcd20b409a320c6edf8b21cda6c3986071
1 parent
37c0bd4e
自定义分类
Showing
2 changed files
with
203 additions
and
47 deletions
pages/goods/categoryList/categoryList.js
@@ -173,7 +173,7 @@ Page({ | @@ -173,7 +173,7 @@ Page({ | ||
173 | if (0 != this.data.cat_id) { | 173 | if (0 != this.data.cat_id) { |
174 | url += "&cat_id=" + this.data.cat_id; | 174 | url += "&cat_id=" + this.data.cat_id; |
175 | } | 175 | } |
176 | - | 176 | + |
177 | // this.requestGoodsList(url); | 177 | // this.requestGoodsList(url); |
178 | getApp().getConfig2(function (rs) { | 178 | getApp().getConfig2(function (rs) { |
179 | //计算等级价相关 | 179 | //计算等级价相关 |
@@ -202,9 +202,9 @@ Page({ | @@ -202,9 +202,9 @@ Page({ | ||
202 | //调用底部导航 | 202 | //调用底部导航 |
203 | //t.editTabBar(that,getApp().globalData.setting.stoid,getApp().globalData.url); | 203 | //t.editTabBar(that,getApp().globalData.setting.stoid,getApp().globalData.url); |
204 | //this.requestFirstCategoris(); | 204 | //this.requestFirstCategoris(); |
205 | - setTimeout(function () { | 205 | + // setTimeout(function () { |
206 | //if (getApp().globalData.user_id) getApp().requestCardNum(that); | 206 | //if (getApp().globalData.user_id) getApp().requestCardNum(that); |
207 | - }, 500) | 207 | + // }, 500) |
208 | 208 | ||
209 | if (this.data.load) return false; | 209 | if (this.data.load) return false; |
210 | 210 | ||
@@ -228,11 +228,17 @@ Page({ | @@ -228,11 +228,17 @@ Page({ | ||
228 | if (e.categoryset.indexOf("," + 2 + ",") != -1) { that.setData({ is_show_gb: 1 }); } | 228 | if (e.categoryset.indexOf("," + 2 + ",") != -1) { that.setData({ is_show_gb: 1 }); } |
229 | if (e.categoryset.indexOf("," + 4 + ",") != -1) { that.setData({ is_show_xm: 1 }); } | 229 | if (e.categoryset.indexOf("," + 4 + ",") != -1) { that.setData({ is_show_xm: 1 }); } |
230 | that.setData({ store_config: e, is_do: 1 }); | 230 | that.setData({ store_config: e, is_do: 1 }); |
231 | - | 231 | + //请求自定义分类数据 |
232 | + // that.requestFirstCategoris_diy() | ||
232 | //---有勾品类--- | 233 | //---有勾品类--- |
233 | if (that.data.is_show_pl) { | 234 | if (that.data.is_show_pl) { |
234 | - that.requestFirstCategoris(); | 235 | + if (is_newsgoodstype==1) { //如果是风格2,则请求自定义分类 |
236 | + that.requestFirstCategoris_diy(); | ||
237 | + }else{ | ||
238 | + that.requestFirstCategoris(); | ||
239 | + } | ||
235 | } | 240 | } |
241 | + | ||
236 | if (that.data.is_show_xm != 1 && that.data.is_show_gb != 1 && that.data.is_show_pp != 1 && that.data.is_show_pl) { | 242 | if (that.data.is_show_xm != 1 && that.data.is_show_gb != 1 && that.data.is_show_pp != 1 && that.data.is_show_pl) { |
237 | that.data.pl_timer = setInterval(function () { | 243 | that.data.pl_timer = setInterval(function () { |
238 | if (that.data.one_level_classify.length > 0) { | 244 | if (that.data.one_level_classify.length > 0) { |
@@ -300,17 +306,159 @@ Page({ | @@ -300,17 +306,159 @@ Page({ | ||
300 | 306 | ||
301 | }, | 307 | }, |
302 | 308 | ||
309 | + | ||
310 | + //---------------自定义分类请求接口,数据进行拼装------------------ | ||
311 | + requestFirstCategoris_diy: function () { | ||
312 | + var t = this; | ||
313 | + let that=this; | ||
314 | + e.get("/api/weshop/customizeCategory/page", { | ||
315 | + data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 }, | ||
316 | + success: function (e) { | ||
317 | + | ||
318 | + if (e.data.code !=0) { | ||
319 | + that.requestFirstCategoris(); | ||
320 | + return | ||
321 | + } | ||
322 | + var arr = new Array(); | ||
323 | + var dda = e.data.data.pageData; | ||
324 | + if (dda != null && dda != "" && dda != undefined) { | ||
325 | + t.setData({ is_pl_time: 1 }); | ||
326 | + } | ||
327 | + | ||
328 | + if (t.data.is_used_share == 0) {//is_used_share控制新旧版本 | ||
329 | + for (var i = 0; i < dda.length; i++) { | ||
330 | + if (parseInt(dda[i].level) == 1) { | ||
331 | + var item = { items: dda[i], array: new Array(),diy_class:1 } //增加一个diy_class 标识表示为自定义分类 | ||
332 | + arr.push(item); | ||
333 | + } else if (parseInt(dda[i].level) == 2) { | ||
334 | + for (var j = 0; j < arr.length; j++) { | ||
335 | + if (parseInt(dda[i].parent_id) == parseInt(arr[j].items.id)) { | ||
336 | + arr[j].array.push(dda[i]); break; | ||
337 | + } | ||
338 | + } | ||
339 | + } else { | ||
340 | + continue; | ||
341 | + } | ||
342 | + } | ||
343 | + t.setData({ catelist: arr }); | ||
344 | + } else if (t.data.is_used_share == 1 || t.data.is_used_share == 2) { | ||
345 | + | ||
346 | + //---------新的版本---------------- | ||
347 | + for (var i = 0; i < dda.length; i++) { | ||
348 | + //--要排队的元素--- | ||
349 | + var need_to_insert = dda[i]; | ||
350 | + if (parseInt(need_to_insert.level) == 1) { | ||
351 | + //判断数组的长度看看有没有2级菜单 | ||
352 | + var item = { items: need_to_insert, array: new Array(),diy_class:1 } //增加一个diy_class 标识表示为自定义分类 | ||
353 | + arr.push(item); | ||
354 | + } else if (parseInt(need_to_insert.level) == 2) { | ||
355 | + | ||
356 | + for (var j = 0; j < arr.length; j++) { | ||
357 | + | ||
358 | + | ||
359 | + if (parseInt(need_to_insert.parent_id) == parseInt(arr[j].items.id)) { | ||
360 | + | ||
361 | + var ishaf_two = { items: need_to_insert, arrays: new Array(),diy_class:1 }; | ||
362 | + arr[j].array.push(ishaf_two); arr.ishaf_two = 0; | ||
363 | + } | ||
364 | + } | ||
365 | + } else if (parseInt(need_to_insert.level) == 3) {//判断有3级的时候在二级里添加一个数组 | ||
366 | + | ||
367 | + for (var dd = 0; dd < arr.length; dd++) { | ||
368 | + for (var pp = 0; pp < arr[dd].array.length; pp++) { | ||
369 | + //--判断二级-- | ||
370 | + var two_item = arr[dd].array; | ||
371 | + | ||
372 | + if (two_item && two_item.length > 0) { | ||
373 | + | ||
374 | + if (parseInt(need_to_insert.parent_id) == parseInt(two_item[pp].items.id)) { | ||
375 | + | ||
376 | + arr[dd].array[pp].arrays.push(need_to_insert); arr.ishaf_three = 0; break; | ||
377 | + } | ||
378 | + } | ||
379 | + } | ||
380 | + } | ||
381 | + } | ||
382 | + } | ||
383 | + for (var i = 0; i < arr.length; i++) { | ||
384 | + arr[i]['items']['is_show_class'] = false; | ||
385 | + var mobile_name = arr[i]['items']['name'] | ||
386 | + //if(mobile_name.length > 4){ | ||
387 | + //arr[i]['items']['name'] = mobile_name.substring(0, 4) | ||
388 | + //} | ||
389 | + } | ||
390 | + if (t.data.is_show_pl == 1 && t.data.is_show_pp != 1 && t.data.is_show_gb != 1) { | ||
391 | + arr[0]['items']['is_show_class'] = true; | ||
392 | + } | ||
393 | + //console.log(arr) | ||
394 | + t.setData({ one_level_classify: arr }); | ||
395 | + //---有勾品类--- | ||
396 | + // if (that.data.is_show_pl) { | ||
397 | + that.requestFirstCategoris(); | ||
398 | + // } | ||
399 | + if (t.data.select_classify_on == 0) { | ||
400 | + var item = arr[0]; | ||
401 | + | ||
402 | + var name = item.items.name; | ||
403 | + var cid = item.items.id; | ||
404 | + var arr = item.array; | ||
405 | + | ||
406 | + console.log("11111", item); | ||
407 | + console.log(arr.length); | ||
408 | + | ||
409 | + if (arr.length == 0) { | ||
410 | + t.setData({ | ||
411 | + select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, | ||
412 | + goodslist: null, is_level_three: 0 | ||
413 | + }); | ||
414 | + | ||
415 | + if (t.data.is_used_share == 2) | ||
416 | + t.style(t.data.stylePage, cid) | ||
417 | + | ||
418 | + return false; | ||
419 | + } | ||
420 | + if (arr.length != 0) { | ||
421 | + var is_lev_thr = 0 | ||
422 | + for (var i = 0; i < arr.length; i++) { | ||
423 | + if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } | ||
424 | + } | ||
425 | + t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); | ||
426 | + | ||
427 | + if (this.data.is_level_three != 1) { | ||
428 | + t.setData({ index: 0, classify_name: name, goodslist: arr }); | ||
429 | + // t.setData({ index: 0, classify_name: name }); | ||
430 | + } else { | ||
431 | + // t.setData({ index: 0}); | ||
432 | + t.setData({ index: 0, goodslist: arr }); | ||
433 | + } | ||
434 | + } | ||
435 | + | ||
436 | + if (t.data.is_used_share == 2){ | ||
437 | + t.style(t.data.stylePage, cid) | ||
438 | + } | ||
439 | + | ||
440 | + } | ||
441 | + | ||
442 | + } | ||
443 | + } | ||
444 | + }); | ||
445 | + }, | ||
446 | + | ||
303 | //---------------分类请求接口,数据进行拼装------------------ | 447 | //---------------分类请求接口,数据进行拼装------------------ |
304 | requestFirstCategoris: function () { | 448 | requestFirstCategoris: function () { |
449 | + | ||
305 | var t = this; | 450 | var t = this; |
306 | e.get("/api/weshop/goodscategory/page", { | 451 | e.get("/api/weshop/goodscategory/page", { |
307 | data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 }, | 452 | data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 }, |
308 | success: function (e) { | 453 | success: function (e) { |
454 | + if (e.data.code !=0) { | ||
455 | + return | ||
456 | + } | ||
309 | var arr = new Array(); | 457 | var arr = new Array(); |
310 | var dda = e.data.data.pageData; | 458 | var dda = e.data.data.pageData; |
311 | if (dda != null && dda != "" && dda != undefined) { | 459 | if (dda != null && dda != "" && dda != undefined) { |
312 | t.setData({ is_pl_time: 1 }); | 460 | t.setData({ is_pl_time: 1 }); |
313 | - } | 461 | + } |
314 | 462 | ||
315 | if (t.data.is_used_share == 0) {//is_used_share控制新旧版本 | 463 | if (t.data.is_used_share == 0) {//is_used_share控制新旧版本 |
316 | for (var i = 0; i < dda.length; i++) { | 464 | for (var i = 0; i < dda.length; i++) { |
@@ -377,46 +525,53 @@ Page({ | @@ -377,46 +525,53 @@ Page({ | ||
377 | arr[0]['items']['is_show_class'] = true; | 525 | arr[0]['items']['is_show_class'] = true; |
378 | } | 526 | } |
379 | //console.log(arr) | 527 | //console.log(arr) |
380 | - t.setData({ one_level_classify: arr }); | ||
381 | - if (t.data.select_classify_on == 0) { | ||
382 | - var item = arr[0]; | ||
383 | - | ||
384 | - var name = item.items.name; | ||
385 | - var cid = item.items.id; | ||
386 | - var arr = item.array; | ||
387 | - | ||
388 | - console.log("11111", item); | ||
389 | - console.log(arr.length); | ||
390 | - | ||
391 | - if (arr.length == 0) { | ||
392 | - t.setData({ | ||
393 | - select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, | ||
394 | - goodslist: null, is_level_three: 0 | ||
395 | - }); | ||
396 | - | ||
397 | - if (t.data.is_used_share == 2) | ||
398 | - t.style(t.data.stylePage, cid) | ||
399 | - | ||
400 | - return false; | ||
401 | - } | ||
402 | - if (arr.length != 0) { | ||
403 | - var is_lev_thr = 0 | ||
404 | - for (var i = 0; i < arr.length; i++) { | ||
405 | - if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } | 528 | + if (t.data.one_level_classify.length>0) { |
529 | + let one_level_classify = t.data.one_level_classify; | ||
530 | + one_level_classify.push(...arr) | ||
531 | + t.setData({ one_level_classify: one_level_classify }); | ||
532 | + }else{ | ||
533 | + t.setData({ one_level_classify: arr }); | ||
534 | + if (t.data.select_classify_on == 0) { | ||
535 | + var item = arr[0]; | ||
536 | + | ||
537 | + var name = item.items.name; | ||
538 | + var cid = item.items.id; | ||
539 | + var arr = item.array; | ||
540 | + | ||
541 | + console.log("11111", item); | ||
542 | + console.log(arr.length); | ||
543 | + | ||
544 | + if (arr.length == 0) { | ||
545 | + t.setData({ | ||
546 | + select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, | ||
547 | + goodslist: null, is_level_three: 0 | ||
548 | + }); | ||
549 | + | ||
550 | + if (t.data.is_used_share == 2) | ||
551 | + t.style(t.data.stylePage, cid) | ||
552 | + | ||
553 | + return false; | ||
554 | + } | ||
555 | + if (arr.length != 0) { | ||
556 | + var is_lev_thr = 0 | ||
557 | + for (var i = 0; i < arr.length; i++) { | ||
558 | + if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } | ||
559 | + } | ||
560 | + t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); | ||
561 | + | ||
562 | + if (this.data.is_level_three != 1) { | ||
563 | + t.setData({ index: 0, classify_name: name, goodslist: arr }); | ||
564 | + } else { | ||
565 | + t.setData({ index: 0, goodslist: arr }); | ||
566 | + } | ||
406 | } | 567 | } |
407 | - t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); | 568 | + if (t.data.is_used_share == 2){ |
408 | 569 | ||
409 | - if (this.data.is_level_three != 1) { | ||
410 | - t.setData({ index: 0, classify_name: name, goodslist: arr }); | ||
411 | - } else { | ||
412 | - t.setData({ index: 0, goodslist: arr }); | 570 | + t.style(t.data.stylePage, cid) |
413 | } | 571 | } |
572 | + | ||
414 | } | 573 | } |
415 | - | ||
416 | - t.style(t.data.stylePage, cid) | ||
417 | - | ||
418 | } | 574 | } |
419 | - | ||
420 | } | 575 | } |
421 | } | 576 | } |
422 | }); | 577 | }); |
@@ -914,6 +1069,7 @@ Page({ | @@ -914,6 +1069,7 @@ Page({ | ||
914 | requestGoodsList: function (t) { | 1069 | requestGoodsList: function (t) { |
915 | var that = this; | 1070 | var that = this; |
916 | that.data.requestUrl = t; | 1071 | that.data.requestUrl = t; |
1072 | + console.error(666666); | ||
917 | e.get("/api/weshop/goods/page?1=1", { | 1073 | e.get("/api/weshop/goods/page?1=1", { |
918 | data: { page: that.data.stylePage, cat_id: that.data.cat_id, parent_id: 0, orderField: 'sort', orderType: 'asc', is_mainshow: 1, isonsale: 1, store_id: oo.stoid, is_recommend: 1 }, | 1074 | data: { page: that.data.stylePage, cat_id: that.data.cat_id, parent_id: 0, orderField: 'sort', orderType: 'asc', is_mainshow: 1, isonsale: 1, store_id: oo.stoid, is_recommend: 1 }, |
919 | success: function (data) { | 1075 | success: function (data) { |
pages/goods/categoryList/categoryList.wxml
@@ -306,9 +306,9 @@ | @@ -306,9 +306,9 @@ | ||
306 | </swiper> | 306 | </swiper> |
307 | </view> | 307 | </view> |
308 | <view class="my-container"> | 308 | <view class="my-container"> |
309 | - <view class="classify_name fs28 flex-space-between ai-center" data-pid="0" data-cid="{{cat_id}}" bindtap='select_more'> | 309 | + <view class="classify_name fs28 flex-space-between ai-center" data-pid="0" data-cid="{{cat_id}}" bindtap="{{(one_level_classify[select_classify_on].diy_class) ? '' :'select_more'}} "> |
310 | <view class="classify_title ellipsis-1">{{classify_name}}</view> | 310 | <view class="classify_title ellipsis-1">{{classify_name}}</view> |
311 | - <view class="flex select_more ai-center"> | 311 | + <view class="flex select_more ai-center" wx:if="{{!(one_level_classify[select_classify_on].diy_class)}}"> |
312 | <view class="red-co fs24">更多</view> | 312 | <view class="red-co fs24">更多</view> |
313 | <view class="bg_right width_height" style="margin-top: 0;"></view> | 313 | <view class="bg_right width_height" style="margin-top: 0;"></view> |
314 | </view> | 314 | </view> |
@@ -340,10 +340,10 @@ | @@ -340,10 +340,10 @@ | ||
340 | <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds"> | 340 | <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds"> |
341 | <view> | 341 | <view> |
342 | 342 | ||
343 | - <view class="classify_name fs28 flex-space-between ai-center" data-pid="{{goods.items.parent_id}}" data-cid="{{goods.items.id}}" bindtap='select_more'> | 343 | + <view class="classify_name fs28 flex-space-between ai-center" data-pid="{{goods.items.parent_id}}" data-cid="{{goods.items.id}}" bindtap="{{one_level_classify[select_classify_on][diy_class] ? '' :'select_more'}} "> |
344 | 344 | ||
345 | <view class="classify_title ellipsis-1" style="margin-left: 25rpx;">{{goods.items.name}}</view> | 345 | <view class="classify_title ellipsis-1" style="margin-left: 25rpx;">{{goods.items.name}}</view> |
346 | - <view class="flex select_more ai-center"> | 346 | + <view class="flex select_more ai-center" wx:if="{{!one_level_classify[select_classify_on].diy_class}}"> |
347 | <view class="red-co fs24">更多</view> | 347 | <view class="red-co fs24">更多</view> |
348 | <view class="bg_right width_height" style="margin-top: 0;"></view> | 348 | <view class="bg_right width_height" style="margin-top: 0;"></view> |
349 | </view> | 349 | </view> |
@@ -351,7 +351,7 @@ | @@ -351,7 +351,7 @@ | ||
351 | 351 | ||
352 | <block wx:if="{{goods.arrays.length>0}}"> | 352 | <block wx:if="{{goods.arrays.length>0}}"> |
353 | <view class="classify_content-frame flex-wrap" style="margin-left: 50rpx;"> | 353 | <view class="classify_content-frame flex-wrap" style="margin-left: 50rpx;"> |
354 | - <view class="type_img_frame t-c ib" data-cid="{{item.id}}" data-pid="three" wx:for="{{goods.arrays}}" wx:for-index="index" wx:for-item="item" bindtap="go_cate"> | 354 | + <view class="type_img_frame t-c ib" data-cid="{{item.id}}" data-pid="three" wx:for="{{goods.arrays}}" data-url="{{item.weapp_path_url}}" wx:for-index="index" wx:for-item="item" bindtap="{{goods.diy_class ? 'go_ad':'go_cate'}}"> |
355 | <image class=" type_img" src="{{item.icoimg==null||item.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image> | 355 | <image class=" type_img" src="{{item.icoimg==null||item.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image> |
356 | <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.name}}</view> | 356 | <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.name}}</view> |
357 | </view> | 357 | </view> |
@@ -365,7 +365,7 @@ | @@ -365,7 +365,7 @@ | ||
365 | 365 | ||
366 | <block wx:else> | 366 | <block wx:else> |
367 | <view class="classify_content-frame flex-wrap" style="margin-left: 50rpx;"> | 367 | <view class="classify_content-frame flex-wrap" style="margin-left: 50rpx;"> |
368 | - <view class="type_img_frame t-c ib" data-cid="{{item.items.id}}" data-pid="three" wx:for="{{goodslist}}" wx:for-index="index" wx:for-item="item" bindtap="go_cate"> | 368 | + <view class="type_img_frame t-c ib" data-cid="{{item.items.id}}" data-pid="three" wx:for="{{goodslist}}" data-url="{{item.items.weapp_path_url}}" wx:for-index="index" wx:for-item="item" bindtap="{{item.diy_class ? 'go_ad':'go_cate'}}"> |
369 | <image class=" type_img" src="{{item.items.icoimg==null||item.items.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.items.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image> | 369 | <image class=" type_img" src="{{item.items.icoimg==null||item.items.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.items.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image> |
370 | <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.items.name}}</view> | 370 | <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.items.name}}</view> |
371 | </view> | 371 | </view> |