From 7c7fd1a80ad89dd1037f2ee420fed2dcde7290a1 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期二, 20 八月 2024 16:42:53 +0800
Subject: [PATCH] 1

---
 sub_pages/customer/trade/trade.vue |  266 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 192 insertions(+), 74 deletions(-)

diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index c232d78..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: 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="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">
+				<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: 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>
@@ -17,50 +27,43 @@
 			<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"
-									@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="price">¥{{item.priceLow || 0}}-{{item.priceHigh||0}}</view>
+								<view class="desc">在售 {{item.stock||'0'}} 扎</view>
+							</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>
-							<view style="padding-bottom:100rpx">
-							</view>
 						</view>
-
+						<view style="padding-bottom:40rpx">
+						</view>
 					</view>
-					<footer-msg
-						: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,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>
 
@@ -86,10 +89,10 @@
 						</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>
@@ -103,6 +106,8 @@
 	export default {
 		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,23 +159,99 @@
 				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 => {
+				this.$message.hideLoading()
 				var data = res.data
 				this.list = data || []
+				if (this.list.length > 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) {
 					this.query.categoryId = this.list[0].id || ''
 					this.currentCategory = this.list[0] || {}
 				}
-			})
-		},
-		methods: {
-			async updateParamsAndSearch(){
-				//todo 设置参数并查询
-				await this.refreshList()
-				this.$refs.popup_param.close()
+			},
+			async updateParamsAndSearch() {
+				//todo 设置参数并查询
+				await this.refreshList()
+				this.$refs.popup_param.close()
 			},
 			openParamPop() {
 				//todo 同时设置查询参数为空吧
@@ -154,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) {
@@ -242,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;
 
@@ -287,7 +403,7 @@
 				width: 164rpx;
 				// width: 690rpx;
 				// max-width: 690rpx;
-				height: 266rpx;
+				min-height: 266rpx;
 				background: #FFFFFF;
 				margin-bottom: 44rpx;
 				max-width: 164rpx;
@@ -305,6 +421,8 @@
 					font-size: 28rpx;
 					color: #000000;
 					line-height: 40rpx;
+					min-height: 80rpx;
+					text-align: center;
 				}
 
 				.desc {
@@ -337,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