From d18a571aa4dacab6928dbc8c6c45d5aa3f291afb Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期三, 31 七月 2024 23:34:01 +0800 Subject: [PATCH] update --- sub_pages/customer/shop/shop.vue | 172 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 138 insertions(+), 34 deletions(-) diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue index 4899b93..4ce52a8 100644 --- a/sub_pages/customer/shop/shop.vue +++ b/sub_pages/customer/shop/shop.vue @@ -82,41 +82,46 @@ <view class="component-shop-item flex" v-for="(item,index) of list" :key="index" @click.stop="toDetail(item)"> <view class="img"> - <image class="img img100" - src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png"> + <image class="img img100" :src="item.cover" lazy-load> </image> <view class="level"> - A级 + {{item.levelStr||''}} </view> </view> <view class="m-l-12 info-container flex1"> <view class="title"> - 橙色芭比 + {{item.name}} <view class="price"> - ¥6.60/扎 + ¥{{item.price}}/扎 </view> </view> <view class="shop-name"> - 牛油果泡泡·白色 + {{item.categoryStr}} </view> <view class="other-info flex"> <view class="m-r-15"> - 已售:7 + 已售:{{item.sales || 0}} </view> <view class="m-r-15"> - 剩余:13 + 剩余:{{item.stock || 0}} </view> <view class="m-r-15"> - 1支/扎 + {{item.unit}} </view> </view> <view class="bottom-buttons flex"> - + <view class="m-l-0 m-r-a"> + <view class="m-r-15"> + 颜色:{{item.color||'-'}} + </view> + </view> <view class="icons flex"> <uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32" @click.stop="addnum(item,-1)"></uni-icons> - <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{ item.shopnum }}</view> + <view class="curnums" @click="updateItemNum(item)" v-if="item.shopnum&&item.shopnum>=1"> + {{ item.shopnum }} + </view> <uni-icons v-if="!item.shopnum||item.shopnum<=99" type="plus-filled" size="32" @click.stop="addnum(item,1)"></uni-icons> </view> @@ -127,7 +132,10 @@ </view> <view v-if="flg==='1'" class="brand-info-1"> - <trade :hidefooter="true"></trade> + <trade :hidefooter="true" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade"></trade> + <!-- // 构建一个分类树 --> + <!-- catgoryTree --> + </view> <view v-if="flg==='2'" class="brand-info-3"> <view class="title"> @@ -182,36 +190,72 @@ }, ], dto: {}, - list: [{}, {}], + list: [], id: '', + catgoryTree: undefined, } }, onLoad(options) { this.id = options.id || '' + // this.page.size = if (this.id) { this.getDetail() } + this.listApi = `/api/customer/flower/list` + this.query.supplierId = this.id + this.getList('post') + }, + onReachBottom() { + if (this.flg === '0') { + this.getMore('post') + } }, methods: { - async getDetail() { - this.$message.showLoading() - const { - code, - data - } = await this.$http.request('get', `/api/pub/supplier/detail/${this.id}`, { - params: {} - }) - if (code === 0) { - this.dto = { - ...data, - } - } - this.$message.hideLoading() + async getDetail() { + { + this.$message.showLoading() + const { + code, + data + } = await this.$http.request('get', `/api/pub/supplier/detail/${this.id}`, { + params: {} + }) + if (code === 0) { + this.dto = { + ...data, + } + } + + this.$message.hideLoading() + } + //获取商家下的商品列表 + + // { + // this.$message.showLoading() + // const { + // code, + // data + // } = await this.$http.request('post', `/api/customer/flower/list`, { + // data: { + // supplierId: this.id, + // size: 20 + // } + // }) + // if (code === 0) { + // this.list = data.records || [] + // } + + // this.$message.hideLoading() + // } }, //update 关注 async updateGz(type) { + if (!this.currentInfo.id) { + this.$message.showToast('请先登录') + return + } this.$message.showLoading() const { code @@ -232,16 +276,64 @@ }, - changeTab(flg) { + async changeTab(flg) { console.log('changeTab', flg) - this.flg = ''+flg + if ('1' === ('' + flg)) { + if (!this.catgoryTree) { + this.$message.showLoading() + const { + code, + data + } = await this.$http.request('get', `/api/customer/flower/category/tree`, { + data: { + supplierId: this.dto.supplierId || this.dto.id + }, + params: { + supplierId: this.dto.supplierId || this.dto.id + } + }) + if (code === 0) { + // data 分类树 + this.catgoryTree = data || [] + let tmp = this + this.$nextTick(() => { + tmp.$refs.trade.refInit(tmp.catgoryTree) + }) + } + this.$message.hideLoading() + } + } + this.flg = '' + flg //如果没有加载数据,需要加载一下 + }, buttonSearchFlow() { }, + async updateItemNum(item) { + const res = await this.$message.confirm('', { + editable: true, + title: '请输入想要购买的数量' + }) + if (res.content && res.confirm) { + // 发送请求 + 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.shopnum)) + + } + } else { + + } + }, async addnum(item, addnum) { if (!this.currentInfo.id) { await this.$message.confirm('请前往登录') @@ -253,6 +345,13 @@ if (!item.shopnum) { item.shopnum = 0 } + if (!item.stock) { + item.stock = 0 + } + if (addnum > 0 & item.shopnum + addnum > item.stock) { + this.$message.showToast('库存不足,无法修改') + return + } if (item.shopnum + addnum >= 0) { } else { @@ -261,7 +360,7 @@ this.$message.showLoading() const { code - } = await http.request('post', '/api/customer/flower/cart/change-num', { + } = await this.$http.request('post', '/api/customer/flower/cart/change-num', { data: { id: item.id, num: addnum @@ -270,8 +369,8 @@ this.$message.hideLoading() if (code === 0) { item.shopnum += addnum + this.$forceUpdate() } - this.$forceUpdate() }, } @@ -305,8 +404,14 @@ } } + .brand-info-1 { + // padding: 40rpx 30rpx; + + } + .brand-info-3 { padding: 40rpx 30rpx; + .title { font-weight: 600; font-size: 32rpx; @@ -318,22 +423,21 @@ .form-input { display: flex; border-bottom: 2rpx solid #EEEEEE; + line-height: 80rpx; .label { font-weight: 600; font-size: 28rpx; color: #000000; - line-height: 40rpx; } .value { font-weight: 400; font-size: 28rpx; color: #666666; - line-height: 40rpx; margin-left: auto; margin-right: 0; - + text-align: right; .check { -- Gitblit v1.9.3