From 666bcc20d989be1c7a2acb314594e8e017a611ac Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期日, 11 八月 2024 23:18:51 +0800
Subject: [PATCH] update花店的一些问题等

---
 sub_pages/customer/trade/list.vue            |    6 
 pages/home/home.vue                          |   19 +++
 sub_pages/customer/shopping/shopping.vue     |   20 ++-
 pages/home/components/home-banner-detail.vue |   20 +++
 pages/notice/notice.vue                      |   19 +++
 sub_pages/customer/shop/shop.vue             |  110 ++++++++++++---------
 sub_pages/customer/trade/trade.vue           |    6 
 pages/notice/list.vue                        |    3 
 sub_pages/customer/trade/detail.vue          |   62 +++++++++---
 9 files changed, 182 insertions(+), 83 deletions(-)

diff --git a/pages/home/components/home-banner-detail.vue b/pages/home/components/home-banner-detail.vue
index 72bf866..e0b8b29 100644
--- a/pages/home/components/home-banner-detail.vue
+++ b/pages/home/components/home-banner-detail.vue
@@ -17,10 +17,25 @@
 
 			</view> -->
 
+			<!-- <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content" v-if="dto.url&&dto.url.length>0">
+				<swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true">
+					<swiper-item v-for="(url, index) in dto.url" :key="index">
+						<view class="swiper-item" :class="'swiper-item' + index">
+
+							<image class="home-banner-image" mode="scaleToFill" @click="previewImg(url)" :src="url">
+							</image>
+						</view>
+					</swiper-item>
+				</swiper>
+			</uni-swiper-dot>
+			<view style="background: #F5F5F5;height: 24rpx;" v-if="dto.url&&dto.url.length>0">
+
+			</view> -->
+
 			<!-- 活动描述 -->
 			<view class="info-desc">
 				<!-- <view class="title">公告描述</view> -->
-				<view v-html="dto.content||'暂无内容'" class="rich" style="overflow: scroll;">
+				<view v-html="dto.content||'暂无详情'" class="rich" style="overflow: scroll;">
 
 				</view>
 			</view>
@@ -59,6 +74,9 @@
 				})
 
 				this.$message.hideLoading()
+				if (data && data.url) {
+					data.url = JSON.parse(data.url) || []
+				}
 				this.dto = {
 					...data
 				}
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 21a16f3..350ca04 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -71,7 +71,7 @@
 		<!-- 置顶的花列表 -->
 		<home-top-flow></home-top-flow>
 
-		<view style="min-height:200rpx">
+		<view style="min-height:180rpx">
 		</view>
 		<common-footer flg="0"></common-footer>
 
@@ -250,8 +250,8 @@
 							}
 						}
 						this.banners = result
-					}
-					console.log('this.banners',this.banners)
+					}
+					console.log('this.banners', this.banners)
 				}
 			})
 
@@ -277,7 +277,18 @@
 
 			}, 2000)
 			//公告
-			this.$http.request('get', '/api/pub/announcement/list', {
+			var type = ''
+			// #ifdef PUB_CUSTOMER
+			type = 'customer'
+			// #endif
+			// #ifdef PUB_SUPPLIER
+			type = 'supplier'
+			// #endif
+			// #ifdef PUB_PARTNER
+			type = 'partner'
+			// #endif
+
+			this.$http.request('get', '/api/pub/announcement/list/' + type, {
 				params: {
 					size: 5,
 					// status: 'A'
diff --git a/pages/notice/list.vue b/pages/notice/list.vue
index dadee79..4ee2416 100644
--- a/pages/notice/list.vue
+++ b/pages/notice/list.vue
@@ -6,7 +6,7 @@
 			<view v-for="(item,index) in list" :key="index" class="m-b-24">
 				<view @click.stop="toDetail(item)" class="notice-item">
 					<view>{{item.title}}</view>
-					<view class="time">{{item.publishDate}}</view>
+					<view class="time">{{item.publishDate || item.updateTime || ''}}</view>
 					<image :src="item.cover" style="display: block;margin: 0 auto;" @click="previewImg(dto.cover)"
 						v-if="item.cover" mode="aspectFit" class="m-t-8"></image>
 				</view>
@@ -41,6 +41,7 @@
 			// #endif
 			
 			this.listApi = '/api/pub/announcement/list/'+type
+			
 			this.getList()
 
 		},
diff --git a/pages/notice/notice.vue b/pages/notice/notice.vue
index cdffe5d..0c35b36 100644
--- a/pages/notice/notice.vue
+++ b/pages/notice/notice.vue
@@ -13,6 +13,17 @@
 					style="display: block;margin: 0 auto;" @click="previewImg(dto.cover)"></image>
 
 			</view>
+			<!-- <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content" v-if="dto.url&&dto.url.length>0">
+				<swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true">
+					<swiper-item v-for="(url, index) in dto.url" :key="index">
+						<view class="swiper-item" :class="'swiper-item' + index">
+
+							<image class="home-banner-image" mode="scaleToFill" @click="previewImg(url)" :src="url">
+							</image>
+						</view>
+					</swiper-item>
+				</swiper>
+			</uni-swiper-dot> -->
 
 			<view style="background: #F5F5F5;height: 24rpx;">
 
@@ -35,7 +46,7 @@
 		data() {
 			return {
 				dto: {
-
+					// url: [],
 				},
 				peoples: [],
 				id: ''
@@ -60,10 +71,16 @@
 				})
 
 				this.$message.hideLoading()
+				// if (data && data.url) {
+				// 	data.url = JSON.parse(data.url) || []
+				// }
 				this.dto = {
 					...data
 				}
 				this.dto.content = this.$util.formatRichText(this.dto.content || '')
+				//处理url的问题
+				// console.log('dto',this.dto)
+
 
 			},
 		}
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index a3e0675..c83a059 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -2,15 +2,7 @@
 	<view class="brand-detail" style="background: #20613D;">
 
 		<view class="brand-top-info">
-			<view class="search-container  flex" style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx">
-				<view class="flex1 input">
-					<u-input placeholder="请输入花名" v-model="search_flow">
-						<template slot="suffix">
-							<uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
-						</template>
-					</u-input>
-				</view>
-			</view>
+
 			<view class="info-brand m-t-12" v-if="id">
 				<view class="flex">
 					<image class="store-logo" :src="dto.cover"></image>
@@ -62,6 +54,19 @@
 		</view>
 		<view class="brand-info">
 			<view v-if="flg==='0'" class="brand-info-0">
+				<view class="search-container  flex"
+					style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx">
+					<view class="flex1 input">
+						<u-input placeholder="请输入花名" v-model="query.name" clearable @confirm="buttonSearchFlow" @clear="()=>{
+					$nextTick(()=>{buttonSearchFlow()})
+				}">
+							<template slot="suffix">
+								<uni-icons color="#20613D" type="search" size="24"
+									@click="buttonSearchFlow"></uni-icons>
+							</template>
+						</u-input>
+					</view>
+				</view>
 				<view class="component-filter-container" style="padding-top: 12rpx;">
 					<view class="flex1" @click.stop="$refs.popup_column.open()">
 						排序{{ query.columnStr&&('-'+query.columnStr) || '' }}
@@ -75,9 +80,8 @@
 				<view class="top-title m-t-12">
 					报价已包含打包费、材料费、交易佣金
 				</view>
-				<view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
-					@click.stop="toDetail(item)">
-					<view class="img">
+				<view class="component-shop-item flex" v-for="(item,index) of list" :key="index">
+					<view class="img" @click.stop="toDetail(item)">
 						<image class="img img100" :src="item.cover" lazy-load>
 						</image>
 						<view class="level">
@@ -86,16 +90,16 @@
 					</view>
 
 					<view class="m-l-12 info-container flex1">
-						<view class="title">
+						<view class="title" @click.stop="toDetail(item)">
 							{{item.name}}
 							<view class="price">
 								¥{{item.price}}/扎
 							</view>
 						</view>
-						<view class="shop-name">
+						<view class="shop-name" @click.stop="toDetail(item)">
 							{{item.categoryStr}}
 						</view>
-						<view class="other-info flex">
+						<view class="other-info flex" @click.stop="toDetail(item)">
 							<view class="m-r-15">
 								已售:{{item.sales || 0}}
 							</view>
@@ -115,7 +119,8 @@
 							<view class="icons flex">
 								<uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
 									@click.stop="addnum(item,-1)"></uni-icons>
-								<view class="curnums" @click="updateItemNum(item)" v-if="item.shopnum&&item.shopnum>=1">
+								<view class="curnums" @click.stop="updateItemNum(item)"
+									v-if="item.shopnum&&item.shopnum>=1">
 									{{ item.shopnum }}
 								</view>
 								<uni-icons v-if="!item.shopnum||item.shopnum<=99" type="plus-filled" size="32"
@@ -127,8 +132,9 @@
 
 			</view>
 
-			<view v-if="flg==='1'" class="brand-info-1">
-				<trade :hidefooter="true" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade"></trade>
+			<view v-show="flg==='1'" class="brand-info-1">
+				<trade :hidefooter="true" :supplierId="id" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade">
+				</trade>
 				<!-- // 构建一个分类树 -->
 				<!-- catgoryTree -->
 
@@ -184,29 +190,29 @@
 			</view>
 		</uni-popup>
 
-		<uni-popup ref="popup_level" type="bottom">
-			<view class="component-popup_input_all">
-				<view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同级别</view>
-				<view v-for="(item,i) in level_columns" :key="i" class="m-t-20">
-					<view class="m-t-12 flex value-items">
-						<view class="value-item" @click="()=>{
-							if(each.value!==query.value){
-								query.level = each.value
-								query.levelStr = each.label
-								refreshList('post')
-								$refs.popup_level.close()
-							}																																						
-						}" :class="[query.level==each.value?'cur':'']" v-for="(each, j) in item" :key="j">
-							{{ each.label || '-' }}
-						</view>
-					</view>
-				</view>
-				<view class="button-space"></view>
-				<view>
-					<view class="button-green" @click="$refs.popup_level.close()">关闭
-					</view>
-				</view>
-			</view>
+		<uni-popup ref="popup_level" type="bottom">
+			<view class="component-popup_input_all">
+				<view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同级别</view>
+				<view v-for="(item,i) in level_columns" :key="i" class="m-t-20">
+					<view class="m-t-12 flex value-items">
+						<view class="value-item" @click="()=>{
+							if(each.value!==query.value){
+								query.level = each.value
+								query.levelStr = each.label
+								refreshList('post')
+								$refs.popup_level.close()
+							}																																						
+						}" :class="[query.level==each.value?'cur':'']" v-for="(each, j) in item" :key="j">
+							{{ each.label || '-' }}
+						</view>
+					</view>
+				</view>
+				<view class="button-space"></view>
+				<view>
+					<view class="button-green" @click="$refs.popup_level.close()">关闭
+					</view>
+				</view>
+			</view>
 		</uni-popup>
 	</view>
 </template>
@@ -221,7 +227,7 @@
 		},
 		data() {
 			return {
-				search_flow: '',
+				// search_flow: '',
 				flg: '0',
 				tabs: [{
 						name: '全部商品'
@@ -245,6 +251,7 @@
 					column: '',
 					levelStr: '',
 					level: '',
+					name: '',
 				},
 				level_show: false,
 				level_columns: [
@@ -257,9 +264,13 @@
 				]
 			}
 		},
+		onShow() {
+			//避免商品数目不一样
+			this.refreshList('post')
+		},
 		onLoad(options) {
 			this.id = options.id || ''
-			// this.page.size =
+			this.page.size = 300
 			if (this.id) {
 				this.getDetail()
 			}
@@ -316,9 +327,9 @@
 		},
 		// #endif
 		onReachBottom() {
-			if (this.flg === '0') {
-				this.getMore('post')
-			}
+			// if (this.flg === '0') {
+			// 	this.getMore('post')
+			// }
 		},
 		methods: {
 
@@ -419,7 +430,8 @@
 
 			},
 			buttonSearchFlow() {
-
+				// this.query.name = this.search_flow || ''
+				this.refreshList('post')
 			},
 			async updateItemNum(item) {
 				const res = await this.$message.confirm('', {
@@ -494,6 +506,8 @@
 
 <style lang="scss" scoped>
 	.brand-detail {
+
+		// min-height: 99vh;
 		.brand-info {
 			background: #FFFFFF;
 			// border-radius: 40rpx 40rpx 0rpx 0rpx;
@@ -502,7 +516,7 @@
 			overflow: hidden;
 			overflow-y: scroll;
 			padding: 40rpx 32rpx;
-			height: calc(100vh - 650rpx);
+			height: calc(100vh - 450rpx);
 			padding-top: 0rpx;
 
 			.brand-info-0 {
diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index a7de25c..766613d 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -160,15 +160,19 @@
 					}
 				})
 				let that = this
-				setTimeout(() => {
+				if (code === 0) {
 					that.$message.hideLoading()
-					if (code === 0) {
-						that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
-						uni.navigateTo({
-							url: '/sub_pages/customer/shopping/confirm'
-						})
-					}
-				}, 300)
+					that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
+					uni.navigateTo({
+						url: '/sub_pages/customer/shopping/confirm'
+					})
+				} else {
+					//提示消失快
+					setTimeout(() => {
+						that.$message.hideLoading()
+					}, 2000)
+				}
+
 			},
 			async clickSwipeButton(item, check) {
 				// console.log('clickSwipeButton', e)
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index 75ded1d..e0db91c 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -2,7 +2,30 @@
 	<view class="trade-detail">
 		<view class="top-img-container">
 
-			<image :src="dto.cover" class="top-img" mode="aspectFill"></image>
+			<!-- <image :src="dto.cover" class="top-img" mode="aspectFill"></image> -->
+			<uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content">
+				<swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true">
+
+					<swiper-item v-if="dto.video">
+						<video :src="dto.video" class="top-img" :auto-pause-if-navigate="true"
+							style="display: block;margin: 0 auto;"></video>
+
+					</swiper-item>
+					<swiper-item v-for="(url, index) in dto.bannerList" :key="index">
+						<image class="top-img" :lazy-load="true" mode="scaleToFill" @click="previewImg(url)"
+							:src="url">
+						</image>
+					</swiper-item>
+
+					<swiper-item>
+						<image :src="dto.cover" :lazy-load="true" @click="previewImg(dto.cover)" class="top-img" mode="scaleToFill">
+						</image>
+					</swiper-item>
+
+
+				</swiper>
+			</uni-swiper-dot>
+
 
 
 
@@ -11,9 +34,6 @@
 					class="icon-sc"></image>
 				<image v-if="dto.collection" src="../../../static/common/icon-sc-fill.png" @click="collectItem(dto)"
 					class="icon-sc"></image>
-
-
-				<!--        <view class="num">12</view>-->
 			</view>
 			<view class="icon-container">
 				<image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop">
@@ -39,11 +59,11 @@
 					<span class="num">{{ dto.price || '-' }}</span>
 					元/扎
 				</view>
-				<view class="m-l-a m-r-15">
-					<button open-type="contact" class="component-button-contact" >
-						<image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
-						
-					</button>	
+				<view class="m-l-a m-r-15">
+					<button open-type="contact" class="component-button-contact">
+						<image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
+
+					</button>
 
 				</view>
 				<view class="m-r-0 gwc" @click="submitShopping(dto)" v-if="!dto.shopnum">
@@ -92,7 +112,7 @@
 			</view>
 		</view>
 
-		<view class="line" v-if="dto.bannerList&&dto.bannerList.length>0">
+		<!-- 		<view class="line" v-if="dto.bannerList&&dto.bannerList.length>0">
 
 		</view>
 		<uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content"
@@ -100,20 +120,21 @@
 			<swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true">
 				<swiper-item v-for="(url, index) in dto.bannerList" :key="index">
 					<view class="swiper-item" :class="'swiper-item' + index">
-						<image class="home-banner-image m-auto m-t-12 m-b-12" style="display: block;" mode="scaleToFill" @click="previewImg(url)" :src="url">
+						<image class="home-banner-image m-auto m-t-12 m-b-12" style="display: block;" mode="scaleToFill"
+							@click="previewImg(url)" :src="url">
 						</image>
 					</view>
 				</swiper-item>
 			</swiper>
-		</uni-swiper-dot>
+		</uni-swiper-dot> -->
 
-		<view class="line" v-if="dto.video">
+		<!-- 	<view class="line" v-if="dto.video">
 
 		</view>
 		<view class="info-brand m-t-12" v-if="dto.video">
 			<video :src="dto.video" :auto-pause-if-navigate="true" style="display: block;margin: 0 auto;"></video>
 
-		</view>
+		</view> -->
 
 
 
@@ -186,14 +207,14 @@
 			this.id = options.id || ''
 
 			// #ifdef PUB_CUSTOMER
-			
+
 			if (options.partnerUserId) {
 				let tmp = this
 				tmp.sharePartnerUserId = options.partnerUserId
 				//合伙人绑定的,判断当前用户,是否有登录,登录没绑定,没登录先缓存合伙人id,等注册和登录时候再弄
 				setTimeout(() => {
 					//并且当前用户没有绑定
-					if(tmp.currentInfo.id&&tmp.currentInfo.customerDTO.partnerId){
+					if (tmp.currentInfo.id && tmp.currentInfo.customerDTO.partnerId) {
 						return
 					}
 					if (tmp.currentInfo.id) {
@@ -414,7 +435,11 @@
 				})
 				if (code === 0) {
 					this.dto = {
+						bannerList: [],
 						...data,
+					}
+					if (!this.dto.bannerList) {
+						this.dto.bannerList = []
 					}
 				}
 
@@ -687,6 +712,11 @@
 		.top-img-container {
 			position: relative;
 
+			swiper {
+				width: 750rpx;
+				height: 764rpx;
+			}
+
 			.top-img {
 				width: 750rpx;
 				height: 764rpx;
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 75af0a7..64ba348 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -221,7 +221,8 @@
 					columnStr: '',
 					column: '',
 					levelStr: '',
-					level: '',
+					level: '',
+					supplierId:'',
 				},
 				categoryInfo: {},
 				params: [],
@@ -269,7 +270,8 @@
 			this.query.category = options.categoryId || options.category || ''
 			this.query.zoneId = options.zoneId || ''
 			this.query.name = options.name || ''
-			this.query.supplierName = options.supplierName || ''
+			this.query.supplierName = options.supplierName || ''
+			this.query.supplierId = options.supplierId || ''
 
 
 			if (this.query.name) {
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index 9419328..e99cd81 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -107,6 +107,7 @@
 		props: {
 			hidefooter: false,
 			catgoryTree: [],
+			supplierId: '',
 		},
 		data() {
 			return {
@@ -289,9 +290,10 @@
 				}
 			},
 			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) {

--
Gitblit v1.9.3