|  |  | 
 |  |  | <template>
 | 
 |  |  |    <view class="container-trade" style="min-height: calc(100vh - 20rpx );">
 | 
 |  |  |       <view class="search-container m-t-12 flex" v-if="!(!list||list.length==0)&&true&&!hidefooter">
 | 
 |  |  |    <view class="container-trade" :style="{'min-height':hidefooter?'':'calc(100vh - 20rpx)'}">
 | 
 |  |  |       <view class="search-container m-t-12 flex" v-if="!hidefooter">
 | 
 |  |  |          <view class="flex1 input">
 | 
 |  |  |             <u-input placeholder="请输入分类名称" v-model="query.name">
 | 
 |  |  |             <u-input placeholder="请输入分类名称" v-model="query.name" clearable>
 | 
 |  |  |                <template slot="suffix">
 | 
 |  |  |                   <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
 | 
 |  |  |                </template>
 | 
 |  |  |             </u-input>
 | 
 |  |  |          </view>
 | 
 |  |  |       </view>
 | 
 |  |  |       <view class="canteen-items" style="min-height: calc(100vh - 160rpx);">
 | 
 |  |  |       <view class="canteen-items" :style="{'min-height':hidefooter?'':'calc(100vh - 160rpx)'}">
 | 
 |  |  |          <view v-if="(!list||list.length==0)&&true" style="width: 100%;min-height: 200rpx;">
 | 
 |  |  |              
 | 
 |  |  |          </view>
 | 
 |  |  | 
 |  |  |          <view class="" style="display: flex;flex-wrap: inherit;" v-else>
 | 
 |  |  |             <view class="type-list">
 | 
 |  |  |                <view v-for="(item,index) of list" @click="changeType(item)"
 | 
 |  |  |                   :class="[query.categoryId==item.id?'current':'']" :key="index" class="p10 flex type-item">
 | 
 |  |  |                   :class="[query.categoryId===item.id?'current':'']" :key="index" class="p10 flex type-item">
 | 
 |  |  |                   {{item.name || '-'}}
 | 
 |  |  |                </view>
 | 
 |  |  |             </view>
 | 
 |  |  |             <view class="canteen-item-container">
 | 
 |  |  |                <view class="component-filter-container" style="padding-top: 12rpx;">
 | 
 |  |  |                   <view class="flex1" @click="openParamPop">
 | 
 |  |  |                      筛选
 | 
 |  |  |                   </view>
 | 
 |  |  |                   <view class="flex1">
 | 
 |  |  |                      颜色<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
 | 
 |  |  |                   </view>
 | 
 |  |  |                   <view class="flex1">
 | 
 |  |  |                      筛选<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
 | 
 |  |  |                   </view>
 | 
 |  |  |                </view>
 | 
 |  |  |                <u-divider></u-divider>
 | 
 |  |  |                <!--               <view class="component-filter-container" style="padding-top: 12rpx;">-->
 | 
 |  |  |                <!--                  <view class="flex1" @click="openParamPop">-->
 | 
 |  |  |                <!--                     筛选-->
 | 
 |  |  |                <!--                  </view>-->
 | 
 |  |  |                <!--                  <view class="flex1">-->
 | 
 |  |  |                <!--                     颜色<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>-->
 | 
 |  |  |                <!--                  </view>-->
 | 
 |  |  |                <!--                  <view class="flex1">-->
 | 
 |  |  |                <!--                     筛选<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>-->
 | 
 |  |  |                <!--                  </view>-->
 | 
 |  |  |                <!--               </view>-->
 | 
 |  |  |                <!--               <u-divider></u-divider>-->
 | 
 |  |  |                <view class="flex">
 | 
 |  |  |                   <view v-for="(item,index) of listFilter" :key="item.id" class="canteen-item list"
 | 
 |  |  |                      @click.stop="toDetailList(item)">
 | 
 |  |  |                      <view class="m-r-10">
 | 
 |  |  |                         <image :src="item.imageUrl" mode="scaleToFill" class="cover"
 | 
 |  |  |                         <image :src="item.imageUrl" mode="scaleToFill" class="cover" :lazy-load="true"
 | 
 |  |  |                            @click.stop="previewImg(item.imageUrl)">
 | 
 |  |  |                         </image>
 | 
 |  |  |                      </view>
 | 
 |  |  | 
 |  |  |                               <uni-icons type="plus-filled" size="32" @click="addnum(item)"></uni-icons>
 | 
 |  |  |                            </view> -->
 | 
 |  |  |                      </view>
 | 
 |  |  |                      <view style="padding-bottom:100rpx">
 | 
 |  |  |                      </view>
 | 
 |  |  |                   </view>
 | 
 |  |  | 
 | 
 |  |  |                   </view>
 | 
 |  |  |                   <view style="padding-bottom:100rpx">
 | 
 |  |  |                   </view>
 | 
 |  |  |                </view>
 | 
 |  |  |                <footer-msg v-if="query.block&&query.schoolArea"
 | 
 |  |  |                   :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
 | 
 |  |  |                <footer-msg v-if="!hidefooter" :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
 | 
 |  |  | 
 | 
 |  |  |             </view>
 | 
 |  |  |          </view>
 | 
 |  |  | 
 |  |  |                   </view>
 | 
 |  |  |                </view>
 | 
 |  |  |             </view>
 | 
 |  |  |             <view class="button-space"></view> | 
 |  |  |             <view> | 
 |  |  |                <view class="button-green button-white" @click="closeParamPop">关闭</view> | 
 |  |  |                <view class="button-green" @click="updateParamsAndSearch">查询</view> | 
 |  |  |             <view class="button-space"></view>
 | 
 |  |  |             <view>
 | 
 |  |  |                <view class="button-green button-white" @click="closeParamPop">关闭</view>
 | 
 |  |  |                <view class="button-green" @click="updateParamsAndSearch">查询</view>
 | 
 |  |  |             </view>
 | 
 |  |  |          </view>
 | 
 |  |  |       </uni-popup>
 | 
 |  |  | 
 |  |  |    export default {
 | 
 |  |  |       props: {
 | 
 |  |  |          hidefooter: false,
 | 
 |  |  |          catgoryTree: [],
 | 
 |  |  |       },
 | 
 |  |  |       data() {
 | 
 |  |  |          return {
 | 
 |  |  | 
 |  |  |       async onLoad() {
 | 
 |  |  | 
 | 
 |  |  |          //加载分类
 | 
 |  |  |          this.$message.showLoading()
 | 
 |  |  |          this.$http.request('get', '/api/customer/flower/category/tree', {}).then(res => {
 | 
 |  |  |             this.$message.hideLoading()
 | 
 |  |  |             var data = res.data
 | 
 |  |  |             this.list = data || []
 | 
 |  |  |             if (this.list.length > 0) {
 | 
 |  |  | 
 |  |  |             }
 | 
 |  |  |          })
 | 
 |  |  |       },
 | 
 |  |  |       methods: { | 
 |  |  |          async updateParamsAndSearch(){ | 
 |  |  |             //todo 设置参数并查询 | 
 |  |  |             await this.refreshList() | 
 |  |  |             this.$refs.popup_param.close() | 
 |  |  |       methods: {
 | 
 |  |  |          refInit(catgoryTree) {
 | 
 |  |  |             this.list = catgoryTree || []
 | 
 |  |  |             if (this.list.length > 0) {
 | 
 |  |  |                this.query.categoryId = this.list[0].id || ''
 | 
 |  |  |                this.currentCategory = this.list[0] || {}
 | 
 |  |  |             }
 | 
 |  |  |          },
 | 
 |  |  |          async updateParamsAndSearch() {
 | 
 |  |  |             //todo 设置参数并查询
 | 
 |  |  |             await this.refreshList()
 | 
 |  |  |             this.$refs.popup_param.close()
 | 
 |  |  |          },
 | 
 |  |  |          openParamPop() {
 | 
 |  |  |             //todo 同时设置查询参数为空吧
 | 
 |  |  | 
 |  |  |             width: 164rpx;
 | 
 |  |  |             // width: 690rpx;
 | 
 |  |  |             // max-width: 690rpx;
 | 
 |  |  |             height: 266rpx;
 | 
 |  |  |             min-height: 266rpx;
 | 
 |  |  |             background: #FFFFFF;
 | 
 |  |  |             margin-bottom: 44rpx;
 | 
 |  |  |             max-width: 164rpx;
 |