From deb9ea974706fc70f838c27227ccbeec935be10f Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 29 八月 2024 22:42:41 +0800 Subject: [PATCH] 1 --- sub_pages/customer/trade/trade.vue | 199 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 154 insertions(+), 45 deletions(-) diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue index 275455e..12b3abf 100644 --- a/sub_pages/customer/trade/trade.vue +++ b/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;"> </view> @@ -38,25 +48,19 @@ <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" :lazy-load="true" - @click.stop="previewImg(item.imageUrl)"> + <!-- @click.stop="previewImg(item.imageUrl)" --> + <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">¥29.01-30.01</view> - - <view class="desc">在售14410扎</view> - <!-- <view class="icons flex"> - <uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32" - @click="mulnum(item)"></uni-icons> - <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{item.shopnum}}</view> - <uni-icons type="plus-filled" size="32" @click="addnum(item)"></uni-icons> - </view> --> + <view class="price">¥{{item.priceLow || 0}}-{{item.priceHigh||0}}</view> + <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> @@ -68,7 +72,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> @@ -103,6 +107,7 @@ props: { hidefooter: false, catgoryTree: [], + supplierId: '', }, data() { return { @@ -112,10 +117,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 @@ -128,8 +159,8 @@ uni.stopPullDownRefresh() }) }, - async onLoad() { - + async onLoad(options) { + let selectId = options.categoryId || '' //加载分类 this.$message.showLoading() this.$http.request('get', '/api/customer/flower/category/tree', {}).then(res => { @@ -137,12 +168,79 @@ var data = res.data this.list = data || [] if (this.list.length > 0) { - this.query.categoryId = this.list[0].id || '' - this.currentCategory = this.list[0] || {} + if (selectId) { + for (var item of this.list) { + if (item.id == selectId) { + this.query.categoryId = item.id || '' + this.currentCategory = item + break + } + } + } else { + this.query.categoryId = this.list[0].id || '' + this.currentCategory = this.list[0] || {} + } + } }) }, 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) { + p = item.weightA + } + if (item.weightB && item.weightB > p) { + p = item.weightB + } + if (item.weightC && item.weightC > p) { + p = item.weightC + } + if (item.weightD && item.weightD > p) { + p = item.weightD + } + if (item.weightE && item.weightE > p) { + p = item.weightE + } + if (item.weightO && item.weightO > p) { + p = item.weightO + } + return p + }, + minWeightPrice(item) { + var p = -1 + if (item.weightA && item.weightA < p) { + p = item.weightA + } + if (item.weightB && item.weightB < p) { + p = item.weightB + } + if (item.weightC && item.weightC < p) { + p = item.weightC + } + if (item.weightD && item.weightD < p) { + p = item.weightD + } + if (item.weightE && item.weightE < p) { + p = item.weightE + } + if (item.weightO && item.weightO < p) { + p = item.weightO + } + if (p < 0) { + p = 0 + } + return p + }, refInit(catgoryTree) { this.list = catgoryTree || [] if (this.list.length > 0) { @@ -163,30 +261,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) { @@ -251,8 +358,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; @@ -314,6 +421,8 @@ font-size: 28rpx; color: #000000; line-height: 40rpx; + min-height: 80rpx; + text-align: center; } .desc { @@ -346,7 +455,7 @@ .canteen-item-container { width: 100%; min-height: 300rpx; - max-height: calc(100vh - 200rpx); + max-height: calc(100vh - 270rpx); overflow-y: scroll; } -- Gitblit v1.9.3