From 666bcc20d989be1c7a2acb314594e8e017a611ac Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期日, 11 八月 2024 23:18:51 +0800 Subject: [PATCH] update花店的一些问题等 --- sub_pages/customer/trade/list.vue | 6 pages/home/home.vue | 19 +++ sub_pages/customer/shopping/shopping.vue | 20 ++- pages/home/components/home-banner-detail.vue | 20 +++ pages/notice/notice.vue | 19 +++ sub_pages/customer/shop/shop.vue | 110 ++++++++++++--------- sub_pages/customer/trade/trade.vue | 6 pages/notice/list.vue | 3 sub_pages/customer/trade/detail.vue | 62 +++++++++--- 9 files changed, 182 insertions(+), 83 deletions(-) diff --git a/pages/home/components/home-banner-detail.vue b/pages/home/components/home-banner-detail.vue index 72bf866..e0b8b29 100644 --- a/pages/home/components/home-banner-detail.vue +++ b/pages/home/components/home-banner-detail.vue @@ -17,10 +17,25 @@ </view> --> + <!-- <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content" v-if="dto.url&&dto.url.length>0"> + <swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true"> + <swiper-item v-for="(url, index) in dto.url" :key="index"> + <view class="swiper-item" :class="'swiper-item' + index"> + + <image class="home-banner-image" mode="scaleToFill" @click="previewImg(url)" :src="url"> + </image> + </view> + </swiper-item> + </swiper> + </uni-swiper-dot> + <view style="background: #F5F5F5;height: 24rpx;" v-if="dto.url&&dto.url.length>0"> + + </view> --> + <!-- 活动描述 --> <view class="info-desc"> <!-- <view class="title">公告描述</view> --> - <view v-html="dto.content||'暂无内容'" class="rich" style="overflow: scroll;"> + <view v-html="dto.content||'暂无详情'" class="rich" style="overflow: scroll;"> </view> </view> @@ -59,6 +74,9 @@ }) this.$message.hideLoading() + if (data && data.url) { + data.url = JSON.parse(data.url) || [] + } this.dto = { ...data } diff --git a/pages/home/home.vue b/pages/home/home.vue index 21a16f3..350ca04 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -71,7 +71,7 @@ <!-- 置顶的花列表 --> <home-top-flow></home-top-flow> - <view style="min-height:200rpx"> + <view style="min-height:180rpx"> </view> <common-footer flg="0"></common-footer> @@ -250,8 +250,8 @@ } } this.banners = result - } - console.log('this.banners',this.banners) + } + console.log('this.banners', this.banners) } }) @@ -277,7 +277,18 @@ }, 2000) //公告 - this.$http.request('get', '/api/pub/announcement/list', { + var type = '' + // #ifdef PUB_CUSTOMER + type = 'customer' + // #endif + // #ifdef PUB_SUPPLIER + type = 'supplier' + // #endif + // #ifdef PUB_PARTNER + type = 'partner' + // #endif + + this.$http.request('get', '/api/pub/announcement/list/' + type, { params: { size: 5, // status: 'A' diff --git a/pages/notice/list.vue b/pages/notice/list.vue index dadee79..4ee2416 100644 --- a/pages/notice/list.vue +++ b/pages/notice/list.vue @@ -6,7 +6,7 @@ <view v-for="(item,index) in list" :key="index" class="m-b-24"> <view @click.stop="toDetail(item)" class="notice-item"> <view>{{item.title}}</view> - <view class="time">{{item.publishDate}}</view> + <view class="time">{{item.publishDate || item.updateTime || ''}}</view> <image :src="item.cover" style="display: block;margin: 0 auto;" @click="previewImg(dto.cover)" v-if="item.cover" mode="aspectFit" class="m-t-8"></image> </view> @@ -41,6 +41,7 @@ // #endif this.listApi = '/api/pub/announcement/list/'+type + this.getList() }, diff --git a/pages/notice/notice.vue b/pages/notice/notice.vue index cdffe5d..0c35b36 100644 --- a/pages/notice/notice.vue +++ b/pages/notice/notice.vue @@ -13,6 +13,17 @@ style="display: block;margin: 0 auto;" @click="previewImg(dto.cover)"></image> </view> + <!-- <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content" v-if="dto.url&&dto.url.length>0"> + <swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true"> + <swiper-item v-for="(url, index) in dto.url" :key="index"> + <view class="swiper-item" :class="'swiper-item' + index"> + + <image class="home-banner-image" mode="scaleToFill" @click="previewImg(url)" :src="url"> + </image> + </view> + </swiper-item> + </swiper> + </uni-swiper-dot> --> <view style="background: #F5F5F5;height: 24rpx;"> @@ -35,7 +46,7 @@ data() { return { dto: { - + // url: [], }, peoples: [], id: '' @@ -60,10 +71,16 @@ }) this.$message.hideLoading() + // if (data && data.url) { + // data.url = JSON.parse(data.url) || [] + // } this.dto = { ...data } this.dto.content = this.$util.formatRichText(this.dto.content || '') + //处理url的问题 + // console.log('dto',this.dto) + }, } diff --git a/sub_pages/customer/shop/shop.vue b/sub_pages/customer/shop/shop.vue index a3e0675..c83a059 100644 --- a/sub_pages/customer/shop/shop.vue +++ b/sub_pages/customer/shop/shop.vue @@ -2,15 +2,7 @@ <view class="brand-detail" style="background: #20613D;"> <view class="brand-top-info"> - <view class="search-container flex" style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx"> - <view class="flex1 input"> - <u-input placeholder="请输入花名" v-model="search_flow"> - <template slot="suffix"> - <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons> - </template> - </u-input> - </view> - </view> + <view class="info-brand m-t-12" v-if="id"> <view class="flex"> <image class="store-logo" :src="dto.cover"></image> @@ -62,6 +54,19 @@ </view> <view class="brand-info"> <view v-if="flg==='0'" class="brand-info-0"> + <view class="search-container flex" + style="padding-left: 20rpx;padding-right: 20rpx;padding-top: 20rpx"> + <view class="flex1 input"> + <u-input placeholder="请输入花名" v-model="query.name" clearable @confirm="buttonSearchFlow" @clear="()=>{ + $nextTick(()=>{buttonSearchFlow()}) + }"> + <template slot="suffix"> + <uni-icons color="#20613D" type="search" size="24" + @click="buttonSearchFlow"></uni-icons> + </template> + </u-input> + </view> + </view> <view class="component-filter-container" style="padding-top: 12rpx;"> <view class="flex1" @click.stop="$refs.popup_column.open()"> 排序{{ query.columnStr&&('-'+query.columnStr) || '' }} @@ -75,9 +80,8 @@ <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"> + <view class="component-shop-item flex" v-for="(item,index) of list" :key="index"> + <view class="img" @click.stop="toDetail(item)"> <image class="img img100" :src="item.cover" lazy-load> </image> <view class="level"> @@ -86,16 +90,16 @@ </view> <view class="m-l-12 info-container flex1"> - <view class="title"> + <view class="title" @click.stop="toDetail(item)"> {{item.name}} <view class="price"> ¥{{item.price}}/扎 </view> </view> - <view class="shop-name"> + <view class="shop-name" @click.stop="toDetail(item)"> {{item.categoryStr}} </view> - <view class="other-info flex"> + <view class="other-info flex" @click.stop="toDetail(item)"> <view class="m-r-15"> 已售:{{item.sales || 0}} </view> @@ -115,7 +119,8 @@ <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" @click="updateItemNum(item)" v-if="item.shopnum&&item.shopnum>=1"> + <view class="curnums" @click.stop="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" @@ -127,8 +132,9 @@ </view> - <view v-if="flg==='1'" class="brand-info-1"> - <trade :hidefooter="true" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade"></trade> + <view v-show="flg==='1'" class="brand-info-1"> + <trade :hidefooter="true" :supplierId="id" :catgoryTree="catgoryTree" v-if="catgoryTree" ref="trade"> + </trade> <!-- // 构建一个分类树 --> <!-- catgoryTree --> @@ -184,29 +190,29 @@ </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 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> @@ -221,7 +227,7 @@ }, data() { return { - search_flow: '', + // search_flow: '', flg: '0', tabs: [{ name: '全部商品' @@ -245,6 +251,7 @@ column: '', levelStr: '', level: '', + name: '', }, level_show: false, level_columns: [ @@ -257,9 +264,13 @@ ] } }, + onShow() { + //避免商品数目不一样 + this.refreshList('post') + }, onLoad(options) { this.id = options.id || '' - // this.page.size = + this.page.size = 300 if (this.id) { this.getDetail() } @@ -316,9 +327,9 @@ }, // #endif onReachBottom() { - if (this.flg === '0') { - this.getMore('post') - } + // if (this.flg === '0') { + // this.getMore('post') + // } }, methods: { @@ -419,7 +430,8 @@ }, buttonSearchFlow() { - + // this.query.name = this.search_flow || '' + this.refreshList('post') }, async updateItemNum(item) { const res = await this.$message.confirm('', { @@ -494,6 +506,8 @@ <style lang="scss" scoped> .brand-detail { + + // min-height: 99vh; .brand-info { background: #FFFFFF; // border-radius: 40rpx 40rpx 0rpx 0rpx; @@ -502,7 +516,7 @@ overflow: hidden; overflow-y: scroll; padding: 40rpx 32rpx; - height: calc(100vh - 650rpx); + height: calc(100vh - 450rpx); padding-top: 0rpx; .brand-info-0 { diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue index a7de25c..766613d 100644 --- a/sub_pages/customer/shopping/shopping.vue +++ b/sub_pages/customer/shopping/shopping.vue @@ -160,15 +160,19 @@ } }) let that = this - setTimeout(() => { + if (code === 0) { that.$message.hideLoading() - if (code === 0) { - that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data)) - uni.navigateTo({ - url: '/sub_pages/customer/shopping/confirm' - }) - } - }, 300) + 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) { // console.log('clickSwipeButton', e) diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue index 75ded1d..e0db91c 100644 --- a/sub_pages/customer/trade/detail.vue +++ b/sub_pages/customer/trade/detail.vue @@ -2,7 +2,30 @@ <view class="trade-detail"> <view class="top-img-container"> - <image :src="dto.cover" class="top-img" mode="aspectFill"></image> + <!-- <image :src="dto.cover" class="top-img" mode="aspectFill"></image> --> + <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content"> + <swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true"> + + <swiper-item v-if="dto.video"> + <video :src="dto.video" class="top-img" :auto-pause-if-navigate="true" + style="display: block;margin: 0 auto;"></video> + + </swiper-item> + <swiper-item v-for="(url, index) in dto.bannerList" :key="index"> + <image class="top-img" :lazy-load="true" mode="scaleToFill" @click="previewImg(url)" + :src="url"> + </image> + </swiper-item> + + <swiper-item> + <image :src="dto.cover" :lazy-load="true" @click="previewImg(dto.cover)" class="top-img" mode="scaleToFill"> + </image> + </swiper-item> + + + </swiper> + </uni-swiper-dot> + @@ -11,9 +34,6 @@ class="icon-sc"></image> <image v-if="dto.collection" src="../../../static/common/icon-sc-fill.png" @click="collectItem(dto)" class="icon-sc"></image> - - - <!-- <view class="num">12</view>--> </view> <view class="icon-container"> <image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop"> @@ -39,11 +59,11 @@ <span class="num">{{ dto.price || '-' }}</span> 元/扎 </view> - <view class="m-l-a m-r-15"> - <button open-type="contact" class="component-button-contact" > - <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image> - - </button> + <view class="m-l-a m-r-15"> + <button open-type="contact" class="component-button-contact"> + <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image> + + </button> </view> <view class="m-r-0 gwc" @click="submitShopping(dto)" v-if="!dto.shopnum"> @@ -92,7 +112,7 @@ </view> </view> - <view class="line" v-if="dto.bannerList&&dto.bannerList.length>0"> + <!-- <view class="line" v-if="dto.bannerList&&dto.bannerList.length>0"> </view> <uni-swiper-dot class="uni-swiper-dot-box" :mode="'dot'" field="content" @@ -100,20 +120,21 @@ <swiper class="swiper-box" :interval="10000" :circular="true" :current="0" :autoplay="true"> <swiper-item v-for="(url, index) in dto.bannerList" :key="index"> <view class="swiper-item" :class="'swiper-item' + index"> - <image class="home-banner-image m-auto m-t-12 m-b-12" style="display: block;" mode="scaleToFill" @click="previewImg(url)" :src="url"> + <image class="home-banner-image m-auto m-t-12 m-b-12" style="display: block;" mode="scaleToFill" + @click="previewImg(url)" :src="url"> </image> </view> </swiper-item> </swiper> - </uni-swiper-dot> + </uni-swiper-dot> --> - <view class="line" v-if="dto.video"> + <!-- <view class="line" v-if="dto.video"> </view> <view class="info-brand m-t-12" v-if="dto.video"> <video :src="dto.video" :auto-pause-if-navigate="true" style="display: block;margin: 0 auto;"></video> - </view> + </view> --> @@ -186,14 +207,14 @@ this.id = options.id || '' // #ifdef PUB_CUSTOMER - + if (options.partnerUserId) { let tmp = this tmp.sharePartnerUserId = options.partnerUserId //合伙人绑定的,判断当前用户,是否有登录,登录没绑定,没登录先缓存合伙人id,等注册和登录时候再弄 setTimeout(() => { //并且当前用户没有绑定 - if(tmp.currentInfo.id&&tmp.currentInfo.customerDTO.partnerId){ + if (tmp.currentInfo.id && tmp.currentInfo.customerDTO.partnerId) { return } if (tmp.currentInfo.id) { @@ -414,7 +435,11 @@ }) if (code === 0) { this.dto = { + bannerList: [], ...data, + } + if (!this.dto.bannerList) { + this.dto.bannerList = [] } } @@ -687,6 +712,11 @@ .top-img-container { position: relative; + swiper { + width: 750rpx; + height: 764rpx; + } + .top-img { width: 750rpx; height: 764rpx; diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue index 75af0a7..64ba348 100644 --- a/sub_pages/customer/trade/list.vue +++ b/sub_pages/customer/trade/list.vue @@ -221,7 +221,8 @@ columnStr: '', column: '', levelStr: '', - level: '', + level: '', + supplierId:'', }, categoryInfo: {}, params: [], @@ -269,7 +270,8 @@ this.query.category = options.categoryId || options.category || '' this.query.zoneId = options.zoneId || '' this.query.name = options.name || '' - this.query.supplierName = options.supplierName || '' + this.query.supplierName = options.supplierName || '' + this.query.supplierId = options.supplierId || '' if (this.query.name) { diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue index 9419328..e99cd81 100644 --- a/sub_pages/customer/trade/trade.vue +++ b/sub_pages/customer/trade/trade.vue @@ -107,6 +107,7 @@ props: { hidefooter: false, catgoryTree: [], + supplierId: '', }, data() { return { @@ -289,9 +290,10 @@ } }, toDetailList(item) { - //去商品列表页面 + //去商品列表页面 + console.log('toDetailList',this.supplierId) uni.navigateTo({ - url: `/sub_pages/customer/trade/list?categoryId=${item.id}` + url: `/sub_pages/customer/trade/list?categoryId=${item.id}&supplierId=${this.supplierId||''}` }) }, changeType(item) { -- Gitblit v1.9.3