Commit 92a480dcd20b409a320c6edf8b21cda6c3986071

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

自定义分类

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>