From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 mobile/pages/shop/shop.vue |  668 +++++++++++++++++++++++++-----------------------------
 1 files changed, 309 insertions(+), 359 deletions(-)

diff --git a/mobile/pages/shop/shop.vue b/mobile/pages/shop/shop.vue
index 6c1bb38..2926be8 100644
--- a/mobile/pages/shop/shop.vue
+++ b/mobile/pages/shop/shop.vue
@@ -1,360 +1,64 @@
 <template>
 	<view>
 		<!-- #ifdef MP-WEIXIN || APP-PLUS -->
-		<view class="shop_top" :class="{'topbg':scrollViewTop>10}">
+		<view class="shop_top" :class="{'topbg':scrollViewTop>10}" :style="'background-color: '+bgcolor+';'">
 			<view class="ww100" :style="'height:'+topBarTop()+'px;'"></view>
 			<view class="tc d-s-c head_top_box" :style="topBarHeight() == 0 ? '': 'height:'+topBarHeight()+'px;'">
 				<view class="reg180" @click="goback"><text class="icon iconfont icon-jiantou"></text></view>
 				<view class="d-s-c ml20 flex-1">
-					<view class="index-search-cate flex-1" :style="'height:'+topBarHeight()+' px;'"
-						@click="gotoSearch">
+					<view class="index-search-cate flex-1" :style="'height:'+topBarHeight()+' px;'" @click="gotoSearch">
 						<text class="icon iconfont icon-sousuo"></text>搜索店内商品
 					</view>
 				</view>
 				<view class="wx-top-right"></view>
 			</view>
 		</view>
+		<view class="top_head pr" :style="'background-color: '+bgcolor+';'">
+			<!-- #ifndef MP-WEIXIN-->
+			<view class="state_top"></view>
+			<!-- #endif -->
+			<view class="head_top" :style="'height:'+topBarTop()+'px;'"></view>
+			<view class="d-b-c" :class="index_open_city==1?'open_city':''" :style="topBarHeight() == 0 ? '': 'height:'+topBarHeight()+'px;'">
+			</view>
+			<view class="nuter" v-if="openCategory.open">
+				<navBar style="width: 100%;" :color='openCategory.color' @currentIndex="setIndex" :currentI="thisindex"
+					:navList="category_list">
+				</navBar>
+			</view>
+			<view style="height: 20rpx;" v-else></view>
+		</view>
+		<view class="top_bg" :style="'background-color: '+bgcolor+';'">
+		</view>
 		<!-- #endif -->
-		
-		<scroll-view v-if="" scroll-y="true" :style="'height:' + scrollviewHigh + 'px;'" class="scroll-Y pr bg-f2"
-		 lower-threshold="50" @scrolltolower="scrolltolowerFunc" @scroll="scrollChnage">
-			<view class="shop_head">
-				<!-- #ifdef MP-WEIXIN || APP-PLUS -->
-				<view class="ww100" :style="'height:'+topBarTop()+'px;'"></view>
-				<view class="ww100" :style="'height:'+topBarHeight()+'px;'"></view>
-				<!-- #endif -->
-				<image class="bg_topimg" src="../../static/background_top.png" mode=""></image>
-				<view class="shop_head_info">
-					<view class="shop_list_body_item_shop">
-						<view class="shop_list_body_item_shop_logo">
-							<image :src="shop_info.logos" mode=""></image>
-						</view>
-						<view class="shop_list_body_item_shop_info">
-							<view class="f34 white fb title">{{shop_info.store_name}}</view>
-							<view class="f24 white d-s-c">
-								<!-- <view>主营:{{shop_info.category_name}}</view> -->
-								<view class="pr20">
-									<text class="icon iconfont icon-htmal5icon24"></text> {{shop_info.server_score}}分
-								</view>
-								<view v-if="shop_info.fav_count>0">{{shop_info.fav_count}}人关注</view>
-							</view>
-							<!-- <view class="f26 d-s-c">
-								<view class="flex-1">
-									<text class="icon iconfont icon-dizhi"></text>
-									{{shop_info.address}}
-								</view>
-							</view> -->
-						</view>
-						<view class="shop_list_body_item_shop_others">
-							<view v-if="isfollow == 0" class="collect_btn" @click="guanzhu()"><text class="icon iconfont icon-guanzhu1 mr10"></text>关注</view>
-							<view v-if="isfollow == 1" class="collect_btn collected" @click="guanzhu()">已关注</view>
-						</view>
-					</view>
-					<view class="shop-notice gray mt10 text-ellipsis">公告:{{shop_info.notice}}</view>
-				</view>
-			</view>
-			<view :class="{'tab-fixed':isFixed}" :style="isFixed?'top:' + topHeight + 'px;':''">
-				<!-- 导航栏 -->
-				<view class="inner-tab tab-top">
-					<view :class="nav_type==99?'item active':'item'" @click="changeNavType(99)">
-						<view class="box">精选</view>
-					</view>
-					<view :class="nav_type==0?'item active':'item'" @click="changeNavType(0)">
-						<view class="box">商品</view>
-					</view>
-					<view :class="nav_type==2?'item active':'item'" @click="changeNavType(2)">
-						<view class="box">优惠券</view>
-					</view>
-					<view :class="nav_type==1?'item active':'item'" @click="changeNavType(1)" v-if="is_record==1&&is_open==1">
-						<view class="box">直播</view>
-					</view>
-					<view :class="nav_type==3?'item active':'item'" @click="changeNavType(3)">
-						<view class="box">商家</view>
-					</view>
-				</view>
-				<!-- 导航栏 -->
-			</view>
-			<view class="ww100" style="height: 80rpx;" v-if="isFixed"></view>
-			<view class="shop" :class="nav_type==0?'shop-product':''" v-if="shop_info!=''" :style="'min-height:' + scrollviewHigh + 'px;'">
-				<!-- 精选 -->
-				<view v-if="nav_type==99">
-					<!-- <view class="bg-white pt30">
-						<view class="card-box d-b-c" v-if="card_num" @click.stop="gotoPage('/pages/user/card/list')">
-							<view class="d-s-c"><image class="v-log" src="/static/icon/log-vip.png" mode=""></image>领取会员卡,各种优惠享不停</view>
-							<view class="btn-card-box">立即领取<text class="icon iconfont icon-jiantou"></text></view>
-						</view>
-					</view> -->
-					<view class="shop-coupon bg-white" v-if="listData.length > 0">
-						<scroll-view scroll-x="true">
-							<view class="swiper swiper-list">
-								<view class="" v-for="(item, index) in listData" :key="index" v-if="index<=5">
-									<view class="coupon-item" :class="'bg-' + item.color.text">
-										<view class="side-line left-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
-										<view class="side-line right-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
-										<view class="left-type d-s-c">
-											<template v-if="item.coupon_type.value == 10">
-												<text class="f20">¥</text>
-												<text class="f26 fb">{{ item.reduce_price }}</text>
-											</template>
-											<template v-if="item.coupon_type.value == 20">
-												<text class="f24 fb">{{ item.discount }}</text>
-												<text class="f20">折</text>
-											</template>
-										</view>
-										<view class="center-content pr">
-											<view class="content-top">
-												<text class="f22 text-ellipsis">{{ item.name }}</text>
-											</view>
-											<view class="content-bottom f20">
-												{{item.price_text}}
-											</view>
-										</view>
-										<!--领取-->
-										<view v-if="item.is_get == 0" class="right-receive d-c-c" @click="receiveCoupon(index)">
-											领
-										</view>
-										<view v-else class="right-receive no-receive d-c-c">
-											已领
-										</view>
-									</view>
-								</view>
-							</view>
-						</scroll-view>
-					</view>
-					<view class="shop_head_banner pr bg-white" v-if="adList!= ''">
-						<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
-							<swiper-item class="swiper-item" v-for="(item,index) in adList" :key="index">
-								<image :src="item.image.file_path" mode=""></image>
-							</swiper-item>
-						</swiper>
-					</view>
-					<!-- 商品导航栏 -->
-					<view class="inner-tab tab-product tab-index" :style="tabIndexFixed?'position:fixed;width:100%;top:' + (topHeight*1+34) + 'px;':''">
-						<view :class="type_active=='all'?'item active':'item'" @click="tabTypeFunc('all')">
-							<view class="box">推荐</view>
-						</view>
-						<view :class="type_active=='sales'?'item active':'item'" @click="tabTypeFunc('sales')">
-							<view class="box">销量</view>
-						</view>
-						<view :class="type_active=='new'?'item active':'item'" @click="tabTypeFunc('new')">
-							<view class="box">新品</view>
-						</view>
-						<view :class="type_active=='price'?'item active':'item'" @click="tabTypeFunc('price')">
-							<view class="box">
-								<text>价格</text>
-							</view>
-						</view>
-					</view>
-					<view class="ww100" style="height: 80rpx;" v-if="tabIndexFixed"></view>
-					<!-- 商品导航栏 -->
-					<view class="shop_body2">
-						<view class="shop_body_t_item" v-for="(item,index) in product_list" :key="index" @click="goto_product(item.product_id)">
-							<image :src="item.product_image" mode=""></image>
-							<view class="shop_body_t_item_info">
-								<view class="shop_body_t_item_info_title h1">{{item.product_name}}</view>
-								<view class="shop_body_t_item_info_price">
-									<view class="f24 redF6">¥<text class="h1">{{item.product_price}}</text></view>
-									<view class="f24 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view>
-								</view>
-								<view class="shop_body_t_item_info_others h3">
-									<view class="shop_body_t_item_info_others_sales">累计成交:{{item.product_sales}}笔</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 商品导航栏 -->
-				<view class="inner-tab tab-product tab-product-list" v-if="nav_type==0" :style="tabProductFixed?'position:fixed;width:100%;top:' + (topHeight*1+34) + 'px;':''">
-					<view :class="type_active=='all'?'item active':'item'" @click="tabTypeFunc('all')">
-						<view class="box">综合</view>
-					</view>
-					<view :class="type_active=='sales'?'item active':'item'" @click="tabTypeFunc('sales')">
-						<view class="box">销量</view>
-					</view>
-					<view :class="type_active=='price'?'item active':'item'" @click="tabTypeFunc('price')">
-						<view class="box">
-							<text>价格</text>
-						</view>
-					</view>
-					<view class="item">
-						<view class="box">
-							<image @click="select_type()" :src="isLieBiao == true?'/static/shop/liebiao.png':'/static/shop/tubiao.png'"></image>
-						</view>
-					</view>
-				</view>
-				<view class="ww100" style="height: 80rpx;" v-if="tabProductFixed"></view>
-				<!-- 商品导航栏 -->
-				<view class="shop_body" v-if="isLieBiao ==true&&nav_type==0">
-					<view class="shop_body_l_item" :class="index==listData.length-1?'noborder':''" v-for="(item,index) in product_list"
-					 :key="index" @click="goto_product(item.product_id)">
-						<view>
-							<image :src="item.product_image" mode=""></image>
-						</view>
-						<view class="shop_body_l_item_info">
-							<view class="shop_body_l_item_info_title gray3 f32">{{item.product_name}}</view>
-							<view class="d-b-c pb10">
-								<view class="shop_body_l_item_info_price">
-									<view class="f24 shop_red">¥<text class="f32 fb">{{item.product_price}}</text></view>
-									<!-- <view class="h4 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view> -->
-								</view>
-								<view class="shop_body_l_item_info_others f22">
-									<!-- <view class="shop_body_l_item_info_others_sales">累计成交:{{item.product_sales}}笔</view> -->
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="shop_body2" v-if="isLieBiao ==false&&nav_type==0">
-					<view class="shop_body_t_item" v-for="(item,index) in product_list" :key="index" @click="goto_product(item.product_id)">
-						<image :src="item.product_image" mode=""></image>
-						<view class="shop_body_t_item_info">
-							<view class="shop_body_t_item_info_title h1">{{item.product_name}}</view>
-							<view class="shop_body_t_item_info_price">
-								<view class="f24 redF6">¥<text class="h1">{{item.product_price}}</text></view>
-								<view class="f24 huaxianjia">¥<text class="h3">{{item.line_price}}</text></view>
-							</view>
-							<view class="shop_body_t_item_info_others h3">
-								<view class="shop_body_t_item_info_others_sales">累计成交:{{item.product_sales}}笔</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 直播 -->
-				<view v-if="nav_type==1">
-					<view class="live_list" v-if="liveList.length>0">
-						<view v-for="(liveitem,liveindex) in liveList" :key="liveindex" class="live_item" @click="toRoom(liveitem)">
-							<view v-if="liveitem.record_url!=''" class="record">可回放</view>
-							<view v-if="liveitem.record_url==''" class="record_off">回放生成中</view>
-							<view class="live_img">
-								<image :src="liveitem.share.file_path" mode=""></image>
-							</view>
-						</view>
-					</view>
-					<view class="ww100" v-else>
-						<view class="f30 gray6 tc mt50 pt20">暂无直播间</view>
-					</view>
-				</view>
-				<!-- 客服 -->
-				<view v-if="nav_type==3">
-					<view class="d-s-s d-c p-0-30 mt20 mpservice-wrap" v-if="!isloding">
-						<view class="noDatamodel" v-if="dataModel==null||(dataModel.qq==''&&dataModel.wechat==''&&dataModel.phone=='')">该商家尚未设置客服</view>
-						<template v-if="dataModel!=null">
-							<view v-if="dataModel.qq!=''" class="d-b-c p-20-0 f30 ww100 border-b" @click="copyQQ(dataModel.qq)">
-								<text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-qq'></text></text>
-								<text class="p-0-30 flex-1">{{dataModel.qq}}</text>
-								<text class="blue">复制</text>
-							</view>
-							<view v-if="dataModel.wechat!=''" class="d-b-c p-20-0 f30 ww100 border-b" @click="copyQQ(dataModel.qq)">
-								<text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-weixin'></text></text>
-								<text class="p-0-30 flex-1">{{dataModel.wechat}}</text>
-								<text class="blue">复制</text>
-							</view>
-							<view v-if="dataModel.phone!=''" class="d-b-c p-20-0 f30 ww100" @click="callPhone(dataModel.phone)">
-								<text class="gray9" style="width: 140rpx;"><text class='icon iconfont icon-002dianhua'></text></text>
-								<text class="p-0-30 flex-1">{{dataModel.phone}}</text>
-								<text class="blue">拨打</text>
-							</view>
-						</template>
-					</view>
-				</view>
-				<!-- 优惠券 -->
-				<view class="coupon" v-if="listData.length>=1&&nav_type==2">
-					<view class="diy-coupon">
-						<view class=" mt20 mb20" v-for="(item, index) in listData" :key="index">
-							<view class="coupon-item" :class="'bg-' + item.color.text">
-								<view class="side-line left-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
-								<view class="side-line right-side-line"><text class="round" v-for="(round, num) in 8" :key="num"></text></view>
-								<view class="left-type d-c-c">{{ item.coupon_type.text }}</view>
-								<view class="center-content pr">
-									<view class="content-top">
-										<template v-if="item.coupon_type.value == 10">
-											<text class="f22">¥</text>
-											<text class="f50 fb">{{ item.reduce_price }}</text>
-											<template v-if="item.total_num >= 0">
-												<text class="ml10">仅剩{{ item.total_num }}张</text>
-											</template>
-											<template v-else>
-												<text class="ml10">不限数量</text>
-											</template>
-										</template>
-										<template v-if="item.coupon_type.value == 20">
-											<text class="f50 fb">{{ item.discount }}</text>
-											<text>折</text>
-										</template>
-									</view>
-									<view class="content-bottom">
-										<text class="f24">{{ item.name }}</text>
-									</view>
-									<view class="content-datatime">
-										<template v-if="item.expire_type == 20">
-											有效期:{{ item.start_time.text }} 至 {{ item.end_time.text }}
-										</template>
-										<template v-if="item.expire_type == 10">
-											有效期:领取后{{ item.expire_day }}天有效
-										</template>
-									</view>
-								</view>
-								<!--领取-->
-								<view v-if="item.is_get == 0" class="right-receive d-c-c" @click="receiveCoupon(index)">
-									立即领取
-								</view>
-								<view v-else class="right-receive no-receive d-c-c">
-									已领取
-								</view>
-							</view>
-							<view class="range_item d-b-c" v-if="item.apply_range == 20" @click.stop="gotoPage('/pages/coupon/detail?coupon_id='+ item.coupon_id)">							
-								<view>限购店铺部分商品</view>
-								<view><text class="icon iconfont icon-jiantou" style="color: #999999; font-size: 24rpx;"></text></view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 优惠券 -->
-			</view>
-			<!-- 商品列表 -->
-			<view v-if="nav_type==0 || nav_type==99">
-				<view class="d-c-c p30" v-if="product_list.length==0 && !loading">
-					<text class="iconfont icon-wushuju"></text>
-					<text class="cont">亲,暂无相关记录哦</text>
-				</view>
-				<uni-load-more v-else :loadingType="loadingType"></uni-load-more>
-				<view class="" style="width: 100%;height: 100rpx;">
-
-				</view>
-			</view>
-		</scroll-view>
-		<!-- 底部导航 -->
-		<!-- <view class="d-a-c nav_bottom">
-			<view :class="nav_type==0?'active':''" @click="nav_type=0">
-				<view class="icon iconfont icon-Homehomepagemenu"></view>
-				<view>首页</view>
-			</view>
-			<view v-if="is_record==1&&is_open==1" :class="nav_type==1?'active':''" @click="nav_type=1">
-				<view class="icon iconfont icon-dianpu1"></view>
-				<view>直播</view>
-			</view>
-			<view v-if="listData.length>0" :class="nav_type==2?'active':''" @click="nav_type=2">
-				<view class="icon iconfont icon-quan"></view>
-				<view>优惠券</view>
-			</view>
-			<view v-if="service_open" :class="nav_type==3?'active':''" @click="toSevice">
-				<view class="icon iconfont icon-kefu2"></view>
-				<view>客服</view>
-			</view>
-		</view> -->
+		<diy style="position: relative;" :diyItems="items" :city_supplier_ids="city_supplier_ids"
+			:index_open_city="index_open_city"></diy>
+		<tabBar :vars="vars"></tabBar>
 	</view>
 </template>
 
 <script>
 	import uniLoadMore from "@/components/uni-load-more.vue";
+	import diy from '@/components/diy/diy.vue';
+	import tabBar from "@/components/shoptabbar/footTabbar.vue"
 	export default {
 		components: {
-			uniLoadMore
+			uniLoadMore,
+			tabBar
 		},
 		data() {
 			return {
+				bgcolor:'',
+				longitude:'',
+				latitude:'',
 				isLieBiao: true,
 				shop_info: '', //店铺信息
+				articlelistData: [],
+				/*是否有更多*/
+				no_more: null,
+				/*一页多少条*/
+				list_rows: 10,
+				/*当前第几页*/
+				page: 1,
 				product_list: '', //商品列表
 				adList: '', //banner列表
 				dataList: '',
@@ -390,7 +94,7 @@
 				last_page: 0,
 				/*可滚动视图区域高度*/
 				scrollviewHigh: 0,
-				nav_type: 99,
+				nav_type: 4,
 				is_open: 0,
 				is_record: 0,
 				liveList: [],
@@ -408,11 +112,24 @@
 				headHight: 0,
 				topHeight: 0,
 				tabIndexTop: 0,
-				tabIndexFixed : false,
+				tabIndexFixed: false,
 				tabProductTop: 0,
-				tabProductFixed : false,
+				tabProductFixed: false,
 				card_num: 0,
-				store_id:''
+				store_id: '',
+				category_list: [],
+				product_list: [],		
+				city_supplier_ids:[],	
+				index_cityname:'',	
+				index_open_city:0,
+				openCategory: {
+					color: "#000000",
+					open: 0
+				},
+				items: [],
+				url:'',
+				toplogo:'',
+				vars:{}
 			}
 		},
 		computed: {
@@ -432,10 +149,18 @@
 		onLoad(option) {
 			let self = this;
 			self.GetStatusBarHeight();
-			self.shop_supplier_id = option.shop_supplier_id;
+			if( option.shop_supplier_id){
+				uni.setStorageSync('shop_supplier_id',option.shop_supplier_id)
+			}
+			self.shop_supplier_id = option.shop_supplier_id||uni.getStorageSync('shop_supplier_id');
+			//#ifdef H5
+			if (this.isWeixin()) {
+				this.url = window.location.href;
+			}
+			//#endif
 		},
 		onShow() {
-			if(this.store_id > 0){
+			if (this.store_id > 0) {
 				uni.navigateBack({});
 			}
 		},
@@ -447,13 +172,16 @@
 			/*下拉到顶,页面值还原初始化*/
 			this.restoreData();
 			this.getData();
-		this.getProduct(this.type_active);
+			this.getProduct(this.type_active);
 		},
 		methods: {
 			changeNavType(e) {
 				this.nav_type = e;
+				this.page = 1;
 				if (e == 0) {
 					this.initTabProduct();
+				} else if (e == 6) {
+					this.articleGetData();
 				}
 			},
 			initTabProduct() {
@@ -582,14 +310,14 @@
 			},
 
 			//获取数据列表
-			getData() {
+			/* getData() {
 				let self = this;
 				self.loading = true;
 				self._post('supplier.index/index', {
 					shop_supplier_id: self.shop_supplier_id,
 					visitcode: self.getVisitcode()
 				}, (res) => {
-					if(res.data.store_id){
+					if (res.data.store_id) {
 						self.gotoPage('/pages2/goodstore/detail?store_id=' + res.data.store_id);
 						self.store_id = res.data.store_id;
 						return;
@@ -617,7 +345,7 @@
 					})
 					self.getservice();
 				})
-			},
+			}, */
 
 			//选择图标模式或者列表模式    true 为列表模式  false 为图表模式
 			select_type() {
@@ -720,8 +448,9 @@
 				if (this.service_type == 10 || this.shop_info.user_id == uni.getStorageInfoSync('user_id')) {
 					this.nav_type = 3;
 				} else if (this.service_type == 20) {
-					this.gotoPage('/pages/plus/chat/chat?user_id=' + this.shop_info.supplier_user_id + '&shop_supplier_id=' + this.shop_info.shop_supplier_id +
-							'&nickName=' + this.shop_info.store_name);
+					this.gotoPage('/pages/plus/chat/chat?user_id=' + this.shop_info.supplier_user_id +
+						'&shop_supplier_id=' + this.shop_info.shop_supplier_id +
+						'&nickName=' + this.shop_info.store_name);
 				}
 			},
 			goback() {
@@ -732,6 +461,128 @@
 			/*跳转搜索页面*/
 			gotoSearch() {
 				this.gotoPage('/pages/shop/search?shop_supplier_id=' + this.shop_supplier_id);
+			},
+			/*获取数据*/
+			articleGetData() {
+				let self = this;
+				let page = self.page;
+				let list_rows = self.list_rows;
+				self.loading = true;
+				uni.showLoading({
+					title: '加载中'
+				});
+				self._get(
+					'plus.article.article/index', {
+						page: page || 1,
+						list_rows: list_rows,
+						category_id: self.type_active,
+						shop_supplier_id: self.shop_supplier_id
+					},
+					function(res) {
+						self.articlelistData = self.listData.concat(res.data.list.data);
+						self.last_page = res.data.list.last_page;
+						if (res.data.list.last_page <= 1) {
+							self.no_more = true;
+						}
+						self.loading = false;
+						uni.hideLoading();
+					}
+				);
+			},
+
+			/*可滚动视图区域到底触发*/
+			scrolltolowerFunc() {
+				let self = this;
+				self.bottomRefresh = true;
+				self.page++;
+				self.loading = true;
+				if (self.page > self.last_page) {
+					self.loading = false;
+					self.no_more = true;
+					return;
+				}
+				self.getData();
+			},
+
+			/*跳转文章详情*/
+			gotoDetail(e) {
+				this.gotoPage('/pages/article/detail/detail?article_id=' + e);
+			},
+			/*获取首页分类*/
+			getData() {
+				let self = this;
+				uni.showLoading({
+					title: '加载中'
+				});
+				self._get('supplier.page/index', {
+					url: self.url,
+					longitude:self.longitude,
+					latitude:self.latitude,
+					shop_supplier_id: self.shop_supplier_id,
+				}, function(res) {
+					self.listData = res.data.list;
+					self.background = res.data.background;
+					self.items = res.data.items;
+					self.title_name = res.data.page.params.title;
+					self.bgcolor = res.data.page.style.titleBackgroundColor;
+					self.msgNum = res.data.msgNum;
+					self.toplogo = res.data.page.style.toplogo;
+					self.setPage(res.data.page);
+					self.title_type = res.data.page.params.title_type;
+					self.titleTextColor = res.data.page.style.titleTextColor;
+					self.openCategory = res.data.page.category;
+					self.vars = res.data.vars;
+					console.log('vars');
+					console.log(self.vars);
+					self.index_open_city=res.data.setting.store.index_open_city;
+					self.underline_price_show=res.data.setting.store.underline_price_show;
+					if(res.data.setting.store.index_open_city==1){
+						self.getAddress();
+					}
+					//弹出收藏
+					// #ifdef  MP-WEIXIN
+					let isFirst = uni.getStorageSync('isFirst');
+					if (isFirst == '' && res.data.setting.collection.status == '1') {
+						self.is_collection = true;
+						uni.setStorageSync('isFirst', 1);
+					}
+					self.is_follow = res.data.setting.officia.status;
+					// #endif
+					// 首页推送
+					let homepush_name = uni.getStorageSync('homepush_name');
+					if (res.data.setting.homepush.is_open && homepush_name != res.data.setting.homepush.name) {
+						self.homepush_data = res.data.setting.homepush;
+						self.is_homepush = true;
+						self.is_homepush = true;
+					}
+					// 配置微信扫一扫参数
+					//#ifdef H5
+					if (self.url != '') {
+						self.jweixin = self.configWxScan(res.data.signPackage);
+					}
+					//#endif
+					uni.hideLoading();
+					self.loadding = false;
+					uni.stopPullDownRefresh();
+				});
+			},
+			/*设置页面*/
+			setPage(page) {
+
+				uni.setNavigationBarTitle({
+					title: page.params.name
+				});
+
+				let colors = '#000000';
+				if (page.style.titleTextColor == 'white') {
+					//字母要小写
+					colors = '#ffffff'
+				}
+				uni.setNavigationBarColor({
+					frontColor: colors,
+					backgroundColor: page.style.titleBackgroundColor
+				})
+				uni.setStorageSync('page',page);
 			},
 		}
 	}
@@ -906,7 +757,7 @@
 		box-sizing: border-box;
 		border-top: 1rpx solid #eeeeee;
 	}
-	
+
 	.shop_body .shop_body_l_item:first-child {
 		border-top: 0;
 	}
@@ -1419,7 +1270,7 @@
 		font-size: 26rpx;
 		padding: 0 24rpx;
 	}
-	
+
 	.shop_list_body_item_shop_others .collected {
 		border: 1rpx solid #FFFFFF;
 		color: #FFFFFF;
@@ -1429,24 +1280,28 @@
 	.noborder {
 		border: none;
 	}
-	.range_item{
+
+	.range_item {
 		border: 1rpx solid #D9D9D9;
 		border-top: none;
 		padding: 8rpx;
-		border-bottom-left-radius:10rpx ;
-		border-bottom-right-radius:10rpx ;
+		border-bottom-left-radius: 10rpx;
+		border-bottom-right-radius: 10rpx;
 		color: #666666;
 		box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.1);
 	}
+
 	.top_search_right {
 		font-size: 20rpx;
 		line-height: normal;
 	}
-	.top_search_right .icon {
-	}
+
+	.top_search_right .icon {}
+
 	.top_search_right .icon-31guanzhu1xuanzhong {
 		color: #F6220C;
 	}
+
 	.shop_top {
 		position: fixed;
 		width: 100%;
@@ -1454,23 +1309,27 @@
 		padding-bottom: 16rpx;
 		transition: 500ms;
 	}
+
 	.head_top_box {
 		color: #FFFFFF;
 	}
+
 	.shop_list_body_item_shop_info .icon-htmal5icon24 {
 		color: #F6220C;
 	}
+
 	/* ***************************************** */
 	/* ***************************************** */
 	/* ***************************************** */
 	.swiper-list {
 		display: flex;
 	}
+
 	.shop-coupon {
 		padding: 30rpx 20rpx;
 		position: relative;
 	}
-	
+
 	.shop-coupon scroll-view {
 		height: 94rpx;
 	}
@@ -1595,63 +1454,79 @@
 		background: #acacac;
 		color: #787878;
 	}
+
 	/* ***************************** */
 	.topbg {
 		background-color: #333648;
 		transition: 500ms;
 	}
+
 	.topbg-white .icon-jiantou {
 		color: #333333;
 	}
+
 	.topbg-white .top_search_right {
 		color: #555555;
 	}
+
 	.topbg-white .index-search-cate {
 		background: #E5E5E5;
 	}
+
 	.tab-product {
 		display: flex;
 		margin-top: 16rpx;
 		border-bottom: 1rpx solid #eeeeee;
 		background-color: #FFFFFF;
 	}
+
 	.tab-product .item {
 		color: #999999;
 		font-size: 28rpx;
 	}
+
 	.shop-product {
 		margin-top: 0;
 	}
+
 	.tab-product .item.active {
 		font-weight: normal;
 	}
+
 	.tab-product .item.active::after {
 		width: 30rpx;
 	}
-	.tab-fixed{
+
+	.tab-fixed {
 		position: fixed;
 		top: 0;
 		width: 100%;
 		background-color: #333648;
 		z-index: 99;
 	}
-	.tab-top .item, .tab-top .item.active {
+
+	.tab-top .item,
+	.tab-top .item.active {
 		color: #FFFFFF;
 	}
+
 	.tab-top .item.active:after {
 		background: #FFFFFF;
 		height: 6rpx;
 	}
+
 	.head_top_box .index-search-cate {
 		background: rgba(255, 255, 255, .4);
 		border: 0;
 		color: #eeeeee;
 	}
+
 	.head_top_box .index-search-cate text {
 		color: #eeeeee;
 	}
+
 	/* 会员卡 */
-	.card-box{
+	.card-box {
 		pposition: relative;
 		margin: 0 20rpx;
 		// height: 114rpx;
@@ -1663,7 +1538,8 @@
 		background: linear-gradient(to right, #2F2F2F, #776047);
 		border-radius: 16rpx;
 	}
-	.btn-card-box{
+
+	.btn-card-box {
 		width: 164rpx;
 		height: 52rpx;
 		line-height: 52rpx;
@@ -1674,13 +1550,87 @@
 		text-align: center;
 		font-weight: 600;
 	}
-	.btn-card-box .icon.iconfont.icon-jiantou{
+
+	.btn-card-box .icon.iconfont.icon-jiantou {
 		font-size: 22rpx;
-		color:  #54412c;
+		color: #54412c;
 	}
-	.v-log{
+
+	.v-log {
 		width: 31rpx;
 		height: 28rpx;
 		margin-right: 8rpx;
 	}
-</style>
+
+	.shop_info_description {
+		padding: 20rpx;
+		font-size: 28rpx;
+		line-height: 2;
+	}
+
+	.article-list-wrap .type-list .tab-item {
+		padding: 0 30rpx;
+		font-size: 34rpx;
+		height: 86rpx;
+		line-height: 86rpx;
+		white-space: nowrap;
+		border-bottom: 4rpx solid #FFFFFF;
+	}
+
+	.article-list-wrap .type-list .tab-item.active {
+		border-bottom: 4rpx solid;
+		@include border_color('border_color');
+		margin-bottom: 0;
+	}
+
+	.article-list {
+		background: #ffffff;
+	}
+
+	.article-list .item {
+		padding: 30rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		border-bottom: 1px solid #e3e3e3;
+	}
+
+	.article-list .item .info {
+		flex: 1;
+		overflow: hidden;
+	}
+
+	.article-list .item .title {
+		font-size: 36rpx;
+	}
+
+	.article-list .item .summary {
+		margin-top: 20rpx;
+		font-size: 28rpx;
+		color: #999999;
+	}
+
+	.article-list .item .title,
+	.article-list .item .summary {
+		display: -webkit-box;
+		overflow: hidden;
+		-webkit-line-clamp: 2;
+		-webkit-box-orient: vertical;
+	}
+
+	.article-list .item .pic {
+		padding-left: 30rpx;
+	}
+
+	.article-list .item .pic,
+	.article-list .item .pic image {
+		width: 160rpx;
+		height: 160rpx;
+	}
+
+	.article-list .item .datatime {
+		margin-top: 20rpx;
+		font-size: 24rpx;
+		color: #999999;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.2