zhaoxiaohai 4 lat temu
rodzic
commit
ef1c86402d

+ 9 - 0
components/My_VerticalBox/index.js

@@ -15,6 +15,15 @@ Component({
             value: 'home'
         }
     },
+    lifetimes: {
+        attached: function () {
+            // 在组件实例进入页面节点树时执行
+            console.log(this.data.list)
+        },
+        detached: function () {
+            // 在组件实例被从页面节点树移除时执行
+        },
+    },
 
     /**
      * 组件的初始数据

+ 4 - 3
components/My_VerticalBox/index.wxml

@@ -8,8 +8,9 @@
 
 <view class="VerticalBox zhanhui" wx:else>
     <view class="VerticalBox-item" wx:for="{{list}}">
-        <image class="VerticalBox-image" src="{{item.attinfos[0].fobsurl}}" mode="aspectFill"></image>
-        <view class="VerticalBox-title  u-line-1">{{item.fprodname!='null'?'暂无':item.fprodname}}</view>
-        <view class="VerticalBox-explain  u-line-1">{{item.fprodclassname!='null'?'暂无':item.fprodclassname}}</view>
+        <image wx:if="{{item.attinfos[0].fobsurl}}" class="VerticalBox-image" src="{{item.attinfos[0].fobsurl}}" mode="aspectFill"></image>
+        <image wx:else class="VerticalBox-image" src="/static/userImage.png" mode="aspectFill"></image>
+        <view class="VerticalBox-title  u-line-1">{{(item.fprodname==null)?'暂无':item.fprodname}}</view>
+        <view class="VerticalBox-explain  u-line-1">{{(item.fprodclassname==null)?'暂无':item.fprodclassname}}</view>
     </view>
 </view>

+ 98 - 38
pages/tradeShow/index.js

@@ -12,14 +12,20 @@ Page({
         //轮播图列表
         swiperBannerList: [],
         liveList: [], //云展会直播大厅
+        showLiveList: [], //显示直播列表
+        liveClassifyList: [], //直播分类
+        liveSelectClassify: '全部', //直播分类选择
+
         agentList: [], //热门展商
+        showAgentList: [], //显示热门展商
+        agentClassifyList: [], //热门展商分类
+        agentSelectClassify: '全部', //展商分类选择
+
         prodList: [], //热门展品
         fagentcount: null, //展示商
         flivecount: null, //正在直播
         ftotalcustcount: null, //观众总数
         showDownIndex: -1, //显示下拉下标
-        liveSelectClassify: '全部', //直播分类选择
-        agentSelectClassify: '全部', //展商分类选择
     },
 
     /**
@@ -42,9 +48,13 @@ Page({
                     duration: 5000
                 })
             } else {
-                const liveList = handleList.twoDimensionalArr(res.data.tlivelist, 4, 10);
+                let data = JSON.parse(JSON.stringify(res.data.tlivelist));
+                const ClassifyList = this.setClassifyList(data);
+                const liveList = handleList.twoDimensionalArr(data, 4, 10);
                 this.setData({
-                    liveList,
+                    liveList: res.data.tlivelist,
+                    showLiveList: liveList,
+                    liveClassifyList: ClassifyList,
                     fagentcount: res.data.fagentcount,
                     flivecount: res.data.flivecount,
                     ftotalcustcount: res.data.ftotalcustcount
@@ -61,9 +71,13 @@ Page({
                     duration: 5000
                 })
             } else {
-                const agentList = handleList.twoDimensionalArr(res.data, 4, 10);
+                data = JSON.parse(JSON.stringify(res.data));
+                const classifyList = this.setClassifyList(data);
+                const List = handleList.twoDimensionalArr(data, 4, 10);
                 this.setData({
-                    agentList
+                    agentList: res.data,
+                    showAgentList: List,
+                    agentClassifyList: classifyList
                 })
             }
         });
@@ -80,45 +94,76 @@ Page({
                 const prodList = handleList.twoDimensionalArr(res.data, 6, 10);
                 this.setData({
                     prodList,
-
                 })
             }
         });
-        /* 分类 */
-        _Http.basic({
-            "classname": "publicmethod.homepage.homepage",
-            "method": "query_typeselectList",
-            "content": {}
-        }).then(res => {
-            if (res.msg != '成功') {
-                wx.showToast({
-                    title: '分类加载失败,请重新进入页面',
-                    icon: "error",
-                    duration: 5000
-                })
-            } else {
-                res.data.unshift({
-                    ftype: "全部"
-                });
-                console.log(res.data)
-                this.setData({
-                    typeselectList: res.data
-                })
-            }
-        })
         /* 获取轮播图 */
         const bannerList = getApp().globalData.bannerDataList.filter(value => value.flocation == 'activity_head');
         this.setData({
             swiperBannerList: bannerList[0].banner
         });
     },
-    /* 数据展示 */
-
+    /* 分类 */
+    setClassifyList(data) {
+        let List = [];
+        for (let i = 0; i < data.length; i++) {
+            const cur = data[i].flocationclass
+            if (cur != null && cur != undefined && cur != '' && cur != [] && cur != {}) List.push(cur)
+        };
+        let arr = List.reduce((pre, cur) => {
+            if (!pre.includes(cur)) {
+                return pre.concat(cur)
+            } else {
+                return pre
+            }
+        }, [])
+        arr.unshift('全部');
+        return arr
+    },
+    /* 直播大厅搜索 */
     searchBlur(e) {
         const {
             value
         } = e.detail;
-        console.log(value)
+        const va = value.trim();
+        let data = JSON.parse(JSON.stringify(this.data.liveList));
+        if (this.data.liveSelectClassify == '全部') {
+            if (va == '') {
+                this.setData({
+                    showLiveList: handleList.twoDimensionalArr(data, 4, 10)
+                })
+            } else {
+                let arrList = data.filter(item => {
+                    let arr = [];
+                    for (let i in item) {
+                        if (item[i] != null || item[i] != undefined) arr.push(item[i])
+                    }
+                    if (arr.includes(va)) {
+                        return item
+                    }
+                });
+                this.setData({
+                    showLiveList: handleList.twoDimensionalArr(arrList, 4, 10)
+                })
+            }
+        } else {
+            let cList = data.filter(item => item.flocationclass == this.data.liveSelectClassify),
+                list = cList;
+            if (va != '') {
+                list = cList.filter(item => {
+                    let arr = [];
+                    for (let i in item) {
+                        if (item[i] != null || item[i] != undefined) arr.push(item[i])
+                    }
+                    if (arr.includes(va)) {
+                        return item
+                    }
+                })
+            }
+            this.setData({
+                showLiveList: handleList.twoDimensionalArr(list, 4, 10)
+            })
+        }
     },
     /* 显示下拉 */
     showPullDown(e) {
@@ -143,20 +188,35 @@ Page({
         const {
             name,
             index
-        } = e.target.dataset
-        console.log(index, name)
+        } = e.target.dataset;
         if (this.data.showDownIndex == 1) {
+            let list = JSON.parse(JSON.stringify(this.data.liveList));
+            if (name == '全部') {
+                var List = list;
+            } else {
+                var List = list.filter(value => value.flocationclass == name);
+            };
+            var liveList = handleList.twoDimensionalArr(List, 4, 10);
             //直播大厅
             this.setData({
                 showDownIndex: -1,
-                liveSelectClassify: name
-            })
+                liveSelectClassify: name,
+                showLiveList: liveList
+            });
         } else {
             //热门展商
+            let list = JSON.parse(JSON.stringify(this.data.agentList));
+            if (name == '全部') {
+                var List = list;
+            } else {
+                var List = list.filter(value => value.flocationclass == name);
+            };
+            var agentList = handleList.twoDimensionalArr(List, 4, 10);
             this.setData({
                 showDownIndex: -1,
-                agentSelectClassify: name
-            })
+                agentSelectClassify: name,
+                showAgentList: agentList
+            });
         }
     },
 

+ 5 - 5
pages/tradeShow/index.wxml

@@ -27,11 +27,11 @@
         <van-transition show="{{showDownIndex==1}}" class="pattern-item-box" style="z-index: 999;" name="fade">
             <view class="pattern-item" bindtap="modeSelect">
                 <text class="square"></text>
-                <view wx:for="{{typeselectList}}" class="{{liveSelectClassify==item.ftype?'SelectClassify':''}}" data-index="{{index}}" data-name="{{item.ftype}}">{{item.ftype}}</view>
+                <view wx:for="{{liveClassifyList}}" class="{{liveSelectClassify==item?'SelectClassify':''}}" data-index="{{index}}" data-name="{{item}}">{{item}}</view>
             </view>
         </van-transition>
         <view class="liveSearch">
-            <input class="liveSearch-input" type="text" confirm-type='search' placeholder="搜索直播间" bindblur="searchBlur" />
+            <input class="liveSearch-input" type="text" confirm-type='search' placeholder="搜索直播间" bindinput="searchBlur" />
             <view class="liveSearch-icon">
                 <image src="/static/icon-09.png" style="width: 20rpx; height: 20rpx; margin-bottom:6rpx;" mode="aspectFit"></image>
             </view>
@@ -41,7 +41,7 @@
     <image slot="display-box-img" class="display-title_image" src="/static/icon-06.png" mode="aspectFit"></image>
     <!-- 主要展示 -->
     <swiper class="exhibition-swiper" indicator-dots indicator-active-color="#4DC2D4" indicator-color="#D8D8D8">
-        <swiper-item wx:for="{{liveList}}" class="exhibition-swiper-item">
+        <swiper-item wx:for="{{showLiveList}}" class="exhibition-swiper-item">
             <view wx:for="{{item}}" class="exhibition">
                 <image class="exhibition-img" src="{{item.channelcoverimageurl}}" mode="aspectFill"></image>
                 <view class="exhibition-bottom">
@@ -66,7 +66,7 @@
         <van-transition show="{{showDownIndex==2}}" class="pattern-item-box" style="z-index: 999;" name="fade">
             <view class="pattern-item" bindtap="modeSelect">
                 <text class="square"></text>
-                <view wx:for="{{typeselectList}}" class="{{agentSelectClassify==item.ftype?'SelectClassify':''}}" data-index="{{index}}" data-name="{{item.ftype}}">{{item.ftype}}</view>
+                <view wx:for="{{agentClassifyList}}" class="{{agentSelectClassify==item?'SelectClassify':''}}" data-index="{{index}}" data-name="{{item}}">{{item}}</view>
             </view>
         </van-transition>
     </view>
@@ -74,7 +74,7 @@
     <image slot="display-box-img" class="display-title_image" src="/static/icon-04.png" mode="aspectFit"></image>
     <!-- 展示 -->
     <swiper class="exhibition-swiper" indicator-dots indicator-active-color="#4DC2D4" indicator-color="#D8D8D8">
-        <swiper-item wx:for="{{agentList}}" class="exhibition-swiper-item">
+        <swiper-item wx:for="{{showAgentList}}" class="exhibition-swiper-item">
             <view wx:for="{{item}}" class="exhibition">
                 <image class="exhibition-img" src="{{item.attinfos[0].fobsurl}}" mode="aspectFill"></image>
                 <view class="showLocation">{{item.flocation}}</view>