From e3c0ebbd9f9ee111f29be9f76979edd97f1d6f3a Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期三, 11 九月 2024 10:32:33 +0800
Subject: [PATCH] Merge branch 'v2' of http://47.96.225.205:8888/r/hmy_farmer-main into remote-v2

---
 sub_pages/supplier/flower-manage/flower-manage.vue |  202 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 186 insertions(+), 16 deletions(-)

diff --git a/sub_pages/supplier/flower-manage/flower-manage.vue b/sub_pages/supplier/flower-manage/flower-manage.vue
index 34c0a81..701e9f1 100644
--- a/sub_pages/supplier/flower-manage/flower-manage.vue
+++ b/sub_pages/supplier/flower-manage/flower-manage.vue
@@ -7,19 +7,38 @@
 			<view @click.stop="clickButton('inpass')" class="button button-search-inpass" style="flex:5"></view>
 			<view @click.stop="clickButton('delete')" class="button button-search-delete" style="margin-top: -1rpx;">
 			</view>
-
 		</view>
-
-		<view class="p15" style="min-height: calc(100vh - 160rpx);">
+		
+		<view class="recycle-button"  v-if="type==='delete'">
+		<view class="buttons" >
+				<view v-if="type === 'delete'" class="button t-red"  @click.stop="deleteSelected()">删除</view>
+				<view v-if="type === 'delete'" class="button"  @click.stop="recoverSelected()">恢复</view>
+		</view>
+		</view>
+	
+		<view class="p15" style="min-height: calc(100vh - 500rpx);">
 			<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
+			
 			<view v-for="(item,index) in list" :key="index" class="m-b-24 flow-manage-list">
+			<!-- 	<view v-if="type === 'delete'"><checkbox  class="checkbox" :value="item.id" v-model="selectedFlowers" /> </view>
+			 -->
+				<view class="flow-manage-list-item-radio" v-if="type === 'delete'"><radio :checked="isSelected(item.id)" @click="changeItem(item)"></radio></view>
 				<view class="flow-manage-list-item">
-					<view class="flex">
-						<image class="flower-img img100 m-r-6" :src="item.cover" @click="previewImg(item.cover)">
-						</image>
+					<view class="flex m-r-6">
+						<view class="img flower-img m-r-6">	
+							<image class="flower-img img100 " :src="item.cover"
+								:class="[!item.stock?'component-stock-zero':'']" @click="previewImg(item.cover)">
+							</image>
+							<view class="status" :class="[!item.stock?'zero':'']" v-if="item.statusStr">
+								{{ item.statusStr}}
+							</view>
+						</view>
+
 						<view class="flex1">
 							<view class=" flex">
 								<view class="title">{{item.name}}<span class="level">{{item.levelStr}}</span></view>
+								<view class="m-l-a m-r-0" ><span class="label">排名</span><span class="value">{{item.typeRank || '-'}}</span></view>
+				
 								<view class="m-l-a m-r-0">
 									{{item.categoryStr || '-'}}
 								</view>
@@ -70,7 +89,7 @@
 						<view class="button" @click.stop="openValue(item,'stock')">库存</view>
 						<view class="button" @click.stop="toDetailAdd(item)">复制</view>
 
-						<view class="button t-red" @click.stop="buttonDelete(item)">删除</view>
+						<view v-if="type !== 'delete' && (item.status==='OFF' || item.status==='FORCE_OFF')  " class="button t-red" @click.stop="buttonDelete(item)">删除</view>
 
 					</view>
 				</view>
@@ -126,6 +145,8 @@
 				currentInputDto: {},
 				currentInputKey: '',
 				inputplaceholder: '',
+				selectedFlowers: [], // 存储选中的花的 ID
+				ids: [],
 			}
 		},
 		onShow() {
@@ -137,6 +158,7 @@
 		async onLoad(options) {
 			this.type = options.type || 'all'
 			var title = ''
+			this.page.size = 5
 			//todo 根据type切换查询条件
 			if (this.type === 'delete') {
 				this.listApi = '/api/supplier/flower/list/rc'
@@ -171,7 +193,7 @@
 			this.getList()
 		},
 		onReachBottom() {
-			this.page.current += 1
+			console.log('onReachBottom')
 			this.getMore()
 		},
 		async onPullDownRefresh() {
@@ -241,21 +263,22 @@
 				})
 			},
 			async buttonStatus(item, status) {
-				await this.$message.confirm(`确定${status==='off'?'下降':'上架'}此商品吗`)
+				await this.$message.confirm(`确定${status==='off'?'下架':'上架'}此商品吗`)
 				this.$message.showLoading()
 				this.$http.request('get', '/api/supplier/flower/list/' + status, {
 					params: {
 						id: item.id
 					}
 				}).then(res => {
+					this.$message.hideLoading()
 					if (res.code == 0) {
 						this.$message.showToast('操作成功')
-						item.status = status
+						item.status = (status == 'off' ? 'OFF' : 'UP')
 						item.statusStr = (status == 'off' ? '下架' : '上架')
 					}
-				}).finally(() => {
+				}).catch(e => {
 					this.$message.hideLoading()
-				})
+				}).finally(() => {})
 			},
 			async buttonDelete(item) {
 				await this.$message.confirm('确定删除此商品吗')
@@ -295,21 +318,99 @@
 					})
 				}
 			},
+			   // 删除选中的花卉
+	    async deleteSelected() {
+	        if (this.selectedFlowers.length === 0) {
+	            this.$message.showToast('请选择要删除的商品');
+	            return;
+	        }
+	
+	        // 确认框
+			await this.$message.confirm('确定删除此商品吗')
+			
+			var dto = {
+				ids: this.selectedFlowers,
+			}
+			
+			this.$message.showLoading()
+			this.$http.request('post', '/api/supplier/flower/list/delete/batch' , {
+				data: dto
+			}).then(res => {
+				if (res.code == 0) {
+					this.$message.showToast('操作成功')
+					this.refreshList()
+			
+				}
+			}).finally(() => {
+				this.$message.hideLoading()
+			})
+			
+							
+	    },
+		async recoverSelected() {
+		    if (this.selectedFlowers.length === 0) {
+		        this.$message.showToast('请选择恢复的商品');
+		        return;
+		    }
+			
+		    // 确认框
+			await this.$message.confirm('确定恢复此商品吗')
+			
+			var dto = {
+				ids: this.selectedFlowers,
+			}
+			
+			this.$message.showLoading()
+			this.$http.request('post', '/api/supplier/flower/list/restore/batch' , {
+				data: dto
+			}).then(res => {
+				if (res.code == 0) {
+					this.$message.showToast('操作成功')
+					this.refreshList()
+				}
+			}).finally(() => {
+				this.$message.hideLoading()
+			})
+			
+							
+		},
+		changeItem(item) {
+			 const id = item.id;
+			  // 判断selectedFlowers里面是否有item.id, 如果有则去掉,没有就加入
+			  if (this.selectedFlowers.includes(id)) {
+			    // 移除选中的ID
+			    this.selectedFlowers = this.selectedFlowers.filter(flowerId => flowerId !== id);
+			  } else {
+			    // 添加选中的ID
+			    this.selectedFlowers.push(id);
+			  }
+		},
+		 isSelected(id) {
+		   // 检查ID是否在selectedFlowers中
+		   return this.selectedFlowers.includes(id);
+		 }
+					
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
 	.flow-manage {
+		overflow-y: scroll;
+
+		// min-height: ;
 		.flow-manage-list {
 			// padding: 20rpx 30rpx;
 			padding: 22rpx 22rpx 20rpx 22rpx;
 			background-color: #fff;
+			display: flex;
+			
+			.flow-manage-list-item-radio{
+				width: 50rpx;
+				height: 50rpx;
+			}
 
 			.flow-manage-list-item {
-
-				// margin-bottom: 20rpx;
-
 				.title {
 					font-weight: 600;
 					font-size: 28rpx;
@@ -323,6 +424,25 @@
 						line-height: 40rpx;
 						margin-left: 20rpx;
 					}
+				}
+				.label {
+					
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
+					text-align: left;
+					// padding-left: 10rpx;
+					// padding-right: 10rpx;
+				}
+				
+				.label::after {
+					content: ": "
+				}
+				
+				.value {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
 				}
 
 				.buttons {
@@ -346,6 +466,28 @@
 					height: 118rpx;
 					min-width: 128rpx;
 					min-height: 118rpx;
+					position: relative;
+
+					.status {
+						position: absolute;
+						min-width: 66rpx;
+						height: 34rpx;
+						background: #20613D;
+						left: 0;
+						top: 0;
+						border-top-left-radius: 8rpx;
+						border-bottom-right-radius: 8rpx;
+						color: #FFFFFF;
+						line-height: 34rpx;
+						font-size: 22rpx;
+						text-align: center;
+					}
+
+					.status.zero {
+						// background: unset;
+						// font-size: 24rpx;
+
+					}
 				}
 
 				.each-list {
@@ -382,7 +524,7 @@
 				}
 			}
 		}
-
+		
 		.top-buttons {
 			display: flex;
 			padding: 22rpx 42rpx;
@@ -437,5 +579,33 @@
 
 			}
 		}
+		
+		.recycle-button{
+			
+			
+			
+			min-height: 50rpx;
+			background-color: #fff;
+			
+			.buttons {
+				display: flex;
+				justify-content: flex-end;
+				background-color: #fff;
+				padding: 22rpx 42rpx;
+		
+				.button {
+					margin: 0 auto;
+					width: 98rpx;
+					line-height: 48rpx;
+					border-radius: 24rpx;
+					border: 2rpx solid #CECECE;
+					text-align: center;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+				}
+			}
+		}
+		
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3