From 891b5db055a1d27c6bda2e9700aa57f8bacd7cd2 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 15 八月 2024 09:58:44 +0800
Subject: [PATCH] add 部分ui
---
sub_pages/customer/shopping/shopping.vue | 107 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 79 insertions(+), 28 deletions(-)
diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index 6f1f5f5..f5a0f50 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -22,13 +22,14 @@
{{ item.supplierName || '-' }}
</view>
<u-divider></u-divider>
- <view v-for="(dto,j) of item.flowerList" :key="j">
+ <view v-for="(dto,j) of item.flowerList" :key="dto.id">
<u-divider v-if="j>0"></u-divider>
<u-swipe-action>
<u-swipe-action-item :options="options1" @click="(e)=>{clickSwipeButton(dto,true)}">
<view class="item-each flex">
<radio :checked="ids.indexOf(dto.id)>=0" @click="changeItem(dto,'flower')"></radio>
- <image class="img img100 m-r-6 br-4" :src="dto.url||dto.cover"></image>
+ <image class="img img100 m-r-6 br-4" :class="[!dto.stock?'component-stock-zero':'']"
+ :src="dto.url||dto.cover"></image>
<view class="flex1">
<view class="title" @click.stop="toDetail(dto)"><span class="m-r-5"
style="display: inline-block;">{{dto.categoryStr||''}}</span><span
@@ -46,7 +47,8 @@
<view class="button-icons flex m-l-a m-r-0">
<uni-icons v-if="dto.num&&dto.num>=1" type="minus" size="32"
@click.stop="addnum(dto,-1)"></uni-icons>
- <view class="curnums" @click.stop="updateItemNum(dto)" v-if="dto.num&&dto.num>=1">{{ dto.num }}</view>
+ <view class="curnums" @click.stop="updateItemNum(dto)"
+ v-if="dto.num&&dto.num>=1">{{ dto.num }}</view>
<uni-icons type="plus-filled" size="32"
@click.stop="addnum(dto,1)"></uni-icons>
</view>
@@ -61,7 +63,7 @@
</view>
</view>
- <view style="min-height:200rpx">
+ <view style="min-height:140rpx;background-color: #fff;">
</view>
<view class="bottom-price flex">
<view class="m-t-12">
@@ -75,7 +77,7 @@
提交订单
</view>
</view>
- <view style="min-height:200rpx">
+ <view style="min-height:140rpx">
</view>
<common-footer flg="2"></common-footer>
</view>
@@ -97,14 +99,15 @@
}
},
onShow() {
- if (this.sign['shopping']) {
- this.init()
- }
- },
- mounted() {
+ // if (this.sign['shopping']) {
+
+ // }
this.init()
},
- async onPullDownRefresh(){
+ mounted() {
+ // this.init()
+ },
+ async onPullDownRefresh() {
await this.init()
uni.stopPullDownRefresh()
},
@@ -144,6 +147,7 @@
}
if (arr.length < 1) {
console.log('请选择商品', arr, this.ids)
+ this.$message.showToast('请选择商品')
return
}
this.$message.showLoading()
@@ -155,20 +159,27 @@
flowers: arr,
}
})
- this.$message.hideLoading()
+ let that = this
if (code === 0) {
- this.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
+ that.$message.hideLoading()
+ that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
uni.navigateTo({
url: '/sub_pages/customer/shopping/confirm'
})
+ } else {
+ //提示消失快
+ setTimeout(() => {
+ that.$message.hideLoading()
+ }, 2000)
}
+
},
- async clickSwipeButton(item,check) {
+ async clickSwipeButton(item, check) {
+ // console.log('clickSwipeButton', e)
//删除商品,重新加载数据?
- if(check){
- this.$message.confirm('是否删除商品')
- return
-
+ if (check) {
+ await this.$message.confirm('是否删除商品')
+
}
this.$message.showLoading()
@@ -181,6 +192,8 @@
})
this.$message.hideLoading()
if (code === 0) {
+ this.$store.dispatch('sign_add', 'shopnum');
+
if (this.ids.indexOf(item.id) >= 0) {
this.ids.splice(this.ids.indexOf(item.id), 1)
}
@@ -208,7 +221,17 @@
break
}
}
- console.log('this.list', this.list)
+ // console.log('this.list', this.list)
+ // 解决滑动的swipe不自动关闭的问题
+ if (check) {
+ let arr = this.list
+ this.list = []
+ this.$nextTick(() => {
+ this.list = arr
+ })
+ }
+
+
}
},
@@ -246,6 +269,20 @@
this.ids.push(item.id)
}
})
+ //如果所有的话都悬赏了,设置为return true;
+ var tmpSelectAll = true
+ for (var i = 0; i < this.list.length; i++) {
+ for (var j = 0; j < this.list[i].flowerList.length; j++) {
+ if (this.ids.indexOf(this.list[i].flowerList[j].id) < 0) {
+ tmpSelectAll = false
+ break
+ }
+ }
+
+ }
+ this.checkall = tmpSelectAll
+
+
} else {
this.checkall = false
this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1)
@@ -282,6 +319,18 @@
} else {
console.log('has', this.ids, dto)
}
+ //如果所有的话都悬赏了,设置为return true;
+ var tmpSelectAll = true
+ for (var i = 0; i < this.list.length; i++) {
+ for (var j = 0; j < this.list[i].flowerList.length; j++) {
+ if (this.ids.indexOf(this.list[i].flowerList[j].id) < 0) {
+ tmpSelectAll = false
+ break
+ }
+ }
+
+ }
+ this.checkall = tmpSelectAll
} else {
this.checkall = false
@@ -308,30 +357,30 @@
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.num))
-
+
}
} else {
-
+
}
},
async addnum(dto, addnum) {
if (dto.num + addnum >= 0) {
} else {
- console.log('addnum',dto,addnum)
+ console.log('addnum', dto, addnum)
return
}
if (!dto.stock) {
dto.stock = 0
}
- if (dto.num + addnum > dto.stock) {
+ if (addnum > 0 && dto.num + addnum > dto.stock) {
this.$message.showToast('库存不足,无法修改')
return
}
@@ -349,17 +398,18 @@
dto.num += addnum
if (dto.num < 1) {
//id删除清空,并且
- await this.clickSwipeButton(dto,false)
+ await this.clickSwipeButton(dto, false)
// await this.init()
}
+ this.$store.dispatch('sign_add', 'shopnum');
this.$forceUpdate()
}
},
async init() {
-
+
this.ids = []
this.checkall = false
-
+
if (!this.currentInfo.id) {
this.$message.showToast('请先登录')
return
@@ -401,7 +451,8 @@
left: 0rpx;
padding: 20rpx;
right: 0rpx;
- bottom: 160rpx;
+ // bottom: 160rpx;
+ bottom: 120rpx;
z-index: 11;
}
--
Gitblit v1.9.3