Commit 92a480dcd20b409a320c6edf8b21cda6c3986071

Authored by 前端开发-罗建龙
1 parent 37c0bd4e

自定义分类

pages/goods/categoryList/categoryList.js
... ... @@ -173,7 +173,7 @@ Page({
173 173 if (0 != this.data.cat_id) {
174 174 url += "&cat_id=" + this.data.cat_id;
175 175 }
176   -
  176 +
177 177 // this.requestGoodsList(url);
178 178 getApp().getConfig2(function (rs) {
179 179 //计算等级价相关
... ... @@ -202,9 +202,9 @@ Page({
202 202 //调用底部导航
203 203 //t.editTabBar(that,getApp().globalData.setting.stoid,getApp().globalData.url);
204 204 //this.requestFirstCategoris();
205   - setTimeout(function () {
  205 + // setTimeout(function () {
206 206 //if (getApp().globalData.user_id) getApp().requestCardNum(that);
207   - }, 500)
  207 + // }, 500)
208 208  
209 209 if (this.data.load) return false;
210 210  
... ... @@ -228,11 +228,17 @@ Page({
228 228 if (e.categoryset.indexOf("," + 2 + ",") != -1) { that.setData({ is_show_gb: 1 }); }
229 229 if (e.categoryset.indexOf("," + 4 + ",") != -1) { that.setData({ is_show_xm: 1 }); }
230 230 that.setData({ store_config: e, is_do: 1 });
231   -
  231 + //请求自定义分类数据
  232 + // that.requestFirstCategoris_diy()
232 233 //---有勾品类---
233 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 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 243 that.data.pl_timer = setInterval(function () {
238 244 if (that.data.one_level_classify.length > 0) {
... ... @@ -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 448 requestFirstCategoris: function () {
  449 +
305 450 var t = this;
306 451 e.get("/api/weshop/goodscategory/page", {
307 452 data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 },
308 453 success: function (e) {
  454 + if (e.data.code !=0) {
  455 + return
  456 + }
309 457 var arr = new Array();
310 458 var dda = e.data.data.pageData;
311 459 if (dda != null && dda != "" && dda != undefined) {
312 460 t.setData({ is_pl_time: 1 });
313   - }
  461 + }
314 462  
315 463 if (t.data.is_used_share == 0) {//is_used_share控制新旧版本
316 464 for (var i = 0; i < dda.length; i++) {
... ... @@ -377,46 +525,53 @@ Page({
377 525 arr[0]['items']['is_show_class'] = true;
378 526 }
379 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 1069 requestGoodsList: function (t) {
915 1070 var that = this;
916 1071 that.data.requestUrl = t;
  1072 + console.error(666666);
917 1073 e.get("/api/weshop/goods/page?1=1", {
918 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 1075 success: function (data) {
... ...
pages/goods/categoryList/categoryList.wxml
... ... @@ -306,9 +306,9 @@
306 306 </swiper>
307 307 </view>
308 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 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 312 <view class="red-co fs24">更多</view>
313 313 <view class="bg_right width_height" style="margin-top: 0;"></view>
314 314 </view>
... ... @@ -340,10 +340,10 @@
340 340 <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds">
341 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 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 347 <view class="red-co fs24">更多</view>
348 348 <view class="bg_right width_height" style="margin-top: 0;"></view>
349 349 </view>
... ... @@ -351,7 +351,7 @@
351 351  
352 352 <block wx:if="{{goods.arrays.length>0}}">
353 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 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 356 <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.name}}</view>
357 357 </view>
... ... @@ -365,7 +365,7 @@
365 365  
366 366 <block wx:else>
367 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 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 370 <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.items.name}}</view>
371 371 </view>
... ...