Browse Source

commit - 首页楼层联调

zhengjinyi 4 years ago
parent
commit
c5e17289ce
68 changed files with 925 additions and 4395 deletions
  1. 0 6
      common/utils/module.js
  2. 0 102
      components/badge/badge.vue
  3. 1 1
      components/cm-custom/cm-drag.vue
  4. 0 87
      components/cm-custom/cu-tabbar.vue
  5. 0 114
      components/cm-custom/custom-a.vue
  6. 0 122
      components/cm-custom/custom-b.vue
  7. 0 199
      components/cm-custom/custom-c.vue
  8. 0 69
      components/cm-custom/custom-seller.vue
  9. 5 5
      components/cm-module/cm-seller/user.vue
  10. 0 143
      components/cm-module/drag-button/drag-button.vue
  11. 0 1
      components/cm-module/homeIndex/navbars.vue
  12. 13 13
      components/cm-module/homeIndex/pageFloor.vue
  13. 47 21
      components/cm-module/homeIndex/pageSpecial.vue
  14. 10 8
      components/cm-module/homeIndex/supplierList.vue
  15. 0 223
      components/cm-module/listTemplate/memberList.vue
  16. 47 36
      components/cm-module/pageFloorTemplate/templateA.vue
  17. 51 40
      components/cm-module/pageFloorTemplate/templateB.vue
  18. 51 40
      components/cm-module/pageFloorTemplate/templateC.vue
  19. 52 41
      components/cm-module/pageFloorTemplate/templateD.vue
  20. 50 39
      components/cm-module/pageFloorTemplate/templateE.vue
  21. 48 37
      components/cm-module/pageFloorTemplate/templateF.vue
  22. 48 37
      components/cm-module/pageTemplate/templateA.vue
  23. 51 40
      components/cm-module/pageTemplate/templateB.vue
  24. 51 40
      components/cm-module/pageTemplate/templateC.vue
  25. 52 41
      components/cm-module/pageTemplate/templateD.vue
  26. 50 39
      components/cm-module/pageTemplate/templateE.vue
  27. 51 40
      components/cm-module/pageTemplate/templateF.vue
  28. 48 37
      components/cm-module/pageTemplate/templateG.vue
  29. 52 41
      components/cm-module/pageTemplate/templateH.vue
  30. 0 291
      components/cm-module/popupGoods/popupGoods.vue
  31. 0 119
      components/mix-list-cell.vue
  32. 0 125
      components/tui-components/list-cell/list-cell.vue
  33. 3 0
      components/uni-grade/uni-grade.vue
  34. 0 187
      components/uni-popup/uni-popup.vue
  35. 45 39
      components/uni-search/cat-search.vue
  36. 0 210
      components/uni-tag/uni-tag.vue
  37. 0 226
      components/upload-images.vue
  38. 0 2
      main.js
  39. 1 1
      manifest.json
  40. 0 24
      pages.json
  41. 27 28
      pages/goods/good-floorMore.vue
  42. 2 2
      pages/goods/product.vue
  43. 4 1
      pages/search/search.vue
  44. 0 32
      pages/service/member.vue
  45. 16 43
      pages/tabBar/category/index.vue
  46. 25 70
      pages/tabBar/home/index.vue
  47. 5 5
      pages/tabBar/user/user.vue
  48. 0 628
      pages/user/order/myOrder.vue
  49. 0 367
      pages/user/order/order-cashier.vue
  50. 0 2
      pages/user/order/order-list.vue
  51. 0 312
      pages/user/setting/password.vue
  52. 0 2
      second/pages/form/form.vue
  53. 3 3
      seller/pages/index/index.vue
  54. 0 2
      seller/pages/order/myOrder.vue
  55. 0 2
      seller/pages/order/order-historylist.vue
  56. 0 2
      seller/pages/order/order-list.vue
  57. 2 2
      services/ajax.env.js
  58. 11 3
      services/common.service.js
  59. BIN
      static/temp/address-icon.png
  60. BIN
      static/temp/arrow-right.png
  61. BIN
      static/temp/authenticated-icon.png
  62. BIN
      static/temp/name-icon.png
  63. BIN
      static/temp/order1@3x.png
  64. BIN
      static/temp/order2@3x.png
  65. BIN
      static/temp/order3@3x.png
  66. BIN
      static/temp/order4@3x.png
  67. BIN
      static/temp/order5@3x.png
  68. 3 3
      supplier/pages/index/index.vue

+ 0 - 6
common/utils/module.js

@@ -1,12 +1,6 @@
 import Vue from 'vue'
-import customA from '@/components/cm-custom/custom-a.vue'
-import customB from '@/components/cm-custom/custom-b.vue'
-import customC from '@/components/cm-custom/custom-c.vue'
 import customD from '@/components/cm-custom/custom-d.vue'
 import customP from '@/components/cm-custom/custom-p.vue'
 
-Vue.component('custom-a',customA)
-Vue.component('custom-b',customB)
-Vue.component('custom-c',customC)
 Vue.component('custom-d',customD)
 Vue.component('custom-p',customP)

+ 0 - 102
components/badge/badge.vue

@@ -1,102 +0,0 @@
-<template>
-	<view class="tui-badge-class" :class="[dot?'tui-badge-dot':'tui-badge','tui-'+type, size?'tui-badge-small':'']" v-if="visible">
-		<slot></slot>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "tuiBadge",
-		props: {
-			//primary,warning,green,danger,white,black,gray
-			type: {
-				type: String,
-				default: 'primary'
-			},
-			// '', small
-			size: {
-				type: String,
-				default: ''
-			},
-			//是否是圆点
-			dot: {
-				type: Boolean,
-				default: false
-			},
-			//是否可见
-			visible: {
-				type: Boolean,
-				default: true
-			}
-		}
-	}
-</script>
-
-<style>
-	/* color start*/
-
-	.tui-primary {
-		background: #5677fc;
-		color: #fff;
-	}
-
-	.tui-danger {
-		background: #ed3f14;
-		color: #fff;
-	}
-
-	.tui-red {
-		background: #ff201f;
-		color: #fff;
-	}
-
-	.tui-warning {
-		background: #ff7900;
-		color: #fff;
-	}
-
-	.tui-green {
-		background: #19be6b;
-		color: #fff;
-	}
-
-	.tui-white {
-		background: #fff;
-		color: #333;
-	}
-
-	.tui-black {
-		background: #000;
-		color: #fff;
-	}
-
-	.tui-gray {
-		background: #ededed !important;
-		color: #999 !important;
-	}
-
-	/* color end*/
-
-	/* badge start*/
-
-	.tui-badge-dot {
-		height: 8px;
-		width: 8px;
-		border-radius: 4px;
-		line-height: 1;
-	}
-
-	.tui-badge {
-		font-size: 12px;
-		line-height: 1;
-		padding: 3px 6px;
-		border-radius: 50px;
-	}
-
-	.tui-badge-small {
-		transform: scale(0.8);
-		transform-origin: center center;
-	}
-
-	/* badge end*/
-</style>

+ 1 - 1
components/cm-custom/cm-drag.vue

@@ -13,7 +13,7 @@
 			<text v-if="cartNum > 0" class="uni-badge uni-badge-error uni-small uni-badge--small icon-num">
 				{{cartNum >= 100 ? '99+' : cartNum}}
 			</text>
-			<image src='../../static/icon-cart-active@3x.png' mode="widthFix"></image>
+			<image src='https://static-b.caimei365.com/app/img/icon/icon-cart-active@3x.png' mode="widthFix"></image>
 		</view>
 	</view>
 </template>

+ 0 - 87
components/cm-custom/cu-tabbar.vue

@@ -1,87 +0,0 @@
-<template>
-	<view class="content">
-		<!-- isIphoneX判断是否为刘海屏在main.js里,好像uniapp有一个css变量获取刘海屏的安全区域 -->
-		<view class="tabBar" :style="{height:isIphoneX?'140rpx':'98rpx'}">
-			<view class="tabBar_list" :style="{paddingBottom:isIphoneX?'40rpx':''}">
-				<view  @tap="cut_index('/seller/pages/home/home')" class="tabBar_item">
-					<image v-if="show_index == 0" src="../static/icon-home-active@3x.png"></image>
-					<image v-else src="../static/icon-home@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 0}">首页</view>
-				</view>
-				<view @tap="cut_index('/seller/pages/category/category')" class="tabBar_item">
-					<image v-if="show_index == 1" src="../static/icon-sort-active@3x.png"></image>
-					<image v-else src="../static/icon-sort@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 1}">分类</view>
-				</view>
-				<view  @tap="cut_index('/seller/pages/user/user')" class="tabBar_item">
-					<image v-if="show_index == 2" src="../static/icon-user-active@3x.png"></image>
-					<image v-else src="../static/icon-user@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 2}">我的</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props:{
-			activeIndex:{
-				type:Number
-			}
-		},
-		data() {
-			return {
-				show_index:0,//控制显示那个组件
-				isIphoneX:this.$store.state.isIphoneX
-			}
-		},
-		created() {
-			this.show_index = this.activeIndex
-		},
-		methods: {
-			// 切换组件
-			cut_index(url){
-				this.$api.navigateTo(url)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.tabBar{ 
-		width:100%;
-		height: 98rpx;
-		background: #fff;
-		border-top:1px solid #E5E5E5;
-		position: fixed;
-		bottom:0px;
-		left:0px;
-		right:0px;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		.tabBar_list{ 
-			width:86%;
-			display: flex;
-			justify-content: space-between;
-			image{ 
-				width:48rpx;
-				height: 48rpx;
-				margin-bottom:2rpx
-			}
-			.tabBar_item{ 
-				width:68rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				flex-direction: column;
-				font-size: 20rpx;
-				color: #999999;
-			}
-		 } 
-	}
-	.nav_active{
-		color: $color-system;
-	}
-</style>

+ 0 - 114
components/cm-custom/custom-a.vue

@@ -1,114 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:CustomBar+'px',paddingTop:StatusBar+'px',background:navbarData.bgColor ? navbarData.bgColor : '#FFFFFF'}"> 
-	  	<view class="navbar-text" 
-			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : capsule.height+'px'}" :class="platformClass">
-	    	  {{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule == 1 ? true : false" 
-			  :style="{top:capsule.top +'px;',left:((screenWidth-capsule.right)+5)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
-			  <text v-if="navbarData.haveBack" @tap="BackPage" class="iconfont icon-fanhui"></text>
-			  <text v-if="navbarData.haveHome" @tap="_goHome" class="iconfont icon-shouye"></text>
-	  	</view>
-		<view class="navbar-icon" v-if="navbarData.showSearch == 1 ? true : false"
-			  :style="{top:capsule.top+'px;',right:(capsule.width)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
-			  <text @click.stop="_goSearchPath" class="iconfont icon-iconfonticonfontsousuo1"></text>
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    }
-		},
-		data() {
-			return{
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,
-				fontSizeSetting:this.fontSizeSetting,
-				screenWidth:this.screenWidth,
-				capsule:this.capsule,
-				platformClass:this.platformClass,
-			}
-		},
-		created() {
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			      this.navbarData.haveBack = false;
-			} else {
-			      this.navbarData.haveBack = true;
-			}
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			BackPage: function () {
-				this.$emit('navigateBack')
-		    },
-			_goSearchPath:function () {
-				this.$emit('goSearchPath')
-			},
-			_goHome:function(){
-				uni.switchTab({
-		        	url: '/pages/tabBar/home/index'
-		      	})
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-		 background: #FFFFFF;
-		 border-bottom: 1px solid #F7F7F7;
-	}
-	.navbar-text {
-		 font-size: 30rpx;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-text.center{
-		text-align: center;
-	}
-	.navbar-text.left{
-		text-align: left;
-		padding-left: 45px;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 display: inline-block;
-		 overflow: hidden;
-		 font-size: 44rpx;
-		 padding-right:40rpx;
-		 margin-top: 1px;
-	}
-	.navbar-icon .icon-iconfonticonfontsousuo1 {
-		color: #000000;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-</style>

+ 0 - 122
components/cm-custom/custom-b.vue

@@ -1,122 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:CustomBar+'px',paddingTop:StatusBar+'px',background:navbarData.bgColor ? navbarData.bgColor : ''}"> 
-	  	<view class="navbar-text" 
-			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : capsule.height+'px'}" :class="platformClass">
-	    	  {{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule == 1 ? true : false" 
-			  :style="{top:capsule.top +'px;',left:((screenWidth-capsule.right)+5)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
-			  <text v-if="navbarData.haveBack" @tap="BackPage" class="iconfont icon-fanhui"></text>
-			  <text v-if="navbarData.haveHome" @tap="_goHome" class="iconfont icon-shouye"></text>
-	  	</view>
-		<view class="navbar-icon" v-if="navbarData.showSearch == 1 ? true : false"
-			  :style="{top:capsule.top+'px;',right:(capsule.width)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
-			  <text @click.stop="_goSearchPath" class="iconfont icon-iconfonticonfontsousuo1"></text>
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object,
-				default: () =>({
-					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '', // 导航栏 中间的标题
-					haveBack:false,
-					home:false,
-					textLeft:false,
-					bgColor:'',
-					textColor:'#000000'
-				})
-		    }
-		},
-		data() {
-			return{
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,
-				fontSizeSetting:this.fontSizeSetting,
-				screenWidth:this.screenWidth,
-				capsule:this.capsule,
-				platformClass:this.platformClass,
-			}
-		},
-		created() {
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			      this.navbarData.haveBack = false;
-			} else {
-			      this.navbarData.haveBack = true;
-			}
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			BackPage: function () {
-				this.$emit('navigateBack')
-		    },
-			_goSearchPath:function () {
-				this.$emit('goSearchPath')
-			},
-			_goHome:function(){
-				uni.switchTab({
-		        	url: '/pages/tabBar/home/index'
-		      	})
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-	}
-	.navbar-text {
-		 font-size: 30rpx;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-text.center{
-		text-align: center;
-	}
-	.navbar-text.left{
-		text-align: left;
-		padding-left: 45px;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 display: inline-block;
-		 overflow: hidden;
-		 font-size: 44rpx;
-		 padding-right:40rpx;
-		 margin-top: 1px;
-	}
-	.navbar-icon .icon-iconfonticonfontsousuo1 {
-		color: #000000;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-</style>

+ 0 - 199
components/cm-custom/custom-c.vue

@@ -1,199 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
-	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}" :class="platformClass">
-	    	{{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule == 1 ? true : false" 
-			  :style="{top:navbarBtn.top + statusBarHeight+'px;',left:(navbarBtn.right)+'px;',height:navbarBtn.height+'px;',lineHeight:navbarBtn.height+'px;'}">
-			  <text v-if='haveBack' @click="_goBack" class="iconfont icon-fanhui"></text>
-	  	</view>
-		<view class="navbar-icon" v-if="navbarData.showSearch == 1 ? true : false"
-			  :style="{top:navbarBtn.top + statusBarHeight+'px;',right:(navbarBtn.width)+'px;',height:navbarBtn.height+'px;',lineHeight:navbarBtn.height+'px;'}">
-			  <text @click.stop="_goSearchPath" class="iconfont icon-iconfonticonfontsousuo1"></text>
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    },
-			systeminfo:{
-				type:Object
-			},
-			headerBtnPosi:{
-				type:Object
-			},
-			isShare:{
-				type:Boolean
-			},
-			isDelete:{
-				type:Boolean
-			},
-			isUsertype:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				haveBack: true,     // 是否有返回按钮,true 有 false 没有 若从分享页进入则为 false
-			    statusBarHeight: 0, // 状态栏高度
-			    navbarHeight: 0,    // 顶部导航栏高度
-			    navbarBtn: {        // 胶囊位置信息
-			      height: 0,
-			      width: 0,
-			      top: 0,
-			      bottom: 0,
-			      right: 0
-				},
-				platformClass:'',
-				fontSizeSetting:0,
-				
-			}
-		},
-		created() {
-			let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
-			let headerPosi = this.headerBtnPosi // 胶囊位置信息
-			this.fontSizeSetting = this.systeminfo.fontSizeSetting
-			if(this.systeminfo.platform == 'android'){
-				this.platformClass = 'left'
-			}else{
-				this.platformClass = 'center'
-			}
-		    /**
-		     * wx.getMenuButtonBoundingClientRect() 坐标信息以屏幕左上角为原点
-		     * 菜单按键宽度: 87
-		     * 菜单按键高度: 32
-		     * 菜单按键左边界坐标: 278
-		     * 菜单按键上边界坐标: 26
-		     * 菜单按键右边界坐标: 365
-		     * 菜单按键下边界坐标: 58
-		     */
-			let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-			      height: headerPosi.height,
-			      width: headerPosi.width,
-			      // 胶囊top - 状态栏高度
-			      top: headerPosi.top - statusBarHeight,
-			      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-			      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-			      // 屏幕宽度 - 胶囊right
-			      right: this.systeminfo.screenWidth - headerPosi.right
-			}
-			let haveBack;
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			     haveBack = false;
-			} else {
-			     haveBack = true;
-			}
-		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
-		    this.statusBarHeight=statusBarHeight,
-		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
-		    this.navbarBtn=btnPosi
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			_goBack: function () {
-				if(this.isShare){
-					this._goHome()
-				}else if(this.isDelete){
-					this._goUser()
-				}else{
-					uni.navigateBack({
-			        	delta: 1
-			      	});
-				}
-		    },
-		    _goHome: function () {
-		      	uni.switchTab({
-		        	url: '/pages/tabBar/home/index'
-		      	})
-		    },
-		    _goUser: function () {
-		      	uni.switchTab({
-		        	url: '/pages/tabBar/user/user'
-		      	})
-		    },
-			_goSearchPath:function () {
-				this.$emit('goSearchPath')
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-		 background: #FFFFFF;
-	}
-	.navbar-text {
-		 font-size: 30rpx;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-text.center{
-		text-align: center;
-	}
-	.navbar-text.left{
-		text-align: left;
-		padding-left: 38px;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 display: inline-block;
-		 overflow: hidden;
-		 font-size: 42rpx;
-		 padding-right:40rpx;
-		 margin-top: 1px;
-	}
-	.navbar-icon .icon-iconfonticonfontsousuo1 {
-		color: #000000;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 69
components/cm-custom/custom-seller.vue

@@ -1,69 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:CustomBar+'px',paddingTop:StatusBar+'px',background:navbarData.bgColor ? navbarData.bgColor : ''}"> 
-	  	<view class="navbar-text" 
-			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : 12+'px'}" :class="platformClass">
-	    	  {{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    }
-		},
-		data() {
-			return{
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,
-				fontSizeSetting:this.fontSizeSetting,
-				screenWidth:this.screenWidth,
-				capsule:this.capsule,
-				platformClass:this.platformClass,
-			}
-		},
-		created() {
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			      this.navbarData.haveBack = false;
-			} else {
-			      this.navbarData.haveBack = true;
-			}
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-	}
-	.navbar-text {
-		 font-size: 30rpx;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-text.center{
-		text-align: center;
-	}
-	.navbar-text.left{
-		text-align: left;
-		padding-left: 45px;
-	}
-</style>

+ 5 - 5
components/cm-module/cm-seller/user.vue

@@ -24,7 +24,7 @@
 					<view class="order-section">
 						<view class="order-item" @click="navigator('/seller/pages/order/order-list?listType=1')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order5@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order5@3x.png" mode=""></image>
 								<text 	v-if="beforeConfirmCount>0" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[beforeConfirmCount < 10 ? 'goleft':'']">
@@ -35,7 +35,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/seller/pages/order/order-list?listType=2')"  hover-class="common-hover" :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order1@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order1@3x.png" mode=""></image>
 								<text  v-if="beforePayCount >0" 
 									   class="uni-badge uni-badge-error uni-small uni-badge--small icon-num " 
 									   :class="[beforePayCount < 10 ? 'goleft':'']">
@@ -46,7 +46,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/seller/pages/order/order-list?listType=3')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order2@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/static/temp/order2@3x.png" mode=""></image>
 								<text   v-if="beforeShipCount >0" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[beforeShipCount < 10 ? 'goleft':'']">
@@ -57,7 +57,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/seller/pages/order/order-list?listType=4')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order3@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/static/temp/order3@3x.png" mode=""></image>
 								<text 	v-if="shippedCount>0" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[shippedCount < 10 ? 'goleft':'']">
@@ -68,7 +68,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/seller/pages/order/order-list?listType=5')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order4@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/static/temp/order4@3x.png" mode=""></image>
 								<text 	v-if="refundsCount >0"
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[refundsCount < 10 ? 'goleft':'']">

+ 0 - 143
components/cm-module/drag-button/drag-button.vue

@@ -1,143 +0,0 @@
-<template>
-	<view>
-		<view
-			id="_drag_button"
-			class="drag"
-			:style="'left: ' + left + 'px; top:' + top + 'px;'"
-			@touchstart="touchstart"
-			@touchmove.stop.prevent="touchmove"
-			@touchend="touchend"
-			@click.stop.prevent="click"
-			:class="{transition: isDock && !isMove }"
-		>
-		
-			<text>{{ text }}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'drag-button',
-		props: {
-			isDock:{
-				type: Boolean,
-				default: false
-			},
-			existTabBar:{
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				top:0,
-				left:0,
-				width: 0,
-				height: 0,
-				offsetWidth: 0,
-				offsetHeight: 0,
-				windowWidth: 0,
-				windowHeight: 0,
-				isMove: true,
-				edge: 10,
-				text: '按钮'
-			}
-		},
-		mounted() {
-			const sys = uni.getSystemInfoSync();
-			
-			this.windowWidth = sys.windowWidth;
-			this.windowHeight = sys.windowHeight;
-			
-			// #ifdef APP-PLUS
-				this.existTabBar && (this.windowHeight -= 50);
-			// #endif
-			if (sys.windowTop) {
-				this.windowHeight += sys.windowTop;
-			}
-			console.log(sys)
-			
-			const query = uni.createSelectorQuery().in(this);
-			query.select('#_drag_button').boundingClientRect(data => {
-				this.width = data.width;
-				this.height = data.height;
-				this.offsetWidth = data.width / 2;
-				this.offsetHeight = data.height / 2;
-				this.left = this.windowWidth - this.width - this.edge;
-				this.top = this.windowHeight - this.height - this.edge;
-			}).exec();
-		},
-		methods: {
-			click() {
-				this.$emit('btnClick');
-			},
-			touchstart(e) {
-				this.$emit('btnTouchstart');
-			},
-			touchmove(e) {
-				// 单指触摸
-				if (e.touches.length !== 1) {
-					return false;
-				}
-				
-				this.isMove = true;
-				
-				this.left = e.touches[0].clientX - this.offsetWidth;
-				
-				let clientY = e.touches[0].clientY - this.offsetHeight;
-				// #ifdef H5
-					clientY += this.height;
-				// #endif
-				let edgeBottom = this.windowHeight - this.height - this.edge;
-
-				// 上下触及边界
-				if (clientY < this.edge) {
-					this.top = this.edge;
-				} else if (clientY > edgeBottom) {
-					this.top = edgeBottom;
-				} else {
-					this.top = clientY
-				}
-				
-			},
-			touchend(e) {
-				if (this.isDock) {
-					let edgeRigth = this.windowWidth - this.width - this.edge;
-					
-					if (this.left < this.windowWidth / 2 - this.offsetWidth) {
-						this.left = this.edge;
-					} else {
-						this.left = edgeRigth;
-					}
-					
-				}
-				
-				this.isMove = false;
-				
-				this.$emit('btnTouchend');
-			},
-		}}
-</script>
-
-<style lang="scss">
-	.drag {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		background-color: rgba(0, 0, 0, 0.5);
-		box-shadow: 0 0 6upx rgba(0, 0, 0, 0.4);
-		color: $uni-text-color-inverse;
-		width: 80upx;
-		height: 80upx;
-		border-radius: 50%;
-		font-size: $uni-font-size-sm;
-		position: fixed;
-		z-index: 999999;
-		
-		&.transition {
-			transition: left .3s ease,top .3s ease;
-		}
-	}
-	
-</style>

+ 0 - 1
components/cm-module/homeIndex/navbars.vue

@@ -4,7 +4,6 @@
 			<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> -->
 				</view>
 				<view class="name">{{ item.name }}</view>
 			</view>

+ 13 - 13
components/cm-module/homeIndex/pageFloor.vue

@@ -4,36 +4,36 @@
 			<view class="tui-group-name" >
 				<view class="tui-group-title">
 					<view class="tui-group-l">{{ page.title }}</view>
-					<view class="tui-group-r"  v-if="page.type != 8">
+					<view class="tui-group-r"  v-if="page.floorContent.templateType != '8'" @click="NavToDetailPage(page)">
 						<text>更多</text>
 						<text class="iconfont icon-xiayibu"></text>
 					</view>
 					
 				</view>
-				<view class="tui-sub__desc">{{ page.content }}</view>
+				<view class="tui-sub__desc">{{ page.detail }}</view>
 			</view>
-			<template v-if="page.type == 1">
+			<template v-if="page.floorContent.templateType == '1'">
 				<templateA :pageData="page" :userIdentity="userIdentity"></templateA>
 			</template>	 
-			<template v-if="page.type == 2">
+			<template v-if="page.floorContent.templateType == '2'">
 				<templateB :pageData="page" :userIdentity="userIdentity"></templateB>
 			</template>	 
-			<template v-if="page.type == 3">
+			<template v-if="page.floorContent.templateType == '3'">
 				<templateC :pageData="page" :userIdentity="userIdentity"></templateC>
 			</template>	 
-			<template v-if="page.type == 4">
+			<template v-if="page.floorContent.templateType == '4'">
 				<templateD :pageData="page" :userIdentity="userIdentity"></templateD>
 			</template>	 
-			<template v-if="page.type == 5">
+			<template v-if="page.floorContent.templateType == '5'">
 				<templateE :pageData="page" :userIdentity="userIdentity"></templateE>
 			</template>	 
-			<template v-if="page.type == 6">
+			<template v-if="page.floorContent.templateType == '6'">
 				<templateF :pageData="page" :userIdentity="userIdentity"></templateF>
 			</template>	 
-			<template v-if="page.type == 7">
+			<template v-if="page.floorContent.templateType == '7'">
 				<templateG :pageData="page" :userIdentity="userIdentity"></templateG>
 			</template>	 
-			<template v-if="page.type == 8">
+			<template v-if="page.floorContent.templateType == '8'">
 				<templateH :pageData="page" :userIdentity="userIdentity"></templateH>
 			</template>	 
 		</view>
@@ -83,10 +83,10 @@
 		methods:{
 			initData(data){
 				this.pageFloorList = data
-				console.log(this.pageFloorList)
+				// console.log(this.pageFloorList)
 			},
-			NavToDetailPage(item) {//跳转
-				this.$api.navigateTo(`/supplier/pages/user/my-shop?shopId=${item.linkParam.id}`)
+			NavToDetailPage(page) {//跳转
+				this.$api.navigateTo(`/pages/goods/good-floorMore?floorId=${page.id}&title=${page.title}`)
 			}
 		}
 	}

+ 47 - 21
components/cm-module/homeIndex/pageSpecial.vue

@@ -3,23 +3,49 @@
 		<view class="container-pages clearfix">
 			<scroll-view scroll-x>
 				<view class="tui-goods__list">
-					<view class="tui-goods__item" v-for="(item,index) in dataList" :key="index">
+					<view class="tui-goods__item">
 						<view class="tui-group-name">
-							<view class="tui-group-title"><text>{{ item.title }}</text></view>
+							<view class="tui-group-title"><text>精彩直播</text></view>
 							<view class="iconfont icon-xiayibu"></view>
 						</view>
-						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(live, flIndex) in item.listData" :key="flIndex">
+						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(live, flIndex) in tempData.liveList" :key="flIndex">
 							<view class="tui-goods__imgbox" v-if="flIndex === 0">
-								<image :src="live.banner" mode="" class="tui-goods__img"></image>
-								<view class="tui-goods__name">{{ live.title }}</view>
-								<view class="tui-goods__statu" v-if="item.type == 1">
-									<image :src="iconLive" mode="widthFix" class="icon-live" v-if="live.status == 1"></image>
-									<text class="iconfont icon-weikaishi" v-if="live.status == 0"></text>
-									<text class="iconfont icon-jieshu" v-if="live.status == 2"></text>
-									<text>{{ live.status | statusType }}</text>
+								<image :src="live.image" mode="" class="tui-goods__img"></image>
+								<view class="tui-goods__name">{{ live.liveTitle }}</view>
+								<view class="tui-goods__statu">
+									<text class="iconfont icon-weikaishi" v-if="live.liveStatus == '1'"></text>
+									<image :src="iconLive" mode="widthFix" class="icon-live" v-if="live.liveStatus == '2'"></image>
+									<text class="iconfont icon-jieshu" v-if="live.liveStatus == '3'"></text>
+									<text>{{ live.liveStatus | statusType }}</text>
 								</view>
 							</view>
-							<view class="tui-goods__text" v-if="flIndex > 0">{{ live.title }}</view>
+							<view class="tui-goods__text" v-if="flIndex > 0">{{ live.liveTitle }}</view>
+						</view>
+					</view>
+					<view class="tui-goods__item">
+						<view class="tui-group-name">
+							<view class="tui-group-title"><text>最新活动</text></view>
+							<view class="iconfont icon-xiayibu"></view>
+						</view>
+						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(cmImage, flIndex) in tempData.cmImageList" :key="flIndex">
+							<view class="tui-goods__imgbox" v-if="flIndex === 0">
+								<image :src="cmImage.image" mode="" class="tui-goods__img"></image>
+								<view class="tui-goods__name">{{ cmImage.title }}</view>
+							</view>
+							<view class="tui-goods__text" v-if="flIndex > 0">{{ cmImage.title }}</view>
+						</view>
+					</view>
+					<view class="tui-goods__item">
+						<view class="tui-group-name">
+							<view class="tui-group-title"><text>热门文章</text></view>
+							<view class="iconfont icon-xiayibu"></view>
+						</view>
+						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(info, flIndex) in tempData.infoList" :key="flIndex">
+							<view class="tui-goods__imgbox" v-if="flIndex === 0">
+								<image :src="info.guidanceImage" mode="" class="tui-goods__img"></image>
+								<view class="tui-goods__name">{{ info.title }}</view>
+							</view>
+							<view class="tui-goods__text" v-if="flIndex > 0">{{ info.title }}</view>
 						</view>
 					</view>
 				</view>
@@ -33,26 +59,26 @@
 	export default{
 		name:"pagesProduct",
 		props:{
-			list:{
-				type:Array
+			templateData:{
+				type:Object
 			}
 		},
 		data() {
 			return{
-				dataList:[],
+				tempData:{},
 				iconLive:'https://static-b.caimei365.com/app/img/icon/icon-live.gif'
 			}
 		},
 		filters: {
 			statusType:function(value) {
 				switch (value) {
-					case 0:
+					case '1':
 						return  '未开始';
 						break;
-					case 1:
+					case '2':
 						return  '直播中';
 						break;
-					case 2:
+					case '3':
 						return  '已结束';
 						break;
 				}
@@ -62,12 +88,12 @@
 			},
 		},
 		created(){
-			this.initData(this.list)
+			this.initData(this.templateData)
 		},
 		methods:{
 			initData(data){
-				this.dataList = data
-				console.log(this.dataList)
+				this.tempData = data
+				console.log(this.tempData)
 			},
 			NavToDetailPage(floor) {//跳转
 				/**
@@ -215,7 +241,7 @@
 				display: block;
 				position: absolute;
 				left: 10rpx;
-				font-size: $font-size-30;
+				font-size: $font-size-26;
 				&.icon-weikaishi{
 					color: #E56D00;
 				}

+ 10 - 8
components/cm-module/homeIndex/supplierList.vue

@@ -7,12 +7,12 @@
 			<view class="tui-sub__desc">采美正品联盟 质量保证</view>
 		</view>
 		<view class="supplier-banner">
-			<image src="https://www.caimei365.com/img/common/goodsup.png" mode=""></image>
+			<image :src="banner" mode=""></image>
 		</view>
 		<view class="swiper-goods-box">
-			<view class="goods-box-item" v-for="(item,index) in list" :key="index" @click="NavToDetailPage(item)">
+			<view class="goods-box-item" v-for="(item,index) in supplierObj.qualitySupplierList" :key="index" @click="NavToDetailPage(item)">
 				<image :src="item.image" mode="" class="box-item-image"></image>
-				<view class="box-item-mask">{{ item.title }}</view>
+				<view class="box-item-mask">{{ item.supplierName }}</view>
 			</view>
 		</view>
 	</view>
@@ -22,24 +22,26 @@
 	export default{
 		name:"supplierList",
 		props:{
-			list:{
-				type:Array
+			supplierObj:{
+				type:Object
 			}
 		},
 		data() {
 			return{
+				banner:'',
 				supplierList:[]
 			}
 		},
 		created(){
-			this.initData(this.list)
+			this.initData(this.supplierObj)
 		},
 		computed: {
 	
 		},
 		methods:{
-			initData(res){
-				this.supplierList = res
+			initData(data){
+				this.banner = data.crmImage
+				this.supplierList = data.qualitySupplierList
 			},
 			NavToDetailPage(item) {//跳转
 				this.$api.navigateTo(`/supplier/pages/user/my-shop?shopId=${item.linkParam.id}`)

+ 0 - 223
components/cm-module/listTemplate/memberList.vue

@@ -1,223 +0,0 @@
-<template>
-	<view class="container" :style="{'overflow':(showSkeleton? 'hidden' : 'auto'),'height': (showSkeleton? windowHeight + 'px' : 'auto')}">
-		<list-skeleton v-if="showSkeleton" :listType='2'></list-skeleton>
-		<scroll-view v-if="membersList.length > 0" class="league-scroll-view league-list-members" :style="{'height': getScrollHeight+'px'}" @scrolltolower="membersToLower" id="scroll-wrap" scroll-y>
-			<view class="members-item league-list-item" v-for="(item,index) in membersList" :key="index" @click="memberClicked(item.id)" :thisId="item.id">
-				<image class="league-list-img league-members-img" :src="item.logo"></image>
-				<image class="mask-pic" src="../../../static/temp/mask.png"></image>
-				<view class="league-details-info">
-					<view>
-						<image src="../../../static/temp/name-icon.png"></image>
-						<text class="main-color">{{item.name}}</text>
-					</view>
-					<view>
-						<image src="../../../static/temp/address-icon.png"></image>
-						<text class="main-color">{{item.provinceCityDistrict}}</text>
-					</view>
-					<view>
-						<image class="authenticated-icon" src="../../../static/temp/authenticated-icon.png"></image>
-						<text class="green-color">{{item.brandCount}}个品牌已认证</text>
-						<!-- <image class="arrow-right" src="../../static/temp/arrow-right.png"></image> -->
-					</view>
-				</view>
-			</view>
-			<view v-if="showLoading && membersList.length > 4">
-				<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow">{{loadingText}}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view>
-				<view class="loading-wrapper loading-wrapper-btm" v-else>———<text class="btm-text">已至底部</text>———</view>
-			</view>
-		</scroll-view>
-		<view class="empty-container" v-if="showEmptyTips">
-			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"></image>
-			<text class="error-text">暂无内容</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	import listSkeleton from '@/components/cm-module/listTemplate/listSkeleton'
-	export default {
-		name:'MemberList',
-		components:{
-			listSkeleton
-		},
-		props:{
-			
-		},
-	    data(){
-	        return {
-				windowHeight: '',
-				showSkeleton: true,
-				userID: '',
-	            membersList:[],
-				showEmptyTips: false,
-	            getScrollHeight: 'auto',
-				showLoading: false,
-				loadingNow: true,
-				loadingText: '上拉加载更多',
-				pageSize: 10,
-				pageNum: 1,
-				hasNextPage: false,
-				totalPage: 1,
-				pullFlag: true
-	        }
-	    },
-		created() {
-			let self = this;
-			const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
-			self.windowHeight = windowHeight - 1;
-			let obj=wx.createSelectorQuery();
-			obj.select('page').boundingClientRect(function (rect) {
-
-			})
-		},
-	    methods: {
-			setScrollHeight(length) {
-				let self = this;
-				if(length > 6) {
-					self.getScrollHeight = self.windowHeight - 1;
-				} else {
-					let obj=wx.createSelectorQuery();
-					obj.selectAll('.league-list-item').boundingClientRect(function (rect) {
-					    self.getScrollHeight = rect[0].height * length/2;
-					})
-					obj.exec() ;
-				}
-			},
-	        membersToLower () {
-	            if(this.hasNextPage && this.pullFlag) {
-	            	this.getListFromServer(true);
-	            }
-	        },
-	        memberClicked (id) {
-	            wx.navigateTo({ url: `/pages/member_details/main?id=${id}`});
-	        },
-			getListFromServer(loadMore) {
-				let self = this;
-				self.showLoading = true;
-				self.loadingNow = true;
-				self.loadingText = '加载中';
-				if(loadMore) {
-					self.pageNum += 1;
-				}
-				this.OtherService.QueryHomeMemberList({pageNum:this.pageNum,pageSize:this.pageSize}).then(response =>{
-					const resData = response.data;
-					const resList = resData.results;
-					if(resList && resList.length > 0){
-						self.hasNextPage = resData.hasNextPage;
-						self.totalPage = resData.totalPage;
-						if(loadMore) {
-							self.membersList = [...self.membersList,...resList];
-						} else {
-							self.membersList = [...resList];
-							self.setScrollHeight(self.membersList.length);
-							self.showSkeleton = false;
-						}
-						// 防上拉暴滑
-						self.pullFlag = false;
-						setTimeout(()=>{
-							self.pullFlag = true;
-						},500)
-						// 底部提示文案
-						if(self.hasNextPage) {
-							self.loadingText = '上拉加载更多';
-						} else {
-							self.showLoading = true;
-							self.loadingNow = false;
-						}
-					} else {
-						self.showEmptyTips = true;
-					}
-				}).catch(response =>{
-					this.$util.msg(res.msg,2000);
-				})
-			}
-	    }
-	}
-</script>
-
-<style lang="scss">
-	.league-scroll-view {
-	    width: 100%;
-		background: #fff;
-		border-top: 2rpx solid rgba(0,0,0,0.07);
-	    -webkit-overflow-scrolling: touch;
-		.league-list-item:nth-child(1), .league-list-item:nth-child(2) {
-			margin-top: 24rpx;
-		} 	
-	}
-	.league-list-item {
-	    width: 45.2%;
-	    height: 390rpx;
-	    float: left;
-	    margin-left: 2.86%;
-	    margin-bottom: 24rpx;
-	    padding-bottom:8rpx;
-	    background: #fff;
-		border: 2rpx solid #EFEFEF;
-	    border-radius: 14rpx;
-	    overflow: hidden;
-	    position: relative;
-	    display: flex;
-	    flex-direction: column;
-	    align-items: center;
-		.league-list-img {
-		    width: 100%;
-		    height: 204rpx;
-		    border-radius: 14rpx 14rpx 0 0;
-		}
-		.mask-pic {
-		    width: 100%;
-		    height: 204rpx;
-		    position: absolute;
-		}
-		.league-details-info {
-		    width: 96%;
-			margin-top: 24rpx;
-		    font-size: 26rpx;
-			image {
-			    width: 30rpx;
-			    height: 30rpx;
-			    padding: 10rpx;
-			    margin-left:-6rpx;
-			}
-			
-			text {
-			    width: 83%;
-			    display: inline-block;
-			    overflow: hidden;
-			    white-space: nowrap;
-			    text-overflow: ellipsis;
-			}
-		}
-		.league-details-info>view {
-		    display: flex;
-		    flex-direction: row;
-		    align-items: center;
-		    justify-content: center;
-		}
-		.arrow-right {
-		    width: 14rpx !important;
-		    height: 22rpx !important;
-		    margin-top: 2rpx;
-		}
-		.authenticated-icon {
-		    margin-left: -1rpx !important;
-		}
-		.authenticated-icon + text {
-		    margin-left: 5rpx;
-		}
-		.top-icon {
-		    width: 82rpx;
-		    height: 82rpx;
-		    position: absolute;
-		    top: 0;
-		    right: 0;
-		}
-		.green-color {
-			color: $green-color;
-		}
-	}
-	.loading-wrapper {
-		background: $sub-bg-color;
-	}
-</style>

+ 47 - 36
components/cm-module/pageFloorTemplate/templateA.vue

@@ -1,91 +1,98 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
 				</view>
 			</view>
@@ -95,8 +102,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
 		name:"templateA",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -260,12 +271,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 51 - 40
components/cm-module/pageFloorTemplate/templateB.vue

@@ -1,96 +1,103 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -98,8 +105,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateB",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -140,7 +151,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -263,12 +274,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 51 - 40
components/cm-module/pageFloorTemplate/templateC.vue

@@ -1,96 +1,103 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -98,8 +105,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateC",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -140,7 +151,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -296,12 +307,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 52 - 41
components/cm-module/pageFloorTemplate/templateD.vue

@@ -1,99 +1,106 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.banner" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_03">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage3" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -101,8 +108,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateD",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -143,7 +154,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -277,12 +288,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 50 - 39
components/cm-module/pageFloorTemplate/templateE.vue

@@ -1,93 +1,100 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.banner" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -95,8 +102,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateE",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -137,7 +148,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -273,12 +284,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 48 - 37
components/cm-module/pageFloorTemplate/templateF.vue

@@ -1,90 +1,97 @@
 <template>
 	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -92,8 +99,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateG",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -134,7 +145,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -257,8 +268,8 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{

+ 48 - 37
components/cm-module/pageTemplate/templateA.vue

@@ -1,91 +1,98 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
 				</view>
 			</view>
@@ -95,8 +102,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
 		name:"templateA",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -137,7 +148,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -260,12 +271,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 51 - 40
components/cm-module/pageTemplate/templateB.vue

@@ -1,96 +1,103 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -98,8 +105,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateB",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -140,7 +151,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -263,12 +274,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 51 - 40
components/cm-module/pageTemplate/templateC.vue

@@ -1,96 +1,103 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -98,8 +105,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateC",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -140,7 +151,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -296,12 +307,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 52 - 41
components/cm-module/pageTemplate/templateD.vue

@@ -1,99 +1,106 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.banner" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_02">
-			<image class="item-img-gg" :src="floorData.advertisement" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage2" mode="aspectFill"></image>
 		</view>
 		<view class="floor-item ad_03">
-			<image class="item-img-gg" :src="floorData.advertisement1" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage3" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -101,8 +108,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateD",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -143,7 +154,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -277,12 +288,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 50 - 39
components/cm-module/pageTemplate/templateE.vue

@@ -1,93 +1,100 @@
 <template>
 	<view class="section_page_main clearfix">
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.banner" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -95,8 +102,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateE",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -137,7 +148,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -273,12 +284,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 51 - 40
components/cm-module/pageTemplate/templateF.vue

@@ -1,102 +1,113 @@
 <template>
 	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
-					</view>	
-				</view>	
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
+					</view>		
+				</view>
 			</view>
 		</view>
 		<view class="floor-item ad_01">
-			<image class="item-img-gg" :src="floorData.banner" mode="aspectFill"></image>
+			<image class="item-img-gg" :src="floorData.floorContent.pcAdsImage1" mode="aspectFill"></image>
 		</view>
 	</view>
 </template>
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateF",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -137,7 +148,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -291,12 +302,12 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{
-					font-size: $font-size-30;
+					font-size: $font-size-28;
 					color: $text-color;
 					display: block;
 					float: left;

+ 48 - 37
components/cm-module/pageTemplate/templateG.vue

@@ -1,90 +1,97 @@
 <template>
 	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.productList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.id)">
+		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="floorData.listType == 2">
-				<text>{{ item.tags }}</text>
+			<view class="floor-item_tag" v-if="item.listType == 2">
+				<text>{{ item.label }}</text>
 			</view>
 			<view class="floor-item-content">
 				<view class="title tui-skeleton-rect">
 					<text class="mclap">{{item.name}}</text>
 				</view>
-				<view class="floor-item-price" v-if="floorData.listType == 1">
+				<view class="floor-item-price" v-if="item.listType == 1">
 					<view class="floor-item-act">
 						<template v-if="userIdentity === 3">
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>	
 						<template v-else>
-							<template v-if="item.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-									{{item.promotions.name}}
-									<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+							<template v-if="item.product.actStatus===1">
+								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+									{{item.product.promotions.name}}
+									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 								</view>
-								<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 							</template>
-							<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 								<view class="floor-tags">阶梯价格</view>	
 							</template>
 						</template>
 					</view>	
 					<view v-if="hasLogin">
 						<template v-if="userIdentity == 3">
-							<template v-if="item.supplierId == shopId">
-								<view class="title-none" v-if="item.priceFlag === '1'">
+							<template v-if="item.product.shopID == shopId">
+								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 									<text class="p big">¥未公开价格</text>
 								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 								</view>
 							</template>	
 							<template v-else>
 								<view class="no-price">
 									<view class="p-stars">
 										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+										<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 									</view>
 								</view>	
 							</template>
 						</template>
 						<template v-else-if="userIdentity ===4">
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="title-none"  v-if="item.priceFlag === '2'">
+							<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 								<text class="p big">¥价格仅会员可见</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 						<template v-else>
-							<view class="title-none" v-if="item.priceFlag === '1'">
+							<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 								<text class="p big">¥未公开价格</text>
 							</view>
-							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+							<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 								<text class="p sm">¥</text>
-								<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+								<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 							</view>
 						</template>
 					</view>
 					<view v-else class="no-price">
-						<view class="p-stars">
-							<text class="p-no">¥</text>
-							<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-						</view>
+						<template v-if="item.product.productCategory == 1">
+							<view class="p-stars">
+								<text class="p-no">¥</text>
+								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+							</view>
+						</template>
+						<template v-else>
+							<view class="p-stars">
+								<text class="p-no">¥登录可见</text>
+							</view>
+						</template>
 					</view>	
-				</view>	
+				</view>
 			</view>
 		</view>
 	</view>
@@ -92,8 +99,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateG",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -134,7 +145,7 @@
 					this.shopId = resolve.shopID
 				})
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -257,8 +268,8 @@
 				}
 			}
 			.no-price{
-				height: 70rpx;
-				line-height: 70rpx;
+				height: 54rpx;
+				line-height: 54rpx;
 				display: flex;
 				box-sizing: border-box;
 				.p-no{

+ 52 - 41
components/cm-module/pageTemplate/templateH.vue

@@ -3,91 +3,98 @@
 		<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 productList" :key="index">
-					<view class="floor-item clearfix" v-for="(item, idx) in product" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.id)">
+					<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item.product.productId)">
 						<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-						<view class="floor-item_tag" v-if="floorData.listType == 2">
-							<text>{{ item.tags }}</text>
+						<view class="floor-item_tag" v-if="item.listType == 2">
+							<text>{{ item.label }}</text>
 						</view>
 						<view class="floor-item-content">
 							<view class="title tui-skeleton-rect">
 								<text class="mclap">{{item.name}}</text>
 							</view>
-							<view class="floor-item-price" v-if="floorData.listType == 1">
+							<view class="floor-item-price" v-if="item.listType == 1">
 								<view class="floor-item-act">
 									<template v-if="userIdentity === 3">
-										<template v-if="item.actStatus===1">
-											<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-												{{item.promotions.name}}
-												<text v-if="hasLogin && item.priceFlag != 1 && item.supplierId == shopId">:¥{{item.price | NumFormat}}</text>
+										<template v-if="item.product.actStatus===1">
+											<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+												{{item.product.promotions.name}}
+												<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
 											</view>
-											<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+											<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 										</template>
-										<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+										<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 											<view class="floor-tags">阶梯价格</view>	
 										</template>
 									</template>	
 									<template v-else>
-										<template v-if="item.actStatus===1">
-											<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-												{{item.promotions.name}}
-												<text v-if="hasLogin && item.priceFlag != 1">:¥{{item.price | NumFormat}}</text>
+										<template v-if="item.product.actStatus===1">
+											<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
+												{{item.product.promotions.name}}
+												<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
 											</view>
-											<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+											<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
 										</template>
-										<template v-if="item.actStatus ===0  &&  item.ladderPriceFlag===1">
+										<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
 											<view class="floor-tags">阶梯价格</view>	
 										</template>
 									</template>
 								</view>	
 								<view v-if="hasLogin">
 									<template v-if="userIdentity == 3">
-										<template v-if="item.supplierId == shopId">
-											<view class="title-none" v-if="item.priceFlag === '1'">
+										<template v-if="item.product.shopID == shopId">
+											<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 												<text class="p big">¥未公开价格</text>
 											</view>
-											<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+											<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 												<text class="p sm">¥</text>
-												<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+												<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 											</view>
 										</template>	
 										<template v-else>
 											<view class="no-price">
 												<view class="p-stars">
 													<text class="p-no">¥</text>
-													<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
+													<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
 												</view>
 											</view>	
 										</template>
 									</template>
 									<template v-else-if="userIdentity ===4">
-										<view class="title-none" v-if="item.priceFlag === '1'">
+										<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 											<text class="p big">¥未公开价格</text>
 										</view>
-										<view class="title-none"  v-if="item.priceFlag === '2'">
+										<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
 											<text class="p big">¥价格仅会员可见</text>
 										</view>
-										<view class="price tui-skeleton-rect" v-if="item.priceFlag === '0'" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+										<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 											<text class="p sm">¥</text>
-											<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+											<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 										</view>
 									</template>
 									<template v-else>
-										<view class="title-none" v-if="item.priceFlag === '1'">
+										<view class="title-none" v-if="item.product.price1TextFlag === '1'">
 											<text class="p big">¥未公开价格</text>
 										</view>
-										<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
+										<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
 											<text class="p sm">¥</text>
-											<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+											<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
 										</view>
 									</template>
 								</view>
 								<view v-else class="no-price">
-									<view class="p-stars">
-										<text class="p-no">¥</text>
-										<uni-grader :grade="Number(item.priceGrade)" :margin="14"></uni-grader>
-									</view>
+									<template v-if="item.product.productCategory == 1">
+										<view class="p-stars">
+											<text class="p-no">¥</text>
+											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
+										</view>
+									</template>
+									<template v-else>
+										<view class="p-stars">
+											<text class="p-no">¥登录可见</text>
+										</view>
+									</template>
 								</view>	
-							</view>	
+							</view>
 						</view>
 					</view>
 				</swiper-item>
@@ -105,8 +112,12 @@
 
 <script>
 	import { mapState,mapMutations} from 'vuex';
+	import uniGrader from '@/components/uni-grade/uni-grade.vue'
 	export default{
-		name:"templateA",
+		name:"templateH",
+		components:{
+			uniGrader
+		},
 		props:{
 			pageData:{
 				type:Object
@@ -150,14 +161,14 @@
 				this.$api.getStorage().then((resolve) =>{
 					this.shopId = resolve.shopID
 				})
-				if(data.productList.length>0){
+				if(data.floorImageList.length>0){
 					this.productList.splice(0,this.productList.length);
-					for (var i = 0, j = data.productList.length; i < j; i += this.pageSize) {
-						this.productList.push(data.productList.slice(i, i + this.pageSize));
+					for (var i = 0, j = data.floorImageList.length; i < j; i += this.pageSize) {
+						this.productList.push(data.floorImageList.slice(i, i + this.pageSize));
 					}
 				}
 				this.floorData = data
-				console.log(this.floorData)
+				// console.log(this.floorData)
 			},
 			PromotionsFormat(promo){//促销活动类型数据处理
 				if(promo!=null){
@@ -293,12 +304,12 @@
 						}
 					}
 					.no-price{
-						height: 70rpx;
-						line-height: 70rpx;
+						height: 54rpx;
+						line-height: 54rpx;
 						display: flex;
 						box-sizing: border-box;
 						.p-no{
-							font-size: $font-size-30;
+							font-size: $font-size-28;
 							color: $text-color;
 							display: block;
 							float: left;

+ 0 - 291
components/cm-module/popupGoods/popupGoods.vue

@@ -1,291 +0,0 @@
-<template name="popup">
-	<!-- 规格-模态层弹窗 -->
-	<view class="popup spec" :class="specClass" @touchmove.stop.prevent="discard" @tap="hideSpec">
-		<!-- 遮罩层 -->
-		<view class="mask"></view>
-		<view class="layer" @tap.stop="discard">
-			<view class="content">
-				<view class="layer-smimg">
-					<image src="https://img.caimei365.com/group1/M00/02/6D/Cmis21xFeHGAIyUTAAPeRga1_H464.JPEG" mode=""></image>
-				</view>
-				<view class="layer-nunbox">
-					<view class="layer-nunbox-t">
-						<view class="text">
-							数量:
-							<uni-number-box
-								class="product-step"
-								:min="minBuyNumber" 
-								:max="stock"
-								:value="minBuyNumber>stock?stock:minBuyNumber"
-								:isMax="minBuyNumber>=stock?true:false"
-								:isMin="minBuyNumber===minBuyNumber"
-								@eventChange="numberChang"
-							>
-							</uni-number-box>
-						</view>
-					</view>
-					<view class="layer-nunbox-b">
-						<view class="text">单价:
-							<text class="p sm">¥</text>
-							<text class="p bg">{{goodsData.retailPrice}}</text>
-							<text class="p sm">{{goodsData.smallMoney== '0'?'.00':goodsData.smallMoney}}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="btn"><view class="button" @tap="btnConfirm">确定</view></view>
-		</view>
-	</view>
-</template>
-
-<script>
-	var self; 
-	import uniNumberBox from '@/components/uni-number-box.vue'
-	export default{
-		name:'popup',
-		components:{
-			uniNumberBox
-		},
-		props:['goodsData','minBuyNumber','stock'],
-		data() {
-			return{
-				specClass: '',//规格弹窗css类,控制开关动画
-				isType:'',
-			}
-		},
-		created() {
-		},
-		methods:{
-			//数量
-			numberChange(data){
-			},
-			//规格弹窗
-			showSpec(type) {
-				this.isType = type
-				this.specClass = 'show';
-			},
-			//关闭规格弹窗
-			hideSpec() {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			//加入购物车关闭规格弹窗
-			btnConfirm() {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-				if(this.isType == 'add'){
-					uni.showToast({
-						title: "已加入购物车",
-						duration:2000,
-						icon:'success',
-						mask:false
-					});
-				}else{
-					this.toConfirmation()
-				}
-			},
-			//跳转确认订单页面
-			toConfirmation(){
-				uni.navigateTo({
-					url:'/pages/user/order/confirmation'
-				})
-			},
-			discard() {
-				//丢弃
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-/* 加入购物模态层*/ 
-@keyframes showPopup {
-	0% {
-		opacity: 0;
-	}
-	100% {
-		opacity: 1;
-	}
-}
-@keyframes hidePopup {
-	0% {
-		opacity: 1;
-	}
-	100% {
-		opacity: 0;
-	}
-}
-@keyframes showLayer {
-	0% {
-		transform: translateY(0);
-	}
-	100% {
-		transform: translateY(-100%);
-	}
-}
-@keyframes hideLayer {
-	0% {
-		transform: translateY(-100%);
-	}
-	100% {
-		transform: translateY(0);
-	}
-}
-.popup {
-	position: fixed;
-	top: 0;
-	width: 100%;
-	height: 100%;
-	z-index: 999;
-	display: none;
-	.mask{
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 21;
-		background-color: rgba(0, 0, 0, 0.6);
-	}
-	.layer {
-		position: fixed;
-		z-index: 22;
-		bottom: -270rpx;
-		width: 702rpx;
-		padding: 24rpx 24rpx 10rpx 24rpx;
-		height: 236rpx;
-		border-radius: 20rpx 20rpx 0 0;
-		background-color: #fff;
-		display: flex;
-		flex-wrap: wrap;
-		align-content: space-between;
-		.content {
-			width: 100%;
-		}
-		.btn {
-			width: 100%;
-			height: 88rpx;
-			.button {
-				width: 100%;
-				height: 88rpx;
-				color: #fff;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				background-color: #000000;
-				font-size: $font-size-28;
-			}
-		}
-	}
-	
-	&.show {
-		display: block;
-		.mask{
-			animation: showPopup 0.2s linear both;
-		}
-		.layer {
-			animation: showLayer 0.2s linear both;
-		}
-	}
-	&.hide {
-		display: block;
-		.mask{
-			animation: hidePopup 0.2s linear both;
-		}
-		
-		.layer {
-			animation: hideLayer 0.2s linear both;
-		}
-	}
-	&.none {
-		display: none;
-	}
-	&.service {
-		.row {
-			margin: 30upx 0;
-			.title {
-				font-size: 30upx;
-				margin: 10upx 0;
-			}
-			.description {
-				font-size: 28upx;
-				color: #999;
-			}
-		}
-	}
-	.layer-smimg{
-		width: 114rpx;
-		height: 114rpx;
-		float: left;
-		border-radius: 10rpx;
-		margin-right: 24rpx;
-		image{
-			width: 114rpx;
-			height: 114rpx;	
-			border-radius: 10rpx;
-		}
-	}
-	.layer-nunbox{
-		justify-content: space-between;
-		align-items: center;
-		width: 536rpx;
-		height: 88rpx;
-		padding: 13rpx 0 0 0;
-		float: left;
-		.layer-nunbox-t{
-			width: 100%;
-			height:44rpx;
-			position:relative;
-			.product-step{
-				position: absolute;
-				left: 45rpx;
-				bottom: 0;
-				height: 44rpx;
-				background: #FFFFFF;
-			}
-		}
-		.layer-nunbox-b{
-			width: 100%;
-			height:44rpx;
-			margin-top: 13rpx;
-		}
-		.text{
-			line-height: 44rpx;
-			font-size: $font-size-28;
-			.p{
-				color: #FF2A2A;
-			}
-			.p:first-child{
-				margin-left: 30rpx;
-			}
-			.p.sm{
-				font-size: $font-size-24;
-			}
-		}
-	}
-}	
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 119
components/mix-list-cell.vue

@@ -1,119 +0,0 @@
-<template>
-	<view class="content">
-		
-		<view class="mix-list-cell" :class="border" @click="eventClick" hover-class="cell-hover"  :hover-stay-time="50">
-			<text
-				v-if="icon"
-				class="cell-icon yticon"
-				:style="[{
-					color: iconColor,
-				}]"
-				:class="icon"
-			></text>
-			<text class="cell-tit clamp">{{title}}</text>
-			<text v-if="tips" class="cell-tip">{{tips}}</text>
-			<text class="cell-more yticon"
-				:class="typeList[navigateType]"
-			></text>
-		</view>
-
-	</view>
-</template>
- 
-<script>
-	/**
-	 *  简单封装了下, 应用范围比较狭窄,可以在此基础上进行扩展使用
-	 *  比如加入image, iconSize可控等
-	 */
-	export default {
-		data() {
-			return {
-				typeList: {
-					left: 'icon-zuo',
-					right: 'icon-you',
-					up: 'icon-shang',
-					down: 'icon-xia'
-				},
-			}
-		},
-		props: {
-			icon: {
-				type: String,
-				default: ''
-			},
-			title: {
-				type: String,
-				default: '标题'
-			},
-			tips: {
-				type: String,
-				default: ''
-			},
-			navigateType: {
-				type: String,
-				default: 'right'
-			},
-			border: {
-				type: String,
-				default: 'b-b'
-			},
-			hoverClass: {
-				type: String,
-				default: 'cell-hover'
-			},
-			iconColor: {
-				type: String,
-				default: '#333'
-			}
-		},
-		methods: {
-			eventClick(){
-				this.$emit('eventClick');
-			}
-		},
-	}
-</script>
-
-<style lang='scss'>
-
-	.icon .mix-list-cell.b-b:after{
-		left: 90upx;
-	}
-	.mix-list-cell{
-		display:flex;
-		align-items:baseline;
-		padding: 20upx $page-row-spacing;
-		line-height:60upx;
-		position:relative;
-		
-		&.cell-hover{
-			background:#fafafa;
-		}
-		&.b-b:after{
-			left: 30upx;
-		}
-
-		.cell-icon{
-			align-self:center;
-			width:56upx;
-			max-height:60upx;
-			font-size:38upx;
-		}
-		.cell-more{
-			align-self: center;
-			font-size:30upx;
-			color:$font-color-base;
-			margin-left:$uni-spacing-row-sm;
-		}
-		.cell-tit{
-			flex: 1;
-			font-size: $font-base;
-			color: $font-color-dark;
-			margin-right:10upx;
-		}
-		.cell-tip{
-			font-size: $font-sm+2upx;
-			color: $font-color-light;
-		}
-	}
-</style>

+ 0 - 125
components/tui-components/list-cell/list-cell.vue

@@ -1,125 +0,0 @@
-<template>
-	<view class="tui-cell-class tui-list-cell" :class="{'tui-cell-arrow':arrow,'tui-cell-last':last,'tui-line-left':lineLeft,'tui-line-right':lineRight,'tui-radius':radius}" :hover-class="hover?'tui-cell-hover':''"
-	 :style="{background: bgcolor,fontSize: size+'rpx',color:color,padding:padding}" :hover-stay-time="150" @tap="handleClick">
-		<slot></slot>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "tuiListCell",
-		props: {
-			 //是否有箭头
-			arrow: {
-				type: Boolean,
-				default: false
-			},
-			//是否有点击效果
-			hover: {
-				type: Boolean,
-				default: true 
-			},
-			//left 30rpx
-			lineLeft:{
-				type: Boolean,
-				default: true
-			},
-			//right 30rpx
-			lineRight:{
-				type: Boolean,
-				default: false
-			},
-			padding:{
-				type:String,
-				default:"26rpx 30rpx"
-			},
-			last: {
-				type: Boolean,
-				default: false //最后一条数据隐藏线条
-			},
-			radius:{
-				type:Boolean,
-				default:false
-			},
-			bgcolor: {
-				type: String,
-				default: "#fff" //背景颜色
-			},
-			size: {
-				type: Number,
-				default: 32 //字体大小
-			},
-			color: {
-				type: String,
-				default: "#333" //字体颜色
-			},
-			index: {
-				type: Number,
-				default: 0
-			}
-		},
-		methods: {
-			handleClick() {
-				this.$emit('click', {
-					index: this.index
-				});
-			}
-		}
-	}
-</script>
-
-<style>
-	.tui-list-cell {
-		position: relative;
-		width: 100%;
-		box-sizing: border-box;
-		overflow: hidden;
-		display: flex;
-		align-items: center;
-	}
-	.tui-radius{
-		border-radius: 12rpx;
-		overflow: hidden;
-	}
-
-	.tui-cell-hover {
-		background: #f7f7f9 !important;
-	}
-
-	.tui-list-cell::after {
-		content: '';
-		position: absolute;
-		border-bottom: 1rpx solid #eaeef1;
-		-webkit-transform: scaleY(0.5);
-		transform: scaleY(0.5);
-		bottom: 0;
-		right: 0;
-		left:0;
-	}
-	.tui-line-left::after{
-		left: 30rpx !important;
-	}
-	
-	.tui-line-right::after{
-		right: 30rpx !important;
-	}
-
-	.tui-cell-last::after {
-		border-bottom: 0 !important;
-	}
-
-	.tui-list-cell.tui-cell-arrow:before {
-		content: " ";
-		height: 11px;
-		width: 11px;
-		border-width: 2px 2px 0 0;
-		border-color: #b2b2b2;
-		border-style: solid;
-		-webkit-transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-		transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-		position: absolute;
-		top: 50%;
-		margin-top: -7px;
-		right: 30rpx;
-	}
-</style>

+ 3 - 0
components/uni-grade/uni-grade.vue

@@ -20,6 +20,9 @@
 			return {
 				path:'https://static.caimei365.com/app/img/icon/'
 			};
+		},
+		created() {
+			
 		},
 		methods:{
 			

+ 0 - 187
components/uni-popup/uni-popup.vue

@@ -1,187 +0,0 @@
-<template>
-	<view v-if="showPopup" class="uni-popup">
-		<view :class="[ani, animation ? 'ani' : '', !custom ? 'uni-custom' : '']" class="uni-popup__mask" @click="close(true)" />
-		<view :class="[type, ani, animation ? 'ani' : '', !custom ? 'uni-custom' : '']" class="uni-popup__wrapper" @click="close(true)">
-			<view class="uni-popup__wrapper-box" @click.stop="clear">
-				<slot />
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'UniPopup',
-		props: {
-			// 开启动画
-			animation: {
-				type: Boolean,
-				default: true
-			},
-			// 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层
-			type: {
-				type: String,
-				default: 'center'
-			},
-			// 是否开启自定义
-			custom: {
-				type: Boolean,
-				default: false
-			},
-			// maskClick
-			maskClick: {
-				type: Boolean,
-				default: true
-			},
-			show: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				ani: '',
-				showPopup: false
-			}
-		},
-		watch: {
-			show(newValue) {
-				if (newValue) {
-					this.open()
-				} else {
-					this.close()
-				}
-			}
-		},
-		created() {},
-		methods: {
-			clear() {},
-			open() {
-				this.$emit('change', {
-					show: true
-				})
-				this.showPopup = true
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.ani = 'uni-' + this.type
-					}, 30)
-				})
-			},
-			close(type) {
-				if (!this.maskClick && type) return
-				this.$emit('change', {
-					show: false
-				})
-				this.ani = ''
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.showPopup = false
-					}, 300)
-				})
-			}
-		}
-	}
-</script>
-<style>
-	@charset "UTF-8";
-
-	.uni-popup {
-		position: fixed;
-		top: 0;
-		top: 0;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		z-index: 99999;
-		overflow: hidden
-	}
-
-	.uni-popup__mask {
-		position: absolute;
-		top: 0;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		z-index: 998;
-		/* background: rgba(0, 0, 0, .4); */
-		opacity: 0
-	}
-
-	.uni-popup__mask.ani {
-		transition: all .3s
-	}
-
-	.uni-popup__mask.uni-bottom,
-	.uni-popup__mask.uni-center,
-	.uni-popup__mask.uni-top {
-		opacity: 1
-	}
-
-	.uni-popup__wrapper {
-		position: absolute;
-		z-index: 999;
-		box-sizing: border-box
-	}
-
-	.uni-popup__wrapper.ani {
-		transition: all .3s
-	}
-
-	.uni-popup__wrapper.top {
-		top: 0;
-		left: 0;
-		width: 100%;
-		transform: translateY(-100%)
-	}
-
-	.uni-popup__wrapper.bottom {
-		bottom: 0;
-		left: 0;
-		width: 100%;
-		transform: translateY(100%)
-	}
-
-	.uni-popup__wrapper.center {
-		width: 100%;
-		height: 100%;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		transform: scale(1.2);
-		opacity: 0
-	}
-
-	.uni-popup__wrapper-box {
-		position: relative;
-		box-sizing: border-box
-	}
-
-	.uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
-		padding: 30upx;
-		background: #fff
-	}
-
-	.uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
-		position: relative;
-		max-width: 80%;
-		max-height: 80%;
-		overflow-y: scroll
-	}
-
-	.uni-popup__wrapper.uni-custom.bottom .uni-popup__wrapper-box,
-	.uni-popup__wrapper.uni-custom.top .uni-popup__wrapper-box {
-		width: 100%;
-		max-height: 500px;
-		overflow-y: scroll
-	}
-
-	.uni-popup__wrapper.uni-bottom,
-	.uni-popup__wrapper.uni-top {
-		transform: translateY(0)
-	}
-
-	.uni-popup__wrapper.uni-center {
-		transform: scale(1);
-		opacity: 1
-	}
-</style>

+ 45 - 39
components/uni-search/cat-search.vue

@@ -2,11 +2,15 @@
 	<!-- 自定义导航栏 -->
 	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
 		<view class="navbar-text" :style="{top:navbarBtn.top + statusBarHeight+'px;',height:navbarBtn.height+'px;',fontSize:fontSizeSetting+'px;'}">
-	    	<view class="gosearch-btn" :style="{paddingLeft:navbarBtn.height+'px;',left:navbarBtn.top+'px;',borderRadius:(navbarBtn.height/2)+'px;',width:(375-navbarBtn.width)-20+'px;',lineHeight:navbarBtn.height+'px;'}">
+	    	<view class="gosearch-btn" :style="{paddingLeft:navbarBtn.height+'px;',left:navbarBtn.height/2+'px;',borderRadius:(navbarBtn.height/2)+'px;',width:(375-navbarBtn.width)-20+'px;',lineHeight:navbarBtn.height+'px;'}">
 				<text class="iconfont icon-sousuo" :style="{width:navbarBtn.height+'px;',height:navbarBtn.height+'px;',lineHeight:navbarBtn.height+'px;'}"></text>
 				<view class="input" @click="this.$api.navigateTo(clickPath)">搜索商品/供应商/项目仪器</view>
 			</view>
 	  	</view>
+		<view class="category-tab">
+			<view class="category-tab-item" :class="categoryTabIndex ==1 ? 'active' : ''" @click="categoryTabClick(1)">产品</view>
+			<view class="category-tab-item" :class="categoryTabIndex ==2 ? 'active' : ''" @click="categoryTabClick(2)">仪器</view>
+		</view>
 	</view>
 </template>
 
@@ -49,7 +53,8 @@
 			      right: 0
 				},
 				platform:'',
-				fontSizeSetting:0
+				fontSizeSetting:0,
+				categoryTabIndex:1
 			}
 		},
 		created() {
@@ -104,7 +109,11 @@
 		      	uni.switchTab({
 		        	url: '/pages/tabBar/home/index'
 		      	})
-		    }
+		    },
+			categoryTabClick(index){
+				this.categoryTabIndex = index 
+				this.$emit('click',this.categoryTabIndex)
+			},
 		},
 		onShow(){
 	
@@ -127,6 +136,7 @@
 		    animation: hideColor 0.3s ease-in-out both;
 		 }
 	}
+	
 	.navbar-text {
 		 width: 100%;
 		 color: #000000;
@@ -161,42 +171,38 @@
 			text-align: left;
 		}
 	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 border-radius: 50%;
-		 text-align: center;
-		 background: rgba(255,255,255,0.6);
-		 border: 0.5px solid rgba(0,0,0, 0.1);
-		 box-sizing: border-box;
-		 z-index: 9999;
-	}
-	.navbar-icon .iconfont {
-		 height: 100%;
-		 width: 100%;
-		 font-size: 38rpx;
-		 font-weight: bold;
-		 display: inline-block;
-		 overflow: hidden;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-	@keyframes showColor {
-		0% {background: rgba(255,255,255,0);}
-		50% {background: rgba(255,255,255,0.5);}
-		100% {background: rgba(255,255,255,1);}
-	}
-	@keyframes hideColor {
-		0% {background: rgba(255,255,255,1);}
-		50% {background: rgba(255,255,255,0.5);}
-		100% {background: rgba(255,255,255,0);}
+	.category-tab{
+		width: 100%;
+		height: 76rpx;
+		display: flex;
+		border-bottom: 1px solid #EEE;
+		position: absolute;
+		bottom: -76rpx;
+		background-color: #FFFFFF;
+		.category-tab-item{
+			flex: 1;
+			font-size: $font-size-30;
+			line-height: 76rpx;
+			text-align: center;
+			color: #93979f;
+			position: relative;
+			&::before{
+				content: '';
+				width:57rpx;
+				height: 4rpx;
+				background-color: #FFF;
+				position: absolute;
+				bottom: 0;
+				left: 50%;
+				margin-left: -28rpx;
+			}
+			&.active{
+				color: #E15616;
+				&::before{
+					background-color: #E15616;
+				}
+			}
+		}
 	}
 </style>
 

+ 0 - 210
components/uni-tag/uni-tag.vue

@@ -1,210 +0,0 @@
-<template>
-	<view :class="[
-      'uni-tag--' + type,
-      disabled === true || disabled === 'true' ? 'uni-tag--disabled' : '',
-      inverted === true || inverted === 'true' ? type + '-uni-tag--inverted' : '',
-      circle === true || circle === 'true' ? 'uni-tag--circle' : '',
-      mark === true || mark === 'true' ? 'uni-tag--mark' : '',
-      'uni-tag--' + size
-    ]" @click="onClick()" class="uni-tag" v-if="text">
-		<text :class="[type === 'default' ? 'uni-tag--default':'uni-tag-text',inverted === true || inverted === 'true' ? 'uni-tag-text--'+type : '',size === 'small' ? 'uni-tag-text--small':'' ]">{{ text }}</text>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "UniTag",
-		props: {
-			type: {
-				// 标签类型default、primary、success、warning、error、royal
-				type: String,
-				default: "default"
-			},
-			size: {
-				// 标签大小 normal, small
-				type: String,
-				default: "normal"
-			},
-			// 标签内容
-			text: {
-				type: String,
-				default: ""
-			},
-			disabled: {
-				// 是否为禁用状态
-				type: [String, Boolean],
-				defalut: false
-			},
-			inverted: {
-				// 是否为空心
-				type: [String, Boolean],
-				defalut: false
-			},
-			circle: {
-				// 是否为圆角样式
-				type: [String, Boolean],
-				defalut: false
-			},
-			mark: {
-				// 是否为标记样式
-				type: [String, Boolean],
-				defalut: false
-			}
-		},
-		methods: {
-			onClick() {
-				if (this.disabled === true || this.disabled === "true") {
-					return;
-				}
-				this.$emit("click");
-			}
-		}
-	};
-</script>
-
-<style scoped>
-	.uni-tag {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		padding: 0px 16px;
-		height: 30px;
-		line-height: 30px;
-		justify-content: center;
-		color: #333;
-		border-radius: 6rpx;
-		background-color: #f8f8f8;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #f8f8f8;
-	}
-
-	.uni-tag--circle {
-		border-radius: 15px;
-	}
-
-	.uni-tag--mark {
-		border-top-left-radius: 0;
-		border-bottom-left-radius: 0;
-		border-top-right-radius: 15px;
-		border-bottom-right-radius: 15px;
-	}
-
-	.uni-tag--disabled {
-		opacity: 0.5;
-	}
-
-	.uni-tag--small {
-		height: 20px;
-		padding: 0px 8px;
-		line-height: 20px;
-		font-size: 24rpx;
-	}
-
-	.uni-tag--default {
-		color: #333;
-		font-size: 28rpx;
-	}
-
-	.uni-tag-text--small {
-		font-size: 24rpx !important;
-	}
-
-	.uni-tag-text {
-		color: #fff;
-		font-size: 28rpx;
-	}
-
-	.uni-tag--default {
-		color: #333;
-		font-size: 28rpx;
-	}
-
-	.uni-tag-text--primary {
-		color: #007aff !important;
-	}
-
-	.uni-tag-text--success {
-		color: #4cd964 !important;
-	}
-
-	.uni-tag-text--warning {
-		color: #f0ad4e !important;
-	}
-
-	.uni-tag-text--error {
-		color: #dd524d !important;
-	}
-
-	.uni-tag--primary {
-		color: #fff;
-		background-color: #007aff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #007aff;
-	}
-
-	.primary-uni-tag--inverted {
-		color: #007aff;
-		background-color: #ffffff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #007aff;
-	}
-
-	.uni-tag--success {
-		color: #fff;
-		background-color: #4cd964;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #4cd964;
-	}
-
-	.success-uni-tag--inverted {
-		color: #4cd964;
-		background-color: #ffffff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #4cd964;
-	}
-
-	.uni-tag--warning {
-		color: #fff;
-		background-color: #f0ad4e;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #f0ad4e;
-	}
-
-	.warning-uni-tag--inverted {
-		color: #f0ad4e;
-		background-color: #ffffff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #f0ad4e;
-	}
-
-	.uni-tag--error {
-		color: #fff;
-		background-color: #dd524d;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #dd524d;
-	}
-
-	.error-uni-tag--inverted {
-		color: #dd524d;
-		background-color: #ffffff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #dd524d;
-	}
-
-	.uni-tag--inverted {
-		color: #333;
-		background-color: #ffffff;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: #f8f8f8;
-	}
-</style>

+ 0 - 226
components/upload-images.vue

@@ -1,226 +0,0 @@
-<template>
-	<view class="upload-content">
-		<block v-for="(item, index) in imageList" :key="index">
-			<view class="upload-item">
-				<image class="upload-img" :src="item.filePath" mode="aspectFill" @click="previewImage(index)"></image>
-				<image class="upload-del-btn" 
-					@click="delImage(index)" 
-					src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjNBODgzQjUwNDM5MTFFOUJDMjlGN0UwRTJGMjVCNjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjNBODgzQjYwNDM5MTFFOUJDMjlGN0UwRTJGMjVCNjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGM0E4ODNCMzA0MzkxMUU5QkMyOUY3RTBFMkYyNUI2NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGM0E4ODNCNDA0MzkxMUU5QkMyOUY3RTBFMkYyNUI2NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuYQTIAAAAHNSURBVHjazJgxasMwFIbjnsD4BDmCLxDQDZrNQ5bcILlBvXvpDRLIWmiHFkyH2t0LyVbwEkPpbE/eYlUCGYQax096UuIffkIgij7ryU/vyZuYy2e+Z56K70R8lsJcOfPn5AriMCvmZ2YKdMW8EQ/hRA9iEorwXlpZtObMRySQ6kysvrFWloHUEIcmUBuHUDLccmxQskErt7wyVLdy00tQ4Q2g5De2V9kNwWjffiNDA33f/42i6E13Qj5uNptlwJD+SyODuaqqqi/KVBTFOxSKA7VtW/NxSZI8AcbE2nuraZpvKgSBk6G4drsdBOwogz1CwAghH/JEl+BUKJ1VltPHHjoIAoeE4l53YFqb+RKcBSgqyqXhtxEKZwkKB3YOThYCqjPuCDoHZwGK3mGLtdPp5LmqTI1Dqe4p26EkNqA4iE6eg2z+iQ0okyQMATvYgLIIt9Y6knTyFBIudHqIq3BpmkL60VJ9O0sXZY8MBwSLtdNGEAQ/i8XiVXcz83EcEPDbuq/fzMdYWt+6GTmMsX2rh9q3TtsxNrzXhKt1rwg6rR1Dhdjqo7QMlWOvoWTF4imxQMRF7eaL8L5ohmwrLgDB8pCQc8DlcG7y538CDABJNGPqfaJgfgAAAABJRU5ErkJggg==" 
-					mode="scaleToFill">
-				</image>
-				<view class="upload-progress" v-if="item.progress < 100">{{item.progress}}%</view>
-			</view>
-		</block>
-		<view class="upload-add-btn" v-if="rduLength > 0" @click="chooseImage"></view>
-	</view>
-</template>
-
-<script>
-export default {
-	data() {
-		return {
-			imageList: []
-		};
-	},
-	props: {
-		url: {
-			type: String,
-			value: '' //上传接口地址
-		},
-		count: {
-			type: Number,
-			value: 4 //单次可选择的图片数量
-		},
-		length: {
-			type: Number,
-			value: 50 //可上传总数量
-		}
-	},
-	computed: {
-		rduLength(){
-			return this.length - this.imageList.length;
-		}
-	},
-	methods: {
-		//选择图片
-		chooseImage: function(){
-			uni.chooseImage({
-				count: this.rduLength < this.count ? this.rduLength : this.count, //最多可以选择的图片张数,默认9
-				sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有
-				sourceType: ['album'], //album 从相册选图,camera 使用相机,默认二者都有
-				success: (res)=> {
-					const images = res.tempFilePaths;
-					this.uploadFiles(images);
-				}
-			});
-		},
-		//上传图片
-		async uploadFiles(images){
-			this.imageList.push({
-				filePath: images[0],
-				progress: 0
-			});
-			uni.showLoading({
-				title: '请稍后..',
-				mask: true,
-			})
-			try{
-				const uploadUrl = await this.uploadImage(images[0]);
-			}catch(err){
-				console.log(err);
-				return;
-			}
-			
-			if(uploadUrl !== false){
-				images.splice(0, 1);
-				this.imageList[this.imageList.length - 1].src = uploadUrl;
-
-				//判断是否需要继续上传
-				if(images.length > 0 && this.rduLength > 0){
-					this.uploadFiles(images);
-				}else{
-					uni.hideLoading();
-				}
-			}else{
-				//上传失败处理
-				this.imageList.pop();
-				uni.hideLoading();
-				uni.showToast({
-					title: '上传中出现问题,已终止上传',
-					icon: 'none',
-					mask: true,
-					duration: 2000
-				});
-			}
-		},
-		uploadImage: function(file){
-			return new Promise((resolve, reject)=> {
-				//发送给后端的附加参数
-				const formData = {
-					thumb_mode: 1,  
-				};
-				this.uploadTask = uni.uploadFile({
-					url: this.url, 
-					filePath: file,
-					name: 'file',
-					formData: formData,
-					success(uploadFileResult){
-						const uploadFileRes = JSON.parse(uploadFileResult.data) || {};
-						if(uploadFileRes.status === 1 && uploadFileRes.data){
-							resolve(uploadFileRes.data);
-						}else{
-							reject('接口返回错误');
-						}
-					}, 
-					fail(){
-						reject('网络链接错误');
-					}
-				});
-				//上传进度
-				this.uploadTask.onProgressUpdate((progressRes)=> {
-					this.imageList[this.imageList.length - 1].progress = progressRes.progress;
-				});
-			});
-		},
-		//删除图片
-		delImage: function(index){
-			uni.showModal({
-				content: '确定要放弃这张图片么?',
-				success: (confirmRes)=> {
-					if (confirmRes.confirm) {
-						this.imageList.splice(index, 1);
-					} 
-				}
-			});
-		},
-		//预览图片
-		previewImage: function(index){
-			const urls = [];
-			this.imageList.forEach((item)=> {
-				urls.push(item.filePath);
-			})
-			uni.previewImage({
-				current: urls[index],
-				urls: urls,
-				indicator: "number"
-			})
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-	.upload-content{
-		padding:24upx 0 0 28upx;
-		background-color: #fff;
-		overflow:hidden;
-	}
-	.upload-item{
-		position: relative;
-		float:left;
-		width:150upx;
-		height:150upx;
-		margin-right:30upx;
-		margin-bottom:30upx;
-		&:nth-child(4n){
-			margin-right:0;
-		}
-		.upload-img{
-			width:100%;
-			height:100%;
-			border-radius:8upx;
-		}
-		.upload-del-btn{
-			position: absolute;
-			right:-16upx;
-			top:-14upx;
-			width:36upx;
-			height:36upx;
-			border: 4upx solid #fff;
-			border-radius: 100px;
-		}
-		.upload-progress{
-			position: absolute;
-			left:0;
-			top:0;
-			display:flex;
-			align-items:center;
-			justify-content: center;
-			width:100%;
-			height:100%;
-			background-color: rgba(0,0,0,.4);
-			color:#fff;
-			font-size:24upx;
-			border-radius:8upx;
-		}
-	}
-	.upload-add-btn {
-		position: relative;
-		float:left;
-		width: 150upx;
-		height: 150upx;
-		z-index: 99;
-		border-radius:8upx;
-		background:#f9f9f9;
-		&:before,
-		&:after {
-			content: " ";
-			position: absolute;
-			top: 50%;
-			left: 50%;
-			-webkit-transform: translate(-50%, -50%);
-			transform: translate(-50%, -50%);
-			width: 4upx;
-			height: 60upx;
-			background-color: #d6d6d6;
-		}
-		&:after {
-			width: 60upx;
-			height: 4upx;
-		}
-		&:active {
-			background-color: #f7f7f7;
-		}
-	}
-
-</style>

+ 0 - 2
main.js

@@ -10,12 +10,10 @@ import Json from './json' //本地数据
 import cuCustom from './components/cm-custom/cu-custom.vue'
 import auCustom from './components/cm-custom/au-custom.vue'
 import cmCustom from './components/cm-custom/cm-custom.vue'
-import customCeller from './components/cm-custom/custom-seller.vue'
 import scrollTop from '@/components/cm-module/scrollTop/scrollTop.vue'
 Vue.component('cu-custom',cuCustom)
 Vue.component('au-custom',auCustom)
 Vue.component('cm-custom',cmCustom)
-Vue.component('custom-seller',customCeller)
 Vue.component('scroll-top',scrollTop)
 
 Vue.prototype.$getStorage = function(key){

+ 1 - 1
manifest.json

@@ -61,7 +61,7 @@
             "urlCheck" : false,
             "minified" : true,
             "es6" : true,
-            "postcss" : true
+            "postcss" : false
         },
         "usingComponents" : true,
         "permission" : {},

+ 0 - 24
pages.json

@@ -148,11 +148,6 @@
 			"style": {
 				"navigationBarTitleText": "购物须知"
 			}
-		},{
-			"path": "pages/service/member",
-			"style": {
-				"navigationBarTitleText": "正品联盟"
-			}
 		},{
 			"path": "pages/service/organagree",
 			"style": {
@@ -205,12 +200,6 @@
 				"navigationBarTitleText": "选择支付方式",
 				"navigationStyle":"custom"
 			}
-		},{
-			"path": "pages/user/order/order-cashier",
-			"style": {
-				"navigationBarTitleText": "支付结果",
-				"navigationStyle":"custom"
-			}
 		},{
 			"path": "pages/user/order/order-pay",
 			"style": {
@@ -227,14 +216,6 @@
 			"style": {
 				"navigationBarTitleText": "查看订单"
 			}
-		},{
-			"path": "pages/user/order/myOrder",
-			"style": {
-				"navigationBarTitleText": "我的订单",
-				// "enablePullDownRefresh": true,
-				"onReachBottomDistance": 50,
-				"navigationStyle":"custom"
-			}
 		},{
 			"path": "pages/user/order/order-list",
 			"style": {
@@ -354,11 +335,6 @@
 			"style": {
 				"navigationBarTitleText": "更换手机号"
 			}
-		},{
-			"path": "pages/user/setting/password",
-			"style": {
-				"navigationBarTitleText": "修改密码"
-			}
 		}
     ],
 	"subPackages": [

+ 27 - 28
pages/goods/good-floorMore.vue

@@ -11,23 +11,23 @@
 		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
 		<!-- 楼层 -->
 		<view class="container-section tui-skeleton">
-			<template v-if="page.type == 1">
-				<templateA :pageData="page" :userIdentity="userIdentity"></templateA>
+			<template v-if="pageData.floorContent.templateType == '1'">
+				<templateA :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateA>
 			</template>	 
-			<template v-if="page.type == 2">
-				<templateB :pageData="page" :userIdentity="userIdentity"></templateB>
+			<template v-if="pageData.floorContent.templateType == '2'">
+				<templateB :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateB>
 			</template>	 
-			<template v-if="page.type == 3">
-				<templateC :pageData="page" :userIdentity="userIdentity"></templateC>
+			<template v-if="pageData.floorContent.templateType == '3'">
+				<templateC :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateC>
 			</template>	 
-			<template v-if="page.type == 4">
-				<templateD :pageData="page" :userIdentity="userIdentity"></templateD>
+			<template v-if="pageData.floorContent.templateType == '4'">
+				<templateD :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateD>
 			</template>	 
-			<template v-if="page.type == 5 || page.type == 6">
-				<templateE :pageData="page" :userIdentity="userIdentity"></templateE>
+			<template v-if="pageData.floorContent.templateType == '5' || pageData.floorContent.templateType == '6'">
+				<templateE :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateE>
 			</template>	 
-			<template v-if="page.type == 7">
-				<templateF :pageData="page" :userIdentity="userIdentity"></templateF>
+			<template v-if="pageData.floorContent.templateType == '7'">
+				<templateF :pageData="pageData" :userIdentity="userIdentity" v-if="isRequest"></templateF>
 			</template>	 
 		</view>
 	</view>
@@ -41,8 +41,6 @@
 	import templateD from '@/components/cm-module/pageFloorTemplate/templateD.vue'
 	import templateE from '@/components/cm-module/pageFloorTemplate/templateE.vue'
 	import templateF from '@/components/cm-module/pageFloorTemplate/templateF.vue'
-	import { pageList } from '@/common/json/data.json.js' //本地数据
-	
 	export default{
 		components:{
 			templateA,
@@ -58,34 +56,34 @@
 				hotSearchText:'搜索商品/供应商/项目仪器',	
 				userIdentity:0,
 				skeletonShow:true,
+				isRequest:false,
 				navBarsList:[],
-				page:pageList[5],//楼层
-				isRequest:false
+				pageData:{},//楼层
+				floorId:null,
 			}
 		},
 		onLoad(option) {
+			this.floorId = Number(option.floorId)
+			uni.setNavigationBarTitle({title:option.title});
 			this.$api.getComStorage('userInfo').then((resolve) =>{
 				this.clubStatus = resolve.clubStatus
 				this.userID = resolve.userID ? resolve.userID : 0;
 				this.shopId = resolve.shopID ? resolve.shopID : 0;
 				this.userIdentity = resolve.userIdentity
-				// this.getListFromServer();
+				this.GetHomeFloorContentDetails();
 			}).catch(error =>{
-				// this.getListFromServer();
+				this.GetHomeFloorContentDetails();
 			})
-			setTimeout(()=>{
-				this.skeletonShow = false
-			},2000)
 		},
 		computed: {
 			...mapState(['hasLogin','userInfo','identity'])
 		},
 		methods:{
-			GetHomeInit(){//金刚区分类
-				this.CommonService.GetFirstClassly({typeSort:1,source:'crm'}).then(response =>{
-					let data = response.data
-					this.navBarsList = data
-					this.isRequest =true
+			GetHomeFloorContentDetails(){//首页楼层查看更多
+				this.CommonService.GetHomeFloorContentDetails({userId:this.userID,floorId:this.floorId,source:2}).then(response =>{
+					this.pageData = response.data
+					this.skeletonShow = false
+					this.isRequest = true
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
@@ -93,11 +91,12 @@
 		},
 		onPullDownRefresh() {
 			setTimeout(() => {
+				this.GetHomeFloorContentDetails();
 				uni.stopPullDownRefresh()
 			}, 200)
 		},
 		onShow() {
-			this.GetHomeInit()
+			
 		}
 	}
 </script>
@@ -115,7 +114,7 @@
 		height: auto;
 		background-color: #F7F7F7;
 		box-sizing: border-box;
-		padding: 0 24rpx;
+		padding:24rpx;
 	}
 	.navbar-wrap {
 		 width: 100%;

+ 2 - 2
pages/goods/product.vue

@@ -181,7 +181,7 @@
 					<view class="bottom-btn" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
 						<view class="bottom-le">
 							<view class="item-bt" @click="this.$api.switchTabTo('/pages/tabBar/home/index')">
-								<image src="../../static/icon-home-active@3x.png"></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/icon-home-active@3x.png"></image>
 								<text>首页</text>
 							</view>
 							<view class="item-bt">
@@ -193,7 +193,7 @@
 								<!-- #endif -->
 							</view>
 							<view class="item-bt" @click="buyProductCart()">
-								<image src="../../static/icon-cart-active@3x.png"></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/icon-cart-active@3x.png"></image>
 								<text>购物车</text>
 								<text  	v-if="hasLogin && goodsData.cartCount>0"
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"

+ 4 - 1
pages/search/search.vue

@@ -26,7 +26,9 @@
 					搜索历史<text class="iconfont icon-shanchu" @click="confirmDetele"></text>
 				</view>
 				<view class="list">
-					<view v-for="(item,index) in serachRecordList" :key="index" @click="keywordsClick(item.searchWord)">{{item.searchWord}}</view>
+					<view class="list-main">
+						<view v-for="(item,index) in serachRecordList" :key="index" @click="keywordsClick(item.searchWord)">{{item.searchWord}}</view>
+					</view>
 				</view>
 			</view>
 			<view class="s-block hot clearfix">
@@ -545,6 +547,7 @@
 			position: relative;
 			width: 100%;
 			float: left;
+			box-sizing: border-box;
 			.icon-shanchu{
 				font-size: 36rpx;
 				color: #333333;

+ 0 - 32
pages/service/member.vue

@@ -1,32 +0,0 @@
-<template>
-	<view class="container">
-		<member-list ref="childList"></member-list>
-	</view>
-</template>
-
-<script>
-	import memberList from '@/components/cm-module/listTemplate/memberList'
-	
-	export default {
-		components:{
-			memberList
-		},
-	    data(){
-	        return {
-				
-	        }
-	    },
-		onLoad() {
-			this.$refs.childList.getListFromServer(null);
-		},
-	    methods: {
-			
-	    }
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background: $sub-bg-color;
-	}
-</style>

+ 16 - 43
pages/tabBar/category/index.vue

@@ -2,22 +2,18 @@
 	<view id="category" :style="{paddingTop:CustomBar+'px'}">
 		<!--顶部搜索导航栏-->
 		<view class="'search-input-fixed" :style="{top:CustomBar/2+'px'}">
-			<cat-search :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" ></cat-search>
+			<cat-search :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" @click="hanldTabClick"></cat-search>
 		</view>
 		<view class="category-list">
-			<view class="category-tab">
-				<view class="category-tab-item" :class="categoryTabIndex ==1 ? 'active' : ''" @click="categoryTabClick(1)">产品</view>
-				<view class="category-tab-item" :class="categoryTabIndex ==2 ? 'active' : ''" @click="categoryTabClick(2)">仪器</view>
-			</view>
 			<!-- 左侧分类导航 -->
-			<scroll-view class="left-aside" scroll-y="true" scroll-with-animation :scroll-top="verticalNavTop" :style="{height:calc(100+'vh' - 102+'rpx'),top:(CustomBar+39)+'px'}">
+			<scroll-view class="left-aside" scroll-y="true" scroll-with-animation :scroll-top="verticalNavTop" :style="{top:(CustomBar+38)+'px',height:(windowHeight-CustomBar+38)+'px'}">
 				<view class="row" v-if="m.smalltypeList.length > 0" v-for="(m, index) in categoryList" :key="index" :class="[index==showCategoryIndex?'on':'']" @tap="showCategory($event,index)" :data-id="index">
 					<view class="text">{{m.name}}</view>
 					<view class="block"></view>
 				</view>
 			</scroll-view>
 			<!--右侧子导航-->
-			<scroll-view  scroll-y="true" class="right-aside" :style="{top:(CustomBar+39)+'px'}">
+			<scroll-view  scroll-y="true" class="right-aside" :style="{top:(CustomBar+38)+'px',height:(windowHeight-CustomBar+38)+'px'}">
 				<view class="category" v-if="n.smalltypeList.length > 0" v-for="(n,index) in categoryList" :key="index" v-show="index==showCategoryIndex" >
 					<view class="category-box" v-for="(o,oIndex) in n.smalltypeList" :key="oIndex">
 						<view class="title">{{o.name}}</view>
@@ -57,7 +53,9 @@
 				search: '',
 				cateTop: {},
 				verticalNavTop: 0,
-				categoryTabIndex:1
+				categoryTabIndex:1,
+				windowHeight:0,
+				scrollHeight:0,
 			}
 		},
 		onLoad() {
@@ -66,15 +64,19 @@
 		methods: {
 			// 数据初始化
 			initData() {
-				this.getProductCate();
+				this.GetProductCate(this.categoryTabIndex);
+				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
+				this.windowHeight = windowHeight - 1;
+				this.scrollHeight = windowHeight - 1;
 			},
-			categoryTabClick(index){
-				this.categoryTabIndex = index 
+			hanldTabClick(data){
+				this.categoryList = []
+				this.GetProductCate(data);
 			},
 			// 获取商品分类列表
-			getProductCate () {
-				this.ProductService.GetProductClassify().then(res =>{
-					this.categoryList = res.data
+			GetProductCate (index) {
+				this.CommonService.GetFirstClassly({typeSort:index,source :'crm'}).then(response =>{
+					this.categoryList = response.data
 					// 查询第一个拥有二级菜单的子菜单
 					for (let i = 0; i < this.categoryList.length; i++) {
 						if (this.categoryList[i].smalltypeList.length > 0) {
@@ -142,35 +144,6 @@
 			width: 100%;
 			background-color: #fff;
 			display: flex;
-			.category-tab{
-				width: 100%;
-				height: 76rpx;
-				display: flex;
-				border-bottom: 1px solid #EEE;
-				.category-tab-item{
-					flex: 1;
-					font-size: $font-size-30;
-					line-height: 76rpx;
-					text-align: center;
-					color: #93979f;
-					position: relative;
-					&::before{
-						content: '';
-						width:57rpx;
-						height: 4rpx;
-						background-color: #FFF;
-						position: absolute;
-						bottom: 0;
-						left: 50%;
-						margin-left: -28rpx;
-					}
-					&.active{
-						&::before{
-							background-color: #E15616;
-						}
-					}
-				}
-			}
 			.left-aside,.right-aside{
 				position: absolute;
 				top: 100rpx;

+ 25 - 70
pages/tabBar/home/index.vue

@@ -9,12 +9,12 @@
 			<!-- 金刚区菜单 -->
 			<navbars :list="navBarsList" v-if="isRequest"></navbars>
 			<!-- 直播 -->
-			<page-special :list="liveList" v-if="isRequest"></page-special>
+			<page-special :templateData="templateData" v-if="isRequest"></page-special>
 		</view>	
 		<!-- 楼层 -->
 		<view class="container-section tui-skeleton">
-			<page-floor :list="pageList" :userIdentity="userIdentity"></page-floor>
-			<supplier-list :list="supplierList" v-if="isRequest"></supplier-list>
+			<page-floor :list="pageList" :userIdentity="userIdentity" v-if="isRequest"></page-floor>
+			<supplier-list :supplierObj="supplierObj" v-if="isRequest"></supplier-list>
 		</view>
 		<!-- 侧边 -->
 		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
@@ -30,7 +30,6 @@
 	import pageFloor from '@/components/cm-module/homeIndex/pageFloor.vue'
 	import pageSpecial from '@/components/cm-module/homeIndex/pageSpecial.vue'
 	import supplierList from '@/components/cm-module/homeIndex/supplierList.vue'
-	import { pageList,liveList,supplierDataList } from '@/common/json/data.json.js' //本地数据
 	import { userInfoLogin } from "@/api/use.js"
 	import { mapState,mapMutations} from 'vuex';
 	export default {
@@ -70,9 +69,9 @@
 				flootData:[],//楼层
 				bannerImageList:[],//轮播
 				navBarsList:[],//导航分类
-				liveList:liveList,
-				pageList:pageList,//楼层
-				supplierList:supplierDataList,//供应商列表
+				templateData:[],
+				pageList:[],//楼层
+				supplierObj:{},//供应商列表
 				isScrollTop:false,
 				isRequest:false,
 			}
@@ -123,85 +122,41 @@
 					this.$util.msg(error.msg,2000)
 				})
 			},
+			GetHomeTopDataInfo(){//金刚区分类
+				this.CommonService.GetHomeTopDataInfo({source:2}).then(response =>{
+					this.templateData = response.data
+					console.log(this.templateData)
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
 			GetHomeFloorInfo(){//初始化首页楼层数据
-				this.CommonService.GetHomeFloorInfo({}).then(response =>{
-					let data = response.data
-					this.flootData = data
-					data.forEach((item,index) => {
-						switch(item.type){
-							case 3:
-								this.supplierList = item.floorData
-								break;	
-							case 4:
-								this.specialList = item.floorData
-								break;	
-							case 5:
-								this.specialProList = item.floorData
-								break;	
-							case 6:
-								this.pagesList = item.subFloors
-								break;
-						}
-					})
+				this.CommonService.GetHomeDataInfo({userId:this.userID,soure:2}).then(response =>{
+					let data = response.data;
+					this.liveList = data.liveList;
+					this.pageList = data.homePageFloor;
+					this.supplierObj = data.supplierImage;
+					console.log(this.pageList)
+					this.skeletonShow = false;
+					this.isRequest = true;
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
+			
 			getHomeInformation(){//初始化首页数据	
 				this.CommonService.GetHomeModulesDataInfo({ userId:this.userID }).then(res =>{
 					let data = res.data;
 					this.bannerImageList = data.bannerImageList
 					this.mallPageModules = data.mallPageModules
 					this.$store.commit('updateAllNum',data.shoppingCartCount)
-					this.GetHomeInit();
-					this.GetHomeRecommendInfo()
+					// this.GetHomeInit()
 					this.GetHomeFloorInfo()
+					this.GetHomeTopDataInfo()
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
-			GetHomeRecommendInfo(){//首页热门推荐
-				this.CommonService.GetHomeRecommendInfo({identity:this.identity}).then(response =>{
-					this.RecommendList = response.data
-					this.GetProductPrice()
-				})
-			},
-			GetProductPrice(){//获取商品或者活动价格
-				let productIdArr = [];
-				let productIds ='';
-				this.RecommendList.map(item=>{// 0公开价格 1不公开价格 2仅对会员机构公开
-					productIdArr.push(item.id)
-				})
-				productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:productIds}).then(response =>{
-					this.RecommendList = this.ReturnNewProducts(this.RecommendList,response.data);
-					this.skeletonShow = false;
-					this.isRequest = true
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			ReturnNewProducts(Array,list){
-				let NewArray = []
-				Array.map(item=>{
-					for (let i = 0; i < list.length; i++) {
-						if( item.id == list[i].productId ){
-							NewArray.push(Object.assign(item,list[i])) 
-						}
-					}
-				});
-				return NewArray
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
 			//轮播图切换修改背景色
 			swiperChange(e) {
 				const index = e.detail.current;

+ 5 - 5
pages/tabBar/user/user.vue

@@ -42,7 +42,7 @@
 					<view class="order-section">
 						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=1')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order5@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order5@3x.png" mode=""></image>
 								<text 	v-if="confirmedCount>0 && hasLogin" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[confirmedCount < 10 ? 'goleft':'']">
@@ -53,7 +53,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=2')"  hover-class="common-hover" :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order1@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order1@3x.png" mode=""></image>
 								<text  v-if="paymentCount >0 && hasLogin" 
 									   class="uni-badge uni-badge-error uni-small uni-badge--small icon-num " 
 									   :class="[paymentCount < 10 ? 'goleft':'']">
@@ -64,7 +64,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=3')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order2@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order2@3x.png" mode=""></image>
 								<text   v-if="waitShipmentsCount >0 && hasLogin" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[waitShipmentsCount < 10 ? 'goleft':'']">
@@ -75,7 +75,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=4')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order3@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order3@3x.png" mode=""></image>
 								<text 	v-if="shipmentsCount>0 && hasLogin" 
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[shipmentsCount < 10 ? 'goleft':'']">
@@ -86,7 +86,7 @@
 						</view>
 						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=5')" hover-class="common-hover"  :hover-stay-time="50">
 							<view class="order-icon">
-								<image src="../../../static/temp/order4@3x.png" mode=""></image>
+								<image src="https://static-b.caimei365.com/app/img/icon/order4@3x.png" mode=""></image>
 								<text 	v-if="salesReturnCount >0 && hasLogin"
 										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
 										:class="[salesReturnCount < 10 ? 'goleft':'']">

+ 0 - 628
pages/user/order/myOrder.vue

@@ -1,628 +0,0 @@
-<template>
-	<view class="container" :style="{paddingTop:navbarHeight+'px'}">
-		<!-- 自定义返回 -->
-		<header-back :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" :isDelete="isDelete"></header-back>
-		<view class="container-order">
-			<view class="search-input">
-				<template>
-					<view class="gosearch-btn" @click="goSearch()">
-						<text class="iconfont icon-iconfonticonfontsousuo1"></text>
-						<text>美白/润肤</text>
-					</view>
-				</template>
-			</view>
-			<!--选项卡逻辑自己实现即可,此处未做处理-->
-			<tui-tabs :tabs="tabs" 
-					  :isFixed="scrollTop>=0" 
-					  :currentTab="currentTab" 
-					  selectedColor="$color-system" 
-					  sliderBgColor="$color-system"
-					  @change="change"
-					  :marginTop="navbarHeight">
-			</tui-tabs>
-			<view  :class="{'tui-order-list':scrollTop >= 0}" class="clearfix">
-				<!-- 空白页 -->
-				<empty v-if="isEmpty" :typeIndex="currentTab" :navbarHeight="navbarHeight"></empty>
-				<!-- 列表 -->
-				<view v-else class="tui-order-content">
-					<view  class="tui-order-item" v-for="(order,orderIndex) in orderData" :key="orderIndex" >
-						<view class="order-title">
-							<view class="order-title-t">
-								<view class="order-title-num">订单号:{{order.orderNo}}</view>
-								<view class="order-title-tip">{{orderStateExp(order.status)}}</view>
-							</view>
-							<view class="order-title-b">下单时间:{{order.orderTime}}</view>
-						</view>
-						<block v-for="(item,index) in order.shopOrderList" :key="index">
-							<view class="goods-title">
-								<view class="title-logo"><image :src="item.shopLogo" mode=""></image></view>
-								<view class="title-text">{{item.shopName}}</view>
-							</view>
-							<view class="goods-item" v-for="(pros,prosIndex) in item.cmOrderProducts" :key="prosIndex" @click.stop="detail(order.orderID)">
-								<view class="goods-pros-t">
-									<view class="pros-img"><image :src="pros.productImage" alt="" /></view>
-									<view class="pros-product">
-										<view class="producttitle">{{pros.name}}</view>
-										<view class="productspec">规格:{{pros.productUnit}}</view>
-										<view class="productprice">
-											<view class="price">
-												<text>¥{{pros.price}}</text>
-											</view>
-											<view class="count">
-												<text class="small">x</text>{{pros.num}}
-											</view>
-										</view>
-									</view>	
-								</view>
-							</view>	
-						</block>
-						<view class="order-footer">
-							<view class="order-footer-top" v-if="order.discountFee!=0">经理折扣:¥{{orderPriceToFixed(order.discountFee)}}</view>
-							<view class="order-footer-bot">
-								<view class="count">共{{order.productCount}}件商品</view>
-								<view class="money">合计:¥{{orderPriceToFixed(order.payableAmount)}}</view>
-							</view>
-						</view>
-						<!-- 底部button -->
-						<order-button ref="orderButton" 
-									  :status="order.status" 
-									  :orderID="order.orderID" 
-									  @buttonConfirm="handButtonConfirm">
-						</order-button>
-					</view>
-					<!--加载loadding-->
-					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-					<tui-nomore :visible="!pullUpOn" bgcolor="#F7F7F7" :text='nomoreText'></tui-nomore>
-					<!--加载loadding-->
-				</view>
-			</view>
-		</view>
-		<!-- 分享弹窗 -->
-		<share-alert   v-if="isShareModal"
-					   :orderID="btnoRderID" 
-					   @shareConfirm ='onShareAppMessage'>
-		</share-alert>
-		<!-- 删除订单弹窗 -->
-		<model-alert v-if="isShowDelModal"
-					 :alertText='alertText'
-					 @btnConfirm ='handOrderDetele'>
-		</model-alert>
-		<!-- 取消订单弹窗 -->
-		<cancel-alert v-if="isCenceModal"
-					 :cenceAlertText='cenceAlertText'
-					 @cenceConfirm ='handCenceConfirm'>
-		</cancel-alert>
-		<!-- 透明模态层 -->
-		<modal-layer v-if='isModalLayer'></modal-layer>
-	</view>
-</template>
-
-<script>
-	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
-	import tuiTabs from "@/components/tui-components/tui-tabs/tui-tabs"
-	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
-	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
-	import tuiNomore from "@/components/tui-components/nomore/nomore"
-	import orderButton from '@/components/cm-module/orderDetails/orderListButton'		 //按钮
-	import modalLayer from "@/components/modal-layer"
-	import empty from "@/components/empty";
-	import shareAlert from '@/components/cm-module/modelAlert/shareAlert'			 //分享弹窗
-	import modelAlert from '@/components/cm-module/modelAlert/modelAlert'			 //删除弹窗
-	import cancelAlert from '@/components/cm-module/modelAlert/cancelAlert'		 //取消弹窗
-	export default {
-		components: {
-			empty,
-			tuiTabs,
-			tuiListCell,
-			tuiLoadmore,
-			tuiNomore,
-			orderButton,
-			modalLayer,
-			modelAlert,
-			shareAlert,
-			cancelAlert,
-			headerBack
-		},
-		data() {
-			return {
-				userID:0,
-				orderData: [],
-				btnoRderID: 0, //点击按钮传入的的订单ID
-				currentTab: 0,
-				pageNum: 1,	  //页数
-				pageSize: 10,  //条数
-				scrollTop: 0,
-				deteleType:'',
-				skeletonShow: true,
-				isEmpty: false,
-				isDelete:false,
-				isShareModal: false,//控制分享弹窗
-				isCenceModal: false,//控制取消订单弹窗
-				isShowDelModal: false,//控制删除订单弹窗
-				isModalLayer: false,
-				loadding: false,
-				pullUpOn: true,
-				hasNextPage: false,
-				pullFlag: true,
-				navbarHeight:'',
-				alertText: '确认删除订单吗?',
-				cenceAlertText: '确认取消该订单吗?',
-				nomoreText: '上拉显示更多',
-				tabs: [
-					{name: "全部"},
-					{name: "待付款"}, 
-					{name: "待发货"}, 
-					{name: "已发货"}, 
-					{name: "退货/款"},
-				],
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo:  this.setSysteminfo(),		 //获取设备信息
-				nvabarData: {							 //顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示
-					title: '我的订单', // 导航栏 中间的标题
-				}
-			}
-		},
-		onLoad(option) {
-			if(option.type ==='detele'){this.isDelete = true}
-			this.currentTab = option.state
-			this.getHeaderTopHeight()//设置自定义导航高度
-		},
-		methods: {
-			getOrderDatainit(index){
-				/**
-				 * @订单初始化加载  仅加载第一页码
-				 * @param:orderState(订单状态:0全部,1待付款,2待发货,3已发货,4退货款)
-				 * @param:userID(用户ID)
-				 * @param:index(页码数)
-				 * @param:pageSize(每页条数)
-				 * @param:organizeID(全局变量组织ID)
-				 */ 
-				// setTimeout(()=>{this.skeletonShow = false},1500)
-				this.$api.getStorage().then((resolve) =>{
-					this.userID = resolve.userID
-					let param = {orderState:index,userID:this.userID,index:1,pageSize:this.pageSize,organizeID:this.userOrganizeID}
-					this.$api.lodingGet('/order/myOrder',param,
-						response => {
-							if(response.code === '1'){
-								let resData = response.data.results
-								this.hasNextPage = response.data.hasNextPage;
-								if(resData && resData.length > 0){
-									this.isEmpty = false;
-									this.orderData = [...resData];
-								}else{
-									this.isEmpty = true
-								}
-								if(this.hasNextPage){
-									this.pullUpOn = false
-									this.nomoreText = '上拉显示更多'
-								}else{
-									if(this.orderData.length < 2){
-										this.pullUpOn = true
-									}else{
-										this.pullUpOn = false
-										this.nomoreText = '已至底部'
-									}
-								}
-							}else{
-								this.$util.msg(response.msg,2000);
-							}
-						}
-					)	
-				})	
-			}, 
-			getOnReachBottomData(index){//上拉加载
-				this.pageNum+=1
-				let param = {orderState:index,userID:this.userID,index:this.pageNum,pageSize:this.pageSize,organizeID:this.userOrganizeID}
-				this.$api.get('/order/myOrder',param,
-					response => {
-						if(response.code === '1'){
-							let resData = response.data.results
-							this.hasNextPage = response.data.hasNextPage;
-							this.orderData = this.orderData.concat(resData)
-							this.pullFlag = false;// 防上拉暴滑
-							setTimeout(()=>{this.pullFlag = true;},500)
-							if(this.hasNextPage){
-								this.pullUpOn = false
-								this.nomoreText = '上拉显示更多'
-							}else{
-								this.loadding = false
-								this.pullUpOn = false
-								this.nomoreText = '已至底部'
-							}
-						}else{
-							this.$util.msg(response.msg,2000);
-						}
-					}
-				)	
-			},
-			change(e) {//切换tab传递当前tab[index]执行初始化方法
-				this.currentTab = e.index
-				this.pageNum = 1
-				this.orderData = []
-				this.pullUpOn = true //切换时隐藏
-				this.loadding =  false //切换时隐藏
-				this.getOrderDatainit(this.currentTab)
-			},
-			detail(id) {//订单详情跳转
-				this.isModalLayer = true;	
-				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderID=${id}`)
-			},
-			handButtonConfirm(data) {//获取点击
-				this.handShowAlert(data)
-				this.btnoRderID = data.orderId
-			},
-			handShowAlert(data) {//执行
-				switch(data.type){
-					case 'delete':
-						this.isShowDelModal = true;
-						break
-					case 'cancel':
-						this.isCenceModal = true;
-						break
-					case 'query':
-						this.isModalLayer = true;
-						this.$api.navigateTo('/pages/user/order/order-logistics?orderID='+data.orderId)
-						break
-					case 'confirm':
-						this.handOrderConfirm(data.orderId);
-						break
-				}
-			},
-			handOrderConfirm (id){//确认收货
-				this.$api.get('/order/affirm',{orderID:id},
-					response => {
-						if(response.code === '1'){
-							this.$util.msg(response.msg,2000,true,'success');
-							this.isShowDelModal = false
-							setTimeout(() => {
-								this.getOrderDatainit(this.currentTab)
-							},2000)
-						}else{
-							this.$util.msg(response.msg,2000);
-						}
-					}
-				)
-			},
-			handOrderDetele (){//删除订单
-				this.$api.get('/order/delete',{orderID:this.btnoRderID},
-					response => {
-						if(response.code === '1'){
-							this.$util.msg(response.msg,2000,true,'success');
-							this.isShowDelModal = false
-							setTimeout(() => {
-								this.orderData = [];
-								this.getOrderDatainit(this.currentTab)
-							},2000)
-						}else{
-							this.$util.msg(response.msg,2000);
-						}
-					}
-				)
-			},
-			handCenceConfirm (){//取消订单
-				this.$api.get('/order/cancel',{orderID:this.btnoRderID},
-					response => {
-						if(response.code === '1'){
-							this.$util.msg(response.msg,2000,true,'success');
-							this.isCenceModal = false
-							setTimeout(() => {
-								this.orderData = [];
-								this.getOrderDatainit(this.currentTab)
-							},2000)
-						}else{
-							this.$util.msg(response.msg,2000);
-						}
-					}
-				)
-			},
-			onShareAppMessage (res){//分享转发
-				this.isShareModal = false
-				if (res.from === 'button') {// 来自页面内转发按钮
-			    }
-				return {
-					title: '您有新的分享订单,快来查看吧~',
-					path: `/pages/user/order/order-sharelogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
-					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
-				}
-			},
-			//订单状态文字和颜色
-			orderStateExp (state){
-				let stateText = '',
-					stateTextObject={
-						4:'交易完成',
-						5:'订单完成',
-						6:'已关闭',
-						7:'交易全退',
-						77:'交易全退',
-						11:'待付款待发货',
-						12:'待付款部分发货',
-						13:'待付款已发货',
-						21:'部分付款待发货',
-						22:'部分付款部分发货',
-						23:'部分付款已发货',
-						31:'已付款待发货',
-						32:'已付款部分发货',
-						33:'已付款已发货',
-						111:'待付款待发货',
-					}
-				Object.keys(stateTextObject).forEach(key => {
-					if(key == state){
-						stateText = stateTextObject[key]
-					}
-				})
-				return stateText;
-			},
-			orderPriceToFixed (n){
-				let price ='';
-				price = n.toFixed(2);
-				return price
-			},
-			getHeaderTopHeight (){ // 状态栏高度
-				let statusBarHeight = this.systeminfo.statusBarHeight
-				let headerPosi = this.headerBtnPosi
-				let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-				      height: headerPosi.height,
-				      width: headerPosi.width,
-				      // 胶囊top - 状态栏高度
-				      top: headerPosi.top - statusBarHeight,
-				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-				      // 屏幕宽度 - 胶囊right
-				      right: this.systeminfo.screenWidth - headerPosi.right
-				}
-				this.navbarHeight= headerPosi.bottom + btnPosi.bottom// 原胶囊bottom + 现胶囊bottom
-			},
-			setHeaderBtnPosi (){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
-				return headerBtnPosi
-			},
-			setSysteminfo (){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
-				})
-				return systeminfo
-			}
-		},
-		// onPullDownRefresh() {
-		// 	if(!this.isEmpty){
-		// 		setTimeout(() => {
-		// 			this.pageNum = 1,
-		// 			this.getOrderDatainit(this.currentTab)
-		// 			uni.stopPullDownRefresh()				
-		// 		}, 200);
-		// 	}
-		// },
-		onReachBottom() {//上滑加载更多
-			if(this.hasNextPage){
-				this.loadding = true
-				this.pullUpOn = true
-				this.getOnReachBottomData(this.currentTab);
-			}	
-		},
-		onPageScroll(e) {
-			this.scrollTop = e.scrollTop;
-		},
-		onShow() {
-			this.isModalLayer = false;	
-			this.getOrderDatainit(this.currentTab)
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background: #F7F7F7;
-	}
-	.container {
-		padding-bottom: env(safe-area-inset-bottom);
-		height: auto;
-		position: relative;
-	}
-	.tui-order-content{
-		width: 100%;
-		height: auto;
-	}
-	.tui-order-list {
-		margin-top: 80rpx;
-		width: 100%;
-		position: relative;
-	}
-	.tui-order-item {
-		display: flex;
-		flex-direction: column;
-		width: 702rpx;
-		padding:20rpx 24rpx 0 24rpx;
-		background: #fff;
-		border-bottom: 20rpx solid #F7F7F7;
-	}
-	.search-input{
-		width: 100%;
-		height: 80rpx;
-		margin-bottom: 20rpx;
-		.gosearch-btn{
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex: 1;
-			flex-direction: row;
-			justify-content: center;
-			align-items: center;
-			width: 662rpx;
-			height: 100%;
-			border-radius: 40rpx;
-			background: #F7F7F7;
-			margin: 0 auto;
-			padding:0 20rpx;
-			font-size: 28rpx;
-			line-height: 80rpx;
-			color: #8A8A8A;
-			.icon-iconfonticonfontsousuo1{
-				margin:0 6rpx;
-				font-size: 34rpx;
-				color: #F29857;
-				z-index: 10;
-			}
-		}
-	}
-	.order-title{
-		width: 100%;
-		height: auto;
-		.order-title-t{
-			width: 100%;
-			height: 40rpx;
-			float: left;
-			font-size: $font-size-28;
-			line-height: 40rpx;
-			font-weight: bold;
-			.order-title-num{
-				float: left;
-				text-align: left;
-				color: $color-system;
-			}
-			.order-title-tip{
-				float: right;
-				text-align: right;
-				color: #FF2A2A;
-			}
-		}
-		.order-title-b{
-			width: 100%;
-			height: 40rpx;
-			float: left;
-			margin-top: 8rpx;
-			font-size: $font-size-28;
-			line-height: 40rpx;
-			color: #999999;
-			text-align: left;
-		}
-	}
-	.goods-title{
-		width: 100%;
-		height: 48rpx;
-		float: left;
-		margin-top: 24rpx;
-		.title-logo{
-			width: 48rpx;
-			height: 48rpx;
-			float: left;
-			image{
-				width: 48rpx;
-				height: 48rpx;
-			}
-		}
-		.title-text{
-			float: left;
-			margin-left: 16rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			line-height: 48rpx;
-			font-weight: bold;
-		}
-	}
-	.goods-item{
-		width: 100%;
-		height: auto;
-	}	
-	.goods-pros-t{
-		display: flex;
-		align-items: center;
-		width: 100%;
-		height: 217rpx;
-		padding:24rpx 0;
-		.pros-img{
-			width: 210rpx;
-			height: 100%;
-			border-radius: 10rpx;
-			margin:0 26rpx 0 0;
-			border:1px solid #f3f3f3;
-			image{
-				width: 100%;
-				height: 100%;
-				border-radius: 10rpx;
-			}
-		}
-	}
-	.pros-product{
-		width: 468rpx;
-		height: 100%;
-		line-height: 36rpx;
-		font-size: $font-size-26;	
-		position: relative;
-		.producttitle{
-			width: 100%;
-			display: inline-block;
-			height: auto;							
-			text-overflow:ellipsis;
-			display: -webkit-box;
-			word-break: break-all;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-			margin-bottom: 8rpx;
-		}
-		.productspec{
-			height: 36rpx;
-			color: #999999;
-		}
-		.productprice{
-			height: 48rpx;
-			position: absolute;
-			width: 100%;
-			bottom: 0;
-			.price{
-				line-height: 48rpx;
-				font-size: $font-size-28;
-				width: 48%;
-				color: #FF2A2A;
-				float: left;
-				font-weight: bold;
-			}
-			.count{
-				height: 100%;
-				float: right;
-				position: relative;
-				.small{
-					color: #666666;
-				}
-			}
-		}
-	}
-	.order-footer{
-		width: 100%;
-		height: 78rpx;
-		float: left;
-		.order-footer-top{
-			width: 100%;
-			height: 34rpx;
-			line-height: 34rpx;
-			font-size: $font-size-24;
-			color: #999999;
-			text-align: right;
-		}
-		.order-footer-bot{
-			width: 100%;
-			float: left;
-			height: 48rpx;
-			line-height: 48rpx;
-			font-size: $font-size-28;
-			font-weight: bold;
-			color: $text-color;
-			.count{
-				width: 50%;
-				float: left;
-				text-align: left;
-			}
-			.money{
-				width: 50%;
-				float: right;
-				text-align: right;
-			}
-		}
-	}
-</style>

+ 0 - 367
pages/user/order/order-cashier.vue

@@ -1,367 +0,0 @@
-<template>
-	<view class="container cashier">
-		<headerNavbar :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" :page='2'></headerNavbar>
-		<view class="container-cash clearfix" :style="{paddingTop:navbarHeight+'px'}">
-			<view class="container-wrapper">
-				<view v-if="isSuccess" class="cashier-wrapper-empty" :style="{height:emptyWrapperH+'px'}">
-					<image class="cashier-wrapper-empty-image" src="https://img.caimei365.com/group1/M00/03/81/Cmis214BwaGANmv9AAE432FGJ5Q324.png"></image>
-					<view class="txt">订单提交并支付成功</view>
-				</view>
-				<view v-else class="cashier-wrapper">
-					<image src="https://img.caimei365.com/group1/M00/03/95/Cmis216Sk_SAKGNWAAEaFsvZ8c0647.png" mode=""></image>
-					<view class="wrapper-text">
-						<view>订单提交成功,请及时转账付款</view>
-						<view><text class="red">(目前只支持网银转账)</text>否则订单将会被取消。</view>
-					</view>
-					<view class="wrapper-message">
-						<view>支付金额:¥{{payableAmount}}</view>
-						<view>订单编号:{{orderNumber}}</view>
-						<view>订单标识:{{orderIdentification}} <text class="clipboard" @click="clipboard(orderIdentification)">复制</text></view>
-					</view>
-					<view class="wrapper-title">转账信息</view>
-					<view class="wrapper-message t">
-						<view>开户行:{{bankBranch}}</view>
-						<view>银行卡号:{{this.$reg.bankRegex(bankNumber)}}</view>
-						<view>户名:{{accountName}}</view>
-					</view>
-					<view class="wrapper-title">特别注意</view>
-					<view class="wrapper-text warning">
-						<view class="warning">请在网银转账备注中填写上述订单标识,或者直接复制本订单的订单标识,方便财务快速审核,提高发货速度。</view>
-					</view>					
-				</view>	
-				<view class="cash-btn" :style="{paddingBottom :isIphoneX ? '68rpx' : '20rpx'}">
-					<view class="btn btn-share" @click="onShareCode">分享订单<view class="tips" v-if="isShareCode">分享码:{{shareCode}}</view></view>
-					<view class="btn btn-query" @click="this.$api.navigateTo('/pages/user/order/order-details?type=confim&orderID='+shareOrderID)">查看订单</view>
-					<view class="btn btn-makes" @click="this.$api.switchTabTo('/pages/tabBar/home/index')">继续采购</view>
-				</view>
-			</view>
-		</view>
-		<share-alert ref="shareAlert" v-if="isShareModal" :orderID="shareOrderID"  @btnConfirm ='onShareAppMessage'></share-alert>
-	</view>
-</template>
-
-<script>
-	import headerNavbar from "@/components/cm-module/headerNavbar/headerNavbar.vue" //顶部自定义胶囊'
-	import shareAlert from "@/components/cm-module/modelAlert/shareAlert.vue" //分享弹窗'
-	const  thorui = require("@/components/clipboard/clipboard.thorui.js")
-	export default{
-		components:{
-			headerNavbar,
-			shareAlert
-		},
-		data(){
-			return{
-				userID:'',
-				shareOrderID:'',
-				isSuccess:false,
-				isShareModal:false,
-				isShareCode:false,
-				stateType:'',
-				payableAmount:0,
-				shareCode:'',
-				orderNumber:'',
-				orderIdentification:'#8888#',
-				bankBranch:'中信银行(深圳泰然支行)',
-				bankNumber:'6217 6803 0362 0897',
-				accountName:'周仁声',
-				navbarHeight:'',
-				emptyWrapperH: '',
-				headerBtnPosi:	this.setHeaderBtnPosi(),//获取设备顶部胶囊高度
-				systeminfo:this.setSysteminfo(),		 //获取设备信息
-				isIphoneX:this.$store.state.isIphoneX,
-				nvabarData: {							 //顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
-					title: '收银台', // 导航栏 中间的标题
-				}
-			}
-		},
-		onLoad(option) {
-			this.getHeaderTopHeight()
-			this.getWinHeight()
-			this.initData(option)
-		},
-		methods:{
-			initData(e){
-				let data = JSON.parse(e.data);
-				this.shareOrderID = data.data.orderID
-				if(e.type =='success'){
-					this.isSuccess = true					
-				}else{
-					this.orderNumber = data.data.orderNo
-					this.orderIdentification = data.data.orderMark
-					this.payableAmount = Number(data.data.payableAmount).toFixed(2)
-				}
-				this.$api.getStorage().then((resolve) => {
-					this.userID = resolve.userID;
-				})	
-			},
-			getWinHeight() {
-				const query = wx.createSelectorQuery().in(this);
-				query.selectAll('.cash-btn').boundingClientRect();
-				query.exec(res => {
-					let winHeight = this.$api.getWindowHeight(),
-						btnHeight = res[0][0].height;
-					this.emptyWrapperH = winHeight - btnHeight - this.navbarHeight;
-				})
-			},
-			setHeaderBtnPosi(){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
-				return headerBtnPosi
-			},
-			setSysteminfo(){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
-				})
-				return systeminfo
-			},
-			getHeaderTopHeight(){
-				let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
-				let headerPosi = this.headerBtnPosi
-				let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-				      height: headerPosi.height,
-				      width: headerPosi.width,
-				      // 胶囊top - 状态栏高度
-				      top: headerPosi.top - statusBarHeight,
-				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-				      // 屏幕宽度 - 胶囊right
-				      right: this.systeminfo.screenWidth - headerPosi.right
-				}
-				this.navbarHeight= headerPosi.bottom + btnPosi.bottom// 原胶囊bottom + 现胶囊bottom
-			},
-			clipboard(data) {
-				thorui.getClipboardData(data, (res) => {
-					if (res) {
-						this.$util.msg("复制成功",2000,true,'success');
-					} else {
-						this.$util.msg("复制失败",2000,true,'none');
-					}
-				})
-			},
-			onShareCode(){
-				this.isShareModal = true
-			},
-			onShareAppMessage(res){//分享转发
-				let self = this
-				self.isShareModal = false
-				if (res.from === 'button') {
-					// 来自页面内转发按钮
-					setTimeout(function(){
-						self.isShareCode = true;
-					},5000)
-			    }
-				return {
-					title: '您有新的分享订单,快来查看吧~',
-					path: `/pages/user/order/order-sharelogin?orderID=${this.shareOrderID}&userID=${this.userID}`,
-					imageUrl:'https://img.caimei365.com/group1/M00/03/95/Cmis216Sk_SABnOFABZCgCzFV_g063.png'
-				}
-			},
-			goIndex(){
-				uni.switchTab({
-				    url: '/pages/tabBar/home/index'
-				});
-			}
-		},
-		onShow() {
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	$width:100%;
-	$height:100%;
-	.container-cash{
-		width: $width;
-		.container-wrapper{
-			float: left;
-			width: $width;
-			.cashier-wrapper-empty{
-				width: $width;
-				float: left;
-				// min-height: 750rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				flex-direction: column;
-				background: $bg-color;
-				&-image {
-					width: 330rpx;
-					height: 260rpx;
-					margin-bottom: 10rpx;
-					margin-top: -120rpx;
-				}
-				.txt{
-					font-size: $font-size-28;
-					color: #07c160;
-					line-height: 44rpx;
-					font-weight: bold;
-				}
-			}
-			.cashier-wrapper{
-				width: 100%;
-				height: auto;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				padding-top: 36rpx;
-				padding-bottom: 100rpx;
-				image{
-					display: flex;
-					width: 330rpx;
-					height: 260rpx;
-					margin-bottom: 22rpx;
-				}
-				.wrapper-text{
-					font-size: $font-size-28;
-					color: $text-color;
-					text-align: center;
-					line-height: 44rpx;
-					font-weight: bold;
-					margin-bottom: 30rpx;
-					.red{
-						color: #FF2A2A;
-					}
-				}
-				.wrapper-text.warning{
-					width:540rpx;
-					text-align: justify;
-					color: #FF2A2A;
-					font-size: $font-size-24;
-					line-height: 40rpx;
-					font-weight: normal;
-				}
-				.wrapper-title{					
-					line-height: 36rpx;
-					text-align: center;
-					font-size: $font-size-26;
-					color: $text-color;
-					margin: 48rpx 0 24rpx 0;
-					font-weight: bold;
-					position: relative;
-					&:before{
-						content: '';
-						width: 210rpx;
-						height: 1px;
-						background: #F8F8F8;
-						position: absolute;
-						left: -235rpx;
-						top: 18rpx;						
-					}
-					&:after{
-						content: '';
-						width: 210rpx;
-						height: 1px;
-						background: #F8F8F8;
-						position: absolute;
-						right: -235rpx;
-						top: 18rpx;						
-					}
-				}
-				.wrapper-message.t{
-					width: 460rpx;
-					padding: 36rpx 25rpx 36rpx 65rpx;
-				}
-				.wrapper-message{
-					width: 400rpx;
-					height: 194rpx;
-					padding: 36rpx 75rpx;
-					border-radius: 30rpx;
-					background: rgba(255,255,255,0);
-					border: 1px solid #F8C499;
-					font-size: $font-size-26;
-					color: $text-color;
-					line-height: 64rpx;
-					text-align: left;
-					position: relative;
-					&:before{
-						content: "";
-						width: 100%;
-						height: 100%;
-						border-radius: 30rpx;
-						background: #F8C499;
-						position: absolute;
-						right: -20rpx;
-						bottom: -20rpx;
-						z-index: -1;
-						opacity: 0.2;
-					}
-					.clipboard{
-						width: 84rpx;
-						height: 36rpx;
-						background: linear-gradient(34deg,rgba(255,41,41,1) 0%,rgba(255,109,27,1) 100%);
-						text-align: center;
-						font-size: $font-size-24;
-						color: #FFFFFF;
-						border-radius: 6rpx;
-						line-height: 36rpx;
-						display: inline-block;
-						margin-left: 42rpx;
-					}
-				}
-			}
-			.cash-btn{
-				width: 612rpx;
-				height: 64rpx;
-				padding: 20rpx 69rpx;
-				display: flex;
-				align-items: center;
-				position: fixed;
-				bottom: 0;
-				left: 0;
-				background: #FFFFFF;
-				.btn{
-					width: 160rpx;
-					height: 64rpx;
-					margin: 0 22rpx;
-					line-height: 64rpx;
-					font-size:$font-size-26;
-					border-radius: 10rpx;
-					color: #FFFFFF;
-					text-align: center;
-				}
-				.btn-share{
-					background:linear-gradient(315deg,rgba(0,212,150,1) 0%,rgba(126,243,174,1) 100%);
-					position: relative;
-					.tips{
-						width: 160rpx;
-						height: 34rpx;
-						padding: 10rpx 10rpx;
-						background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-						box-shadow:0px 2px 4px 0px rgba(0,0,0,0.2);
-						border-radius: 8rpx;
-						position: absolute;
-						color: #FFFFFF;
-						line-height: 34rpx;
-						font-size: $font-size-24;
-						text-align: left;
-						left: 0;
-						top: -65rpx;
-						&:before{
-							content: "";
-							width: 25rpx;
-							height: 25rpx;
-							background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-							position: absolute;
-							bottom: -8rpx;
-							left: 30rpx;
-							z-index: -1;
-							transform:rotate(45deg);
-						}
-					}
-				}
-				.btn-query{
-					background:linear-gradient(225deg,rgba(44,180,255,1) 0%,rgba(0,115,255,1) 100%);
-				}
-				.btn-makes{
-					background:linear-gradient(315deg,rgba(231,0,0,1) 0%,rgba(255,104,1,1) 100%);
-				}
-			}
-		}
-	}
-	
-</style>

+ 0 - 2
pages/user/order/order-list.vue

@@ -111,7 +111,6 @@
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
 	import btSearch from '@/components/uni-search/bt-search.vue'						//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
 	import orderButton from '@/components/cm-module/orderDetails/orderListButton'		 //按钮
@@ -125,7 +124,6 @@
 			headerBack,
 			empty,
 			btSearch,
-			tuiListCell,
 			tuiLoadmore,
 			tuiNomore,
 			orderButton,

+ 0 - 312
pages/user/setting/password.vue

@@ -1,312 +0,0 @@
-<template>
-	<view class="container clearfix">
-		<view v-if="isEmpty" class="empty-container">
-			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AFmO1AAGxLZjSeDg040.png" mode="aspectFit"></image>
-			<view class="txt">您还没有收货地址</view>
-			<view class="txt">点击底部按钮添加收货地址吧~~</view>
-			<view class="login-btn" @click="addAddress('add')">添加新地址</view>
-		</view>
-		<view v-else class="address-list" :style="{'height': scrollHeight + 'px'}">
-			<scroll-view scroll-y="true" :style="{'height': scrollHeight + 'px'}">
-				<view class="list" v-for="(item, index) in addressList" :key="index" @click="checkAddress(item)">
-					<view class="wrapper">
-						<view class="u-box">
-							<text class="name">{{item.shouHuoRen}}</text>
-							<text class="mobile">{{item.mobile}}</text>
-						</view>
-						<view class="u-box b-b">
-							<text class="address">收货地址:{{item.province}}{{item.city}}{{item.town}}{{item.addressDetail}}</text>
-						</view>
-						<view class="u-box b-t">
-							<view v-if="item.defaultFlag == 1" class="tag-left">
-								<view class="tag">默认地址</view>
-							</view>
-							<view v-else class="tag-left"></view>
-							<view class="tag-right">
-								<view class="t-b"  @click.stop="deleteAddress(item.addressID)">
-									<text class="iconfont icon-shanchu"></text>
-									<text class="txt">删除</text>
-								</view>
-								<view class="t-b"  @click.stop="addAddress('edit',item)">
-									<text class="iconfont icon-bianji"></text>
-									<text class="txt">编辑</text>
-								</view>
-								
-							</view>
-						</view>
-					</view>
-				</view>
-			</scroll-view>
-			<view class="add-btn" @click="addAddress('add')">添加新地址</view>
-		</view>
-		<!-- 删除弹窗 -->
-		<model-alert v-if="isShowDelModal"
-					 :alertText='alertText' 
-					 @btnConfirm ='confirmDetele'>
-		</model-alert>
-	</view>
-</template>
-
-<script>
-	import authorize from '@/common/config/authorize.js'	
-	import modelAlert from '@/components/cm-module/modelAlert/modelAlert.vue'
-	export default {
-		components:{
-			modelAlert
-		},
-		data() {
-			return {
-				isSelect:false,
-				isEmpty:false,
-				isLoadMore:false,
-				alertText:'确定要删除该地址?',
-				userID:'',
-				pageNum:1,
-				pageSize:10,
-				addressList: [],
-				hasNextPage:false,
-				allowDataStatus:true,
-				isShowDelModal:false,
-				wrapperHeight:'100%',
-				scrollHeight:'',
-				deleteAddressId:'',
-				currPage:'',//当前页面
-				prevPage:''//上一个页面
-			}
-		},
-		onLoad(option){	
-			if(option.type=='select'){this.isSelect = true;}
-			this.setScrollHeight();
-		},
-		onReachBottom() {
-			if(this.isLoadMore) {
-				this.initAddressList();
-			}
-		},
-		methods: {
-			setScrollHeight() {
-				// 窗口高度 - 底部距离
-				setTimeout(()=> {
-					const query = wx.createSelectorQuery().in(this);
-					query.selectAll('.add-btn').boundingClientRect();
-					query.exec(res => {
-						if(res[0][0]){
-							let winHeight = this.$api.getWindowHeight(),
-								eleTop = res[0][0].top - 1;
-								this.scrollHeight =  eleTop;
-						}
-					})
-				}, 500)
-			},
-			initAddressList(){	
-				this.$api.getStorage().then((resolve) =>{
-					this.userID = resolve.userID
-					this.$api.get('/personal/findAddress',{index:this.pageNum,pageSize:this.pageSize,userID:this.userID},
-						response => {
-							if(response.results == ''){
-								this.isEmpty = true
-							}else{
-								this.isEmpty = false
-								let results =[];
-								results = response.results;
-								this.addressList = this.addressList.concat(results);
-								this.pageNum = response.index +1;
-								if(this.pageNum === response.totalPage + 1 ){
-									this.isLoadMore = false;
-								} else {
-									this.isLoadMore = true;
-								}
-							}
-						}
-					)
-				})
-			},
-			//选择地址
-			checkAddress(item){
-				//是否需要返回地址(从订单确认页跳过来选收货地址)
-				if(!this.isSelect){return ;}
-				uni.setStorageSync('selectAddress',item)
-				var pages = getCurrentPages();
-				var prevPage = pages[pages.length - 2];  //上一个页面	
-					prevPage.setData({select:'select'})
-				uni.navigateBack();
-			},
-			addAddress(type,item){
-				uni.navigateTo({
-					url: `/pages/user/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
-				})
-			},
-			//删除收货地址
-			deleteAddress(id){
-				this.isShowDelModal = true;
-				this.deleteAddressId =id;
-			},
-			confirmDetele(){
-				authorize.getCode('weixin').then(wechatcode =>{
-					this.$api.get('/personal/delete?code='+`${wechatcode}`,{addressID:this.deleteAddressId,userOrganizeID:this.userOrganizeID},
-						response => {
-							if(response.code==1){
-								uni.showToast({
-									icon: 'none',
-									title: response.msg,
-									duration: 2000
-								})
-								this.isShowDelModal = false;
-								this.pageNum = 1;
-								this.addressList = [];
-								this.initAddressList();
-							}else{
-								this.$util.msg(response.msg,2000);
-								this.isShowDelModal = false;
-								setTimeout(function(){
-									uni.switchTab({
-										url:'/pages/tabBar/home/index'
-									})
-								},1000)
-							}
-						}
-					)
-				})	
-			},
-		},
-		onShow() {
-			this.pageNum = 1;
-			this.addressList = [];
-			this.initAddressList();
-			var pages = getCurrentPages();
-			var prevPage = pages[pages.length - 2];  //上一个页面	
-				// prevPage.setData({select:''})
-		}
-	}
-</script>
-
-<style lang='scss'>
-	page {
-		height: auto;
-	}
-	page,.container{
-		/* padding-bottom: 120upx; */
-		background: #F7F7F7;
-		border-top: 1px solid #EBEBEB;
-	}
-	.container{
-		position: relative;
-	}
-	.list{
-		display: flex;
-		align-items: center;
-		width: 702rpx;
-		height: auto;
-		padding: 24rpx;
-		background: #FFFFFF;
-		position: relative;
-		border-bottom: 1px solid #EBEBEB;
-	}
-	.wrapper{
-		display: flex;
-		flex-direction: column;
-		flex: 1;
-	}
-	.u-box.b-b{
-		
-	}
-	.u-box.b-b{
-		margin-bottom:24rpx;
-	}
-	.u-box.b-t{
-		margin-bottom:0;
-	}
-	.u-box{
-		display: flex;
-		align-items: center;
-		font-size: $font-size-28;
-		color: $text-color;
-		line-height: 40rpx;
-		margin-bottom: 12rpx;
-		.name{
-			margin-right: 40rpx;
-			font-weight: bold;
-		}
-		.mobile{
-			font-weight: bold;
-		}
-		.tag-left{
-			flex: 6;
-			.tag{
-				width: 120rpx;
-				height: 40rpx;
-				background: $color-system;
-				border-radius: 20rpx;
-				font-size: $font-size-24;
-				color: #FFFFFF;
-				line-height: 40rpx;
-				text-align: center;
-				padding: 0 6rpx;
-			}
-		}
-		.tag-right{
-			flex: 4;
-			display: flex;
-			text-align: right;
-			.t-b{
-				flex: 1;
-				line-height: 40rpx;
-				.txt{
-					font-size: $font-size-24;
-					color: $text-color;
-					line-height: 40rpx;
-				}
-			}
-			.icon-shanchu{
-				color:#FF2A2A ;
-				margin-right: 8rpx;
-			}
-			.icon-bianji{
-				color: #2A7AFF;
-				margin-right: 8rpx;
-			}
-		}
-		.address{
-			font-size: $font-size-28;
-			color: $text-color;
-			line-height: 40rpx;
-			-o-text-overflow: ellipsis;
-			text-overflow: ellipsis;
-			display: -webkit-box;
-			word-break: break-all;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-		}
-	}
-	.add-btn{
-		position: fixed;
-		left: 24rpx;
-		right: 24rpx;
-		bottom: 34rpx;
-		z-index: 95;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		width: 702rpx;
-		height: 88rpx;
-		font-size: $font-size-28;
-		line-height: 88rpx;
-		color: #FFFFFF;
-		text-align: center;
-		background: $btn-confirm;
-		border-radius: 14rpx;
-	}
-	.adds-btn{
-		width: 702rpx;
-		height: 88rpx;
-		font-size: 28rpx;
-		line-height: 88rpx;
-		color: #FFFFFF;
-		margin: 0 auto;
-		text-align: center;
-		background: #000000;
-		border-radius: 14rpx;
-	}
-</style>
-

+ 0 - 2
second/pages/form/form.vue

@@ -229,7 +229,6 @@
 </template>
 
 <script>
-	import listCell from "@/components/tui-components/list-cell/list-cell.vue"
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
 	import paymentRecord from '@/components/cm-module/orderDetails/paymentRecord'
 	import { uploadFileImage } from "@/api/utils.js"
@@ -239,7 +238,6 @@
 	export default{
 		name:'secondHandrelease',
 		components:{
-			listCell,
 			mpvueCityPicker,
 			paymentRecord,
 		},

+ 3 - 3
seller/pages/index/index.vue

@@ -44,9 +44,9 @@
 				isHomeData: false,
 				isIphoneX:this.$store.state.isIphone,
 				tab_nav_list :[//菜单列表
-					{'id':0,'name':'首页',icon:'../../../static/icon-home@3x.png',iconAc:'../../../static/icon-home-active@3x.png'},
-					{'id':1,'name':'分类',icon:'../../../static/icon-sort@3x.png',iconAc:'../../../static/icon-sort-active@3x.png'},
-					{'id':2,'name':'我的',icon:'../../../static/icon-user@3x.png',iconAc:'../../../static/icon-user-active@3x.png'}
+					{'id':0,'name':'首页',icon:'https://static-b.caimei365.com/app/img/icon/icon-home@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-home-active@3x.png'},
+					{'id':1,'name':'分类',icon:'https://static-b.caimei365.com/app/img/icon/icon-sort@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-sort-active@3x.png'},
+					{'id':2,'name':'我的',icon:'https://static-b.caimei365.com/app/img/icon/icon-user@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-user-active@3x.png'}
 				],
 				nvabarData: {		//顶部自定义导航
 					showCapsule: 0, // 是否显示左上角图标  1表示显示  0表示不显示,

+ 0 - 2
seller/pages/order/myOrder.vue

@@ -100,7 +100,6 @@
 <script>
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
 	import tuiTabs from "@/components/tui-components/tui-tabs/tui-tabs"
-	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
 	import orderButton from '@/components/cm-module/orderDetails/orderListButton'		 //按钮
@@ -113,7 +112,6 @@
 		components: {
 			empty,
 			tuiTabs,
-			tuiListCell,
 			tuiLoadmore,
 			tuiNomore,
 			orderButton,

+ 0 - 2
seller/pages/order/order-historylist.vue

@@ -111,7 +111,6 @@
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		//自定义顶部导航
 	import btSearch from '@/components/uni-search/bt-search.vue'				//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
 	import orderButton from '@/components/cm-module/orderDetails/sellerOrderButton' //操作按钮
@@ -124,7 +123,6 @@
 			headerBack,
 			empty,
 			btSearch,
-			tuiListCell,
 			tuiLoadmore,
 			tuiNomore,
 			orderButton,

+ 0 - 2
seller/pages/order/order-list.vue

@@ -135,7 +135,6 @@
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		//自定义顶部导航
 	import btSearch from '@/components/uni-search/bt-search.vue'				//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
 	import orderButton from '@/components/cm-module/orderDetails/sellerOrderButton' //操作按钮
@@ -149,7 +148,6 @@
 			headerBack,
 			empty,
 			btSearch,
-			tuiListCell,
 			tuiLoadmore,
 			tuiNomore,
 			orderButton,

+ 2 - 2
services/ajax.env.js

@@ -2,10 +2,10 @@ let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
 	// URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
-	// URL_CONFIG = 'http://192.168.2.67: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.caimei365.com'
+	// URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境
 	// URL_CONFIG = 'https://spi-b.caimei365.com'

+ 11 - 3
services/common.service.js

@@ -14,9 +14,17 @@ export default class CommonService {
 	GetHomeModulesDataInfo (data = {}) {
 		return this.AjaxService.get({ url:'/home/modules', data, isLoading: false })
 	}
-	/* 首页热门推荐 */
-	GetHomeRecommendInfo (data = {}) {
-		return this.AjaxService.get({ url:'/home/recommend', data, isLoading: false })
+	/* 首页楼层数据 */
+	GetHomeDataInfo (data = {}) {
+		return this.AjaxService.get({ url:'/home/data', data, isLoading: false })
+	}
+	/* 首页楼层查看更多数据 */
+	GetHomeFloorContentDetails (data = {}) {
+		return this.AjaxService.get({ url:'/home/floorContentDetails', data, isLoading: false })
+	}
+	/* 首页顶部三个模块数据 */
+	GetHomeTopDataInfo (data = {}) {
+		return this.AjaxService.get({ url:'/home/top/data', data, isLoading: false })
 	}
 	/* 获取其他服务信息 */
 	QueryAfterSale (data = {}) {

BIN
static/temp/address-icon.png


BIN
static/temp/arrow-right.png


BIN
static/temp/authenticated-icon.png


BIN
static/temp/name-icon.png


BIN
static/temp/order1@3x.png


BIN
static/temp/order2@3x.png


BIN
static/temp/order3@3x.png


BIN
static/temp/order4@3x.png


BIN
static/temp/order5@3x.png


+ 3 - 3
supplier/pages/index/index.vue

@@ -44,9 +44,9 @@
 				isHomeData: false,
 				isIphoneX:this.$store.state.isIphone,
 				tab_nav_list :[//菜单列表
-					{'id':0,'name':'首页',icon:'../../../static/icon-home@3x.png',iconAc:'../../../static/icon-home-active@3x.png'},
-					{'id':1,'name':'分类',icon:'../../../static/icon-sort@3x.png',iconAc:'../../../static/icon-sort-active@3x.png'},
-					{'id':2,'name':'我的',icon:'../../../static/icon-user@3x.png',iconAc:'../../../static/icon-user-active@3x.png'}
+					{'id':0,'name':'首页',icon:'https://static-b.caimei365.com/app/img/icon/icon-home@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-home-active@3x.png'},
+					{'id':1,'name':'分类',icon:'https://static-b.caimei365.com/app/img/icon/icon-sort@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-sort-active@3x.png'},
+					{'id':2,'name':'我的',icon:'https://static-b.caimei365.com/app/img/icon/icon-user@3x.png',iconAc:'https://static-b.caimei365.com/app/img/icon/icon-user-active@3x.png'}
 				],
 				nvabarData: {		//顶部自定义导航
 					showCapsule: 0, // 是否显示左上角图标  1表示显示  0表示不显示,