From 15bd4823adb6c1b3a547f24ba613ac5c87ec3b2e Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期一, 09 九月 2024 23:58:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'remote-v2/v2' into remote-v2 --- sub_pages/supplier/flower-manage/flower-manage.vue | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 111 insertions(+), 4 deletions(-) diff --git a/sub_pages/supplier/flower-manage/flower-manage.vue b/sub_pages/supplier/flower-manage/flower-manage.vue index 6d2ce88..53dd868 100644 --- a/sub_pages/supplier/flower-manage/flower-manage.vue +++ b/sub_pages/supplier/flower-manage/flower-manage.vue @@ -7,17 +7,23 @@ <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="top-buttons" v-if="type==='delete'"> + <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 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"> + <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 +33,8 @@ <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> @@ -133,6 +141,8 @@ currentInputDto: {}, currentInputKey: '', inputplaceholder: '', + selectedFlowers: [], // 存储选中的花的 ID + ids: [], } }, onShow() { @@ -304,6 +314,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 +399,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 +420,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 { @@ -413,7 +520,7 @@ } } } - + .top-buttons { display: flex; padding: 22rpx 42rpx; -- Gitblit v1.9.3