xuxueyang
2024-09-09 c3319db3d83f2d4fa7fdf06e3792496ce77d90aa
sub_pages/customer/trade/trade.vue
@@ -1,15 +1,25 @@
<template>
   <view class="container-trade" :style="{'min-height':hidefooter?'':'calc(100vh - 20rpx)'}">
      <view class="search-container m-t-12 flex" v-if="!hidefooter">
         <view class="flex m-r-20">
            <view class="m-r-10" style="line-height: 80rpx;" @click="changeSearchType">
               {{type=='category'?'按分类':'按店铺'}}
            </view>
            <u-icon name="arrow-down"></u-icon>
         </view>
         <view class="flex1 input">
            <u-input placeholder="请输入分类名称" v-model="query.name" clearable>
            <u-input :placeholder="type==='category'?'请输入分类名称':'请输入店铺名称'" v-model="query.name" clearable
               @confirm="buttonSearchFlow" @clear="()=>{
               $nextTick(()=>{buttonSearchFlow()})
            }">
               <template slot="suffix">
                  <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
                  <uni-icons color="#20613D" type="search" size="24" @click="buttonSearchFlow"></uni-icons>
               </template>
            </u-input>
         </view>
      </view>
      <view class="canteen-items" :style="{'min-height':hidefooter?'':'calc(100vh - 160rpx)'}">
      <view class="canteen-items" :style="{'min-height':hidefooter?'':'calc(100vh - 340rpx)'}">
         <view v-if="(!list||list.length==0)&&true" style="width: 100%;min-height: 200rpx;">
            &nbsp;
         </view>
@@ -39,18 +49,29 @@
                     @click.stop="toDetailList(item)">
                     <view class="m-r-10">
                        <!-- @click.stop="previewImg(item.imageUrl)" -->
                        <image :src="item.imageUrl"   :class="[!item.stock?'':'']"
                        mode="scaleToFill" class="cover" :lazy-load="true">
                        <image :src="item.imageUrl" :class="[!item.stock?'':'']" mode="scaleToFill"
                           class="cover" :lazy-load="true">
                        </image>
                     </view>
                     <view class="cateen_infos list">
                        <view class="title">{{item.name}}</view>
                        <view class="price">¥{{item.priceLow || 0}}-{{item.priceHigh||0}}</view>
                        <view class="title">{{item.name}}</view>
                        <!-- #ifdef PUB_CUSTOMER_DEV -->
                        <view class="price">
                           <view>会员价</view>
                           <view>¥{{item.priceLowMember || 0}}-{{item.priceHighMember||0}}</view>
                        </view>
                        <view class="price component-price-old">¥{{item.priceLow || 0}}-{{item.priceHigh||0}}</view>
                        <!-- #endif -->
                        <!-- #ifndef PUB_CUSTOMER_DEV -->
                        <view class="price">¥{{item.priceLow || 0}}-{{item.priceHigh||0}}</view>
                        <!-- #endif -->
                        <view class="desc">在售 {{item.stock||'0'}} 扎</view>
                     </view>
                  </view>
                  <view style="padding-bottom:100rpx">
                  <view style="padding-bottom:40rpx">
                  </view>
               </view>
               <footer-msg v-if="!hidefooter" :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
@@ -62,7 +83,7 @@
      <view style="min-height:200rpx" v-if="!hidefooter">
      <view style="min-height:100rpx" v-if="!hidefooter">
      </view>
      <common-footer flg="1" v-if="!hidefooter">></common-footer>
@@ -97,6 +118,7 @@
      props: {
         hidefooter: false,
         catgoryTree: [],
         supplierId: '',
      },
      data() {
         return {
@@ -106,10 +128,36 @@
               name: '',
               categoryId: '',
            },
            currentCategory: {}
            currentCategory: {},
            type: 'category', //supplier
         }
      },
      // #ifdef PUB_CUSTOMER
      onShareAppMessage() {
         let that = this;
         var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
         var url =
            `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      onShareTimeline() {
         let that = this;
         var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
         var url =
            `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      // #endif
      onPullDownRefresh() {
         this.$http.request('get', '/api/customer/flower/category/tree', {}).then(res => {
            var data = res.data
@@ -148,6 +196,15 @@
         })
      },
      methods: {
         changeSearchType() {
            if (this.type == 'category') {
               this.type = 'supplier'
               this.query.name = ''
            } else {
               this.type = 'category'
               this.query.name = ''
            }
         },
         maxWeightPrice(item) {
            var p = 0
            if (item.weightA && item.weightA > p) {
@@ -215,30 +272,39 @@
            this.$refs.popup_param.close()
         },
         buttonSearchFlow() {
            //根据名称查询
            this.$message.showLoading()
            this.$http.request('get', '/api/customer/flower/category/tree', {
               params: {
                  name: this.query.name || ''
               }
            }).then(res => {
               var data = res.data
               this.list = data || []
               if (this.list.length > 0) {
                  this.query.categoryId = this.list[0].id || ''
                  this.currentCategory = this.list[0] || {}
               } else {
                  this.query.categoryId = ''
                  this.currentCategory = {}
               }
            }).finally(() => {
               this.$message.hideLoading()
            })
            if (this.type == 'category') {
               //根据分类名称查询
               this.$message.showLoading()
               this.$http.request('get', '/api/customer/flower/category/tree', {
                  params: {
                     name: this.query.name || ''
                  }
               }).then(res => {
                  var data = res.data
                  this.list = data || []
                  if (this.list.length > 0) {
                     this.query.categoryId = this.list[0].id || ''
                     this.currentCategory = this.list[0] || {}
                  } else {
                     this.query.categoryId = ''
                     this.currentCategory = {}
                  }
               }).finally(() => {
                  this.$message.hideLoading()
               })
            } else {
               uni.navigateTo({
                  url: '/sub_pages/customer/trade/list?' + 'supplierName=' + this.query.name
               })
            }
         },
         toDetailList(item) {
            //去商品列表页面
            //去商品列表页面
            console.log('toDetailList',this.supplierId)
            uni.navigateTo({
               url: `/sub_pages/customer/trade/list?categoryId=${item.id}`
               url: `/sub_pages/customer/trade/list?categoryId=${item.id}&supplierId=${this.supplierId||''}`
            })
         },
         changeType(item) {
@@ -303,8 +369,8 @@
         min-width: 178rpx;
         background: #EEF7F5;
         border-radius: 8rpx;
         min-height: calc(100vh - 300rpx);
         max-height: calc(100vh - 300rpx);
         min-height: calc(100vh - 270rpx);
         max-height: calc(100vh - 270rpx);
         overflow-y: scroll;
         margin-right: 16rpx;
@@ -400,7 +466,7 @@
         .canteen-item-container {
            width: 100%;
            min-height: 300rpx;
            max-height: calc(100vh - 200rpx);
            max-height: calc(100vh - 270rpx);
            overflow-y: scroll;
         }