From dc6cdf2414ee7c453e1bca47898177f7af079945 Mon Sep 17 00:00:00 2001 From: xuxy <1059738716@qq.com> Date: 星期一, 29 七月 2024 00:03:59 +0800 Subject: [PATCH] 1 --- sub_pages/customer/trade/trade.vue | 104 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 77 insertions(+), 27 deletions(-) diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue index 4539785..275455e 100644 --- a/sub_pages/customer/trade/trade.vue +++ b/sub_pages/customer/trade/trade.vue @@ -1,15 +1,15 @@ <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="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> @@ -17,28 +17,28 @@ <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"> - 销量 - </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> @@ -54,13 +54,12 @@ <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> @@ -69,10 +68,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&¤tCategory.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 +100,10 @@ mapState } from 'vuex' export default { + props: { + hidefooter: false, + catgoryTree: [], + }, 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() @@ -106,15 +131,37 @@ 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) { this.query.categoryId = this.list[0].id || '' + this.currentCategory = this.list[0] || {} } }) }, 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 同时设置查询参数为空吧 + this.$refs.popup_param.open() + }, + closeParamPop() { + this.$refs.popup_param.close() + }, buttonSearchFlow() { //根据名称查询 this.$message.showLoading() @@ -127,8 +174,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 +191,7 @@ }, changeType(item) { this.query.categoryId = item.id || '' + this.currentCategory = item }, @@ -193,7 +243,7 @@ margin: 0rpx 30rpx 20rpx 30rpx; } - + .type-list { max-width: 178rpx; @@ -246,7 +296,7 @@ width: 164rpx; // width: 690rpx; // max-width: 690rpx; - height: 266rpx; + min-height: 266rpx; background: #FFFFFF; margin-bottom: 44rpx; max-width: 164rpx; -- Gitblit v1.9.3