From 4250e140336ac40e10ab4c3b650030f82098ca92 Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期六, 27 七月 2024 21:37:07 +0800
Subject: [PATCH] update bug和样式

---
 pages/home/home.vue                      |  531 +++++++++++++++++---------------
 sub_pages/customer/shopping/shopping.vue |    2 
 sub_pages/customer/self/collect.vue      |  199 ++++++++---
 sub_pages/customer/shop/shop.vue         |  124 +++++-
 sub_pages/customer/trade/trade.vue       |   14 
 App.vue                                  |   17 
 pages/user/supplier-user.vue             |    7 
 sub_pages/customer/trade/detail.vue      |   43 +
 8 files changed, 577 insertions(+), 360 deletions(-)

diff --git a/App.vue b/App.vue
index d028cdd..b46206b 100644
--- a/App.vue
+++ b/App.vue
@@ -234,12 +234,19 @@
 		padding-top: 40rpx;
 		padding-bottom: 40rpx;
 		font-size: var(--title_font_size2);
+		color: #20613D;
+		font-weight: 600;
 	}
 
 	.title-before-blue:before {
-		content: "|";
-		color: #3140A2;
+		content: "||";
+
 		margin-right: 20rpx;
+		color: #20613D;
+		margin-right: 20rpx;
+		min-width: 20rpx;
+		background-color: #20613D;
+		border-radius: 6rpx;
 	}
 
 	.blue {
@@ -1085,7 +1092,7 @@
 			margin-right: 20rpx;
 			border: 2rpx solid #FFFFFF;
 			background-size: 100% 100%;
-			    background-color: #fff;
+			background-color: #fff;
 		}
 
 		.store-name {
@@ -1095,6 +1102,7 @@
 			line-height: 40rpx;
 			margin-top: 20rpx;
 		}
+
 		.store-name.t1 {
 			color: #666;
 		}
@@ -1106,6 +1114,7 @@
 			line-height: 34rpx;
 			margin-top: 8rpx;
 		}
+
 		.store-address.t1 {
 			color: #666;
 		}
@@ -1120,6 +1129,7 @@
 			color: #5B8C71;
 			line-height: 52rpx;
 			text-align: center;
+			margin-top: 30rpx;
 		}
 
 		.store-sc {
@@ -1132,6 +1142,7 @@
 			color: #FFFFFF;
 			line-height: 64rpx;
 			display: flex;
+			margin-top: 20rpx;
 
 			.icon-view {
 				// margin-top: 8rpx;
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 9fc91ee..25f867a 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -1,280 +1,319 @@
 <template>
-  <view class="main-container user-home">
-    <view class="bg-top-green"></view>
-    <!-- 顶部,可能 -->
-    <view class="school" :style="{'padding-top':(StatusBar)+'px'
+	<view class="main-container user-home">
+		<view class="bg-top-green"></view>
+		<!-- 顶部,可能 -->
+		<view class="school" :style="{'padding-top':(StatusBar)+'px'
 		,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
-      <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
+			<!--   <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
         <view class="picker flex">
           <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
           <view>
             {{ areaIndex >= 0 && schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
           </view>
         </view>
-      </picker>
-    </view>
-    <view class="search-container m-t-12 flex">
-      <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>
+      </picker> -->
+			<view class="picker flex" @click.stop="goToAddress">
+				<uni-icons type="location" class="m-r-5" size="18"></uni-icons>
+				<view>
+					{{ address&&address.id?address.address: '选择地址' }}
+				</view>
+			</view>
+		</view>
+		<view class="search-container m-t-12 flex">
+			<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>
 
-    <!-- banner -->
-    <uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
-                    :mode="'dot'" :dots-styles="dotsStyles[0]" field="content">
-      <swiper class="swiper-box" @change="changeBanner" :interval="10000" :circular="true" :current="0"
-              v-if="banners&&banners.length>0" :autoplay="true">
-        <swiper-item v-for="(item, index) in banners" :key="index">
-          <view class="swiper-item" :class="'swiper-item' + index">
-            <image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image"
-                   mode="aspectFit" :src="item.imageSmall||item.image">
-            </image>
-          </view>
-        </swiper-item>
-      </swiper>
-      <swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
-        <swiper-item v-for="(item, index) in 1" :key="index">
-          <view class="swiper-item" :class="'swiper-item' + index">
-            <image class="home-banner-image" mode="scaleToFill"
-                   src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png">
-            </image>
-          </view>
-        </swiper-item>
-      </swiper>
-    </uni-swiper-dot>
-    <!-- tip -->
-    <view class="m-t-12" @click="getNoticeMore">
-      <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
-                      :scrollable="scrollable" :text="currentNotice.title||'暂无公告'" :key="currentNotice.id"/>
-      <span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
-    </view>
-    <!-- 当前分类 -->
-    <home-category></home-category>
-    <!-- 特别的几个公告图片 -->
-    <home-banner-imgs></home-banner-imgs>
-    <!-- 均价情况 -->
-    <home-price></home-price>
-    <!-- 几个专区 -->
-    <home-zones></home-zones>
-    <!-- 置顶的花列表 -->
-    <home-top-flow></home-top-flow>
+		<!-- banner -->
+		<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
+			:mode="'dot'" :dots-styles="dotsStyles[0]" field="content">
+			<swiper class="swiper-box" @change="changeBanner" :interval="10000" :circular="true" :current="0"
+				v-if="banners&&banners.length>0" :autoplay="true">
+				<swiper-item v-for="(item, index) in banners" :key="index">
+					<view class="swiper-item" :class="'swiper-item' + index">
+						<image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image"
+							mode="aspectFit" :src="item.imageSmall||item.image">
+						</image>
+					</view>
+				</swiper-item>
+			</swiper>
+			<swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
+				<swiper-item v-for="(item, index) in 1" :key="index">
+					<view class="swiper-item" :class="'swiper-item' + index">
+						<image class="home-banner-image" mode="scaleToFill"
+							src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png">
+						</image>
+					</view>
+				</swiper-item>
+			</swiper>
+		</uni-swiper-dot>
+		<!-- tip -->
+		<view class="m-t-12" @click="getNoticeMore">
+			<uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
+				:scrollable="scrollable" :text="currentNotice.title||'暂无公告'" :key="currentNotice.id" />
+			<span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
+		</view>
+		<!-- 当前分类 -->
+		<home-category></home-category>
+		<!-- 特别的几个公告图片 -->
+		<home-banner-imgs></home-banner-imgs>
+		<!-- 均价情况 -->
+		<home-price></home-price>
+		<!-- 几个专区 -->
+		<home-zones></home-zones>
+		<!-- 置顶的花列表 -->
+		<home-top-flow></home-top-flow>
 
-    <view style="min-height:200rpx">
-    </view>
-    <common-footer flg="0"></common-footer>
+		<view style="min-height:200rpx">
+		</view>
+		<common-footer flg="0"></common-footer>
 
-  </view>
+	</view>
 </template>
 
 <script>
-import homePrice from './components/home-price.vue'
-import homeBannerImgs from './components/home-banner-imgs.vue'
-import homeZones from './components/home-zones.vue'
-import homeTopFlow from './components/home-top-flow.vue'
-import homeCategory from './components/home-category.vue'
+	import {
+		mapState
+	} from 'vuex'
+	import homePrice from './components/home-price.vue'
+	import homeBannerImgs from './components/home-banner-imgs.vue'
+	import homeZones from './components/home-zones.vue'
+	import homeTopFlow from './components/home-top-flow.vue'
+	import homeCategory from './components/home-category.vue'
 
-export default {
-  components: {
-    homeCategory,
-    homePrice,
-    homeBannerImgs,
-    homeZones,
-    homeTopFlow
-  },
+	export default {
+		computed: {
+			...mapState({
+				address: state => {
+					return state.defaultaddress || {}
+				},
+				currentInfo: state => {
+					return state.currentInfo || {}
+				},
+			}),
+		},
+		components: {
+			homeCategory,
+			homePrice,
+			homeBannerImgs,
+			homeZones,
+			homeTopFlow
+		},
 
-  data() {
-    return {
-      search_flow: '',
-      CustomBar: uni.getStorageSync('CustomBar'),
-      StatusBar: uni.getStorageSync('StatusBar'),
-      // StatusBar:0,
-      color: '#fff',
-      schools: [],
-      areaIndex: -1,
-      scrollable: false,
+		data() {
+			return {
+				search_flow: '',
+				CustomBar: uni.getStorageSync('CustomBar'),
+				StatusBar: uni.getStorageSync('StatusBar'),
+				// StatusBar:0,
+				color: '#fff',
+				schools: [],
+				areaIndex: -1,
+				scrollable: false,
 
-      info: [{
-        colorClass: 'uni-bg-red',
-        url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-        content: '内容 A'
-      },
-        {
-          colorClass: 'uni-bg-green',
-          url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-          content: '内容 B'
-        },
-        {
-          colorClass: 'uni-bg-blue',
-          url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
-          content: '内容 C'
-        }
-      ],
-      dotStyle: [{
-        backgroundColor: 'rgba(0, 0, 0, .3)',
-        border: '1px rgba(0, 0, 0, .3) solid',
-        color: '#fff',
-        selectedBackgroundColor: 'rgba(0, 0, 0, .9)',
-        selectedBorder: '1px rgba(0, 0, 0, .9) solid'
-      },
-        {
-          backgroundColor: 'rgba(255, 90, 95,0.3)',
-          border: '1px rgba(255, 90, 95,0.3) solid',
-          color: '#fff',
-          selectedBackgroundColor: 'rgba(255, 90, 95,0.9)',
-          selectedBorder: '1px rgba(255, 90, 95,0.9) solid'
-        },
-        {
-          backgroundColor: 'rgba(83, 200, 249,0.3)',
-          border: '1px rgba(83, 200, 249,0.3) solid',
-          color: '#fff',
-          selectedBackgroundColor: 'rgba(83, 200, 249,0.9)',
-          selectedBorder: '1px rgba(83, 200, 249,0.9) solid'
-        }
-      ],
-      currentBanner: 0,
-      banners: [],
-      tripList: [],
-      tuangouList: [],
-      hide_footer: false,
-      noticeList: [],
-      currentNoticeIndex: 0,
-      currentNotice: {}
-    };
-  },
-  // onShareAppMessage() {
-  // let that = this;
-  // var url =
-  // 	`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
-  // return {
-  // 	title: "校购GO小狗狗",
-  // 	path: url,
-  // }
-  // },
-  // onShareTimeline() {
-  // 	let that = this;
-  // 	var url = "/pages/home/home" //你的分享页面路径
-  // 	return {
-  // 		title: '校购GO小狗狗',
-  // 		path: url,
-  // 		query: `shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`, //你的参数拼接,注意:不需要加?
-  // 		// imageUrl: 'https://cdn.uviewui.com/uview/swiper/1.jpg' //你分享的封面
-  // 	};
-  // },
+				info: [{
+						colorClass: 'uni-bg-red',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 A'
+					},
+					{
+						colorClass: 'uni-bg-green',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 B'
+					},
+					{
+						colorClass: 'uni-bg-blue',
+						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
+						content: '内容 C'
+					}
+				],
+				dotStyle: [{
+						backgroundColor: 'rgba(0, 0, 0, .3)',
+						border: '1px rgba(0, 0, 0, .3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(0, 0, 0, .9)',
+						selectedBorder: '1px rgba(0, 0, 0, .9) solid'
+					},
+					{
+						backgroundColor: 'rgba(255, 90, 95,0.3)',
+						border: '1px rgba(255, 90, 95,0.3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(255, 90, 95,0.9)',
+						selectedBorder: '1px rgba(255, 90, 95,0.9) solid'
+					},
+					{
+						backgroundColor: 'rgba(83, 200, 249,0.3)',
+						border: '1px rgba(83, 200, 249,0.3) solid',
+						color: '#fff',
+						selectedBackgroundColor: 'rgba(83, 200, 249,0.9)',
+						selectedBorder: '1px rgba(83, 200, 249,0.9) solid'
+					}
+				],
+				currentBanner: 0,
+				banners: [],
+				tripList: [],
+				tuangouList: [],
+				hide_footer: false,
+				noticeList: [],
+				currentNoticeIndex: 0,
+				currentNotice: {}
+			};
+		},
+		// onShareAppMessage() {
+		// let that = this;
+		// var url =
+		// 	`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
+		// return {
+		// 	title: "校购GO小狗狗",
+		// 	path: url,
+		// }
+		// },
+		// onShareTimeline() {
+		// 	let that = this;
+		// 	var url = "/pages/home/home" //你的分享页面路径
+		// 	return {
+		// 		title: '校购GO小狗狗',
+		// 		path: url,
+		// 		query: `shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`, //你的参数拼接,注意:不需要加?
+		// 		// imageUrl: 'https://cdn.uviewui.com/uview/swiper/1.jpg' //你分享的封面
+		// 	};
+		// },
 
-  onLoad() {
-    // console.log('home created')
-    //这里进行一次初始化即可
-    // this.$http.request('get', '/api/school/area/list', {
+		onLoad() {
+			// console.log('home created')
+			//这里进行一次初始化即可
+			// this.$http.request('get', '/api/school/area/list', {
 
-    // }).then(res => {
-    // 	if (res.code == 0) {
-    // 		this.schools = res.data || []
-    // 	}
-    // })
+			// }).then(res => {
+			// 	if (res.code == 0) {
+			// 		this.schools = res.data || []
+			// 	}
+			// })
 
-    // uni.navigateTo({
-    // 	url: '/sub_pages/customer/trade/detail'
-    // })
+			// uni.navigateTo({
+			// 	url: '/sub_pages/customer/trade/detail'
+			// })
 
-    //获取banner图
-    this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
-      if (res.code == 0) {
-        this.banners = res.data.records || []
-      }
-    })
+			//获取banner图
+			this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
+				if (res.code == 0) {
+					this.banners = res.data.records || []
+				}
+			})
 
-    var areaIndex = uni.getStorageSync('areaIndex')
-    if (!areaIndex && areaIndex !== 0) {
+			var areaIndex = uni.getStorageSync('areaIndex')
+			if (!areaIndex && areaIndex !== 0) {
 
-    } else {
-      this.areaIndex = areaIndex
-    }
+			} else {
+				this.areaIndex = areaIndex
+			}
+			//如果已经登录,加载一下默认地址
+			let that = this
+			setTimeout(()=>{
+				if(that.currentInfo.id&&!that.address.id){
+					that.$http.request('get', '/api/address/default/detail').then(res=>{
+						if(res.data){
+							that.$store.commit('setDefaultAddress', {...res.data})
+							
+						}
+					})
+				}
+				
+			},2000)
+			//公告
+			this.$http.request('get', '/api/announcement/page', {
+				params: {
+					size: 5,
+					status: 'A'
+				}
+			}).then(res => {
+				if (res.code === 0) {
+					this.noticeList = (res.data && res.data.records || [])
+					console.log('this.noticeList', this.noticeList)
+					if (this.noticeList.length > 0) {
+						this.currentNotice = this.noticeList[0]
+						if (this.currentNotice.title && this.currentNotice.title.length >= 30) {
+							this.scrollable = true
+						} else {
+							this.scrollable = false
+						}
+						let that = this
+						if (this.noticeList.length >= 1) {
+							setInterval(() => {
+								console.log('interval,1')
+								that.currentNoticeIndex += 1
+								that.currentNoticeIndex %= that.noticeList.length
+								that.currentNotice = that.noticeList[that.currentNoticeIndex]
+								that.scrollable = false
+								that.$nextTick(() => {
+									if (that.currentNotice.title && that.currentNotice.title
+										.length >= 30) {
+										that.scrollable = true
+									} else {
+										that.scrollable = false
+									}
+								})
+
+							}, 8000)
+						}
+
+					}
+				}
+			})
 
 
-    //公告
-    this.$http.request('get', '/api/announcement/page', {
-      params: {
-        size: 5,
-        status: 'A'
-      }
-    }).then(res => {
-      if (res.code === 0) {
-        this.noticeList = (res.data && res.data.records || [])
-        console.log('this.noticeList', this.noticeList)
-        if (this.noticeList.length > 0) {
-          this.currentNotice = this.noticeList[0]
-          if (this.currentNotice.title && this.currentNotice.title.length >= 30) {
-            this.scrollable = true
-          } else {
-            this.scrollable = false
-          }
-          let that = this
-          if (this.noticeList.length >= 1) {
-            setInterval(() => {
-              console.log('interval,1')
-              that.currentNoticeIndex += 1
-              that.currentNoticeIndex %= that.noticeList.length
-              that.currentNotice = that.noticeList[that.currentNoticeIndex]
-              that.scrollable = false
-              that.$nextTick(() => {
-                if (that.currentNotice.title && that.currentNotice.title
-                    .length >= 30) {
-                  that.scrollable = true
-                } else {
-                  that.scrollable = false
-                }
-              })
+		},
+		methods: {
+			goToAddress() {
+				if (!this.currentInfo.id) {
+					this.$message.showToast('请先前往登录')
+					return
+				}
+				uni.navigateTo({
+					url: '/pages/user/address/address?source=select'
+				})
+			},
+			buttonSearchFlow() {
+				console.log('buttonSearchFlow')
+				uni.navigateTo({
+					url: '/sub_pages/trade/list?name=' + this.search_flow
+				})
+			},
+			pop(status) {
+				this.hide_footer = !!status
+			},
+			changeBanner(e) {
+				this.currentBanner = e.detail.current
+			},
 
-            }, 8000)
-          }
-
-        }
-      }
-    })
+			getNoticeMore() {
+				uni.navigateTo({
+					url: '/pages/notice/list?id=' + this.currentNotice.id
+				})
+			},
+			PickerChangeSchool(e) {
+				if (e.detail.value == '-1') {
+					this.$message.showToast('未选择位置')
+					return
+				}
+				console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
 
 
-  },
-  methods: {
-    buttonSearchFlow() {
-      console.log('buttonSearchFlow')
-      uni.navigateTo({
-        url: '/sub_pages/trade/list?name=' + this.search_flow
-      })
-    },
-    pop(status) {
-      this.hide_footer = !!status
-    },
-    changeBanner(e) {
-      this.currentBanner = e.detail.current
-    },
+				this.areaIndex = parseInt(e.detail.value)
+				uni.setStorageSync('areaId', this.schools[parseInt(e.detail.value)].id);
+				uni.setStorageSync('areaIndex', parseInt(e.detail.value));
 
-    getNoticeMore() {
-      uni.navigateTo({
-        url: '/pages/notice/list?id=' + this.currentNotice.id
-      })
-    },
-    PickerChangeSchool(e) {
-      if (e.detail.value == '-1') {
-        this.$message.showToast('未选择位置')
-        return
-      }
-      console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
+			},
 
-
-      this.areaIndex = parseInt(e.detail.value)
-      uni.setStorageSync('areaId', this.schools[parseInt(e.detail.value)].id);
-      uni.setStorageSync('areaIndex', parseInt(e.detail.value));
-
-    },
-
-  }
-}
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-@import "./home.scss";
+	@import "./home.scss";
 </style>
\ No newline at end of file
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index bd6f55a..cc5e22b 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -130,11 +130,14 @@
 						</image>
 						<view>新手帮助</view>
 					</view>
-					<view class="service-icons" @click.stop="$meesage.showToast('敬请期待')">
+		<!-- 			<view class="service-icons" @click.stop="$meesage.showToast('敬请期待')">
 						<image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
 						</image>
 						<view>运费详查</view>
-					</view>
+					</view> -->
+					
+					<view class="service-icons"></view>
+					
 					<view class="service-icons"></view>
 					<view class="service-icons"></view>
 				</view>
diff --git a/sub_pages/customer/self/collect.vue b/sub_pages/customer/self/collect.vue
index 3611207..3a6706f 100644
--- a/sub_pages/customer/self/collect.vue
+++ b/sub_pages/customer/self/collect.vue
@@ -1,64 +1,3 @@
-<template>
-	<view class="page-collect p20">
-		<view class="search-container bg-white flex">
-			<view class="flex1 input">
-				<u-input placeholder="请输入花名" v-model="query.name">
-					<template slot="suffix">
-						<uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
-					</template>
-				</u-input>
-			</view>
-		</view>
-		<view class="component-filter-container p10 bg-white">
-			<view class="flex1" @click.stop="order_show=true">
-				{{ this.query.columnStr || '排序' }}
-				<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
-			</view>
-			<view class="flex1" @click.stop="level_show=true">
-				{{ this.query.levelStr || '级别' }}
-				<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
-			</view>
-		</view>
-		<no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
-
-
-		<u-picker :show="level_show" @confirm="select_level" keyName="label" :columns="level_columns"
-			@cancel="level_show=false"></u-picker>
-		<u-picker :show="order_show" @confirm="select_order" keyName="label" :columns="order_columns"
-			@cancel="order_show=false"></u-picker>
-
-		<view class="trade-list-container">
-			<view class="trade-info-container" v-for="(dto,index) of list" :key="index">
-				<view class="title">
-					<view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
-					<view class="">
-						{{ dto.name || '-' }}
-					</view>
-				</view>
-				<view class="desc m-t-12">
-					<view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
-					<view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
-					<view class=" ">{{ dto.unit || '-' }}支/扎</view>
-				</view>
-				<view class="flex m-t-12">
-					<view class="price m-r-a">
-						<span class="num">{{ dto.price || '-' }}</span>
-						元/扎
-					</view>
-					<view class="m-l-a m-r-15">
-						<image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
-
-					</view>
-					<view class="m-r-0 gwc" @click="submitShopping(dto)">
-						+ 购物车
-					</view>
-				</view>
-			</view>
-
-		</view>
-	</view>
-</template>
-
 <script>
 	export default {
 		async onPullDownRefresh() {
@@ -116,6 +55,11 @@
 			})
 		},
 		methods: {
+			toDetail(item) {
+				uni.navigateTo({
+					url: `/sub_pages/customer/trade/detail?id=${item.id}`
+				})
+			},
 			async submitShopping(dto) {
 				//提交到购物车中
 				this.$message.showLoading()
@@ -140,6 +84,73 @@
 	}
 </script>
 
+<template>
+	<view class="page-collect " style="background: #E1F0E7;">
+		<view style="padding-bottom: 0rpx;" class="p20">
+			<view class="search-container flex">
+				<view class="flex1 input">
+					<u-input placeholder="请输入花名" v-model="query.name">
+						<template slot="suffix">
+							<uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
+						</template>
+					</u-input>
+				</view>
+			</view>
+			<view class="component-filter-container p10">
+				<view class="flex1" @click.stop="order_show=true">
+					{{ this.query.columnStr || '排序' }}
+					<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+				</view>
+				<view class="flex1" @click.stop="level_show=true">
+					{{ this.query.levelStr || '级别' }}
+					<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+				</view>
+			</view>
+		</view>
+
+		<no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
+
+
+		<u-picker :show="level_show" @confirm="select_level" keyName="label" :columns="level_columns"
+			@cancel="level_show=false"></u-picker>
+		<u-picker :show="order_show" @confirm="select_order" keyName="label" :columns="order_columns"
+			@cancel="order_show=false"></u-picker>
+
+		<view class="trade-list-container">
+			<view class="trade-info-container flex" v-for="(dto,index) of list" :key="index" @click.stop="toDetail(dto)">
+				<image class="img img100 br-4 m-r-10" :src="dto.url||dto.cover"></image>
+				<view class="flex1">
+					<view class="flex">
+						<view class="title">
+							<span class="m-r-5" style="display: inline-block;"
+								v-if="item.categoryStr">{{item.categoryStr||''}}</span>
+							<span v-if="item.levelStr" class="m-r-5"
+								style="display: inline-block;">{{ item.levelStr || '' }}</span>
+							{{ dto.name || '-' }}
+						</view>
+						<view class="price m-l-a m-r-0">
+							¥{{ dto.price || '-' }}/扎
+						</view>
+					</view>
+					<view class="flex">
+						<view class="desc m-t-12 flex">
+							<view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
+							<view class="m-r-15">颜色:{{ dto.color || '-' }}</view>
+						</view>
+						<view class="button-icons flex m-l-a m-r-0 m-t-20">
+							<view class="m-r-0 gwc" @click.stop="submitShopping(dto)">
+								+ 购物车
+							</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+		</view>
+	</view>
+</template>
+
 <style lang="scss" scoped>
 	.page-collect {
 		.search-container {
@@ -162,5 +173,71 @@
 				line-height: 70rpx !important;
 			}
 		}
+
+		.trade-info-container {
+			background-color: #fff;
+			border-top-right-radius: 40rpx;
+			border-top-left-radius: 40rpx;
+			padding: 30rpx;
+			overflow: hidden;
+			min-height: calc(100vh - 300rpx);
+			overflow-y: scroll;
+
+			.img {
+				width: 124rpx;
+				height: 124rpx;
+			}
+
+			.title {
+				font-weight: 600;
+				font-size: 28rpx;
+
+				color: #000000;
+				line-height: 40rpx;
+
+				.level {
+					color: #20613D;
+				}
+			}
+
+			.price {
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #CF0000;
+				line-height: 40rpx;
+			}
+
+			.desc {
+				font-weight: 400;
+				font-size: 24rpx;
+				color: #666666;
+				line-height: 34rpx;
+			}
+
+
+			.button-icons {
+				//position: absolute;
+				//z-index: 10;
+				line-height: 40rpx;
+
+				.curnums {
+					margin-left: 10rpx;
+					margin-right: 10rpx;
+				}
+			}
+
+			.gwc {
+				width: 168rpx;
+				height: 48rpx;
+				border-radius: 30rpx;
+				border: 2rpx solid #20613D;
+				font-size: 24rpx;
+				color: #20613D;
+				line-height: 48rpx;
+				text-align: center;
+			}
+
+		}
+
 	}
 </style>
\ No newline at end of file
diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index 4899b93..166571f 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -83,36 +83,40 @@
 					@click.stop="toDetail(item)">
 					<view class="img">
 						<image class="img img100"
-							src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png">
+							:src="item.cover" lazy-load>
 						</image>
 						<view class="level">
-							A级
+							{{item.levelStr||''}}
 						</view>
 					</view>
 
 					<view class="m-l-12 info-container flex1">
 						<view class="title">
-							橙色芭比
+							{{item.name}}
 							<view class="price">
-								¥6.60/扎
+								¥{{item.price}}/扎
 							</view>
 						</view>
 						<view class="shop-name">
-							牛油果泡泡·白色
+							{{item.categoryStr}}
 						</view>
 						<view class="other-info flex">
 							<view class="m-r-15">
-								已售:7
+								已售:{{item.sales || 0}}
 							</view>
 							<view class="m-r-15">
-								剩余:13
+								剩余:{{item.stock || 0}}
 							</view>
 							<view class="m-r-15">
-								1支/扎
+								{{item.unit}}
 							</view>
 						</view>
 						<view class="bottom-buttons  flex">
-
+							<view class="m-l-0 m-r-a">
+								<view class="m-r-15">
+									颜色:{{item.color||'-'}}
+								</view>
+							</view>
 							<view class="icons flex">
 								<uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
 									@click.stop="addnum(item,-1)"></uni-icons>
@@ -127,7 +131,10 @@
 			</view>
 
 			<view v-if="flg==='1'" class="brand-info-1">
-				<trade :hidefooter="true"></trade>
+				<trade :hidefooter="true" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade"></trade>
+				<!-- // 构建一个分类树 -->
+				<!-- catgoryTree -->
+				
 			</view>
 			<view v-if="flg==='2'" class="brand-info-3">
 				<view class="title">
@@ -182,32 +189,63 @@
 					},
 				],
 				dto: {},
-				list: [{}, {}],
+				list: [],
 				id: '',
+				catgoryTree:undefined,
 			}
 		},
 		onLoad(options) {
 			this.id = options.id || ''
+			// this.page.size =
 			if (this.id) {
 				this.getDetail()
+			}
+			this.listApi =  `/api/customer/flower/list`
+			this.query.supplierId = this.id 
+			this.getList('post')
+		},
+		onReachBottom(){
+			if(this.flg==='0'){
+				this.getMore('post')
 			}
 		},
 		methods: {
 			async getDetail() {
-				this.$message.showLoading()
-				const {
-					code,
-					data
-				} = await this.$http.request('get', `/api/pub/supplier/detail/${this.id}`, {
-					params: {}
-				})
-				if (code === 0) {
-					this.dto = {
-						...data,
+				{
+					this.$message.showLoading()
+					const {
+						code,
+						data
+					} = await this.$http.request('get', `/api/pub/supplier/detail/${this.id}`, {
+						params: {}
+					})
+					if (code === 0) {
+						this.dto = {
+							...data,
+						}
 					}
-				}
 
-				this.$message.hideLoading()
+					this.$message.hideLoading()
+				}
+				//获取商家下的商品列表
+
+				// {
+				// 	this.$message.showLoading()
+				// 	const {
+				// 		code,
+				// 		data
+				// 	} = await this.$http.request('post', `/api/customer/flower/list`, {
+				// 		data: {
+				// 			supplierId: this.id,
+				// 			size: 20
+				// 		}
+				// 	})
+				// 	if (code === 0) {
+				// 		this.list = data.records || []
+				// 	}
+
+				// 	this.$message.hideLoading()
+				// }
 
 			},
 			//update 关注
@@ -232,10 +270,35 @@
 
 
 			},
-			changeTab(flg) {
+			async changeTab(flg) {
 				console.log('changeTab', flg)
-				this.flg = ''+flg
+				if('1'===(''+flg)){
+					if(!this.catgoryTree){
+						this.$message.showLoading()
+						const {
+							code,data
+						} = await this.$http.request('get', `/api/customer/flower/category/tree`, {
+							data: {
+								supplierId: this.dto.supplierId || this.dto.id
+							},
+							params: {
+								supplierId: this.dto.supplierId || this.dto.id
+							}
+						})
+						if (code === 0) {
+							// data 分类树
+							this.catgoryTree = data || []
+							let tmp = this
+							this.$nextTick(()=>{
+								tmp.$refs.trade.refInit(tmp.catgoryTree)
+							})
+						}
+						this.$message.hideLoading()
+					}
+				}
+				this.flg = '' + flg
 				//如果没有加载数据,需要加载一下
+				
 
 			},
 			buttonSearchFlow() {
@@ -304,9 +367,13 @@
 					padding-left: 20rpx;
 				}
 			}
-
+			.brand-info-1{
+				// padding: 40rpx 30rpx;
+				
+			}
 			.brand-info-3 {
 				padding: 40rpx 30rpx;
+
 				.title {
 					font-weight: 600;
 					font-size: 32rpx;
@@ -318,22 +385,21 @@
 				.form-input {
 					display: flex;
 					border-bottom: 2rpx solid #EEEEEE;
+					line-height: 80rpx;
 
 					.label {
 						font-weight: 600;
 						font-size: 28rpx;
 						color: #000000;
-						line-height: 40rpx;
 					}
 
 					.value {
 						font-weight: 400;
 						font-size: 28rpx;
 						color: #666666;
-						line-height: 40rpx;
 						margin-left: auto;
 						margin-right: 0;
-						
+
 						text-align: right;
 
 						.check {
diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index 30d8998..20252e0 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -27,7 +27,7 @@
 						<u-swipe-action-item :options="options1" @click="(e)=>{clickSwipeButton(dto)}">
 							<view class="item-each flex">
 								<radio :checked="ids.indexOf(dto.id)>=0" @click="changeItem(dto,'flower')"></radio>
-								<image class="img img100 m-r-6" :src="dto.url||dto.cover"></image>
+								<image class="img img100 m-r-6 br-4" :src="dto.url||dto.cover"></image>
 								<view class="flex1">
 									<view class="title"><span class="m-r-5"
 											style="display: inline-block;">{{item.categoryStr||''}}</span><span
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index af290b5..12e11ce 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -3,7 +3,12 @@
 		<view class="top-img-container">
 			<image :src="dto.cover" class="top-img" mode="aspectFill"></image>
 			<view class="icon-container">
-				<image src="../../../static/common/icon-sc.png" @click="collectItem(dto)" class="icon-sc"></image>
+				<image v-if="!dto.collection" src="../../../static/common/icon-sc.png" @click="collectItem(dto)"
+					class="icon-sc"></image>
+				<image v-if="dto.collection" src="../../../static/common/icon-sc.png" @click="collectItem(dto)"
+					class="icon-sc"></image>
+
+
 				<!--        <view class="num">12</view>-->
 			</view>
 			<view class="icon-container">
@@ -14,7 +19,7 @@
 		</view>
 		<view class="trade-info-container">
 			<view class="title flex">
-				<view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
+				<view class="level m-r-15">{{ dto.levelStr || '-' }}</view>
 				<view class="">
 					{{ dto.name || '-' }}
 				</view>
@@ -133,21 +138,27 @@
 			}
 		},
 		methods: {
-			async collectItem(dto){
-				await this.$message.confirm('是否添加到收藏')
+			async collectItem(dto) {
+				await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`)
 				this.$message.showLoading()
 				const {
 					code,
 					data
-				} = await this.$http.request('post', '/api/collect/add', {
-					data: {
-						flowerId: dto.id
-					}
-				})
+				} = await this.$http.request(dto.collection ? "get" : 'post', dto.collection ? '/api/collect/delete' :
+					'/api/collect/add', {
+						data: {
+							flowerId: dto.id
+						},
+						params: {
+							id: dto.id
+						}
+					})
 				if (code === 0) {
-					this.$message.showToast('收藏成功')
+					this.$message.showToast('操作成功')
+					dto.collection = !dto.collection
+					this.$forceUpdate()
 				}
-				
+
 				this.$message.hideLoading()
 			},
 			async submitShopping(dto) {
@@ -353,10 +364,12 @@
 				position: absolute;
 				top: 20rpx;
 				width: 80rpx;
-				left: 40rpx;
+				right: 140rpx;
 				height: 80rpx;
-				background: rgba(0, 0, 0, 0);
-
+				background: rgba(0, 0, 0, 0.42);
+				border-radius: 50%;
+				display:flex;
+				
 				.icon-sc {
 					width: 54rpx;
 					height: 54rpx;
@@ -386,7 +399,7 @@
 			}
 
 			.icon-container:last-child {
-				left: 100rpx;
+				right: 20rpx;
 			}
 
 			// .icon-container:first-child {
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index cf1a60b..c4b6347 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -1,5 +1,5 @@
 <template>
-	<view class="container-trade" style="min-height: calc(100vh - 20rpx );">
+	<view class="container-trade"  :style="{'min-height':hidefooter?'':'calc(100vh - 20rpx)'}">
 		<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">
@@ -9,7 +9,7 @@
 				</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;">
 				&nbsp;
 			</view>
@@ -59,7 +59,7 @@
 						</view>
 
 					</view>
-					<footer-msg
+					<footer-msg v-if="!hidefooter"
 						:more="page.total>0&&page.total>page.current*page.size"></footer-msg>
 
 				</view>
@@ -103,6 +103,7 @@
 	export default {
 		props: {
 			hidefooter: false,
+			catgoryTree:[],
 		},
 		data() {
 			return {
@@ -143,6 +144,13 @@
 			})
 		},
 		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()

--
Gitblit v1.9.3