xuxueyang
2024-08-11 666bcc20d989be1c7a2acb314594e8e017a611ac
update花店的一些问题等
已修改9个文件
265 ■■■■■ 文件已修改
pages/home/components/home-banner-detail.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/notice/list.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/notice/notice.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shop/shop.vue 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/shopping.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/detail.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/list.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/trade.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
                }
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'
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()
        },
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)
            },
        }
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 {
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)
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;
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) {
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) {