From fb14fa911bde1ed360fe89a1c41d74b158db9ab5 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期五, 09 八月 2024 15:26:28 +0800 Subject: [PATCH] update 花店样式等 --- sub_pages/customer/shop/shop.vue | 222 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 184 insertions(+), 38 deletions(-) diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue index 8808e70..a3e0675 100644 --- a/sub_pages/customer/shop/shop.vue +++ b/sub_pages/customer/shop/shop.vue @@ -38,7 +38,7 @@ </view> <view class="tj-info m-t-12"> <view class="form-item"> - <view class="value">0</view> + <view class="value">{{page.total || 0}}</view> <view class="label">发布</view> </view> <view class="form-item"> @@ -63,27 +63,22 @@ <view class="brand-info"> <view v-if="flg==='0'" class="brand-info-0"> <view class="component-filter-container" style="padding-top: 12rpx;"> - <view class="flex1"> - 排序 + <view class="flex1" @click.stop="$refs.popup_column.open()"> + 排序{{ query.columnStr&&('-'+query.columnStr) || '' }} <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image> </view> - <view class="flex1"> - 等级 - <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image> - </view> - <view class="flex1"> - 参数 + <view class="flex1" @click.stop="$refs.popup_level.open()"> + {{ query.levelStr || '级别' }} <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image> </view> </view> - <view class="top-title"> + <view class="top-title m-t-12"> 报价已包含打包费、材料费、交易佣金 </view> <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="item.cover" lazy-load> + <image class="img img100" :src="item.cover" lazy-load> </image> <view class="level"> {{item.levelStr||''}} @@ -113,14 +108,16 @@ </view> <view class="bottom-buttons flex"> <view class="m-l-0 m-r-a"> - <view class="m-r-15"> + <view class="m-r-15 desc-gray other-info"> 颜色:{{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> @@ -134,7 +131,7 @@ <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"> @@ -154,12 +151,63 @@ </view> <view class="form-input flex"> <view class="label">身份认证</view> - <view class="value">个人身份认证</view> + <view class="value">{{dto.idcardTypeStr||'未认证'}}</view> </view> + <!-- <view class="form-input flex"> + <view class="label"> </view> + <view class="value">{{'已实名'}}</view> + </view> --> </view> </view> + <uni-popup ref="popup_column" type="bottom"> + <view class="component-popup_input_all"> + <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同排序</view> + <view v-for="(item,i) in order_columns" :key="i" class="m-t-20"> + <view class="m-t-12 flex value-items"> + <view class="value-item" @click="()=>{ + if(each.value!==query.value){ + query.column = each.value + query.columnStr = each.label + refreshList('post') + $refs.popup_column.close() + } + }" :class="[query.column==each.value?'cur':'']" v-for="(each, j) in item" :key="j"> + {{ each.label || '-' }} + </view> + </view> + </view> + <view class="button-space"></view> + <view> + <view class="button-green" @click="$refs.popup_column.close()">关闭 + </view> + </view> + </view> + </uni-popup> - + <uni-popup ref="popup_level" type="bottom"> + <view class="component-popup_input_all"> + <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同级别</view> + <view v-for="(item,i) in level_columns" :key="i" class="m-t-20"> + <view class="m-t-12 flex value-items"> + <view class="value-item" @click="()=>{ + if(each.value!==query.value){ + query.level = each.value + query.levelStr = each.label + refreshList('post') + $refs.popup_level.close() + } + }" :class="[query.level==each.value?'cur':'']" v-for="(each, j) in item" :key="j"> + {{ each.label || '-' }} + </view> + </view> + </view> + <view class="button-space"></view> + <view> + <view class="button-green" @click="$refs.popup_level.close()">关闭 + </view> + </view> + </view> + </uni-popup> </view> </template> @@ -191,7 +239,22 @@ dto: {}, list: [], id: '', - catgoryTree:undefined, + catgoryTree: undefined, + query: { + columnStr: '', + column: '', + levelStr: '', + level: '', + }, + level_show: false, + level_columns: [ + [] + ], + + order_show: false, + order_columns: [ + [] + ] } }, onLoad(options) { @@ -200,16 +263,65 @@ if (this.id) { this.getDetail() } - this.listApi = `/api/customer/flower/list` - this.query.supplierId = this.id + this.listApi = `/api/customer/flower/list` + this.query.supplierId = this.id this.getList('post') + this.$http.request('get', '/api/code/value', { + params: { + type: 'FLOWER_LEVEL' + } + }).then(res => { + var data = res.data + this.level_columns = [data || []] + this.level_columns[0].unshift({ + label: '全部', + value: '' + }) + }) + this.$http.request('get', '/api/code/value', { + params: { + type: 'FLOWER_ORDER_BY' + } + }).then(res => { + var data = res.data + this.order_columns = [data || []] + this.order_columns[0].unshift({ + label: '默认', + value: '' + }) + }) }, - onReachBottom(){ - if(this.flg==='0'){ + // #ifdef PUB_CUSTOMER + onShareAppMessage() { + let that = this; + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' + var url = + `/sub_pages/customer/shop/shop?id=${this.id}&shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 + return { + title: this.dto.id && this.dto.name ? (this.dto.name + " 的店铺") : "花满芫", + path: url, + } + }, + onShareTimeline() { + let that = this; + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' + var url = + `/sub_pages/customer/shop/shop?id=${this.id}&shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 + return { + title: this.dto.id && this.dto.name ? (this.dto.name + " 的店铺") : "花满芫", + path: url, + } + }, + // #endif + onReachBottom() { + if (this.flg === '0') { this.getMore('post') } }, methods: { + async getDetail() { { this.$message.showLoading() @@ -250,6 +362,10 @@ }, //update 关注 async updateGz(type) { + if (!this.currentInfo.id) { + this.$message.showToast('请先登录') + return + } this.$message.showLoading() const { code @@ -272,11 +388,12 @@ }, async changeTab(flg) { console.log('changeTab', flg) - if('1'===(''+flg)){ - if(!this.catgoryTree){ + if ('1' === ('' + flg)) { + if (!this.catgoryTree) { this.$message.showLoading() const { - code,data + code, + data } = await this.$http.request('get', `/api/customer/flower/category/tree`, { data: { supplierId: this.dto.supplierId || this.dto.id @@ -289,7 +406,7 @@ // data 分类树 this.catgoryTree = data || [] let tmp = this - this.$nextTick(()=>{ + this.$nextTick(() => { tmp.$refs.trade.refInit(tmp.catgoryTree) }) } @@ -298,13 +415,35 @@ } 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('请前往登录') @@ -315,13 +454,13 @@ } if (!item.shopnum) { item.shopnum = 0 - } - if (!item.stock) { - item.stock = 0 - } - if (item.shopnum + addnum > item.stock) { - this.$message.showToast('库存不足,无法添加') - return + } + if (!item.stock) { + item.stock = 0 + } + if (addnum > 0 & item.shopnum + addnum > item.stock) { + this.$message.showToast('库存不足,无法修改') + return } if (item.shopnum + addnum >= 0) { @@ -331,7 +470,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 @@ -340,10 +479,15 @@ this.$message.hideLoading() if (code === 0) { item.shopnum += addnum + this.$forceUpdate() } - this.$forceUpdate() }, + toDetail(item) { + uni.navigateTo({ + url: `/sub_pages/customer/trade/detail?id=${item.id}` + }) + }, } } </script> @@ -374,10 +518,12 @@ padding-left: 20rpx; } } - .brand-info-1{ + + .brand-info-1 { // padding: 40rpx 30rpx; - + } + .brand-info-3 { padding: 40rpx 30rpx; -- Gitblit v1.9.3