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