| | |
| | | |
| | | </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> |
| | |
| | | }) |
| | | |
| | | this.$message.hideLoading() |
| | | if (data && data.url) { |
| | | data.url = JSON.parse(data.url) || [] |
| | | } |
| | | this.dto = { |
| | | ...data |
| | | } |
| | |
| | | <!-- 置顶的花列表 -->
|
| | | <home-top-flow></home-top-flow>
|
| | |
|
| | | <view style="min-height:200rpx">
|
| | | <view style="min-height:180rpx">
|
| | | </view>
|
| | | <common-footer flg="0"></common-footer>
|
| | |
|
| | |
| | |
|
| | | }, 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'
|
| | |
| | | <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> |
| | |
| | | // #endif |
| | | |
| | | this.listApi = '/api/pub/announcement/list/'+type |
| | | |
| | | this.getList() |
| | | |
| | | }, |
| | |
| | | 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;"> |
| | | |
| | |
| | | data() { |
| | | return { |
| | | dto: { |
| | | |
| | | // url: [], |
| | | }, |
| | | peoples: [], |
| | | id: '' |
| | |
| | | }) |
| | | |
| | | 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) |
| | | |
| | | |
| | | }, |
| | | } |
| | |
| | | <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>
|
| | |
| | | </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) || '' }}
|
| | |
| | | <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">
|
| | |
| | | </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>
|
| | |
| | | <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"
|
| | |
| | |
|
| | | </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 -->
|
| | |
|
| | |
| | | },
|
| | | data() {
|
| | | return {
|
| | | search_flow: '',
|
| | | // search_flow: '',
|
| | | flg: '0',
|
| | | tabs: [{
|
| | | name: '全部商品'
|
| | |
| | | column: '',
|
| | | levelStr: '',
|
| | | level: '',
|
| | | name: '',
|
| | | },
|
| | | level_show: false,
|
| | | level_columns: [
|
| | |
| | | ]
|
| | | }
|
| | | },
|
| | | onShow() {
|
| | | //避免商品数目不一样
|
| | | this.refreshList('post')
|
| | | },
|
| | | onLoad(options) {
|
| | | this.id = options.id || ''
|
| | | // this.page.size =
|
| | | this.page.size = 300
|
| | | if (this.id) {
|
| | | this.getDetail()
|
| | | }
|
| | |
| | | },
|
| | | // #endif
|
| | | onReachBottom() {
|
| | | if (this.flg === '0') {
|
| | | this.getMore('post')
|
| | | }
|
| | | // if (this.flg === '0') {
|
| | | // this.getMore('post')
|
| | | // }
|
| | | },
|
| | | methods: {
|
| | |
|
| | |
| | |
|
| | | },
|
| | | buttonSearchFlow() {
|
| | |
|
| | | // this.query.name = this.search_flow || ''
|
| | | this.refreshList('post')
|
| | | },
|
| | | async updateItemNum(item) {
|
| | | const res = await this.$message.confirm('', {
|
| | |
| | |
|
| | | <style lang="scss" scoped>
|
| | | .brand-detail {
|
| | |
|
| | | // min-height: 99vh;
|
| | | .brand-info {
|
| | | background: #FFFFFF;
|
| | | // border-radius: 40rpx 40rpx 0rpx 0rpx;
|
| | |
| | | overflow: hidden;
|
| | | overflow-y: scroll;
|
| | | padding: 40rpx 32rpx;
|
| | | height: calc(100vh - 650rpx);
|
| | | height: calc(100vh - 450rpx);
|
| | | padding-top: 0rpx;
|
| | |
|
| | | .brand-info-0 {
|
| | |
| | | } |
| | | }) |
| | | let that = this |
| | | setTimeout(() => { |
| | | that.$message.hideLoading() |
| | | if (code === 0) { |
| | | that.$message.hideLoading() |
| | | that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data)) |
| | | uni.navigateTo({ |
| | | url: '/sub_pages/customer/shopping/confirm' |
| | | }) |
| | | } else { |
| | | //提示消失快 |
| | | setTimeout(() => { |
| | | that.$message.hideLoading() |
| | | }, 2000) |
| | | } |
| | | }, 300) |
| | | |
| | | }, |
| | | async clickSwipeButton(item, check) { |
| | | // console.log('clickSwipeButton', e) |
| | |
| | | <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>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
| | | 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">
|
| | |
| | | </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"
|
| | |
| | | <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> -->
|
| | |
|
| | |
|
| | |
|
| | |
| | | })
|
| | | if (code === 0) {
|
| | | this.dto = {
|
| | | bannerList: [],
|
| | | ...data,
|
| | | }
|
| | | if (!this.dto.bannerList) {
|
| | | this.dto.bannerList = []
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | .top-img-container {
|
| | | position: relative;
|
| | |
|
| | | swiper {
|
| | | width: 750rpx;
|
| | | height: 764rpx;
|
| | | }
|
| | |
|
| | | .top-img {
|
| | | width: 750rpx;
|
| | | height: 764rpx;
|
| | |
| | | column: '',
|
| | | levelStr: '',
|
| | | level: '',
|
| | | supplierId:'',
|
| | | },
|
| | | categoryInfo: {},
|
| | | params: [],
|
| | |
| | | this.query.zoneId = options.zoneId || ''
|
| | | this.query.name = options.name || ''
|
| | | this.query.supplierName = options.supplierName || ''
|
| | | this.query.supplierId = options.supplierId || ''
|
| | |
|
| | |
|
| | | if (this.query.name) {
|
| | |
| | | props: {
|
| | | hidefooter: false,
|
| | | catgoryTree: [],
|
| | | supplierId: '',
|
| | | },
|
| | | data() {
|
| | | return {
|
| | |
| | | },
|
| | | 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) {
|