zhengjinyi před 4 roky
rodič
revize
5d90699c43

+ 2 - 2
common/config/config.js

@@ -1,10 +1,10 @@
 let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
-	// URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
+	URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
 	// URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.2.75:8008'	 //超超联调地址
-	URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
+	// URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
 	// URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境

+ 1 - 1
components/cm-module/homeIndex/hotProduct.vue

@@ -1,7 +1,7 @@
 <template name="hotProduct">
 	<view>
 		<view class="container clearfix">
-			<view class="title">推荐专区{{ userIdentity }}</view>
+			<view class="title">推荐专区</view>
 			<view class="recommend-list">
 				<swiper class="tui-banner-swiper" :autoplay="false" :interval="5000" :duration="500" :circular="true" @change="swiperChange">
 					<swiper-item v-for="(product,index) in hotProductList" :key="index">

+ 4 - 4
components/cm-module/homeIndex/navbars.vue

@@ -4,7 +4,7 @@
 			<view class="nav-item" v-for="(item,index) in navList" :key="index" @click="NavToDetailPage(item,index)">
 				<view class="icon">
 					<image class="icon-image" :src="item.icon" mode="widthFix"></image>
-					<image class="icon-new" src="../../../static/temp/icon-new.png" mode="widthFix" v-if="index === 7"></image>
+					<!-- <image class="icon-new" src="../../../static/temp/icon-new.png" mode="widthFix" v-if="index === 7"></image> -->
 				</view>
 				<view class="name">{{ item.name }}</view>
 			</view>
@@ -66,9 +66,9 @@
 				 * 4、二手商品列表
 				 **/
 				 const typeMap = {
-					0:`/pages/goods/goods-instrument?linkId=${item.id}`,
-					1:`/pages/goods/goods-instrument?linkId=${item.id}`,
-					2:`/pages/goods/goods-instrument?linkId=${item.id}`,
+					0:`/pages/goods/goods-secondary?linkId=${item.id}`,
+					1:`/pages/goods/goods-secondary?linkId=${item.id}`,
+					2:`/pages/goods/goods-secondary?linkId=${item.id}`,
 					3:`/h5/pages/article/page?linkType=${index}`,
 					4:`/second/pages/product/product-list`,
 					5:`/h5/pages/article/page?linkType=${index}`,

+ 4 - 4
components/cm-module/listTemplate/buyagainList.vue

@@ -300,17 +300,17 @@
 			box-sizing: border-box;
 			float: left;
 			.floor-tags{
-				float: left;
 				height: 36rpx;
-				border-radius: 4rpx;
-				background-color: rgba(225, 86, 22, 0.1);
+				border-radius: 6rpx;
+				background-color: #FFFFFF;
 				line-height: 36rpx;
 				color: $color-system;
 				text-align: center;
 				display: inline-block;
 				padding:0 16rpx;
-				margin-top: 9rpx;
 				font-size: $font-size-20;
+				margin-left: 15rpx;
+				border: 1px solid #E15616;
 			}
 		}
 		.price-icon {

+ 4 - 4
components/cm-module/listTemplate/classifyProductList.vue

@@ -317,17 +317,17 @@
 			box-sizing: border-box;
 			float: right;
 			.floor-tags{
-				float: right;
 				height: 36rpx;
-				border-radius: 4rpx;
-				background-color: rgba(225, 86, 22, 0.1);
+				border-radius: 6rpx;
+				background-color: #FFFFFF;
 				line-height: 36rpx;
 				color: $color-system;
 				text-align: center;
 				display: inline-block;
 				padding:0 16rpx;
-				margin-top: 9rpx;
 				font-size: $font-size-20;
+				margin-left: 15rpx;
+				border: 1px solid #E15616;
 			}
 		}
 		.price-icon {

+ 4 - 4
components/cm-module/listTemplate/commodityList.vue

@@ -349,17 +349,17 @@
 			box-sizing: border-box;
 			float: right;
 			.floor-tags{
-				float: right;
 				height: 36rpx;
-				border-radius: 4rpx;
-				background-color: rgba(225, 86, 22, 0.1);
+				border-radius: 6rpx;
+				background-color: #FFFFFF;
 				line-height: 36rpx;
 				color: $color-system;
 				text-align: center;
 				display: inline-block;
 				padding:0 16rpx;
-				margin-top: 9rpx;
 				font-size: $font-size-20;
+				margin-left: 15rpx;
+				border: 1px solid #E15616;
 			}
 		}
 		.price-icon {

+ 4 - 4
components/cm-module/listTemplate/immediatelyList.vue

@@ -780,17 +780,17 @@
 			box-sizing: border-box;
 			float: left;
 			.floor-tags{
-				float: left;
 				height: 36rpx;
-				border-radius: 4rpx;
-				background-color: rgba(225, 86, 22, 0.1);
+				border-radius: 6rpx;
+				background-color: #FFFFFF;
 				line-height: 36rpx;
 				color: $color-system;
 				text-align: center;
 				display: inline-block;
 				padding:0 16rpx;
-				margin-top: 9rpx;
 				font-size: $font-size-20;
+				margin-left: 15rpx;
+				border: 1px solid #E15616;
 			}
 		}
 		.price-icon {

+ 4 - 4
components/cm-module/listTemplate/productList.vue

@@ -302,17 +302,17 @@
 			box-sizing: border-box;
 			float: left;
 			.floor-tags{
-				float: left;
 				height: 36rpx;
-				border-radius: 4rpx;
-				background-color: rgba(225, 86, 22, 0.1);
+				border-radius: 6rpx;
+				background-color: #FFFFFF;
 				line-height: 36rpx;
 				color: $color-system;
 				text-align: center;
 				display: inline-block;
 				padding:0 16rpx;
-				margin-top: 9rpx;
 				font-size: $font-size-20;
+				margin-left: 15rpx;
+				border: 1px solid #E15616;
 			}
 		}
 		.price-icon {

+ 7 - 1
pages.json

@@ -89,6 +89,12 @@
 				"navigationBarTitleText": "商品列表",
 				"enablePullDownRefresh":true
 			}
+		},{
+			"path": "pages/goods/goods-secondary",
+			"style": {
+				"navigationBarTitleText": "二级分类列表",
+				"enablePullDownRefresh":true
+			}
 		},{
 			"path": "pages/goods/goods-active",
 			"style": {
@@ -156,7 +162,7 @@
 				"navigationBarTitleText": "隐私权政策"
 			}
 		},{
-			"path": "pages/service/sellconten",
+			"path": "pages/service/sellConten",
 			"style": {
 				"navigationBarTitleText": "条款内容"
 			}

+ 59 - 85
pages/goods/goods-instrument.vue

@@ -1,31 +1,34 @@
 <template>
 	<view class="container instrument">
-		<view class="banner">
-			<view class="banner-image">
-				<image :src="banner" mode=""></image>
+		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
+		<template v-else>
+			<view class="banner">
+				<view class="banner-image">
+					<image :src="banner" mode=""></image>
+				</view>
 			</view>
-		</view>
-		<view class="instrument-list">
-			<view class="list-item-cell" v-for="(item,index) in list" :key="index">
-				<view class="list-item-title">
-					<view class="title" :class="item.link ? 'float' : ''">
-						<text>{{ item.title }}</text>
-					</view>
-					<view class="more" v-if="item.link" @click="details(item)">
-						<text>查看更多</text>
-						<text class="iconfont icon-xiangyou"></text>
+			<view class="instrument-list">
+				<view class="list-item-cell" v-for="(item,index) in list" :key="index">
+					<view class="list-item-title">
+						<view class="title" :class="item.link ? 'float' : ''">
+							<text>{{ item.title }}</text>
+						</view>
+						<view class="more" v-if="item.link" @click="details(item)">
+							<text>查看更多</text>
+							<text class="iconfont icon-xiangyou"></text>
+						</view>
 					</view>
-				</view>
-				<view class="list-item-pros">
-					<view class="item-pros" v-for="(pros,prosIndex) in item.floorData" :key="prosIndex" @click="details(pros)">
-						<view class="item-pros-image">
-							<image :src="pros.image" mode=""></image>
+					<view class="list-item-pros">
+						<view class="item-pros" v-for="(pros,prosIndex) in item.floorData" :key="prosIndex" @click="NavToDetailPage(pros)">
+							<view class="item-pros-image">
+								<image :src="pros.image" mode=""></image>
+							</view>
+							<view class="item-pros-name">{{ pros.title }}</view>
 						</view>
-						<view class="item-pros-name">{{ pros.title }}</view>
 					</view>
 				</view>
 			</view>
-		</view>
+		</template>
 		<!-- 侧边 -->
 		<scroll-top v-if="isScrollTop"></scroll-top>
 	</view>
@@ -40,98 +43,69 @@
 			return{
 				banner:'',
 				list:[],
-				linkType:0,
+				linkId:0,
 				isScrollTop:false,
-				linkTitle:''
+				linkTitle:'',
+				skeletonShow:true
 			}
 		},		
 		onLoad(option) {
 			console.log(option)
 			let _self = this
-			this.linkType = option.linkId
+			this.linkId = option.linkId
 			this.linkTitle = option.title
 			uni.setNavigationBarTitle({title:_self.linkTitle});
 			this.GetPageTopicInfo()
 		},
 		methods:{
 			GetPageTopicInfo(){//获取数据
-				this.ProductService.GetPageTopic({type:this.linkType}).then(response =>{
+				this.ProductService.GetPageTopic({type:this.linkId}).then(response =>{
 					let data = response.data
 					this.list = data
 					this.GetPageTopicBanner()
+					this.skeletonShow = false
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
 			GetPageTopicBanner(){//获取banner
-				this.ProductService.GetPageTopicBanner({type:this.linkType}).then(response =>{
+				this.ProductService.GetPageTopicBanner({type:this.linkId}).then(response =>{
 					let data = response.data
 					this.banner = data.image
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
-			details(floor){
+			NavToDetailPage(floor) {//跳转
 				console.log(floor)
-				switch(floor.linkType){
-					case 1://二级页面
-						this.$api.navigateTo(`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}&title=${floor.title}`)
-						break;
-					case 2://搜索项目仪器 
-						this.$api.navigateTo(`/pages/search/search-instrument?linkId=${floor.linkParam.id}`)
-						break;
-					case 3://直播页面
-						this.$api.navigateTo(``)
-						break;
-					case 4://自由页面
-						this.$api.navigateTo(`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}`)
-						break;
-					case 5://商品详情
-						this.$api.navigateTo(`/pages/goods/product?id=${floor.linkParam.id}`)
-						break;
-					case 6://仪器项目详情
-						this.$api.navigateTo(`/pages/goods/instrument-details?id=${floor.linkParam.id}`)
-						break;
-					case 7://供应商主页 
-						this.$api.navigateTo(`/supplier/pages/user/my-shop?shopId=${floor.linkParam.id}`)
-						break;
-					case 8://专题活动页
-						this.$api.navigateTo(`/h5/pages/activity/activity-list`)
-						break;
-					case 9://二手市场介绍
-						this.$api.navigateTo(`/second/pages/form/introduce`)
-						break;
-					case 10://二手商品列表
-						this.$api.navigateTo(`/second/pages/product/product-list`)
-						break;
-					case 11://二手商品发布
-						this.$api.navigateTo(`/second/pages/form/form`)
-						break;
-					case 12://商品搜索
-						this.$api.navigateTo(`/pages/search/search?keyWord=${floor.title}`)
-						break;
-					case 13://信息详情
-						this.$api.navigateTo(`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}`)
-						break;
-					case 14://品牌招商介绍页 
-						this.$api.navigateTo(`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}`)
-						break;
-					case 15://维修保养介绍页 
-						this.$api.navigateTo(`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}`)
-						break;
-					case 16://首页
-						this.$api.switchTabTo(`/pages/tabBar/home/index`)
-						break;
-					case 17://注册页 
-						this.$api.navigateTo(`/pages/login/register-select`)
-						break;
-					case 18://信息中心
-						this.$api.navigateTo(`/pages/login/register-select`)
-						break;
-					case 19://供应商列表
-						this.$api.navigateTo(`/pages/login/register-select`)
-						break;
-				}
+				/**
+				 * 页面跳转类型
+				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
+				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
+				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
+				 **/
+				 if(floor.linkType){
+					 const typeMap = {
+					 	1:`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}&title=${floor.title}`,
+					 	2:`/pages/search/search-instrument?keyword=${floor.title}`,
+					 	5:`/pages/goods/product?id=${floor.linkParam.id}`,
+					 	6:`/pages/goods/instrument-details?id=${floor.linkParam.id}`,
+					 	7:`/supplier/pages/user/my-shop?shopId=${floor.linkParam.id}`,
+					 	8:`/h5/pages/activity/activity-list`,
+					 	9:`/second/pages/form/introduce`,
+					 	10:`/second/pages/product/product-list`,
+					 	11:`/second/pages/form/form`,
+					 	12:`/pages/search/search?keyWord=${floor.title}`,
+					 	13:`/h5/pages/article/page?link=${floor.link}`,
+					 	14:`/h5/pages/article/page?link=${floor.link}`,
+					 	15:`/h5/pages/article/page?link=${floor.link}`,
+					 	17:`/pages/login/register-select`,
+					 	18:`/h5/pages/article/page?link=${floor.link}`,
+					 	19:`/pages/search/search-supplier?keyWord=${floor.title}`
+					 }
+					 const url = typeMap[floor.linkType];
+					 this.$api.navigateTo(url)
+				 }
 			}
 		},
 		onPageScroll(e){//实时获取到滚动的值

+ 502 - 0
pages/goods/goods-secondary.vue

@@ -0,0 +1,502 @@
+<template>
+	<view class="container instrument">
+		<!--选项卡-->
+		<view class="home-hotmaintab-fixed">
+			<view class="home-flex-tab show">
+				<view class="flex text-white">
+					<view class="basis-xxl">
+						<scroll-view scroll-x class="nav z" scroll-with-animation :scroll-left="headTab.scrollLeft">
+							<block v-for="(item,index) in headTab.list" :key="index">
+								<view class="cu-item" :class="index==headTab.TabCur?'select':''" @tap="tabSelect(index,item)" :data-id="index">
+									<view>{{item.name}}</view>
+									<view class="tab-dot bg-white"/>
+								</view>
+							</block>
+						</scroll-view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="container-main">
+			<!-- 商品专题 -->
+			<template v-if="isActivityFlag">
+				<view class="activity-container">
+					<scroll-view scroll-y="true" >
+						<view class="list" v-for="(item, index) in activityList" :key="index">
+							<image class="list-image" :src="item.image" mode="scaleToFill"></image>
+							<view class="title">{{item.title}}</view>
+							<view class="time" v-show="item.status!=3">
+								<view class="text">{{item.detail }}</view>
+							</view>
+						</view>
+						<!--加载loadding-->
+						<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
+						<tui-nomore :visible="!pullUpOn" bgcolor="#F7F7F7" :text='nomoreText'></tui-nomore>
+						<!--加载loadding-->
+					</scroll-view>
+				</view>
+			</template>
+			<!-- 列表 -->
+			<template v-else>
+				<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="9"></tui-skeleton>
+				<template v-else>
+					<view class="banner">
+						<view class="banner-image">
+							<image :src="banner" mode=""></image>
+						</view>
+					</view>
+					<view class="instrument-list">
+						<view class="list-item-cell" v-for="(item,index) in list" :key="index">
+							<view class="list-item-title">
+								<view class="title" :class="item.link ? 'float' : ''">
+									<text>{{ item.title }}</text>
+								</view>
+								<view class="more" v-if="item.link" @click="NavToDetailPage(item)">
+									<text>查看更多</text>
+									<text class="iconfont icon-xiangyou"></text>
+								</view>
+							</view>
+							<view class="list-item-pros">
+								<view class="item-pros" v-for="(pros,prosIndex) in item.floorData" :key="prosIndex" @click="NavToDetailPage(pros)">
+									<view class="item-pros-image">
+										<image :src="pros.image" mode=""></image>
+									</view>
+									<view class="item-pros-name">{{ pros.title }}</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</template>
+			</template>
+		</view>
+		<!-- 侧边 -->
+		<scroll-top v-if="isScrollTop"></scroll-top>
+	</view>
+</template>
+<script>
+	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
+	import tuiNomore from "@/components/tui-components/nomore/nomore"
+	export default{
+		components:{
+			tuiLoadmore,
+			tuiNomore,
+		},
+		data(){
+			return{
+				banner:'',
+				headTab: {
+					TabCur: 0, 
+					scrollLeft: 0, 
+					list: [],
+				},
+				headTabId:0,
+				list:[],
+				navMenuId:0,
+				isScrollTop:false,
+				listQuery:{
+					pageNum:1,
+					pageSize:10,
+				},
+				nomoreText: '上拉显示更多',
+				hasNextPage:false,
+				loadding: false,
+				pullUpOn: true,
+				pullFlag: true,
+				isActivityFlag:false,
+				skeletonShow:true,
+				activityList:[]
+			}
+		},		
+		onLoad(option) {
+			console.log(option)
+			this.navMenuId = option.linkId
+			this.GetHomeSubMenu()
+		},
+		methods:{
+			GetHomeSubMenu(){//获取数据
+				let _self = this
+				this.CommonService.GetHomeSubMenu({navMenuId:this.navMenuId}).then(response =>{
+					let data = response.data
+					this.headTab.list = data
+					uni.setNavigationBarTitle({title:_self.headTab.list[0].name});
+					if(this.headTab.list[0].linkType === 8){
+						this.isActivityFlag = true
+						this.GetPromotionsrList()
+					}else{
+						this.GetPageTopicInfo(this.headTab.list[0].linkParam.id)
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			GetPageTopicInfo(type){//获取数据
+				this.ProductService.GetPageTopic({type:type}).then(response =>{
+					let data = response.data
+					this.list = data
+					this.GetPageTopicBanner(type)
+					this.skeletonShow = false
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			GetPageTopicBanner(type){//获取banner
+				this.ProductService.GetPageTopicBanner({type:type}).then(response =>{
+					let data = response.data
+					this.banner = data.image
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			GetPromotionsrList(){//获取专题列表
+				this.ProductService.GetPromotionsrList(this.listQuery).then(response =>{
+					let responseData = response.data
+					if(responseData.list&&responseData.list.length > 0){
+						this.isEmpty = false
+						this.hasNextPage = responseData.hasNextPage
+						this.activityList = responseData.list
+						this.pullFlag = false;
+						setTimeout(()=>{this.pullFlag = true;},500)
+						if(this.hasNextPage){
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						}else{
+							this.pullUpOn = true
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}else{
+						this.isEmpty = true
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			GetPromotionsrListBottomData(){
+				this.listQuery.pageNum+=1
+				this.ProductService.GetPromotionsrList(this.listQuery).then(response =>{
+					let responseData = response.data
+					if(responseData.list&&responseData.list.length > 0){
+						this.hasNextPage = response.data.hasNextPage
+						this.activityList = this.activityList.concat(responseData.list) 
+						this.pullFlag = false;// 防上拉暴滑
+						setTimeout(()=>{this.pullFlag = true;},500)
+						if(this.hasNextPage){
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						}else{
+							this.pullUpOn = false
+							this.loadding = false
+							console.log('2222222222222')
+							this.nomoreText = '已至底部'
+						}
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			tabSelect(index,item) {//tab菜单被点击
+				console.log(item)
+				this.headTab.TabCur = index;
+				this.headTab.scrollLeft = (index - 1) * 50;
+				this.headTabId = item.linkParam.id;
+				console.log(this.headTabId)
+				uni.setNavigationBarTitle({title:item.name});
+				if(item.linkType === 8){
+					this.isActivityFlag = true
+					this.GetPromotionsrList()
+				}else{
+					this.isActivityFlag = false
+					this.GetPageTopicInfo(this.headTabId)
+				}
+			},
+			NavToDetailPage(floor) {//跳转
+				console.log(floor)
+				/**
+				 * 页面跳转类型
+				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
+				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
+				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
+				 **/
+				 if(floor.linkType){
+					 const typeMap = {
+					 	1:`/pages/goods/goods-instrument?linkId=${floor.linkParam.id}&title=${floor.title}`,
+					 	2:`/pages/search/search-instrument?keyword=${floor.title}`,
+					 	5:`/pages/goods/product?id=${floor.linkParam.id}`,
+					 	6:`/pages/goods/instrument-details?id=${floor.linkParam.id}`,
+					 	7:`/supplier/pages/user/my-shop?shopId=${floor.linkParam.id}`,
+					 	8:`/h5/pages/activity/activity-list`,
+					 	9:`/second/pages/form/introduce`,
+					 	10:`/second/pages/product/product-list`,
+					 	11:`/second/pages/form/form`,
+					 	12:`/pages/search/search?keyWord=${floor.title}`,
+					 	13:`/h5/pages/article/page?link=${floor.link}`,
+					 	14:`/h5/pages/article/page?link=${floor.link}`,
+					 	15:`/h5/pages/article/page?link=${floor.link}`,
+					 	17:`/pages/login/register-select`,
+					 	18:`/h5/pages/article/page?link=${floor.link}`,
+					 	19:`/pages/search/search-supplier?keyWord=${floor.title}`
+					 }
+					 const url = typeMap[floor.linkType];
+					 this.$api.navigateTo(url)
+				 }
+			}
+		},
+		onReachBottom() {
+			if(this.isActivityFlag){
+				if(this.hasNextPage){
+					this.loadding = true
+					this.pullUpOn = true
+					this.GetPromotionsrListBottomData()
+				}	
+			}
+		},
+		onPageScroll(e){//实时获取到滚动的值
+			if(e.scrollTop>600){
+				this.isScrollTop = true
+			}else{
+				this.isScrollTop = false
+			}	
+		},
+		onShow() {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #F7F7F7;
+	}
+	.container-main{
+		padding-top: 100rpx;
+	}
+	// 活动专题列表
+	.activity-container{
+		width: 100%;
+		height: auto;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+	}
+	.list{
+		width: 100%;
+		height: 318rpx;
+		float: left;
+		margin-bottom: 10rpx;
+		position: relative;
+		.list-image{
+			width: 100%;
+			height: 318rpx;
+			display: block;
+		}
+		.title{
+			width: 100%;
+			height: 72rpx;
+			line-height: 72rpx;
+			text-align: center;
+			background: rgba(254,246,243,0.8);
+			color: $color-system;
+			position: absolute;
+			bottom: 0;
+			left: 0;
+			font-size: $font-size-26;
+		}
+		.time{
+			width: 100%;
+			height: 48rpx;
+			position: absolute;
+			top: 0;
+			left: 0;
+			.text{
+				width: 475rpx;
+				height: 48rpx;
+				font-size: $font-size-24;
+				margin: 0 auto;
+				line-height: 48rpx;
+				background:  linear-gradient(315deg, #f94b4b 0%, #bc3cff 100%);
+				color: #FFFFFF;
+				text-align: center;
+			}
+		}
+	}
+	//二级分类
+	.instrument{
+		width: 100%;
+		height: auto;
+		.banner{
+			box-sizing: border-box;
+			padding:24rpx;
+			background-color: #FFFFFF;
+			width: 100%;
+			.banner-image{
+				width: 100%;
+				height: 248rpx;
+				border-radius: 4rpx;
+			}
+			image{
+				width: 100%;
+				height: 248rpx;
+				border-radius: 4rpx;
+			}
+		}
+		.instrument-list{
+			width: 100%;
+			height: auto;
+			box-sizing: border-box;
+			padding: 0 24rpx;
+			.list-item-cell{
+				width: 100%;
+				height: auto;
+				float: left;
+				.list-item-title{
+					width: 100%;
+					height: 88rpx;
+					line-height: 88rpx;
+					float: left;
+					.title{
+						font-size: $font-size-28;
+						line-height: 80rpx;
+						color: $text-color;
+						font-weight: bold;
+						&.float{
+							float: left;
+						}
+					}
+					.more{
+						font-size: $font-size-26;
+						line-height: 80rpx;
+						color: #999999;
+						height: 80rpx;
+						float: right;
+						.icon-xiangyou{
+							font-size: $font-size-28;
+							margin-left: 10rpx;
+						}
+					}
+				}
+				.list-item-pros{
+					width: 100%;
+					height: auto;
+					float: left;
+					.item-pros{
+						width: 340rpx;
+						height: 414rpx;
+						float: left;
+						margin-right: 20rpx;
+						margin-bottom: 20rpx;
+						background-color: #FFFFFF;
+						border-radius: 4rpx;
+						&:nth-child(2n){
+							margin-right: 0;
+						}
+						.item-pros-image{
+							width: 340rpx;
+							height: 340rpx;
+							float: left;
+							image{
+								width: 340rpx;
+								height: 340rpx;
+								display: block;
+								border-radius: 4rpx 4rpx 0 0;
+							}
+						}
+						.item-pros-name{
+							width: 100%;
+							height: 74rpx;
+							line-height: 74rpx;
+							box-sizing: border-box;
+							padding: 0 24rpx;
+							white-space: normal;
+							word-break: break-all;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							display: -webkit-box;
+							-webkit-box-orient: vertical;
+							-webkit-line-clamp: 1;
+							text-align: center;
+							font-size: $font-size-26;
+							line-height: 74rpx;
+							text-align: center;
+						}
+					}
+				}
+			}
+		}
+	}
+	.home-hotmaintab-fixed{
+		width: 100%;
+		height:auto;
+		overflow: hidden;
+		background: #FFFFFF;
+		padding-bottom: 20rpx;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 999;
+		.home-flex-tab {
+			width: 100%;
+			position: relative;
+			transition: opacity .25s;
+			.text-white{
+				color: #666666;
+			}
+			.flex {
+				.basis-xxl {
+					flex-basis: 100%;
+					width: 100%;
+					z-index: 1;
+				}
+				.basis-xxs {
+					flex-basis: 10%;
+					z-index: 1;
+					width: 10%;
+				}
+				.sort-icon {
+					font-size: 55rpx;
+					height: 64rpx;
+					line-height: 64rpx;
+					text-align: center;
+				}
+			}
+		}
+	}
+	.nav{
+		white-space:nowrap;
+	}
+	.nav .cu-item {
+		display: inline-block;
+		margin: 0 5rpx;
+		padding: 0 15rpx;
+	}
+	.nav.z .cu-item.select {
+		font-size: $font-size-28;
+		color: $color-system;
+	}
+	.nav.z .cu-item {
+		height: 80rpx;
+		font-size: $font-size-26;
+		line-height: 80rpx;
+		position: relative;
+
+	}
+	.nav.z .cu-item.select .tab-dot {
+		position: absolute;
+		height: 8rpx;
+		border-radius: 20rpx;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		width: 40rpx;
+		margin: auto;
+	}
+	.bg-white{
+		background-color: $color-system;
+	}
+	::-webkit-scrollbar {
+		display: none;
+	}
+	.flex {
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+	}
+</style>

+ 50 - 69
pages/goods/instrument-details.vue

@@ -24,9 +24,10 @@
 					</uni-swiper-dot>
 				</view>
 				<view class="product-parameter" @click="showPopup">
-					<text class="title">参数:</text>
-					<text class="name">品牌  起订量  分类...</text>
-					<text class="iconfont icon-xiayibu"></text>
+					<view class="view">
+						<text class="title">仪器信息</text>
+						<text class="iconfont icon-xiayibu"></text>
+					</view>
 				</view>
 				<view class="product-wrap clearfix">
 					
@@ -61,34 +62,14 @@
 					</view>
 				</view>
 			</view>	
-			<!-- 商品参数 -->
+			<!-- 仪器信息 -->
 			<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
 				<view class="tui-popup-box clearfix">
-					<view class="title">商品参数</view>
+					<view class="title">{{ secondFloorList[0].name }}</view>
 					<view class="content">
-						<view class="content-tr">
-							<view class="content-td">起订量</view>
-							<view class="content-th">{{product.minBuyNumber}}</view>
-						</view>
-						<view class="content-tr">
-							<view class="content-td">品牌</view>
-							<view class="content-th">{{product.brandName == null? '其他' : product.brandName}}</view>
-						</view>
-						<view class="content-tr">
-							<view class="content-td">包装规格</view> 
-							<view class="content-th">{{product.unit}}</view>
-						</view>
-						<view class="content-tr">
-							<view class="content-td">商品编码</view>
-							<view class="content-th">{{product.productCode}}</view>
-						</view>
-						<view class="content-tr">
-							<view class="content-td">库存</view>
-							<view class="content-th">{{product.stock}}</view>
-						</view>
-						<view class="content-tr" v-if="product.parametersList.length>0" v-for="(item, index) in product.parametersList" :key="index">
-							<view class="content-td">{{item.paramsName}}</view>
-							<view class="content-th">{{item.paramsContent}}</view>
+						<view class="content-tr"  v-for="(item, index) in secondFloorList" :key="index">
+							<view class="content-td">{{ item.name }}:</view>
+							<view class="content-th">{{ item.content }}</view>
 						</view>
 					</view>
 					<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
@@ -156,6 +137,9 @@
 				userIdentity:'',//用户类型
 				productImage:[],
 				floorList:[],
+				secondFloorList:[],//仪器信息
+				firstFloorList:[],//项目基本信息
+				crmDetailList:[],//项目详情
 				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
 				systeminfo: this.setSysteminfo(),		 //获取设备信息
 				isIphoneX:this.$store.state.isIphoneX,
@@ -196,13 +180,15 @@
 			initData(){// 初始化商品详情查询
 				this.ProductService.GetEquipmentDetails({equipmentId:this.equipmentId}).then(response =>{	
 					let data = response.data 
+					let pageMap = data.pageContentMap
+					this.secondFloorList = pageMap.secondFloorList
+					this.firstFloorList = pageMap.firstFloorList
+					this.crmDetailList = pageMap.crmDetailList
 					this.floorList = data.floorList
 					this.skeletonShow = false
-					// this.productImage=[];
-					// //处理商品图片列表
-					// this.product.imageList.forEach(item =>{
-					// 	this.productImage.push(item.image);
-					// })
+					this.productImage=[];
+					this.productImage.push(data.image);
+					console.log(this.productImage)
 					this.isRequest = true
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000);
@@ -370,42 +356,36 @@
 		
 	}
 	.product-parameter{
-		width: 702rpx;
+		width: 100%;
 		height: 90rpx;
 		padding: 0 24rpx;
+		box-sizing: border-box;
 		background-color: #FFFFFF;
 		position: relative;
 		display: flex;
-		border-bottom: 20rpx solid #F7F7F7;
-		.title{
-			line-height: 90rpx;
-			display: inline-block;
-			float: left;
-			font-size: $font-size-28;
-			color: $text-color;
-		}
-		.name{
-			float: right;
-			line-height: 90rpx;
-			display: inline-block;
-			float: left;
-			font-size: $font-size-28;
-			color: #999999;
-			float: right;
-			padding-right: 48rpx;
-			overflow: hidden;
-			text-overflow:ellipsis;
-			white-space: nowrap;
-			text-align: right;
-		}
-		.icon-xiayibu{
-			line-height: 90rpx;
-			display: inline-block;
-			position: absolute;
-			width: 48rpx;
-			top: 0;
-			right: 0;
-			color: #b2b2b2;
+		.view{
+			width: 100%;
+			height: 90rpx;
+			background-color: #fef6f3;
+			position: relative;
+			display: flex;
+			padding: 0 20rpx;
+			.title{
+				line-height: 90rpx;
+				display: inline-block;
+				float: left;
+				font-size: $font-size-28;
+				color: $color-system;
+			}
+			.icon-xiayibu{
+				line-height: 90rpx;
+				display: inline-block;
+				position: absolute;
+				width: 48rpx;
+				top: 0;
+				right: 0;
+				color: $color-system;
+			}
 		}
 	}
 	.product-details {
@@ -544,7 +524,7 @@
 		position: relative;
 		box-sizing: border-box;
 		min-height: 220rpx;
-		padding:0rpx 24rpx 0 24rpx;
+		padding:0rpx 55rpx;
 		.title{
 			font-size: $font-size-34;
 			color: $text-color;
@@ -565,8 +545,7 @@
 				display: flex;
 				.content-td{
 					display: flex;
-					flex: 3;
-					font-size: $font-size-26;
+					font-size: $font-size-28;
 					color: #999999;
 					line-height: 58rpx;
 					text-align: left;
@@ -574,10 +553,12 @@
 				.content-th{
 					display: flex;
 					flex: 7;
-					font-size: $font-size-26;
-					color: #333333;
+					font-size: $font-size-28;
+					color: #666666;
 					line-height: 58rpx;
 					text-align: left;
+					padding-left: 20rpx;
+					box-sizing: border-box;
 				}
 			}
 		}

+ 2 - 0
pages/search/search.vue

@@ -215,9 +215,11 @@
 							this.isFocus = false
 							break;
 						case 2:
+							this.setSearchHistoryAdd()
 							this.$api.navigateTo(`/pages/search/search-supplier?keyword=${this.listQuery.keyword}`);
 							break;
 						case 3:
+							this.setSearchHistoryAdd()
 							this.$api.navigateTo(`/pages/search/search-instrument?keyword=${this.listQuery.keyword}`);
 							break;
 					}

+ 2 - 2
services/ajax.env.js

@@ -1,10 +1,10 @@
 let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
-	// URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
+	URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
 	// URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.2.75:8008'	 //超超联调地址
-    URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
+    // URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
 	// URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境

+ 4 - 0
services/common.service.js

@@ -26,6 +26,10 @@ export default class CommonService {
 	GetHomeInit (data = {}) {
 		return this.AjaxService.get({ url:'/home/init', data, isLoading: false })
 	}
+	/* 首页金刚区二级分类 */
+	GetHomeSubMenu (data = {}) {
+		return this.AjaxService.get({ url:'/home/subMenu', data, isLoading: false })
+	}
 	/* 首页楼层 */
 	GetHomeFloorInfo (data = {}) {
 		return this.AjaxService.get({ url:'/home/floor', data, isLoading: false })

+ 1 - 1
services/product.service.js

@@ -96,7 +96,7 @@ export default class ProductService {
 	}
 	/* 二级列表 */
 	GetPageTopic (data = {}) {
-		return this.AjaxService.get({ url:'/page/topic', data, isLoading: true })
+		return this.AjaxService.get({ url:'/page/topic', data, isLoading: false })
 	}
 	/* 二级列表banner */
 	GetPageTopicBanner (data = {}) {