zhaojs
2023-06-30 ba3d748f9eb65a66fca9bd74fc7796b90a0a70ae
uniapp/pages/active/tmsearch.vue
@@ -61,11 +61,28 @@
               </block>
            </scroll-view>
         </view>
         <!--二级搜索-->
         <view class="scrangeList-container rowCen" :class="scrollTop>fiexdtop?'tofixed':''" :style="'top:'+(scrollTop>fiexdtop?fiexdHeight:'0')+'px;'">
            <scroll-view class="scrollview-content" scroll-x scroll-with-animation="true">
               <block v-for="(items,index) in secrendSearch" :key="index">
                  <view class="rangeItem" style="font-size: 13px;margin-right: 30rpx; color: #8b8686;" :class="nowsec==items.id?'rangeItem-active':''" @tap="changeSeRange(items.id)">
                     <view class="boxcontent colCenCen">
                        <view class="nameBox">
                           {{items.name}}
                        </view>
                        <view class="border"></view>
                     </view>
                  </view>
               </block>
            </scroll-view>
         </view>
         <view class="goodsList-container colCen borderBox">
            <view class="goods-content rowStaBet">
               <view class="goods-items borderBox colCen" v-for="(items,index) in goodsList" :key='index' @click="goDetail(items)">
                  <colGoods :items="items"></colGoods>
               <view class="goods-items borderBox" v-for="(items,index) in goodsList" :key='index' @click="goDetail(items)">
                  <!-- <colGoodsImg :popBannerSList="popBannerSList"></colGoodsImg> -->
                    <colGoodsImg v-if="index==0&&popBannerSList&&popBannerSList.length>0" :popBannerSList="popBannerSList"></colGoodsImg>
                     <colGoods v-else :items="items"></colGoods>
               </view>
               <aLoadMore :status="loadstatus" mode="loading3" :showTitle='true' color="#999999"></aLoadMore>
            </view>
@@ -76,27 +93,63 @@
<script>
   import colGoods from '../../components/colGoods.vue'
   import colGoodsImg from '../../components/colGoodsImg.vue'
   export default {
      components:{
         colGoods
         colGoods,
         colGoodsImg
      },
      data() {
         return {
            popBannerSList:[],
            pageTop: 0,
            nowCurrent: 0,
            scrollTop: 0,
            navList: [],
            fiexdHeight: '',
            fiexdtop: '',
            goodsList: [],
            pageCurrent: 1,
            canloadmore: false,
            loadstatus: 'loading'
            loadstatus: 'loading',
            nowsec:0,
            isinsert:false,
            secrendSearch:[
               {
                  id:0,
                  name:'综合'
               },
               {
                  id:1,
                  name:'60天最低价'
               },
               {
                  id:2,
                  name:'聚划算'
               },
               {
                  id:3,
                  name:'淘抢购'
               },
               {
                  id:4,
                  name:'多买多送'
               },
               {
                  id:5,
                  name:'限量抢购'
               },
               {
                  id:6,
                  name:'额外满减'
               }
            ]
         }
      },
      onLoad() {
         this.getNav()
         this.getNav();
         this.getPageImg();
      },
      onPageScroll(e) {
         this.scrollTop = e.scrollTop
@@ -108,11 +161,9 @@
      },
      mounted() {
         uni.createSelectorQuery().in(this).select('.fixed-container').boundingClientRect(data => {
            console.log(data.top);
            this.fiexdHeight = data.height
         }).exec();
         uni.createSelectorQuery().in(this).select('.rangeList-container').boundingClientRect(data => {
            console.log(data.top);
            this.fiexdtop = data.top - this.fiexdHeight
         }).exec();
      },
@@ -120,7 +171,6 @@
         getNav() {
            var that = this;
             this.$u.api.getTopCalss({ctype:1,parentId:0}).then(e => {
                console.log(e);
               if(e.code != 0)return that.$alert(e.msg)
               e.data.list.unshift({cid:"-1",cname:"天猫超市",ctype:"1"});
               e.data.list.unshift({cid:"0",cname:"全部",ctype:"1"});
@@ -139,9 +189,9 @@
               cateId: cateid,
               page: this.pageCurrent,
               pageSize: 10,
               tchaoshi:tchaoshi
               tchaoshi:tchaoshi,
               secrend_search:this.nowsec
            }).then(e => {
               console.log(e);
               if (e.code != 0) return that.$alert(e.msg)
               var res = e.data;
               uni.stopPullDownRefresh();
@@ -156,8 +206,30 @@
                  that.loadstatus = 'loading'
                  that.pageCurrent ++
               }
               /* if(!that.isinsert&&res&&res.length>0)
               {
                  that.goodsList.unshift(res[0]);
                  that.isinsert=true;
               } */
               that.goodsList = that.goodsList.concat(res)
            }).catch(function(err) {})
         },
         getPageImg()
         {
             var that=this;
            this.$u.api.getBanner({
               type: '11,16'
            }).then(e => {
               if (e.code == 1) return that.$alert(e.msg);
               var res = e.data.info;
               this.popBannerSList=res.tmImg;
               if(res.tmImg&&res.tmImg.length>0)
               {
                  that.goodsList.unshift(res[0]);
               }
            }).catch(function(err) {
               console.log(err)
            })
         },
         changeRange(id) {
            this.pageCurrent = 1
@@ -167,11 +239,23 @@
            this.goodsList = []
            this.getData()
         },
         changeSeRange(id) {
            this.pageCurrent = 1
            this.canloadmore = false
            this.nowsec = id
            this.loadstatus = 'loading'
            this.goodsList = []
            this.getData()
         },
         goDetail(info) {
            uni.navigateTo({
               url: '../goods/goodsDetail?info=' + encodeURIComponent(JSON.stringify(info))
            })
            if(info&&info!=undefined)
            {
               uni.navigateTo({
                  url: '../goods/goodsDetail?info=' + encodeURIComponent(JSON.stringify(info))
               })
            }
         },
         goback() {
@@ -303,6 +387,50 @@
               }
            }
         }
         .scrangeList-container {
            width: 100%;
            height: 80rpx;
            padding-left: 32rpx;
            z-index: 101;
            .scrollview-content {
               width: 100%;
               height: 100%;
               white-space: nowrap;
               .rangeItem {
                  display: inline-flex;
                  margin-right: 45rpx;
                  height: 100%;
                  .boxcontent {
                     height: 100%;
                     .nameBox {
                     }
                     .border {
                        width: 60%;
                        height: 2rpx;
                        background: transparent;
                     }
                  }
               }
               .rangeItem-active {
                  .boxcontent {
                     .nameBox {
                        font-size: 32rpx;
                        color:#F97B24;
                     }
                  }
               }
            }
         }
         .rangeList-container {
            width: 100%;