xuxueyang
2024-07-12 da1f751bea60280504d7fa04e6a547c68ef4381a
sub_pages/customer/trade/trade.vue
@@ -1,6 +1,6 @@
<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">
      <view class="search-container m-t-12 flex" v-if="!(!list||list.length==0)&&true&&!hidefooter">
         <view class="flex1 input">
            <u-input placeholder="请输入分类名称" v-model="query.name">
               <template slot="suffix">
@@ -23,8 +23,8 @@
            </view>
            <view class="canteen-item-container">
               <view class="component-filter-container" style="padding-top: 12rpx;">
                  <view class="flex1">
                     销量
                  <view class="flex1" @click="openParamPop">
                     筛选
                  </view>
                  <view class="flex1">
                     颜色<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
@@ -69,10 +69,30 @@
      <view style="min-height:200rpx">
      <view style="min-height:200rpx" v-if="!hidefooter">
      </view>
      <common-footer flg="1"></common-footer>
      <common-footer flg="1" v-if="!hidefooter">></common-footer>
      <uni-popup ref="popup_param" type="bottom">
         <view class="component-popup_input_all" v-if="currentCategory&&currentCategory.params">
            <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">商品参数设置</view>
            <!-- 输入框-->
            <view v-for="(item,i) in currentCategory.params" :key="i" class="m-t-20">
               <view class="title topic-font" style="font-size: 40rpx;font-weight: 600;">{{item.name}}</view>
               <view class="m-t-12 flex value-items">
                  <view class="value-item" @click="updateValue(item,each)" :class="[item.value===each?'cur':'']"
                     v-for="(each, j) in item.values" :key="j">
                     {{each || '-'}}
                  </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>
         </view>
      </uni-popup>
   </view>
</template>
@@ -81,6 +101,9 @@
      mapState
   } from 'vuex'
   export default {
      props: {
         hidefooter: false,
      },
      data() {
         return {
            list: [],
@@ -89,6 +112,7 @@
               name: '',
               categoryId: '',
            },
            currentCategory: {}
         }
      },
@@ -98,6 +122,7 @@
            this.list = data || []
            if (this.list.length > 0) {
               this.query.categoryId = this.list[0].id || ''
               this.currentCategory = this.list[0] || {}
            }
         }).finally(() => {
            uni.stopPullDownRefresh()
@@ -111,10 +136,23 @@
            this.list = data || []
            if (this.list.length > 0) {
               this.query.categoryId = this.list[0].id || ''
               this.currentCategory = this.list[0] || {}
            }
         })
      },
      methods: {
      methods: {
         async updateParamsAndSearch(){
            //todo 设置参数并查询
            await this.refreshList()
            this.$refs.popup_param.close()
         },
         openParamPop() {
            //todo 同时设置查询参数为空吧
            this.$refs.popup_param.open()
         },
         closeParamPop() {
            this.$refs.popup_param.close()
         },
         buttonSearchFlow() {
            //根据名称查询
            this.$message.showLoading()
@@ -127,8 +165,10 @@
               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()
@@ -142,6 +182,7 @@
         },
         changeType(item) {
            this.query.categoryId = item.id || ''
            this.currentCategory = item
         },
@@ -193,7 +234,7 @@
         margin: 0rpx 30rpx 20rpx 30rpx;
      }
      .type-list {
         max-width: 178rpx;