From d18a571aa4dacab6928dbc8c6c45d5aa3f291afb Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期三, 31 七月 2024 23:34:01 +0800
Subject: [PATCH] update

---
 sub_pages/customer/shop/shop.vue |  172 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 138 insertions(+), 34 deletions(-)

diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue
index 4899b93..4ce52a8 100644
--- a/sub_pages/customer/shop/shop.vue
+++ b/sub_pages/customer/shop/shop.vue
@@ -82,41 +82,46 @@
 				<view class="component-shop-item flex" v-for="(item,index) of list" :key="index"
 					@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">
+						<image class="img img100" :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>
-								<view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{ item.shopnum }}</view>
+								<view class="curnums" @click="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"
 									@click.stop="addnum(item,1)"></uni-icons>
 							</view>
@@ -127,7 +132,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,36 +190,72 @@
 					},
 				],
 				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.hideLoading()
+			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.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 关注
 			async updateGz(type) {
+				if (!this.currentInfo.id) {
+					this.$message.showToast('请先登录')
+					return
+				}
 				this.$message.showLoading()
 				const {
 					code
@@ -232,16 +276,64 @@
 
 
 			},
-			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() {
 
 			},
+			async updateItemNum(item) {
+				const res = await this.$message.confirm('', {
+					editable: true,
+					title: '请输入想要购买的数量'
+				})
+				if (res.content && res.confirm) {
+					// 发送请求
+					var t = parseInt(res.content)
+					if (isNaN(t) || t < 0) {
+						this.$message.showToast('数目需要大于等于0')
 
+					} else {
+						if (!item.stock || t > item.stock) {
+							this.$message.showToast('库存不足无法修改')
+							return
+						}
+						this.addnum(item, (t - item.shopnum))
+
+					}
+				} else {
+
+				}
+			},
 			async addnum(item, addnum) {
 				if (!this.currentInfo.id) {
 					await this.$message.confirm('请前往登录')
@@ -253,6 +345,13 @@
 				if (!item.shopnum) {
 					item.shopnum = 0
 				}
+				if (!item.stock) {
+					item.stock = 0
+				}
+				if (addnum > 0 & item.shopnum + addnum > item.stock) {
+					this.$message.showToast('库存不足,无法修改')
+					return
+				}
 				if (item.shopnum + addnum >= 0) {
 
 				} else {
@@ -261,7 +360,7 @@
 				this.$message.showLoading()
 				const {
 					code
-				} = await http.request('post', '/api/customer/flower/cart/change-num', {
+				} = await this.$http.request('post', '/api/customer/flower/cart/change-num', {
 					data: {
 						id: item.id,
 						num: addnum
@@ -270,8 +369,8 @@
 				this.$message.hideLoading()
 				if (code === 0) {
 					item.shopnum += addnum
+					this.$forceUpdate()
 				}
-				this.$forceUpdate()
 			},
 
 		}
@@ -305,8 +404,14 @@
 				}
 			}
 
+			.brand-info-1 {
+				// padding: 40rpx 30rpx;
+
+			}
+
 			.brand-info-3 {
 				padding: 40rpx 30rpx;
+
 				.title {
 					font-weight: 600;
 					font-size: 32rpx;
@@ -318,22 +423,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 {

--
Gitblit v1.9.3