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