From 4ba9c0c27c162c1858b11c3d621f52063a420ecd Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期二, 08 十月 2024 16:44:57 +0800
Subject: [PATCH] update

---
 sub_pages/supplier/flower-manage/flower-manage.vue |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 162 insertions(+), 11 deletions(-)

diff --git a/sub_pages/supplier/flower-manage/flower-manage.vue b/sub_pages/supplier/flower-manage/flower-manage.vue
index 6d2ce88..6cbbe5e 100644
--- a/sub_pages/supplier/flower-manage/flower-manage.vue
+++ b/sub_pages/supplier/flower-manage/flower-manage.vue
@@ -7,17 +7,29 @@
 			<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="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 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}}
@@ -27,6 +39,9 @@
 						<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>
@@ -60,6 +75,10 @@
 									<view class="label">价格</view>
 									<view class="value">{{item.price||'-'}}</view>
 								</view>
+								<view class="each-item">
+									<view class="label">限购数量</view>
+									<view class="value">{{item.limited||'-'}}</view>
+								</view>
 							</view>
 						</view>
 					</view>
@@ -77,7 +96,8 @@
 						<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>
@@ -133,6 +153,8 @@
 				currentInputDto: {},
 				currentInputKey: '',
 				inputplaceholder: '',
+				selectedFlowers: [], // 存储选中的花的 ID
+				ids: [],
 			}
 		},
 		onShow() {
@@ -144,7 +166,7 @@
 		async onLoad(options) {
 			this.type = options.type || 'all'
 			var title = ''
-			this.page.size = 5
+			this.page.size = 20
 			//todo 根据type切换查询条件
 			if (this.type === 'delete') {
 				this.listApi = '/api/supplier/flower/list/rc'
@@ -304,6 +326,78 @@
 					})
 				}
 			},
+			// 删除选中的花卉
+			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>
@@ -317,6 +411,12 @@
 			// 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 {
 				.title {
@@ -332,6 +432,26 @@
 						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 {
@@ -444,29 +564,60 @@
 			}
 
 			.button-add {
-				background-image: url('@/static/images/supplier/flower/flower-mange-icon-add-flower.png');
+				// background-image: url('@/static/images/supplier/flower/flower-mange-icon-add-flower.png');
+				background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/9b/9ba0066e01f445f9ade144175745cbb91TtPCakvMtBV191bed22cec1f45c715214822f5ee02e.png');
 
 			}
 
 			.button-search-in {
-				background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-in.png');
+				// background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-in.png');
+				background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/f8/f8a79ebd3650409a9b461f692a718962k5etUQLrsYSP071ef78c3de46ccab3874c5a4607ca5b.png');
 
 			}
 
 			.button-search-unpass {
-				background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-unpass.png');
+				// background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-unpass.png');
+				background-image: url("https://hmy-flower.oss-cn-shanghai.aliyuncs.com/cc/cc58fb61ae65427295c71f0d9caacc45de44rtPrgqFg844bca8d2930d7f517962bb64061ee43.png");
 
 			}
 
 			.button-search-inpass {
-				background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-inpass.png');
-
+				// background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-inpass.png');
+				background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/47/47aec52d2a3d4c91b43bdb94685541afitjRdk4gwb9Qcb007003910ef8afa9377e8e7db26504.pn');
 			}
 
 			.button-search-delete {
-				background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-delete.png');
-
+				// background-image: url('@/static/images/supplier/flower/flower-mange-icon-flower-delete.png');
+				background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/21/21bf915752004adea9fed11caf0aea96re8cK9uGrYOL8bdb6e2bb41c1244509a7183b96ca476.png');
 			}
 		}
+
+		.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