xiebaomin 2 gadi atpakaļ
vecāks
revīzija
78b5fb6ac5
73 mainītis faili ar 1069 papildinājumiem un 12704 dzēšanām
  1. 2 2
      common/css/common.scss
  2. 40 4
      common/css/iconfont.scss
  3. 46 46
      components/cm-custom/custom-d.vue
  4. 2 2
      components/cm-module/cm-cart-temp/cm-unit-popup.vue
  5. 65 609
      components/cm-module/cm-cart-temp/index.vue
  6. 0 0
      components/cm-module/cm-cart-temp/mixins/apisMixins.js
  7. 0 0
      components/cm-module/cm-cart-temp/mixins/cartMixins.js
  8. 1 1
      components/cm-module/scrollTop/scrollTop.vue
  9. 0 80
      components/empty.vue
  10. 1 1
      components/uni-grade/uni-grade.vue
  11. 4 2
      main.js
  12. 3 21
      mixins/global.js
  13. 1 1
      mixins/payMixins.js
  14. 419 502
      pages.json
  15. 1 1
      pages/goods/cart.vue
  16. 0 79
      pages/goods/components/cm-attributes.vue
  17. 1 39
      pages/goods/components/cm-header.vue
  18. 48 48
      pages/goods/components/cm-navbar.vue
  19. 0 133
      pages/goods/components/cm-parameter.vue
  20. 5 509
      pages/goods/components/cm-price.vue
  21. 0 744
      pages/goods/components/cm-product-doc.vue
  22. 0 155
      pages/goods/components/cm-product-modal.vue
  23. 0 87
      pages/goods/components/cm-return-instructions.vue
  24. 0 84
      pages/goods/components/cm-service.vue
  25. 3 234
      pages/goods/components/cm-unit-price.vue
  26. 0 267
      pages/goods/components/cm-unit-suppor-popup.vue
  27. 0 175
      pages/goods/components/instrument-recommend.vue
  28. 0 183
      pages/goods/components/recommend.vue
  29. 0 1
      pages/goods/good-floor.vue
  30. 0 983
      pages/goods/good-hot.vue
  31. 0 1328
      pages/goods/goods-classify.vue
  32. 0 105
      pages/goods/goods-doc-detail.vue
  33. 0 300
      pages/goods/goods-doc-list.vue
  34. 0 1188
      pages/goods/goods-supporting.vue
  35. 0 687
      pages/goods/instrument-details.vue
  36. 74 322
      pages/goods/product.vue
  37. 1 2
      pages/notice/club/notice-coupon.vue
  38. 2 3
      pages/notice/club/notice-order.vue
  39. 1 2
      pages/notice/club/notice-serve.vue
  40. 1 2
      pages/notice/club/notice-users.vue
  41. 48 0
      pages/search/components/empty.vue
  42. 1 11
      pages/search/search-order.vue
  43. 1 1
      pages/tabBar/cart/index.vue
  44. 4 6
      pages/tabBar/notice/index.vue
  45. 1 0
      pages/tabBar/user/user.vue
  46. 1 0
      pages/user/address/address.vue
  47. 1 0
      pages/user/collection/collection.vue
  48. 0 161
      pages/user/operator/addoperator.vue
  49. 0 593
      pages/user/operator/list.vue
  50. 0 126
      pages/user/order/components/cm-return-instructions.vue
  51. 0 425
      pages/user/order/components/coupon.vue
  52. 48 0
      pages/user/order/components/empty.vue
  53. 0 211
      pages/user/order/components/exchangeCoupon.vue
  54. 0 54
      pages/user/order/components/freight.vue
  55. 1 57
      pages/user/order/components/goodsList.vue
  56. 223 544
      pages/user/order/create-order.vue
  57. 3 3
      pages/user/order/order-details.vue
  58. 4 4
      pages/user/order/order-list.vue
  59. 1 1
      pages/user/order/order-pay-list.vue
  60. 0 839
      pages/user/order/order-pay.vue
  61. 0 723
      pages/user/order/order-payment.vue
  62. 1 1
      pages/user/order/order-sharedetails.vue
  63. 1 1
      pages/user/order/order-sharelogin.vue
  64. 1 1
      pages/user/pay/card-comfirm-sub.vue
  65. 0 1
      pages/user/pay/card-list.vue
  66. 1 1
      pages/user/pay/card-order.vue
  67. 0 1
      pages/user/pay/card-sus-list.vue
  68. 1 1
      pages/user/pay/card-under.vue
  69. 2 1
      pages/user/pay/components/cm-record-popup.vue
  70. 1 2
      pages/user/pay/success-tips.vue
  71. 0 0
      pages/user/pay/success.vue
  72. 2 2
      services/config.env.js
  73. 1 1
      utils/router.config.js

+ 2 - 2
common/css/common.scss

@@ -80,8 +80,8 @@ button::after{
 		margin-bottom: 20rpx;
 	}
 	&-image {
-		width: 332rpx;
-		height: 260rpx;
+		width: 386rpx;
+		height: 286rpx;
 		margin-bottom: 10rpx;
 		margin-top: -120rpx;
 	}

+ 40 - 4
common/css/iconfont.scss

@@ -1,9 +1,9 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4053045 */
-  src: url('//at.alicdn.com/t/c/font_4053045_ww8z5uih1ve.woff2?t=1683552153840') format('woff2'),
-       url('//at.alicdn.com/t/c/font_4053045_ww8z5uih1ve.woff?t=1683552153840') format('woff'),
-       url('//at.alicdn.com/t/c/font_4053045_ww8z5uih1ve.ttf?t=1683552153840') format('truetype'),
-       url('//at.alicdn.com/t/c/font_4053045_ww8z5uih1ve.svg?t=1683552153840#iconfont') format('svg');
+  src: url('//at.alicdn.com/t/c/font_4053045_tztu6byiibq.woff2?t=1683624677435') format('woff2'),
+       url('//at.alicdn.com/t/c/font_4053045_tztu6byiibq.woff?t=1683624677435') format('woff'),
+       url('//at.alicdn.com/t/c/font_4053045_tztu6byiibq.ttf?t=1683624677435') format('truetype'),
+       url('//at.alicdn.com/t/c/font_4053045_tztu6byiibq.svg?t=1683624677435#iconfont') format('svg');
 }
 
 .iconfont {
@@ -14,6 +14,42 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-weixinzhifu:before {
+  content: "\e62a";
+}
+
+.icon-iconfontguanbi:before {
+  content: "\e623";
+}
+
+.icon-yixuanze3:before {
+  content: "\e6d1";
+}
+
+.icon-weixinzhifu1:before {
+  content: "\e6d4";
+}
+
+.icon-qiyewangyinzhifu:before {
+  content: "\e6fd";
+}
+
+.icon-gerenwangyinzhifu:before {
+  content: "\e6fe";
+}
+
+.icon-vertical_line:before {
+  content: "\e63a";
+}
+
+.icon-zixunrexian:before {
+  content: "\e75f";
+}
+
+.icon-yishoucang:before {
+  content: "\e75e";
+}
+
 .icon-zhiding:before {
   content: "\e6a5";
 }

+ 46 - 46
components/cm-custom/custom-d.vue

@@ -1,14 +1,14 @@
 <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;'}">
-	    	{{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" :style="{width:headerBtnPosi.width+'px',lineHeight:(navbarBtn.height)+'px',top:navbarBtn.top + statusBarHeight+'px',left:navbarBtn.right+'px',height:(navbarBtn.height)+'px'}">
-			  <text @click="_goBack" class="iconfont icon-shangyibu" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	      	  <text class="iconfont icon-vertical_line" :style="{borderColor:navbarData.borderColor ? navbarData.borderColor : 'rgba(0,0,0,0.4)'}"></text>
+	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
+	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}">
+	    	{{navbarData.title ? navbarData.title : " "}}
+	  	</view>
+	  	<view class="navbar-icon" :style="{width:headerBtnPosi.width+'px',lineHeight:(navbarBtn.height)+'px',top:navbarBtn.top + statusBarHeight+'px',left:navbarBtn.right+'px',height:(navbarBtn.height)+'px'}">
+			  <text @click="_goBack" class="iconfont icon-fanhui" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
+	      	  <text class="iconfont icon-vertical_line" :style="{borderColor:navbarData.borderColor ? navbarData.borderColor : 'rgba(0,0,0,0.4)'}"></text>
 			  <text @click="_goDetails" class="iconfont icon-shouye" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	  	</view>
+	  	</view>
 	</view>
 </template>
 
@@ -33,14 +33,14 @@
 		data() {
 			return{
 				haveBack: true, // 是否有返回按钮,true 有 false 没有 若从分享页进入则为 false
-			    statusBarHeight: 0, // 状态栏高度
-			    navbarHeight: 0, // 顶部导航栏高度
-			    navbarBtn: { // 胶囊位置信息
-			      height: 0,
-			      width: 0,
-			      top: 0,
-			      bottom: 0,
-			      right: 0
+			    statusBarHeight: 0, // 状态栏高度
+			    navbarHeight: 0, // 顶部导航栏高度
+			    navbarBtn: { // 胶囊位置信息
+			      height: 0,
+			      width: 0,
+			      top: 0,
+			      bottom: 0,
+			      right: 0
 				},
 				platform:'',
 				fontSizeSetting:0,
@@ -51,48 +51,48 @@
 			this.fontSizeSetting = this.systeminfo.fontSizeSetting
 			let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
 			let headerPosi = this.headerBtnPosi // 胶囊位置信息
-		    /**
-		     * wx.getMenuButtonBoundingClientRect() 坐标信息以屏幕左上角为原点
-		     * 菜单按键宽度: 87
-		     * 菜单按键高度: 32
-		     * 菜单按键左边界坐标: 278
-		     * 菜单按键上边界坐标: 26
-		     * 菜单按键右边界坐标: 365
-		     * 菜单按键下边界坐标: 58
-		     */
+		    /**
+		     * 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
+			      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;
+			     haveBack = false;
 			} else {
-			     haveBack = true;
+			     haveBack = true;
 			}
-		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
-		    this.statusBarHeight=statusBarHeight,
-		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
-		    this.navbarBtn=btnPosi
+		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
+		    this.statusBarHeight=statusBarHeight,
+		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
+		    this.navbarBtn=btnPosi
 		},
 		onLoad(){
 			
 		},
 		methods:{
 			_goBack: function () {
-		      	uni.navigateBack({
-		        	delta: this.page
-		      	});
-		    },
-		    _goDetails: function () {
-		      this.$emit('pageDetails')
-		    }
+		      	uni.navigateBack({
+		        	delta: this.page
+		      	});
+		    },
+		    _goDetails: function () {
+		      this.$emit('pageDetails')
+		    }
 		},
 		onShow(){
 	

+ 2 - 2
components/cm-module/cm-cart/cm-unit-popup.vue → components/cm-module/cm-cart-temp/cm-unit-popup.vue

@@ -330,7 +330,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #F3B574;
+						background: #FF5B00;
 					}
 				}
 				.tips {
@@ -430,7 +430,7 @@ export default {
 			box-sizing: border-box;
 			&.cancel {
 				background: #ffe6dc;
-				color: #F3B574;
+				color: #FF5B00;
 			}
 			&.confirm {
 				background: $btn-confirm;

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 65 - 609
components/cm-module/cm-cart-temp/index.vue


+ 0 - 0
components/cm-module/cm-cart/mixins/apisMixins.js → components/cm-module/cm-cart-temp/mixins/apisMixins.js


+ 0 - 0
components/cm-module/cm-cart/mixins/cartMixins.js → components/cm-module/cm-cart-temp/mixins/cartMixins.js


+ 1 - 1
components/cm-module/scrollTop/scrollTop.vue

@@ -5,7 +5,7 @@
 			<view class="icon msg">
 				<!-- #ifdef MP-WEIXIN -->
 				<button class="contact-btn" open-type="contact" @bindcontact="handleContact">
-					<text class="iconfont icon-kefu"></text>
+					<text class="iconfont icon-zixunrexian"></text>
 				</button>	
 				<!-- #endif -->
 			</view>

+ 0 - 80
components/empty.vue

@@ -1,80 +0,0 @@
-<template>
-	<view class="empty-content">
-		<image class="empty-content-image" :src="setSrc" mode="aspectFit"></image>
-		<text class="error-text">{{EmptyText}}</text>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			src: {
-				type: String,
-				default: 'empty'
-			},
-			typeIndex:{
-				type:String,
-				default: 'empty'
-			},
-			navbarHeight:{
-				type:Number
-			}
-		},
-
-		data() {
-			return {
-				typeSrcall: {
-					empty: 'https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AcewRAAEtqt4jZmU397.png',				
-				},
-				typeSrc: {
-					empty: 'https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AJZvwAAGWWe4DnXk371.png',				
-				},
-				EmptyText:'',
-			}
-		},
-		created(){
-			if(this.typeIndex==0){
-				this.EmptyText = '您还没有任何的订单哟~'
-			}else{
-				this.EmptyText = '您还没有相关的订单哟~'
-			}
-		},
-		computed: {
-			setSrc() {
-				let url;
-				if(this.typeIndex==0){					
-					url = this.typeSrcall[this.src]
-				}else{
-					url = this.typeSrc[this.src]
-				}
-				return url;
-			},
-		},
-	}
-</script>
-
-<style lang="scss">
-	.empty-content {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-direction: column;
-		position: fixed;
-		top: 0;
-		left: 0;
-		bottom: 0;
-		right: 0;
-		margin: auto;
-		background: $bg-color;
-		z-index: 999;
-		&-image {
-			width: 382rpx;
-			height: 310rpx;
-		}
-		.error-text{
-			font-size: $font-size-28;
-			color: $text-color;
-			line-height: 88rpx;
-		}
-	}
-</style>

+ 1 - 1
components/uni-grade/uni-grade.vue

@@ -18,7 +18,7 @@
 		},
 		data() {
 			return {
-				
+				staticUrl:this.global.staticUrl
 			};
 		},
 		created() {

+ 4 - 2
main.js

@@ -5,7 +5,7 @@ import './services/index.js'
 import * as Api from '@/common/config/caimeiApi.js'
 import * as Regs from '@/common/config/common.js'
 import { dateFormat } from './utils/util.js'
-import globalMixin from '@/mixins/global.js'
+import global from '@/mixins/global.js'
 import ResidenceTime from './plugins/simple-residence-time'
 import residence from './utils/residence.js'
 
@@ -43,13 +43,15 @@ Vue.prototype.$store = store
 Vue.prototype.$util = { msg, prePage, modal, boundingClientRect }
 Vue.prototype.$api = Api
 Vue.prototype.$reg = Regs
+Vue.prototype.global = global
+
 App.mpType = 'app'
 
 // 使用插件
 // Vue.use(ResidenceTime, residence)
 
 // 全局混入
-Vue.mixin(globalMixin)
+// Vue.mixin(globalMixin)
 
 const app = new Vue({
     ...App

+ 3 - 21
mixins/global.js

@@ -1,23 +1,5 @@
+const staticUrl = 'https://static.caimei365.com/app/mini-mcare/icon/'
+
 export default {
-    data() {
-        return {
-            // 静态资源路径
-            staticUrl: 'https://static.caimei365.com/app/mini-mcare/icon/'
-        }
-    },
-    methods: {
-        jumpAction(data) {
-            const { jumpType, jumpLink, jumpProductId, jumpImage } = data
-            if (jumpType === 1 && !jumpLink) return
-            if (jumpType === 2 && !jumpProductId) return
-            if (jumpType === 3 && !jumpImage) return
-            // jumpType 跳转类型:1链接,2商品,3图片
-            const jumpMap = {
-                1: `others/web-view?websit=${encodeURIComponent(jumpLink)}`,
-                2: `goods/goods-detail?productId=${jumpProductId}&jumpState=0`,
-                3: `others/image-view?imageUrl=${encodeURIComponent(jumpImage)}`
-            }
-            this.$router.navigateTo(jumpMap[jumpType])
-        }
-    }
+    staticUrl
 }

+ 1 - 1
mixins/payMixins.js

@@ -43,7 +43,7 @@ const payMixins = {
                         orderId:this.shopOrderInfo.orderId,
                         type:'success'
                     }
-			        uni.redirectTo({ url: `/pages/user/order/order-success?data=${JSON.stringify({ data: linkData })}`})
+			        uni.redirectTo({ url: `/pages/user/pay/success?data=${JSON.stringify({ data: linkData })}`})
 			    } else {
                     // 微信支付失败
 			        this.$util.msg('支付失败~',2000)

+ 419 - 502
pages.json

@@ -1,504 +1,421 @@
 {
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-		{
-			"path": "pages/tabBar/home/index",
-			"style": {
-				"navigationBarTitleText": "联合丽格集采商城",
-				"enablePullDownRefresh": true,
-				"backgroundTextStyle": "light"
-			}
-		}, {
-			"path": "pages/tabBar/notice/index",
-			"style": {
-				"navigationBarTitleText": "消息通知",
-				"navigationStyle": "custom"
-			}
-		}, {
-			"path": "pages/tabBar/category/index",
-			"style": {
-				"navigationBarTitleText": "分类",
-				"navigationStyle": "custom"
-			}
-		}, {
-			"path": "pages/tabBar/cart/index",
-			"style": {
-				"navigationBarTitleText": "购物车",
-				"enablePullDownRefresh": true
-			}
-		}, {
-			"path": "pages/tabBar/user/user",
-			"style": {
-				"navigationBarTitleText": "我的",
-				"enablePullDownRefresh": true,
-				"navigationStyle": "custom"
-			}
-		}
-	],
-	"subPackages": [
-		{
-			"root": "pages/goods/", //商品模块
-			"pages": [
-				{
-					"path": "good-floor",
-					"style": {
-						"navigationBarTitleText": "商品列表",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "goods-classify",
-					"style": {
-						"navigationBarTitleText": "商品列表",
-						"enablePullDownRefresh": true,
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "product",
-					"style": {
-						"navigationBarTitleText": "商品详情",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "instrument-details",
-					"style": {
-						"navigationBarTitleText": "项目仪器详情",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "cart",
-					"style": {
-						"navigationBarTitleText": "购物车",
-						"enablePullDownRefresh": true,
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "goods-doc-list",
-					"style": {
-						"navigationBarTitleText": "美业资料",
-						"enablePullDownRefresh": false
-					}
-				},
-				{
-					"path": "goods-doc-detail",
-					"style": {
-						"navigationBarTitleText": "美业资料详情",
-						"enablePullDownRefresh": false
-					}
-				},
-				{
-					"path": "goods-supporting",
-					"style": {
-						"navigationBarTitleText": "配套商品",
-						"enablePullDownRefresh": false
-					}
-				},
-				{
-					"path": "good-hot",
-					"style": {
-						"navigationBarTitleText": "新品橱窗",
-						"enablePullDownRefresh": false,
-						"navigationStyle": "custom"
-					}
-				}, {
-					"path": "procurement",
-					"style": {
-						"navigationBarTitleText": "采集需求",
-						"enablePullDownRefresh": true
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/login/", //注册登录模块
-			"pages": [{
-					"path": "register",
-					"style": {
-						"navigationBarTitleText": "机构注册",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "apply",
-					"style": {
-						"navigationBarTitleText": "升级资质机构",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "login",
-					"style": {
-						"navigationBarTitleText": "登录"
-					}
-				},
-				{
-					"path": "bindwechat",
-					"style": {
-						"navigationBarTitleText": "绑定微信"
-					}
-				},
-				{
-					"path": "bindOperator",
-					"style": {
-						"navigationBarTitleText": "绑定运营人员"
-					}
-				},
-				{
-					"path": "information",
-					"style": {
-						"navigationBarTitleText": "修改资料",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "password",
-					"style": {
-						"navigationBarTitleText": "修改密码"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/user/", //机构个人中心模块
-			"pages": [
-				{
-					"path": "address/addressManage",
-					"style": {
-						"navigationBarTitleText": "添加新地址"
-					}
-				},
-				{
-					"path": "address/address",
-					"style": {
-						"navigationBarTitleText": "地址列表"
-					}
-				},
-				{
-					"path": "order/create-order",
-					"style": {
-						"navigationBarTitleText": "确认订单"
-					}
-				},
-				{
-					"path": "order/success",
-					"style": {
-						"navigationBarTitleText": "支付结果",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-success",
-					"style": {
-						"navigationBarTitleText": "支付结果",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-success-tips",
-					"style": {
-						"navigationBarTitleText": "支付结果",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-payment",
-					"style": {
-						"navigationBarTitleText": "选择支付方式",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-payunder",
-					"style": {
-						"navigationBarTitleText": "线下转账"
-					}
-				},
-				{
-					"path": "order/order-pay-list",
-					"style": {
-						"navigationBarTitleText": "支付订单"
-					}
-				},
-				{
-					"path": "order/order-pay",
-					"style": {
-						"navigationBarTitleText": "收银台",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-payhlb",
-					"style": {
-						"navigationBarTitleText": "收银台",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/orderShareLogin",
-					"style": {
-						"navigationBarTitleText": "输入分享码"
-					}
-				},
-				{
-					"path": "order/order-sharelogin",
-					"style": {
-						"navigationBarTitleText": "查看订单"
-					}
-				},
-				{
-					"path": "order/order-list",
-					"style": {
-						"navigationBarTitleText": "我的订单",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-details",
-					"style": {
-						"navigationBarTitleText": "订单详情",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "order/order-sharedetails",
-					"style": {
-						"navigationBarTitleText": "订单详情"
-					}
-				},
-				{
-					"path": "order/order-logistics",
-					"style": {
-						"navigationBarTitleText": "物流信息"
-					}
-				},
-				{
-					"path": "operator/list",
-					"style": {
-						"navigationBarTitleText": "运营人员管理"
-					}
-				},
-				{
-					"path": "operator/addoperator",
-					"style": {
-						"navigationBarTitleText": "添加运营人员"
-					}
-				},
-				{
-					"path": "setting/setting",
-					"style": {
-						"navigationBarTitleText": "账户设置"
-					}
-				},
-				{
-					"path": "setting/phone",
-					"style": {
-						"navigationBarTitleText": "更换手机号"
-					}
-				},
-				{
-					"path": "collection/collection",
-					"style": {
-						"navigationBarTitleText": "收藏商品",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "pay/card-list",
-					"style": {
-						"navigationBarTitleText": "银行卡"
-					}
-				},
-				{
-					"path": "pay/card-sus-list",
-					"style": {
-						"navigationBarTitleText": "支持银行"
-					}
-				},
-				{
-					"path": "pay/card-add",
-					"style": {
-						"navigationBarTitleText": "添加银行卡"
-					}
-				},
-				{
-					"path": "pay/card-comfirm",
-					"style": {
-						"navigationBarTitleText": "确认信息"
-					}
-				},
-				{
-					"path": "pay/card-comfirm-sub",
-					"style": {
-						"navigationBarTitleText": "输入短信验证码"
-					}
-				},
-				{
-					"path": "pay/card-order",
-					"style": {
-						"navigationBarTitleText": "收银台",
-						"navigationStyle": "custom"
-					}
-				}
-				
-			]
-		},
-		{
-			"root": "pages/notice/", //搜索分包模块
-			"pages": [
-				{
-					"path": "club/notice-order",
-					"style": {
-						"navigationBarTitleText": "交易物流",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "club/notice-users",
-					"style": {
-						"navigationBarTitleText": "账户通知",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "club/notice-serve",
-					"style": {
-						"navigationBarTitleText": "服务通知",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "club/notice-coupon",
-					"style": {
-						"navigationBarTitleText": "优惠促销",
-						"enablePullDownRefresh": true
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/h5/", //活动分包模块
-			"pages": [
-				{
-					"path": "article/page",
-					"style": {
-						"navigationBarTitleText": "采美采购平台",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "article/path",
-					"style": {
-						"navigationBarTitleText": "采美采购平台",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "article/page-image",
-					"style": {
-						"navigationBarTitleText": "采美采购平台"
-					}
-				},
-				{
-					"path": "article/path-live",
-					"style": {
-						"navigationBarTitleText": "采美采购平台",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "other/repair",
-					"style": {
-						"navigationBarTitleText": "维修"
-					}
-				},
-				{
-					"path": "other/brand",
-					"style": {
-						"navigationBarTitleText": "品牌招商"
-					}
-				},
-				{
-					"path": "other/brands",
-					"style": {
-						"navigationBarTitleText": "品牌招商"
-					}
-				},
-				{
-					"path": "other/attestation",
-					"style": {
-						"navigationBarTitleText": "采美认证通"
-					}
-				}
-			]
-		}, {
-			"root": "pages/search/", //搜索分包模块
-			"pages": [{
-				"path": "search",
-				"style": {
-					"navigationBarTitleText": "搜索"
-				}
-			}, {
-				"path": "search-order",
-				"style": {
-					"navigationBarTitleText": "订单搜索"
-				}
-			}, {
-				"path": "search-library",
-				"style": {
-					"navigationBarTitleText": "搜索",
+    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+        {
+            "path": "pages/tabBar/home/index",
+            "style": {
+                "navigationBarTitleText": "联合丽格集采商城",
+                "enablePullDownRefresh": true,
+                "backgroundTextStyle": "light"
+            }
+        }, {
+            "path": "pages/tabBar/notice/index",
+            "style": {
+                "navigationBarTitleText": "消息通知",
+                "navigationStyle": "custom"
+            }
+        }, {
+            "path": "pages/tabBar/category/index",
+            "style": {
+                "navigationBarTitleText": "分类",
+                "navigationStyle": "custom"
+            }
+        }, {
+            "path": "pages/tabBar/cart/index",
+            "style": {
+                "navigationBarTitleText": "购物车",
+                "enablePullDownRefresh": true
+            }
+        }, {
+            "path": "pages/tabBar/user/user",
+            "style": {
+                "navigationBarTitleText": "我的",
+                "enablePullDownRefresh": true,
+                "navigationStyle": "custom"
+            }
+        }
+    ],
+    "subPackages": [{
+            "root": "pages/goods/", //商品模块
+            "pages": [{
+                    "path": "good-floor",
+                    "style": {
+                        "navigationBarTitleText": "商品列表",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "product",
+                    "style": {
+                        "navigationBarTitleText": "商品详情",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "cart",
+                    "style": {
+                        "navigationBarTitleText": "购物车",
+                        "enablePullDownRefresh": true,
+                        "navigationStyle": "custom"
+                    }
+                }
+            ]
+        },
+        {
+            "root": "pages/login/", //注册登录模块
+            "pages": [{
+                    "path": "register",
+                    "style": {
+                        "navigationBarTitleText": "机构注册",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "apply",
+                    "style": {
+                        "navigationBarTitleText": "升级资质机构",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "login",
+                    "style": {
+                        "navigationBarTitleText": "登录"
+                    }
+                },
+                {
+                    "path": "bindwechat",
+                    "style": {
+                        "navigationBarTitleText": "绑定微信"
+                    }
+                },
+                {
+                    "path": "bindOperator",
+                    "style": {
+                        "navigationBarTitleText": "绑定运营人员"
+                    }
+                },
+                {
+                    "path": "information",
+                    "style": {
+                        "navigationBarTitleText": "修改资料",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "password",
+                    "style": {
+                        "navigationBarTitleText": "修改密码"
+                    }
+                }
+            ]
+        },
+        {
+            "root": "pages/user/", //机构个人中心模块
+            "pages": [{
+                    "path": "address/addressManage",
+                    "style": {
+                        "navigationBarTitleText": "添加新地址"
+                    }
+                },
+                {
+                    "path": "address/address",
+                    "style": {
+                        "navigationBarTitleText": "地址列表"
+                    }
+                },
+                {
+                    "path": "order/create-order",
+                    "style": {
+                        "navigationBarTitleText": "确认订单"
+                    }
+                },
+                {
+                    "path": "order/success",
+                    "style": {
+                        "navigationBarTitleText": "支付结果",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "order/order-pay-list",
+                    "style": {
+                        "navigationBarTitleText": "支付订单"
+                    }
+                },
+                {
+                    "path": "order/order-payhlb",
+                    "style": {
+                        "navigationBarTitleText": "收银台",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "order/orderShareLogin",
+                    "style": {
+                        "navigationBarTitleText": "输入分享码"
+                    }
+                },
+                {
+                    "path": "order/order-sharelogin",
+                    "style": {
+                        "navigationBarTitleText": "查看订单"
+                    }
+                },
+                {
+                    "path": "order/order-list",
+                    "style": {
+                        "navigationBarTitleText": "我的订单",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "order/order-details",
+                    "style": {
+                        "navigationBarTitleText": "订单详情",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "order/order-sharedetails",
+                    "style": {
+                        "navigationBarTitleText": "订单详情"
+                    }
+                },
+                {
+                    "path": "order/order-logistics",
+                    "style": {
+                        "navigationBarTitleText": "物流信息"
+                    }
+                },
+                {
+                    "path": "setting/setting",
+                    "style": {
+                        "navigationBarTitleText": "账户设置"
+                    }
+                },
+                {
+                    "path": "setting/phone",
+                    "style": {
+                        "navigationBarTitleText": "更换手机号"
+                    }
+                },
+                {
+                    "path": "collection/collection",
+                    "style": {
+                        "navigationBarTitleText": "收藏商品",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "pay/card-list",
+                    "style": {
+                        "navigationBarTitleText": "银行卡"
+                    }
+                },
+                {
+                    "path": "pay/card-sus-list",
+                    "style": {
+                        "navigationBarTitleText": "支持银行"
+                    }
+                },
+                {
+                    "path": "pay/card-add",
+                    "style": {
+                        "navigationBarTitleText": "添加银行卡"
+                    }
+                },
+                {
+                    "path": "pay/card-comfirm",
+                    "style": {
+                        "navigationBarTitleText": "确认信息"
+                    }
+                },
+                {
+                    "path": "pay/card-comfirm-sub",
+                    "style": {
+                        "navigationBarTitleText": "输入短信验证码"
+                    }
+                },
+                {
+                    "path": "pay/card-order",
+                    "style": {
+                        "navigationBarTitleText": "收银台",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "pay/card-under",
+                    "style": {
+                        "navigationBarTitleText": "线下转账"
+                    }
+                },
+                {
+                    "path": "pay/success",
+                    "style": {
+                        "navigationBarTitleText": "支付结果",
+                        "navigationStyle": "custom"
+                    }
+                },
+                {
+                    "path": "pay/success-tips",
+                    "style": {
+                        "navigationBarTitleText": "支付结果",
+                        "navigationStyle": "custom"
+                    }
+                }
+            ]
+        },
+        {
+            "root": "pages/notice/", //搜索分包模块
+            "pages": [{
+                    "path": "club/notice-order",
+                    "style": {
+                        "navigationBarTitleText": "交易物流",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "club/notice-users",
+                    "style": {
+                        "navigationBarTitleText": "账户通知",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "club/notice-serve",
+                    "style": {
+                        "navigationBarTitleText": "服务通知",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "club/notice-coupon",
+                    "style": {
+                        "navigationBarTitleText": "优惠促销",
+                        "enablePullDownRefresh": true
+                    }
+                }
+            ]
+        },
+        {
+            "root": "pages/h5/", //活动分包模块
+            "pages": [{
+                    "path": "article/page",
+                    "style": {
+                        "navigationBarTitleText": "采美采购平台",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "article/path",
+                    "style": {
+                        "navigationBarTitleText": "采美采购平台",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "article/page-image",
+                    "style": {
+                        "navigationBarTitleText": "采美采购平台"
+                    }
+                },
+                {
+                    "path": "article/path-live",
+                    "style": {
+                        "navigationBarTitleText": "采美采购平台",
+                        "enablePullDownRefresh": true
+                    }
+                },
+                {
+                    "path": "other/repair",
+                    "style": {
+                        "navigationBarTitleText": "维修"
+                    }
+                },
+                {
+                    "path": "other/brand",
+                    "style": {
+                        "navigationBarTitleText": "品牌招商"
+                    }
+                },
+                {
+                    "path": "other/brands",
+                    "style": {
+                        "navigationBarTitleText": "品牌招商"
+                    }
+                },
+                {
+                    "path": "other/attestation",
+                    "style": {
+                        "navigationBarTitleText": "采美认证通"
+                    }
+                }
+            ]
+        }, {
+            "root": "pages/search/", //搜索分包模块
+            "pages": [{
+                "path": "search",
+                "style": {
+                    "navigationBarTitleText": "搜索"
+                }
+            }, {
+                "path": "search-order",
+                "style": {
+                    "navigationBarTitleText": "订单搜索"
+                }
+            }, {
+                "path": "search-library",
+                "style": {
+                    "navigationBarTitleText": "搜索",
                     "enablePullDownRefresh": false
-				}
-			}]
-		}
-	],
-	"tabBar": {
-		"height": "80",
-		"color": "#999999",
-		"selectedColor": "#f3b574",
-		"borderStyle": "black",
-		"backgroundColor": "#ffffff",
-		"list": [
-			{
-				"pagePath": "pages/tabBar/home/index",
-				"iconPath": "static/icon-home@3x.png",
-				"selectedIconPath": "static/icon-home-active@3x.png",
-				"text": "商城"
-			},
-			{
-				"pagePath": "pages/tabBar/cart/index",
-				"iconPath": "static/icon-cart@3x.png",
-				"selectedIconPath": "static/icon-cart-active@3x.png",
-				"text": "购物车"
-			},
-			{
-				"pagePath": "pages/tabBar/user/user",
-				"iconPath": "static/icon-user@3x.png",
-				"selectedIconPath": "static/icon-user-active@3x.png",
-				"text": "我的"
-			}
-		]
-	},
-	"easycom": {
-		"autoscan": true,
-		"custom": {
-			"tui-(.*)": "@/components/thorui/tui-$1/tui-$1.vue"
-		}
-	},
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "采美采购商城",
-		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#FFFFFF"
-	},
-	"condition": { //模式配置,仅开发期间生效
-		"current": 0, //当前激活的模式(list 的索引项)
-		"list": [{
-			"name": "", //模式名称
-			"path": "", //启动页面,必选
-			"query": "" //启动参数,在页面的onLoad函数里面得到
-		}]
-	}
-}
+                }
+            }]
+        }
+    ],
+    "tabBar": {
+        "height": "80",
+        "color": "#999999",
+        "selectedColor": "#f3b574",
+        "borderStyle": "black",
+        "backgroundColor": "#ffffff",
+        "list": [{
+                "pagePath": "pages/tabBar/home/index",
+                "iconPath": "static/icon-home@3x.png",
+                "selectedIconPath": "static/icon-home-active@3x.png",
+                "text": "商城"
+            },
+            {
+                "pagePath": "pages/tabBar/cart/index",
+                "iconPath": "static/icon-cart@3x.png",
+                "selectedIconPath": "static/icon-cart-active@3x.png",
+                "text": "购物车"
+            },
+            {
+                "pagePath": "pages/tabBar/user/user",
+                "iconPath": "static/icon-user@3x.png",
+                "selectedIconPath": "static/icon-user-active@3x.png",
+                "text": "我的"
+            }
+        ]
+    },
+    "easycom": {
+        "autoscan": true,
+        "custom": {
+            "tui-(.*)": "@/components/thorui/tui-$1/tui-$1.vue"
+        }
+    },
+    "globalStyle": {
+        "navigationBarTextStyle": "black",
+        "navigationBarTitleText": "联合丽格集采商城",
+        "navigationBarBackgroundColor": "#FFFFFF",
+        "backgroundColor": "#FFFFFF"
+    },
+    "condition": { //模式配置,仅开发期间生效
+        "current": 0, //当前激活的模式(list 的索引项)
+        "list": [{
+            "name": "", //模式名称
+            "path": "", //启动页面,必选
+            "query": "" //启动参数,在页面的onLoad函数里面得到
+        }]
+    }
+}

+ 1 - 1
pages/goods/cart.vue

@@ -7,7 +7,7 @@
 <script>
 	import { mapState,mapMutations } from 'vuex';
 	import custom from "./components/cm-navbar.vue" //顶部自定义胶囊'
-	import cart from '@/components/cm-module/cm-cart/index.vue'
+	import cart from '@/components/cm-module/cm-cart-temp/index.vue'
 	export default{
 		components:{
 			custom,

+ 0 - 79
pages/goods/components/cm-attributes.vue

@@ -1,79 +0,0 @@
-<template name="cm-attributes">
-	<!-- 商品详情价格判断 -->
-	<view class="cm-attributes">
-		<view class="wrap-label"  v-if="goodsData.isNoneDisabled">
-			<view class="isLower">此商品已{{goodsData.disabledText}},请浏览以下推荐商品~</view>
-		</view>
-		<view class="wrap-info">
-			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''">
-				<view class="info-viewL tui-skeleton-fillet">起订量:<text>{{product.minBuyNumber}}</text></view>
-				<view class="info-viewR tui-skeleton-fillet">品牌:<text>{{product.brandName == null? '其他' : product.brandName}}</text></view>
-			</view>
-			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''">
-				<view class="info-viewL tui-skeleton-fillet">包装规格:<text>{{product.unit}}</text></view>
-				<view class="info-viewR tui-skeleton-fillet">商品编码:<text>{{product.productCode}}</text></view>		
-			</view>
-			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''" v-if="product.productCode!=''&&product.productCode!=null">
-				<view class="info-viewL tui-skeleton-fillet">库存:<text>{{product.stock}}</text></view>
-				<view class="info-viewR tui-skeleton-fillet"></view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'cm-attributes',
-		props:{
-			product:{
-				type:Object,
-				default: {}
-			},
-			goodsData:{
-				type:Object,
-				default: {}
-			},
-		},
-		data() {
-			return{
-				
-			}
-		},
-		created() {
-			
-		},
-		methods:{
-		},
-		
-	}
-</script>
-
-<style lang="scss">	
-	.bmCode{
-	float: left;
-	width: 702rpx;
-	padding: 20rpx 24rpx 0 24rpx;
-	border-bottom: 1px solid #F8F8F8	
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 1 - 39
pages/goods/components/cm-header.vue

@@ -25,18 +25,11 @@
 				color: navbarData.textColor ? navbarData.textColor : '',
 				lineHeight: CustomBar - statusBarHeight + 'px;',
 				fontSize: fontSizeSetting + 'px;',
-				paddingLeft: navbarData.textLeft ? '' : 12 + 'px'
 			}"
 			:class="platformClass"
 		>
 			{{ navbarData.title ? navbarData.title : ' ' }}
 		</view>
-		<!--<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;',right:(navbarBtn.width+30)+'px;',borderRadius:(navbarBtn.height/2)+'px;',width:(375-navbarBtn.width*2)+'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>
 </template>
 
@@ -165,38 +158,7 @@ export default {
 	color: #000000;
 	font-weight: 500;
 	position: fixed;
-	.logo {
-		margin: 0 auto;
-		display: block;
-	}
-}
-.gosearch-btn {
-	height: 100%;
-	background: rgba(255, 255, 255, 0.6);
-	font-size: 28rpx;
-	color: #999999;
-	position: relative;
-	box-sizing: border-box;
-	position: absolute;
-	top: 0;
-	border: 0.5px solid rgba(0, 0, 0, 0.1);
-	.icon-sousuo {
-		height: 100%;
-		text-align: center;
-		display: block;
-		position: absolute;
-		left: 0;
-		top: 0;
-		font-size: 34rpx;
-		color: #999999;
-		z-index: 10;
-	}
-	.input {
-		height: 100%;
-		float: left;
-		font-size: $font-size-24;
-		text-align: left;
-	}
+	text-align: center;
 }
 .navbar-icon {
 	position: fixed;

+ 48 - 48
pages/goods/components/cm-navbar.vue

@@ -1,15 +1,15 @@
 <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;'}">
-	    	{{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule ? navbarData.showCapsule : true" 
+	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
+	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}">
+	    	{{navbarData.title ? navbarData.title : " "}}
+	  	</view>
+	  	<view class="navbar-icon" v-if="navbarData.showCapsule ? navbarData.showCapsule : true" 
 			  :style="{width:headerBtnPosi.width+'px;',lineHeight:(navbarBtn.height)+'px',top:navbarBtn.top + statusBarHeight+'px;',left:navbarBtn.right+'px;',height:(navbarBtn.height)+'px;'}">
-			  <text v-if='haveBack' @click="_goBack" class="iconfont icon-shangyibu" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	      	  <text  v-if='haveBack' class="iconfont icon-vertical_line" :style="{borderColor:navbarData.borderColor ? navbarData.borderColor : 'rgba(0,0,0,0.4)'}"></text>
+			  <text v-if='haveBack' @click="_goBack" class="iconfont icon-fanhui" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
+	      	  <text  v-if='haveBack' class="iconfont icon-vertical_line" :style="{borderColor:navbarData.borderColor ? navbarData.borderColor : 'rgba(0,0,0,0.4)'}"></text>
 			  <text @click="_goHome" class="iconfont icon-shouye" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	  	</view>
+	  	</view>
 	</view>
 </template>
 
@@ -34,14 +34,14 @@
 		data() {
 			return{
 				haveBack: true, // 是否有返回按钮,true 有 false 没有 若从分享页进入则为 false
-			    statusBarHeight: 0, // 状态栏高度
-			    navbarHeight: 0, // 顶部导航栏高度
-			    navbarBtn: { // 胶囊位置信息
-			      height: 0,
-			      width: 0,
-			      top: 0,
-			      bottom: 0,
-			      right: 0
+			    statusBarHeight: 0, // 状态栏高度
+			    navbarHeight: 0, // 顶部导航栏高度
+			    navbarBtn: { // 胶囊位置信息
+			      height: 0,
+			      width: 0,
+			      top: 0,
+			      bottom: 0,
+			      right: 0
 				},
 				platform:'',
 				fontSizeSetting:0,
@@ -52,50 +52,50 @@
 			this.fontSizeSetting = this.systeminfo.fontSizeSetting
 			let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
 			let headerPosi = this.headerBtnPosi // 胶囊位置信息
-		    /**
-		     * wx.getMenuButtonBoundingClientRect() 坐标信息以屏幕左上角为原点
-		     * 菜单按键宽度: 87
-		     * 菜单按键高度: 32
-		     * 菜单按键左边界坐标: 278
-		     * 菜单按键上边界坐标: 26
-		     * 菜单按键右边界坐标: 365
-		     * 菜单按键下边界坐标: 58
-		     */
+		    /**
+		     * 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
+			      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;
+			     haveBack = false;
 			} else {
-			     haveBack = true;
+			     haveBack = true;
 			}
-		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
-		    this.statusBarHeight=statusBarHeight,
-		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
-		    this.navbarBtn=btnPosi
+		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
+		    this.statusBarHeight=statusBarHeight,
+		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
+		    this.navbarBtn=btnPosi
 		},
 		onLoad(){
 			
 		},
 		methods:{
 			_goBack: function () {
-		      	uni.navigateBack({
-		        	delta: this.page
-		      	});
-		    },
-		    _goHome: function () {
-		      	uni.switchTab({
-		        	url: '/pages/tabBar/home/index'
-		      	})
-		    }
+		      	uni.navigateBack({
+		        	delta: this.page
+		      	});
+		    },
+		    _goHome: function () {
+		      	uni.switchTab({
+		        	url: '/pages/tabBar/home/index'
+		      	})
+		    }
 		},
 		onShow(){
 	

+ 0 - 133
pages/goods/components/cm-parameter.vue

@@ -1,133 +0,0 @@
-<template name="cm-parameter">
-	<!-- 相关参数 -->
-	<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-		<view class="tui-popup-box clearfix">
-			<view class="title">商品参数</view>
-			<view class="content">
-				<view class="content-tr">
-					<view class="content-td">品牌</view>
-					<view class="content-th">恩盛</view>
-				</view>
-				<view class="content-tr">
-					<view class="content-td">起订量</view>
-					<view class="content-th">1</view>
-				</view>
-				<view class="content-tr">
-					<view class="content-td">库存</view> 
-					<view class="content-th">9999</view>
-				</view>
-				<view class="content-tr">
-					<view class="content-td">包装规格</view>
-					<view class="content-th">台</view>
-				</view>
-				<view class="content-tr" v-for="(item, index) in product.parametersList" :key="index">
-					<view class="content-td">{{item.paramsName}}</view>
-					<view class="content-th">{{item.paramsContent}}</view>
-				</view>
-			</view>
-			<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
-				<view class="tui-flex-1">
-					<view class="tui-button" @click="hidePopup()">收起</view>
-				</view>
-			</view>
-		</view>	
-	</tui-bottom-popup>		
-</template>
-
-<script>
-	export default{
-		name:'cm-parameter',
-		props:{
-			product:{
-				type:Object,
-			},
-			popupShow:{
-				type:Boolean,
-				default:false
-			}
-		},
-		data() {
-			return{
-				data:[]
-			}
-		},
-		created() {
-			
-		},
-		methods:{
-			hidePopup(){
-				this.$parent.popupShow = false
-			},
-		},
-		
-	}
-</script>
-
-<style lang="scss">
-	.cm-parameter{
-		width: 702rpx;
-		height: auto;
-		background: #FFF;
-		margin: 0 auto;
-		padding: 24rpx 0;
-		.cm-parameter-main{
-			display: flex;
-			flex: 1;
-			flex-direction: column;
-			background-color: #FFFFFF;
-			border: 1px solid #EFEFEF;
-			border-radius: 4rpx;
-			.item-tabody{
-				width: 100%;
-				height: auto;
-				border-bottom: 1px solid #EFEFEF;
-				font-size: $font-size-24;
-				display: flex;
-				flex-wrap: wrap;
-				.item-td{
-					width: 238rpx;
-					float: left;
-					border-right: 1px solid #EFEFEF;
-					color: #999999;
-					padding:20rpx;
-					display: flex;
-					flex: 3;
-					flex-direction: column;
-				}
-				.item-tr{
-					width: 462rpx;
-					float: left;
-					color: $text-color;
-					padding:20rpx;
-					display: flex;
-					flex: 7;
-					flex-direction: column;
-				}
-				&:last-child{
-					border-bottom: none;
-				}
-			}
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 5 - 509
pages/goods/components/cm-price.vue

@@ -5,296 +5,16 @@
 			<view class="p-login grade tui-skeleton-fillet">
 				<text class="p-no">¥</text>
 				<uni-grader :grade="Number(product.priceGrade)"></uni-grader>
-				<view class="floor-item-act">
-					<template v-if="product.actStatus == 1" >
-						<view
-							v-if="product.promotions.type == 1 && product.promotions.mode == 1"
-							class="floor-tags"
-							@click.stop="clickPopupShow()"
-						>
-							{{ product.promotions.name }}<text v-if="hasLogin">:¥{{ product.price | NumFormat }}</text>
-						</view>
-						<view v-else class="floor-tags" @click.stop="clickPopupShow()">{{ product.promotions.name }}</view>
-					</template>
-					<template v-if="product.svipProductFlag == 1">
-						<view class="svip-tags">
-							<view class="tags none">SVIP</view>
-						</view>
-					</template>
-				</view>
 				<view class="floor-item-btn"> <view class="btn" @click.stop="loginClick">登录查看价格</view> </view>
 			</view>
 		</template>
 		<template v-else>
-			<!-- 协销  -->
-			<template v-if="userIdentity == 1">
-				<view class="wrap-main-item">
-					<view
-						class="p-price tui-skeleton-fillet"
-						:class="PromotionsFormat(product.promotions) ? 'none' : ''"
-					>
-						<text class="txt sm">¥</text>
-						<text class="txt big">{{
-							((PromotionsFormat(product.promotions) || product.svipProductFlag == 1) ? product.originalPrice : product.price) | NumFormat
-						}}</text>
-					</view>
-					<view class="floor-item-act">
-						<template v-if="product.actStatus == 1" >
-							<view
-								v-if="product.promotions.type == 1 && product.promotions.mode == 1"
-								class="floor-tags"
-								@click.stop="clickPopupShow(1)"
-							>
-								{{ product.promotions.name
-								}}<text v-if="hasLogin"
-									>:¥{{
-										product.promotions == null ? '0.00' : product.price | NumFormat
-									}}</text
-								>
-							</view>
-							<view v-else class="floor-tags" @click.stop="clickPopupShow()">{{
-								product.promotions.name
-							}}</view>
-						</template>
-						<template v-if="product.svipProductFlag == 1">
-							<view class="svip-tags">
-								<view class="tags none">SVIP</view>
-								<view class="price">{{ product.svipPriceTag }}</view>
-							</view>
-						</template>
-					</view>
-				</view>
-			</template>
-			<!-- 资质机构  -->
-			<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
-				<view class="wrap-main-item">
-					<view v-if="product.priceFlag == 1" class="wrap-main-text">¥未公开价格</view>
-					<view v-else-if="product.priceFlag == 3 && (firstClubType!=1)" class="wrap-main-text">¥仅医美机构可见</view>
-					<view
-						v-else
-						class="p-price tui-skeleton-fillet"
-						:class="PromotionsFormat(product.promotions)? 'none' : ''"
-					>
-						<text class="txt sm">¥</text>
-						<text class="txt big">{{
-							((PromotionsFormat(product.promotions) || product.svipProductFlag == 1) ? product.originalPrice : product.price) | NumFormat
-						}}</text>
-					</view>
-					<view class="floor-item-act">
-						<template v-if="product.actStatus == 1" >
-							<view
-								v-if="product.promotions.type == 1 && product.promotions.mode == 1"
-								class="floor-tags"
-								@click.stop="clickPopupShow(1)"
-							>
-								{{ product.promotions.name
-								}}<text v-if="hasLogin && product.priceFlag != 1"
-									>:¥{{
-										product.promotions == null ? '0.00' : product.price | NumFormat
-									}}</text
-								>
-							</view>
-							<view v-else class="floor-tags" @click.stop="clickPopupShow()">{{
-								product.promotions.name
-							}}</view>
-						</template>
-						<template v-if="product.svipProductFlag == 1">
-							<view class="svip-tags">
-								<view class="tags" :class="{ none: !isShowVipFlag(product) }">SVIP</view> 
-								<view class="price" v-if="isShowVipFlag(product)">{{ product.svipPriceTag }}</view>
-							</view>
-						</template>
-					</view>
-					<view class="p-right-price" v-if="isShowVipFlag(product)">
-						市场价:<text class="none">¥{{ product.normalPrice | NumFormat }}</text> 
-					</view>
+			<view class="wrap-main-item">
+				<view class="p-price tui-skeleton-fillet">
+					<text class="txt sm">¥</text>
+					<text class="txt big">{{ product.price | NumFormat}}</text>
 				</view>
-			</template>
-			<!-- 供应商  -->
-			<template v-if="userIdentity == 3">
-				<template v-if="product.shopId === shopID">
-					<view class="wrap-main-item">
-						<view v-if="product.priceFlag == 1" class="wrap-main-text">¥未公开价格</view>
-						<view
-							v-else
-							class="p-price tui-skeleton-fillet"
-							:class="PromotionsFormat(product.promotions) ? 'none' : ''"
-						>
-							<text class="txt sm">¥</text>
-							<text class="txt big">{{
-								((PromotionsFormat(product.promotions) || product.svipProductFlag == 1 )? product.originalPrice : product.price)
-									| NumFormat
-							}}</text>
-						</view>
-						<view class="floor-item-act">
-							<template v-if="product.actStatus == 1" >
-								<view
-									v-if="product.promotions.type == 1 && product.promotions.mode == 1"
-									class="floor-tags"
-									@click.stop="clickPopupShow(1)"
-								>
-									{{ product.promotions.name
-									}}<text v-if="hasLogin && product.priceFlag != 1"
-										>:¥{{
-											product.promotions == null ? '0.00' : product.price | NumFormat
-										}}</text
-									>
-								</view>
-								<view v-else class="floor-tags" @click.stop="clickPopupShow()">{{
-									product.promotions.name
-								}}</view>
-							</template>
-							<template v-if="product.svipProductFlag == 1">
-								<view class="svip-tags">
-									<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view> 
-									<view class="price" v-if="product.priceFlag != 1 && vipFlag == 1">{{ product.svipPriceTag }}</view>
-								</view>
-							</template>
-						</view>
-					</view>
-				</template>
-				<template v-else>
-					<view class="p-login grade tui-skeleton-fillet">
-						<text class="p-no">¥</text>
-						<uni-grader :grade="Number(product.priceGrade)"></uni-grader>
-					</view>
-				</template>
-			</template>
-			<!-- 个人机构  -->
-			<template v-if="userIdentity == 4 && vipFlag !=1">
-				<template v-if="product.priceFlag == 1">
-					<text class="wrap-main-text">¥未公开价格</text>
-				</template>
-				<template v-else-if="product.priceFlag == 2">
-					<text class="wrap-main-text">¥价格仅会员可见</text>
-					<view class="floor-item-btn">
-						<view class="btn" @click.stop="goUpgradeApply">升级会员查看价格</view>
-					</view>
-				</template>
-				<template v-else-if="product.priceFlag == 3">
-					<text class="wrap-main-text">¥仅医美机构可见</text>
-					<view class="floor-item-btn">
-						<view class="btn" @click.stop="goUpgradeApply">成为医美机构查看价格</view>
-					</view>
-				</template>
-				<template v-else>
-					<view class="wrap-main-item">
-						<view
-							class="p-price tui-skeleton-fillet"
-							:class="PromotionsFormat(product.promotions) ? 'none' : ''"
-						>
-							<text class="txt sm">¥</text>
-							<text class="txt big">{{
-								((PromotionsFormat(product.promotions) || product.svipProductFlag == 1) ? product.originalPrice : product.price) | NumFormat
-							}}</text>
-						</view>
-						<view class="floor-item-act">
-							<template v-if="product.actStatus == 1" >
-								<view
-									v-if="PromotionsFormat(product.promotions)"
-									class="floor-tags"
-									@click.stop="clickPopupShow(1)"
-								>
-									{{ product.promotions.name
-									}}<text v-if="hasLogin && product.priceFlag != 1"
-										>:¥{{
-											product.promotions == null ? '0.00' : product.price | NumFormat
-										}}</text
-									>
-								</view>
-								<view v-else class="floor-tags" @click.stop="clickPopupShow()">{{
-									product.promotions.name
-								}}</view>
-							</template>
-							<template v-if="product.svipProductFlag == 1">
-								<view class="svip-tags">
-									<view class="tags" :class="{ none: !isShowVipFlag(product) }">SVIP</view> 
-									<view class="price" v-if="isShowVipFlag(product)">{{ product.svipPriceTag }}</view>
-								</view>
-							</template>
-						</view>
-						<view class="p-right-price" v-if="isShowVipFlag(product)">
-							市场价:<text class="none">¥{{ product.normalPrice | NumFormat}}</text> 
-						</view>
-					</view>
-				</template>
-			</template>
-			<!--促销活动弹窗提示-->
-			<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-				<view class="tui-popup-box clearfix">
-					<template v-if="product.actStatus == 0 && product.ladderPriceFlag == 1">
-						<view class="tui-scrollview-box">
-							<view class="ladder-main clearfix">
-								<view class="ladder-item">
-									<view class="ladder-item-td">起订量</view> <view class="ladder-item-td">价格</view>
-								</view>
-								<view class="ladder-item" v-for="(ladd, index) in product.ladderPriceList" :key="index">
-									<view class="ladder-item-td">{{ ladd.numRange }}</view>
-									<view class="ladder-item-td">{{ ladd.buyPrice | NumFormat }}</view>
-								</view>
-							</view>
-						</view>
-					</template>
-					<template v-else>
-						<view class="tui-scrollview-box">
-							<view class="box-text">
-								<text>促销时间:</text>
-								<text class="txt" v-if="product.promotions.status == 1">不限时</text>
-								<text class="txt" v-else
-									>{{ product.promotions.beginTime }} ~ {{ product.promotions.endTime }}</text
-								>
-							</view>
-							<view class="box-title" v-show="product.promotions.mode == 2">
-								<text>购买{{ product.promotions.name }}商品,满</text>
-								<text class="txt"
-									>¥{{
-										product.promotions == null ? '0.00' : product.promotions.touchPrice | NumFormat
-									}}</text
-								>减
-								<text class="txt"
-									>¥{{
-										product.promotions == null
-											? '0.00'
-											: product.promotions.reducedPrice | NumFormat
-									}}</text
-								>
-							</view>
-							<view class="box-title" v-show="product.promotions.mode == 3">
-								<text>购买{{ product.promotions.name }}商品,满</text>
-								<text class="txt"
-									>¥{{
-										product.promotions == null ? '0.00' : product.promotions.touchPrice | NumFormat
-									}}</text
-								>赠送商品
-							</view>
-							<view class="box-product" v-show="product.promotions.mode == 3">
-								<view
-									class="box-product-main"
-									v-for="(item, index) in product.promotions.giftList"
-									:key="index"
-								>
-									<view class="image"><image :src="item.image" mode=""></image></view>
-									<view class="info">
-										<view class="name">{{ item.name }}</view>
-										<view class="num">X{{ item.number }}</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</template>
-					<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-						<view class="tui-flex-1">
-							<view
-								class="tui-button"
-								v-if="product.promotions.type == 2"
-								@click="goGoodActiveFn(product.promotions.id)"
-								>更多凑单商品</view
-							>
-							<view class="tui-button" v-else @click="hidePopup()">了解</view>
-						</view>
-					</view>
-				</view>
-			</tui-bottom-popup>
+			</view>
 		</template>
 	</view>
 </template>
@@ -310,29 +30,12 @@ export default {
 	props: {
 		product: {
 			type: Object
-		},
-		userIdentity: {
-			type: Number,
-			default: 2
-		},
-		shopID: {
-			type: Number,
-			default: 2
-		},
-		ladderPriceList: {
-			type: Array
-		},
-		promotions: {
-			type: Object
 		}
 	},
 	data() {
 		return {
-			vipFlag: 0, // 是否是超级会员 0否 1是
 			popupShow: false,
-			promotionsType: 0,
 			isIphoneX: this.$store.state.isIphoneX,
-			firstClubType:0
 		}
 	},
 	filters: {
@@ -342,83 +45,16 @@ export default {
 		}
 	},
 	created() {
-		this.initData()
 	},
 	computed: {
 		...mapState(['hasLogin', 'clubType']),
 	},
 	methods: {
-		async initData(data) {
-			const userInfo = await this.$api.getStorage()
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.firstClubType = this.clubType
-		},
-		clickPopupShow(type) {
-			this.popupShow = true
-			this.promotionsType = type
-		},
 		hidePopup() {
 			this.popupShow = false
 		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		isShowVipFlag(pros) {
-			/**
-			 *显示SVIP和超级会员价格:
-			 * 	个人机构(不是超级会员,但价格所有机构可见),
-			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
-			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
-			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
-			 *	普通机构
-			 * 		超级会员 && priceFlag === 0
-			 * 	资质机构
-			 * 		priceFlag !== 1 ||
-			 * 		超级会员
-			 * 			商品priceFlag === 3 && 是否是医美机构
-			*/
-			// 未登录 || 非会员
-			if(!this.hasLogin || !this.vipFlag === 1) return false
-			// 商品所有机构可见
-			if(pros.priceFlag === 0 ) return true
-			// 商品价格仅资质机构可见
-			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
-			// 商品价格仅医美机构可见
-			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
-			// 其它
-			return false
-		},
-		goUpgradeApply() {
-			// 友盟埋点升级查看价格点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_ProductUpgrade', {
-					Um_Key_PageName: '升级查看价格',
-					Um_Key_SourcePage: '商品详情'
-				})
-			}
-			this.$api.navigateTo('/pages/login/apply')
-		},
 		loginClick() {
-			// 友盟埋点商品详情登录查看价格点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_ProductLogin', {
-					Um_Key_PageName: '去登录',
-					Um_Key_SourcePage: '商品详情登录查看价格'
-				})
-			}
 			this.$api.navigateTo('/pages/login/login')
-		},
-		goGoodActiveFn(id) {
-			this.$parent.popupShow = false
-			this.$api.navigateTo('/pages/goods/goods-active?id=' + id)
 		}
 	}
 }
@@ -428,144 +64,4 @@ export default {
 .tui-flex-1 {
 	flex: 1;
 }
-.tui-popup-box {
-	position: relative;
-	box-sizing: border-box;
-	min-height: 220rpx;
-	padding: 24rpx 24rpx 0 24rpx;
-}
-.tui-scrollview-box {
-	width: 100%;
-	height: auto;
-	float: left;
-	box-sizing: border-box;
-	.ladder-main {
-		width: 100%;
-		min-height: 240rpx;
-		border: 1px solid rgba(225, 86, 22, 0.3);
-		border-radius: 10rpx;
-		.ladder-item {
-			width: 100%;
-			height: 80rpx;
-			float: left;
-			border-bottom: 1px solid rgba(225, 86, 22, 0.3);
-			&:nth-child(1) {
-				.ladder-item-td {
-					color: #333333;
-				}
-			}
-			&:last-child {
-				border-bottom: none;
-			}
-			.ladder-item-td {
-				width: 50%;
-				text-align: center;
-				line-height: 80rpx;
-				font-size: $font-size-24;
-				color: $color-system;
-				box-sizing: border-box;
-				float: left;
-				&:nth-child(1) {
-					border-right: 1px solid rgba(225, 86, 22, 0.3);
-				}
-			}
-		}
-	}
-	.box-title {
-		font-size: $font-size-26;
-		color: $text-color;
-		text-align: left;
-		line-height: 56rpx;
-		.txt {
-			color: $color-system;
-			margin: 0 8rpx;
-		}
-	}
-	.box-text {
-		font-size: $font-size-26;
-		color: $text-color;
-		text-align: left;
-		line-height: 56rpx;
-		.txt {
-			color: $color-system;
-		}
-	}
-	.box-product {
-		width: 100%;
-		height: auto;
-		margin-top: 20rpx;
-		.title {
-			font-size: $font-size-24;
-			color: $text-color;
-			text-align: left;
-			line-height: 54rpx;
-		}
-		.box-product-main {
-			width: 100%;
-			height: 136rpx;
-			float: left;
-			margin: 10rpx 0;
-			.image {
-				width: 134rpx;
-				height: 134rpx;
-				border: 1px solid #ebebeb;
-				float: left;
-				image {
-					width: 100%;
-					height: 100%;
-					display: block;
-				}
-			}
-			.info {
-				width: 540rpx;
-				height: 134rpx;
-				float: left;
-				margin-left: 16rpx;
-				position: relative;
-				.name {
-					width: 100%;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-				}
-				.num {
-					width: 100%;
-					height: 44rpx;
-					font-size: $font-size-24;
-					color: $text-color;
-					text-align: left;
-					line-height: 44rpx;
-					position: absolute;
-					bottom: 0;
-					left: 0;
-				}
-			}
-		}
-	}
-}
-
-.tui-popup-btn {
-	width: 100%;
-	height: auto;
-	float: left;
-	margin-top: 24rpx;
-	.tui-button {
-		width: 100%;
-		height: 88rpx;
-		background: $btn-confirm;
-		line-height: 88rpx;
-		text-align: center;
-		color: #ffffff;
-		font-size: $font-size-28;
-		border-radius: 44rpx;
-	}
-}
 </style>

+ 0 - 744
pages/goods/components/cm-product-doc.vue

@@ -1,744 +0,0 @@
-<template>
-    <view
-        class="product-doc "
-        :class="{ hasBottom: TipStatus }"
-        :style="{ paddingBottom: isIphoneX && TipStatus ? '60rpx' : 0 }"
-    >
-        <view class="category">
-            <view class="category-title">图片资料</view>
-            <view class="content">
-                <view class="cm-none" v-if="imageArchiveList.length === 0">暂无相关资料</view>
-                <template v-else>
-                    <view class="section" v-for="(item, index) in imageArchiveList" :key="index">
-                        <view class="cm-title">{{ item.title }}</view>
-                        <view class="cm-time">{{ $api.easyFormatData(item.addTime) }}</view>
-                        <view class="cm-img-list cm-list">
-                            <template v-if="item.imageList">
-                                <image
-                                    :src="image.url"
-                                    @click="previewImage(i, item.imageList)"
-                                    mode="aspectFill"
-                                    v-for="(image, i) in imageFormat(item.imageList, index)"
-                                    :key="i"
-                                    :style="image.style"
-                                ></image>
-                            </template>
-                            <template v-else>
-                                <image
-                                    :src="defaultImage"
-                                    mode="aspectFill"
-                                    v-for="i in item.imageNum"
-                                    :key="i"
-                                    @click="checkPermission"
-                                ></image>
-                            </template>
-                        </view>
-                    </view>
-                </template>
-            </view>
-        </view>
-        <view class="category">
-            <view class="category-title">视频资料</view>
-            <view class="content">
-                <view class="cm-none" v-if="videoArchiveList.length === 0">暂无相关资料</view>
-                <template v-else>
-                    <view class="section" v-for="(item, index) in videoArchiveList" :key="index">
-                        <view class="cm-title">{{ item.title }}</view>
-                        <view class="cm-time">{{ $api.easyFormatData(item.addTime) }}</view>
-                        <view class="cm-video-list">
-                            <video
-                                class="cm-video"
-                                ref="myVideo"
-                                :id="'myVideo' + index"
-                                :src="item.fileUrl"
-                                :style="videoStyle['myVideo' + index]"
-                                controls
-                                show-fullscreen-btn
-                                show-mute-btn
-                                play-btn-position="center"
-                                @timeupdate="onPlayVideo($event)"
-                                @play="handlePlayer('myVideo' + index)"
-                                v-if="item.fileUrl"
-                                @loadedmetadata="loadedmetadata"
-                            ></video>
-                            <view class="cm-video-section" v-else>
-                                <image class="cm-video-cover" :src="videoCover"></image>
-                                <text class="cm-player-btn" @click="checkPermission()"></text>
-                            </view>
-                        </view>
-                    </view>
-                </template>
-            </view>
-        </view>
-        <view class="category cm-file">
-            <view class="category-title">文件资料</view>
-            <view class="content">
-                <view class="cm-none" v-if="fileArchiveList.length === 0">暂无相关资料</view>
-                <template v-else>
-                    <view class="section" v-for="(item, index) in fileArchiveList" :key="index">
-                        <image
-                            src="https://static.caimei365.com/app/img/icon2/PDF-app.png"
-                            v-if="/\.pdf/.test(item.fileName)"
-                        ></image>
-                        <image
-                            src="https://static.caimei365.com/app/img/icon2/DOC-app.png"
-                            v-else-if="/\.doc/.test(item.fileName)"
-                        ></image>
-                        <image src="https://static.caimei365.com/app/img/icon2/PPT-app.png" v-else></image>
-                        <view class="cm-desc">
-                            <view class="cm-title">{{ item.title }}</view>
-                            <view class="cm-bottom">
-                                <view class="cm-time">{{ $api.easyFormatData(item.addTime) }}</view>
-                                <view class="cm-preview" @click="previewFile(item)">预览文件</view>
-                            </view>
-                        </view>
-                    </view>
-                </template>
-            </view>
-        </view>
-        <view
-            class="cm-login"
-            :class="{ maxBottom: !bottom && isIphoneX }"
-            :style="{ bottom: bottom }"
-            v-if="TipStatus && tipStatus"
-        >
-            <text>{{ TipStatus.text }}</text>
-            <view class="cm-btn" @click="nextAction(TipStatus.redirect)">{{ TipStatus.btn }}</view>
-        </view>
-
-        <tui-modal
-            :show="showModal"
-            :content="TipStatus.text"
-            shape="circle"
-            :button="modalButton"
-            :fadeIn="true"
-            @click="handleModalClick"
-        ></tui-modal>
-    </view>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-
-export default {
-    props: {
-        product: {
-            type: Object,
-            default: () => {}
-        },
-        archiveId: {
-            type: Number,
-            default: 0
-        },
-        bottom: {
-            type: String,
-            default: ''
-        }
-    },
-    data() {
-        return {
-            userId: -1,
-            prevVideoId: '',
-            currentVideoId: '',
-            videoContexts: [],
-            modalButton: [
-                {
-                    text: '取消',
-                    type: 'gray',
-                    plain: true //是否空心
-                },
-                {
-                    text: '确认',
-                    customStyle: {
-                        color: '#fff',
-                        bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)'
-                    },
-                    plain: false
-                }
-            ],
-            showModal: false,
-            //用户信息相关
-            permission: 5, //用户权限  0可查看,1未登录,2需升级会员机构,3需升级医美会员机构,4需要抵扣采美豆,5无权限查看
-            imageArchiveList: [], // 图片资料列表
-            videoArchiveList: [], // 视频资料列表
-            fileArchiveList: [], // 文件资料列表
-            defaultImage: 'https://static.caimei365.com/app/img/icon2/PC-default.png', // 默认图片
-            videoCover: 'https://static.caimei365.com/app/img/icon2/video-cover.png', //默认视频封面
-            videoStyle: {},
-            timer: null,
-            tipStatus: true, // 状态
-            userInfo: {}, // 用户信息
-            num: 0,
-        }
-    },
-    computed: {
-        ...mapState(['isIphoneX']),
-        //资料查看状态提示
-        TipStatus() {
-            // 资料权限
-            const statusText = [
-                false, // 正常访问
-                { text: '请登录后查看!', btn: '去登录', redirect: '/pages/login/login' },
-                { text: '请升级成为会员机构后方可查看!', btn: '去升级', redirect: '/pages/login/apply' },
-                { text: '请升级成为医美会员机构后方可查看!', btn: '去升级', redirect: '/pages/login/apply' },
-                { text: '需抵扣100采美豆方可查看!', btn: '去查看', redirect: 10 },
-                { text: '无权限查看!', btn: '确认' }
-            ]
-            // 0可查看,1未登录,2需升级会员机构,3需升级医美会员机构,4需要抵扣采美豆,5无权限查看
-            return statusText[this.permission]
-        }
-    },
-    watch: {
-        TipStatus(val) {
-            if(this.TipStatus) {
-                this.timer = setTimeout(()=>{
-                    this.tipStatus = false
-                    clearTimeout(this.timer)
-                }, 10000)
-            }
-            this.$emit('tipStatus', this.TipStatus)
-        }
-    },
-    created() {
-        this.userId = uni.getStorageSync('userInfo').userId || -1
-        this.getDetail()
-        this.userInfo = uni.getStorageSync('userInfo')
-        console.log(uni.getStorageSync('userInfo'))
-    },
-    methods: {
-        // 获取商品资料详情
-        getDetail() {
-            this.BeautyArchive.GetProdcutArchiveDetails({
-                userId: this.userId,
-                archiveId: this.archiveId
-            }).then(res => {
-                this.imageArchiveList = res.data.imageArchiveList
-                this.videoArchiveList = res.data.videoArchiveList
-                this.fileArchiveList = res.data.fileArchiveList
-                this.permission = res.data.permission
-                this.imageArchiveList.forEach((item, index) => {
-                    if (item.imageNum !== item.imageList.length) {
-                        this.num = item.imageNum - item.imageList.length
-                        for (let i = 0; i < this.num; i++) {
-                            item.imageList.push(this.defaultImage)
-                        }
-                    }
-                })
-                this.videoArchiveList.forEach(item => {
-                    item.fileUrl = decodeURIComponent(item.fileUrl)
-                })
-                // console.log(res.data.videoArchiveList)
-            })
-        },
-        //采美豆抵扣
-        searchArchiveByBean() {
-            this.BeautyArchive.SearchArchiveByBeans({
-                userId: this.userId,
-                archiveId: this.archiveId
-            })
-                .then(res => {
-                    uni.showToast({
-                        duration: 1500,
-                        title: res.msg
-                    })
-                    setTimeout(() => {
-                        //刷新资料列表
-                        this.getDetail()
-                    }, 1500)
-                })
-                .catch(err => {
-                    uni.showToast({
-                        icon: 'none',
-                        duration: 1500,
-                        title: err.msg
-                    })
-                })
-        },
-        // 获取视频源信息
-        loadedmetadata(e) {
-            // 获取视频长宽
-            const w = e.detail.width //视频真实宽度
-            const h = e.detail.height //视频真实高度
-            let rw = 0 //视频展示宽度
-            let rh = 0 //视频展示宽度
-            // 视频宽大于等于高时
-            if (w >= h) {
-                rw = 702
-                rh = (rh * h) / w
-            } else {
-                rw = 400
-                rh = (rw * h) / w
-            }
-            // 使用set向videoStyle添加样式信息
-            this.$set(this.videoStyle, e.currentTarget.id, `width:${rw}rpx;height:${rh}rpx;`)
-        },
-        // 视频播放
-        handlePlayer(id) {
-            // if (this.checkPermission()) {
-            //     this.handleStop(id)
-            //     return
-            // }
-            console.log('视频播放id', id)
-            // 如果点击同一个播放器,就
-            if (this.prevVideoId === id) return
-            // this.handleFullScreen(id) // 点击播放时全屏
-            // 暂停上一个播放器
-            this.handelPause(this.prevVideoId)
-            // 保存当前播放器id
-            this.prevVideoId = id
-        },
-        // 监听video时长
-        onPlayVideo(e) {
-            console.log(e)
-            const allTime = parseInt(((e.detail.duration)% 3600) / 60) // 获取分钟
-            const inPlay = parseInt(((e.detail.duration)% 3600) / 60)
-            if (this.permission === 2 || this.permission === 4 || this.permission === 1) {
-                if(allTime >= 10 && (3 < inPlay)) {
-                    this.handleStop(e.target.id)
-                    this.checkPermission()
-                }
-                if (allTime < 10) {
-                    this.handleStop(e.target.id)
-                    this.checkPermission()
-                }
-            }
-        },
-        // 开始播放
-        handelPlay(id) {
-            if (!id) return
-            const vContext = uni.createVideoContext(id, this)
-            vContext.play()
-        },
-        // 暂停播放
-        handelPause(id) {
-            if (!id) return
-            const vContext = uni.createVideoContext(id, this)
-            vContext.pause()
-        },
-        // 停止视频
-        handleStop(id) {
-            if (!id) return
-            const vContext = uni.createVideoContext(id, this)
-            vContext.stop()
-        },
-        // 进入全屏
-        handleFullScreen(id) {
-            if (!id) return
-            const vContext = uni.createVideoContext(id, this)
-            vContext.requestFullScreen()
-        },
-        // 预览图片
-        previewImage(index, previewImageList) {
-            // if (this.permission === 1) {
-            //     if(previewImageList.length >= 5) {
-            //         if (index < 3) {
-            //             uni.previewImage({
-            //                 current: index,
-            //                 indicator: 'number',
-            //                 urls: previewImageList,
-            //                 loop: true,
-            //                 success() {
-            //                     that.$emit('previewImage', true)
-            //                 }
-            //             })
-            //         }else {
-            //             this.checkPermission()
-            //         }
-            //     } else {
-            //         this.checkPermission()
-            //     }
-            // }else if (this.permission === 2) {
-            if (this.permission === 2 || this.permission === 4 || this.permission === 1) {
-                if(previewImageList.length >= 5) {
-                    if(index < 2) {
-                        uni.previewImage({
-                            current: index,
-                            indicator: 'number',
-                            urls: previewImageList,
-                            loop: true,
-                            success() {
-                                that.$emit('previewImage', true)
-                            }
-                        })
-                    } else {
-                        if (this.checkPermission()) return
-                    }
-                }else {
-                    if (this.checkPermission()) return
-                }
-            }
-            // } else if (this.permission === 3) {
-            //     if(previewImageList.length >= 5) {
-            //         if (index < 3) {
-            //             uni.previewImage({
-            //                 current: index,
-            //                 indicator: 'number',
-            //                 urls: previewImageList,
-            //                 loop: true,
-            //                 success() {
-            //                     that.$emit('previewImage', true)
-            //                 }
-            //             })
-            //         } else {
-            //             if (this.checkPermission()) return
-            //         }
-            //     } else {
-            //         if (this.checkPermission()) return
-            //     }
-            else {
-               if (this.checkPermission()) return
-               const that = this
-               uni.previewImage({
-                   current: index,
-                   indicator: 'number',
-                   urls: previewImageList,
-                   loop: true,
-                   success() {
-                       that.$emit('previewImage', true)
-                   }
-               })
-            }
-        },
-        //用户权限校验拦截
-        checkPermission() {
-            //permission:查看权限:0可查看,1未登录,2需升级会员机构,3需升级医美会员机构,4需要抵扣采美豆,5无权限查看
-            const _self = this
-            // 如果 TipStatus 返回false 就放行
-            if (!_self.TipStatus) return 0
-            this.modalButton[1].text = this.TipStatus.btn
-            this.showModal = true
-            return -1
-        },
-        // modal 按钮点击
-        handleModalClick(e) {
-            // 点击确认按钮
-            if (e.index === 1) {
-                this.showModal = false
-                this.nextAction(this.TipStatus.redirect) //执行下一步
-            } else {
-                this.showModal = false
-            }
-        },
-        //图片列表处理
-        imageFormat(list, index) {
-            const imageList = []
-            if (list.length > 2) {
-                list.forEach((item, index) => {
-                    imageList.push({ url: item, style: '' })
-                })
-            }
-            if (list.length === 1) {
-                try {
-                    const strArr = list[0]
-                        .split('?')[1]
-                        .replace(/\&|\=/g, '-')
-                        .split('-')
-                    const w = strArr[1] // 图片长
-                    const h = strArr[3] // 图片高
-                    let style = ''
-                    if (w > h) {
-                        style = `width:600rpx;height:${(600 / w) * h}rpx`
-                    } else {
-                        style = `height:600rpx;width:${(600 * w) / h}rpx`
-                    }
-                    imageList.push({ url: list[0], style: style })
-                } catch (e) {
-                    console.error(
-                        '图片链接格式不正确,返回未处理图片,请设置正确的链接:http://image/text.png?width=xx&height=xx'
-                    )
-                    imageList.push({ url: list[0], style: '' })
-                }
-            }
-            if (list.length === 2) {
-                const style = 'width:300rpx;height:300rpx;'
-                imageList.push({ url: list[0], style })
-                imageList.push({ url: list[1], style })
-            }
-            return imageList
-        },
-        // 点击按钮后要做的事
-        nextAction(redirect) {
-            const _self = this
-            if (typeof redirect == 'string') {
-                // 跳转链接
-                this.$api.navigateTo(redirect)
-            }
-            if (redirect === 10) {
-                this.searchArchiveByBean()
-            }
-        },
-        // 文件预览
-        previewFile(file) {
-            // if (this.checkPermission()) return
-            // 获取文件后缀
-            // const index = file.fileName.lastIndexOf('.')
-            // const suffix = file.fileName.substring(index)
-            this.openDocument(file)
-            // if (suffix === '.doc' || suffix === '.ppt' || suffix === '.pptx' || suffix === '.docx') {
-            //     //先将链接缓存
-            //     uni.setStorageSync('openLink', file.htmlUrl)
-            //     this.openDocument(file.fileUrl)
-            //     // this.$api.navigateTo('/pages/h5/article/path?key=openLink&type=1')
-            // } else if (suffix === '.pdf') {
-            //     //先将链接缓存
-            //     uni.setStorageSync('openLink', file.fileUrl)
-            //     this.$api.navigateTo('/pages/h5/article/path?key=openLink&type=2')
-            // } else {
-            //     // 不支持的文件
-            //     return uni.showModal({
-            //         content: `${suffix}类型文件暂不支持预览`,
-            //         cancelColor: '#666',
-            //         confirmColor: '#F3B574'
-            //     })
-            // }
-        },
-        // 打开文档
-        openDocument(file) {
-            uni.showLoading({
-                title:'加载中'
-            })
-            // 获取文件后缀
-            const index = file.fileName.lastIndexOf('.')
-            const suffix = file.fileName.substring(index + 1)
-            // 下载文件
-            uni.downloadFile({
-                url: file.fileUrl,
-                success(res) {
-                    const filePath = res.tempFilePath
-                    console.log(filePath) 
-                    console.log(file, res, '文件数据')
-                    // 打开文件
-                    uni.openDocument({
-                        filePath: filePath,
-                        fileType: suffix,
-                        success(res) {
-                            console.log(res)
-                            uni.showToast({
-                                icon:'success',
-                                title:'打开成功',
-                                duration: 1200
-                            })
-                            uni.hideLoading()
-                        },
-                        fail(err) {
-                            if(err.errMsg.indexOf('fail filetype not supported')){
-                                uni.showModal({
-                                    content: '不支持的文件预览',
-                                    cancelColor: '#666',
-                                    confirmColor: '#F3B574'
-                                })
-                            }
-                            uni.hideLoading()
-                        }
-                    })
-                },
-                fail(err){
-                    uni.showToast({
-                        title: JSON.stringify(err),
-                        icon:'none',
-                        duration: 5000
-                    })
-                    uni.hideLoading()
-                },
-            })
-        }
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.product-doc {
-    background: #f7f7f7;
-}
-.hasBottom {
-    padding-bottom: 90rpx;
-}
-.cm-login {
-    position: fixed;
-    left: 24rpx;
-    bottom: 115rpx; // 包含商品导航
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    padding: 0 32rpx;
-    width: 702rpx;
-    height: 90rpx;
-    background: #ffe6dc;
-    border-radius: 16px;
-    box-sizing: border-box;
-    z-index: 9;
-    &.maxBottom {
-        bottom: -100rpx;
-        z-index: 999;
-        animation: permiMove .3s ease-in-out;
-        animation-fill-mode: forwards;
-    }
-    text {
-        font-size: 26rpx;
-        color: #F3B574;
-    }
-    .cm-btn {
-        width: 136rpx;
-        height: 48rpx;
-        background: #F3B574;
-        border-radius: 28px;
-        font-size: 26rpx;
-        text-align: center;
-        line-height: 48rpx;
-        color: #ffffff;
-    }
-}
-.category {
-    padding: 0 24rpx;
-    margin-bottom: 20rpx;
-    background: #fff;
-    .cm-video-section {
-        position: relative;
-        width: 702rpx;
-        height: 402rpx;
-        .cm-video-cover {
-            width: 702rpx;
-            height: 402rpx;
-        }
-        .cm-player-btn {
-            position: absolute;
-            left: 50%;
-            top: 50%;
-            transform: translate(-50%, -50%);
-            z-index: 5;
-            width: 56rpx;
-            height: 56rpx;
-            background: url(https://static.caimei365.com/app/img/icon2/H5-plalyer.png) center no-repeat;
-            background-size: 56rpx 56rpx;
-        }
-    }
-    .category-title {
-        padding-top: 24rpx;
-        padding-bottom: 8rpx;
-        font-size: 28rpx;
-        font-weight: 500;
-        color: #333333;
-        border-bottom: 1px solid #f0f0f0;
-    }
-    .cm-none {
-        height: 37rpx;
-        margin: 24rpx 0 0 0;
-        padding-bottom: 48rpx;
-        font-size: 26rpx;
-        font-weight: 400;
-        line-height: 37rpx;
-        color: #333333;
-    }
-    &.cm-file {
-        .section {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            image {
-                width: 88rpx;
-                height: 88rpx;
-            }
-            .cm-title {
-                height: 74rpx;
-            }
-            .cm-desc {
-                width: 582rpx;
-            }
-            .cm-bottom {
-                display: flex;
-                justify-content: space-between;
-                align-items: center;
-                padding: 16rpx 0 0;
-                .cm-preview {
-                    font-size: 26rpx;
-                    font-weight: 400;
-                    color: #F3B574;
-                }
-                .cm-time {
-                    padding: 0;
-                }
-            }
-        }
-    }
-    .section {
-        padding-bottom: 24rpx;
-        border-bottom: 1px solid #f0f0f0;
-        &:last-child {
-            border-bottom: 0;
-        }
-        .cm-title {
-            display: -webkit-box;
-            max-height: 74rpx;
-            margin-top: 24rpx;
-            font-size: 26rpx;
-            font-weight: 400;
-            line-height: 1.5;
-            color: #333333;
-            -webkit-box-orient: vertical;
-            -webkit-line-clamp: 2;
-            overflow: hidden;
-            word-break: break-all;
-            text-align: justify;
-        }
-        .cm-time {
-            padding: 8rpx 0;
-            font-size: 22rpx;
-            font-weight: 400;
-            color: #b2b2b2;
-        }
-        .cm-img-list {
-            display: flex;
-            justify-content: flex-start;
-            flex-wrap: wrap;
-            &.cm-list {
-                image {
-                    width: 162rpx;
-                    height: 162rpx;
-                    margin: 18rpx 18rpx 0 0;
-                    box-sizing: border-box;
-                    border-radius: 6rpx;
-                    border: 1px solid #e1e1e1;
-                    &:nth-child(4n) {
-                        margin-right: 0;
-                    }
-                }
-            }
-            &.cm-one {
-                max-width: 400rpx;
-                max-height: 400rpx;
-                image {
-                    box-sizing: border-box;
-                    border-radius: 6rpx;
-                    border: 1px solid #e1e1e1;
-                }
-            }
-        }
-        .cm-video-list {
-            margin-top: 18rpx;
-            // // width: 702rpx;
-            // // height: 420rpx;
-            // width: 544rpx;
-            // height: 960rpx;
-            // .cm-video {
-            //     width: 100% !important;
-            //     max-width: 100%;
-            //     min-width: 100%;
-            //     display: flex;
-            //     // max-height: 420rpx;
-            //     // width: 100%;
-            //     height: 100%;
-            //     background: #000;
-            // }
-        }
-    }
-}
-
-@keyframes permiMove {
-    0% {
-        bottom: -100rpx;
-    }
-    100% {
-        bottom: 180rpx;
-    }
-}
-</style>

+ 0 - 155
pages/goods/components/cm-product-modal.vue

@@ -1,155 +0,0 @@
-<template name="cm-product-modal">
-	<!-- 商品详情可见度弹窗提醒 -->
-	<view>
-		<tui-modal
-			:show="showModal"
-			@click="handleClick"
-			@cancel="hideMobel"
-			:content="contentModalText"
-			:button="modalButton"
-			color="#333"
-			:size="32"
-			shape="circle"
-			:maskClosable="false"
-		>
-		</tui-modal>
-	</view>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-export default {
-	name: 'cm-product-modal',
-	props: {
-		showModal: {
-			type: Boolean,
-			default: false
-		},
-		commodityDetailsFlag: {
-			type: Number
-		},
-		userIdentity: {
-			type: Number
-		},
-		firstClubType: {
-			type: Number
-		},
-		isShareType:{
-			type:String
-		}
-	},
-	data() {
-		return {
-			contentModalText: '',
-			modalButton: [],
-			
-		}
-	},
-	computed: {
-		...mapState(['hasLogin'])
-	},
-	created() {
-		// 根据商品详情可见度显示弹窗 product.commodityDetailsFlag 1.所有人可见 2.所有机构可见 3.仅会员机构可见 4.仅医美机构可见
-		this.initModal(this.commodityDetailsFlag, this.userIdentity, this.firstClubType)
-	},
-	methods: {
-		initModal(flag, identity, clubType) {
-			this.contentModalText = this.setModalText(flag, identity, clubType, this.hasLogin)
-			this.modalButton = this.setModalButton(flag, identity, clubType, this.hasLogin)
-		},
-		setModalText(flag = '', identity = '', clubType = '', hasLogin) {
-			const map = {
-				'2': '该商品仅限已注册机构查看,请注册机构账户后继续查看。有采美账号的,请直接登录',
-				'3': '该商品仅限资质机构查看,请注册资质机构后继续查看。有采美账号的,请直接登录。',
-				'4': '该商品仅限医美类机构查看,请注册医美机构后继续查看。有采美账号的,请直接登录。',
-				'34': '该商品仅限资质机构查看,请升级为资质机构后继续查看。',
-				'44': '该商品仅限医美类机构查看,请升级为医美机构后继续查看。',
-				'42': '该商品仅限医美类机构查看,您暂无权限。您可去机构资料页面查看机构类型。'
-			}
-			// 游客提示语
-			if (!hasLogin) {
-				return map[flag]
-			}
-			const code = flag === 4 && identity === 2 && clubType !== 1 ? '42' : `${flag}${identity}`
-			return map[code]
-		},
-		setModalButton(flag = '', identity = '', clubType = '', hasLogin) {
-			const customStyle = { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)' }
-			const btnMap = {
-				'22': [
-					{ text: '关闭', type: 'gray', plain: true },
-					{
-						text: '去注册/登录',
-						customStyle: customStyle,
-						plain: false
-					}
-				],
-				'34': [
-					{ text: '关闭', type: 'gray', plain: true },
-					{
-						text: '去升级',
-						customStyle: customStyle,
-						plain: false
-					}
-				],
-				'44': [
-					{ text: '关闭', type: 'gray', plain: true },
-					{
-						text: '去升级',
-						customStyle: customStyle,
-						plain: false
-					}
-				],
-				'42': [
-					{ text: '关闭', type: 'gray', plain: true },
-					{
-						text: '去查看资料',
-						customStyle: customStyle,
-						plain: false
-					}
-				]
-			}
-			if (!hasLogin) {
-				// 游客按钮
-				return btnMap['22']
-			} 
-			const code = flag === 4 && identity === 2 && clubType !== 1 ? '42' : `${flag}${identity}`
-			console.log('code',code)
-			return btnMap[code]
-		},
-		handleClick(e) {
-			// 医美
-			if (e.index == 1) {
-				if (!this.hasLogin) {
-					//游客跳转登录页
-					this.$api.navigateTo('/pages/login/login')
-				} else {
-					if (this.userIdentity === 4) {
-						// 个人机构跳转升级页面
-						this.$api.navigateTo('/pages/login/apply')
-					} else if (this.userIdentity === 2) {
-						//会员机构
-						if (this.firstClubType != 1) {
-							// 会员非医美机构跳转资料页
-							this.$api.navigateTo('/pages/login/information')
-						}
-					}
-				}
-				this.$parent.showModal = false
-			} else {
-				this.$parent.showModal = false
-				if (this.isShareType == 'share') {
-					this.$api.switchTabTo('/pages/tabBar/home/index')
-				} else {
-					this.$api.navigateBack(1)
-				}
-			}
-		},
-		hideMobel() {
-			this.$parent.showModal = false
-		}
-	}
-}
-</script>
-
-<style lang="scss"></style>

+ 0 - 87
pages/goods/components/cm-return-instructions.vue

@@ -1,87 +0,0 @@
-<template>
-    <view class="goods-return-instructions">
-        <view class="section" @click="onShowDetail">
-            <view class="label">特殊商品退货须知</view>
-            <view class="iconfont icon-xiangyou more"></view>
-        </view>
-        <tui-bottom-popup backgroundColor="#fff" :height="400"  :show="popupShow">
-        	<view class="popup-content">
-        	    <view class="close iconfont icon-iconfontguanbi" @click="close"></view>
-        	    <view class="title">特殊商品退货须知</view>
-                <scroll-view :scroll-y="true" class="content">
-                    <view v-html="content"></view>
-                </scroll-view>
-        	</view>
-        </tui-bottom-popup>
-    </view>
-</template>
-
-<script> 
-export default {
-    props:{
-        content: {
-            type: String,
-            default: ''
-        }
-    },
-    data(){
-        return {
-            popupShow: false
-        }
-    },
-    methods: {
-        onShowDetail() {
-            this.popupShow = true
-        },
-        close() {
-            this.popupShow = false
-        }
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.goods-return-instructions {
-    background-color: #fff;
-    .section {
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        font-size: 28rpx;
-        line-height: 90rpx;
-        color: #666666;
-
-        .iconfont {
-            color: #b2b2b2;
-        }
-    }
-}
-
-.popup-content {
-    position: relative;
-    padding: 50rpx;
-    background-color: #fff;
-    border-radius: 16rpx 16rpx 0 0;
-
-    .close {
-        position: absolute;
-        right: 24rpx;
-        top: 24rpx;
-        color: #999;
-        font-size: 32rpx;
-    }
-    .title {
-        text-align: center;
-        font-size: 34rpx;
-        color: #333;
-        font-weight: bold;
-    }
-    .content {
-        line-height: 42rpx;
-        font-size: 26rpx;
-        margin-top: 50rpx;
-        max-height: 200rpx;
-        color: #333333;
-    }
-}
-</style>

+ 0 - 84
pages/goods/components/cm-service.vue

@@ -1,84 +0,0 @@
-<template name="cm-service">
-	<!-- 服务项目 -->
-	<view class="cm-service">
-		<view class="cm-service-text" v-show="product.orderInfo">
-			<view class="cm-service-title">订购方案</view>
-			<view class="cm-service-p" v-html="product.orderInfo"></view>
-		</view>
-		<view class="cm-service-text" v-show="product.serviceInfo">
-			<view class="cm-service-title">服务详情</view>
-			<view class="cm-service-p" v-html="product.serviceInfo"></view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'cm-service',
-		props:{
-			product:{
-				type:Object,
-			}
-		},
-		data() {
-			return{
-				
-			}
-		},
-		created() {
-			
-		},
-		methods:{
-		},
-		
-	}
-</script>
-
-<style lang="scss">	
-	.cm-service{
-		width: 702rpx;
-		height: auto;
-		background: #FFF;
-		margin: 0 auto;
-		padding: 24rpx 0;
-		.cm-service-text{
-			width: 100%;
-			height: auto;
-			margin-bottom: 24rpx;
-			.cm-service-title{
-				font-size: $font-size-28;
-				color: #333;
-				text-align: left;
-				line-height: 44rpx;
-				margin-bottom: 8rpx;
-			}
-			.cm-service-p{
-				font-size: $font-size-28;
-				color: #999;
-				text-align: justify;
-				line-height: 44rpx;
-			}
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 3 - 234
pages/goods/components/cm-unit-price.vue

@@ -10,187 +10,9 @@
 					<uni-grader :grade="Number(skuProduct.priceGrade)"></uni-grader>
 				</view>
 			</template>
-			<template v-else-if="userIdentity == 1">
-				<!-- 协销 -->
-				<view
-					class="sku-price-text"
-					:class="PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1 ? 'none' : ''"
-				>
-					¥{{
-						(PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1
-							? skuProduct.originalPrice
-							: skuProduct.price) | NumFormat
-					}}
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
-				<!-- 资质机构 -->
-				<view class="sku-price-text" v-if="skuProduct.priceFlag == 1">¥未公开价格</view>
-				<view class="sku-price-text" v-else-if="skuProduct.priceFlag == 3 && firstClubType != 1"
-					>¥仅医美机构可见</view
-				>
-				<view
-					v-else
-					class="sku-price-text"
-					:class="PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1 ? 'none' : ''"
-				>
-					¥{{
-						(PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1
-							? skuProduct.originalPrice
-							: skuProduct.price) | NumFormat
-					}}
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 3">
-				<!-- 供应商 -->
-				<template v-if="skuProduct.shopId === shopID">
-					<view class="sku-price-text" v-if="skuProduct.priceFlag == 1">¥未公开价格</view>
-					<view
-						v-else
-						class="sku-price-text"
-						:class="PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1 ? 'none' : ''"
-					>
-						¥{{
-							(PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1
-								? skuProduct.originalPrice
-								: skuProduct.price) | NumFormat
-						}}
-					</view>
-				</template>
-				<template v-else>
-					<view class="sku-price-text">
-						<text class="sku-price-l">¥</text>
-						<uni-grader :grade="Number(skuProduct.priceGrade)"></uni-grader>
-					</view>
-				</template>
-			</template>
-			<template v-else-if="userIdentity == 4 && vipFlag != 1">
-				<!-- 普通机构 -->
-				<text class="sku-price-text" v-if="skuProduct.priceFlag == 1">¥未公开价格</text>
-				<text class="sku-price-text" v-else-if="skuProduct.priceFlag == 2">¥价格仅会员可见</text>
-				<text class="sku-price-text" v-else-if="skuProduct.priceFlag == 3">¥仅医美机构可见</text>
-				<view
-					v-else
-					class="sku-price-text"
-					:class="PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1 ? 'none' : ''"
-				>
-					¥{{
-						(PromotionsFormat(skuProduct.promotions) || skuProduct.svipProductFlag == 1
-							? skuProduct.originalPrice
-							: skuProduct.price) | NumFormat
-					}}
-				</view>
-			</template>
-		</view>
-		<view class="sku-price-vip">
-			<!-- 优惠券和超级会员标记 -->
-			<template v-if="!hasLogin">
-				<!-- 游客 -->
-				<view class="floor-item-act">
-					<view class="coupon-tags" v-if="productCoupon.length > 0">优惠券</view>
-					<template v-if="skuProduct.actStatus == 1">
-						<view v-if="skuProduct.promotions.type == 1 && skuProduct.promotions.mode == 1" class="floor-tags">
-							{{ skuProduct.promotions.name }}<text v-if="hasLogin">:¥{{ skuProduct.price | NumFormat }}</text>
-						</view>
-						<view v-else class="floor-tags">{{ skuProduct.promotions.name }}</view>
-					</template>
-					<template v-if="skuProduct.svipProductFlag == 1">
-						<view class="svip-tags"> <view class="tags none">SVIP</view> </view>
-					</template>
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 1">
-				<!-- 协销 -->
-				<view class="floor-item-act">
-					<view class="coupon-tags" v-if="productCoupon.length > 0">优惠券</view>
-					<template v-if="skuProduct.actStatus == 1">
-						<view v-if="skuProduct.promotions.type == 1 && skuProduct.promotions.mode == 1" class="floor-tags">
-							{{ skuProduct.promotions.name
-							}}<text v-if="hasLogin"
-								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
-								}}</text
-							>
-						</view>
-						<view v-else class="floor-tags">{{ skuProduct.promotions.name }}</view>
-					</template>
-					<template v-if="skuProduct.svipProductFlag == 1">
-						<view class="svip-tags">
-							<view class="tags none">SVIP</view> <view class="price">{{ skuProduct.svipPriceTag }}</view>
-						</view>
-					</template>
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
+			<template v-else>
 				<!-- 资质机构 -->
-				<view class="floor-item-act">
-					<view class="coupon-tags" v-if="productCoupon.length > 0">优惠券</view>
-					<template v-if="skuProduct.actStatus == 1">
-						<view v-if="skuProduct.promotions.type == 1 && skuProduct.promotions.mode == 1" class="floor-tags">
-							{{ skuProduct.promotions.name
-							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
-								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
-								}}</text
-							>
-						</view>
-						<view v-else class="floor-tags">{{ skuProduct.promotions.name }}</view>
-					</template>
-					<template v-if="skuProduct.svipProductFlag == 1">
-						<view class="svip-tags">
-							<view class="tags" :class="{ none: !isShowVipFlag(skuProduct) }">SVIP</view>
-							<view class="price" v-if="isShowVipFlag(skuProduct)">{{ skuProduct.svipPriceTag }}</view>
-						</view>
-					</template>
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 3">
-				<!-- 供应商 -->
-				<view class="floor-item-act">
-					<view class="coupon-tags" v-if="productCoupon.length > 0">优惠券</view>
-					<template v-if="skuProduct.actStatus == 1">
-						<view v-if="skuProduct.promotions.type == 1 && skuProduct.promotions.mode == 1" class="floor-tags">
-							{{ skuProduct.promotions.name
-							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
-								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
-								}}</text
-							>
-						</view>
-						<view v-else class="floor-tags">{{ skuProduct.promotions.name }}</view>
-					</template>
-					<template v-if="skuProduct.svipProductFlag == 1">
-						<view class="svip-tags">
-							<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view>
-							<view class="price" v-if="skuProduct.priceFlag != 1 && vipFlag == 1">{{
-								skuProduct.svipPriceTag
-							}}</view>
-						</view>
-					</template>
-				</view>
-			</template>
-			<template v-else-if="userIdentity == 4 && vipFlag != 1">
-				<!-- 普通机构 -->
-				<view class="floor-item-act">
-					<view class="coupon-tags" v-if="productCoupon.length > 0">优惠券</view>
-					<template v-if="skuProduct.actStatus == 1">
-						<view v-if="PromotionsFormat(skuProduct.promotions)" class="floor-tags">
-							{{ skuProduct.promotions.name
-							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
-								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
-								}}</text
-							>
-						</view>
-						<view v-else class="floor-tags">{{ skuProduct.promotions.name }}</view>
-					</template>
-					<template v-if="skuProduct.svipProductFlag == 1">
-						<view class="svip-tags">
-							<view class="tags" :class="{ none: !isShowVipFlag(skuProduct) }">SVIP</view>
-							<view class="price" v-if="isShowVipFlag(product)">{{ skuProduct.svipPriceTag }}</view>
-						</view>
-					</template>
-				</view>
+				<view class="sku-price-text"> ¥{{ skuProduct.price | NumFormat }} </view>
 			</template>
 		</view>
 	</view>
@@ -208,19 +30,10 @@ export default {
 		skuProduct: {
 			type: Object,
 			default: {}
-		},
-		productCoupon: {
-			type: Array,
-			default: []
 		}
 	},
 	data() {
 		return {
-			vipFlag: 0, // 是否是超级会员 0否 1是
-			userIdentity: 2,
-			shopID: 0,
-			isIphoneX: this.$store.state.isIphoneX,
-			firstClubType: 0
 		}
 	},
 	filters: {
@@ -230,55 +43,11 @@ export default {
 		}
 	},
 	created() {
-		this.initData()
 	},
 	computed: {
 		...mapState(['hasLogin', 'clubType'])
 	},
 	methods: {
-		async initData(data) {
-			const userInfo = await this.$api.getStorage()
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			this.shopID = userInfo.shopId ? userInfo.shopId : 0
-			this.firstClubType = this.clubType
-		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		isShowVipFlag(pros) {
-			/**
-			 *显示SVIP和超级会员价格:
-			 * 	个人机构(不是超级会员,但价格所有机构可见),
-			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
-			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
-			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
-			 *	普通机构
-			 * 		超级会员 && priceFlag === 0
-			 * 	资质机构
-			 * 		priceFlag !== 1 ||
-			 * 		超级会员
-			 * 			商品priceFlag === 3 && 是否是医美机构
-			 */
-			// 未登录 || 非会员
-			if (!this.hasLogin || !this.vipFlag === 1) return false
-			// 商品所有机构可见
-			if (pros.priceFlag === 0) return true
-			// 商品价格仅资质机构可见
-			if (pros.priceFlag === 2 && this.userIdentity === 2) return true
-			// 商品价格仅医美机构可见
-			if (pros.priceFlag === 3 && this.userIdentity === 2 && this.firstClubType == 1) return true
-			// 其它
-			return false
-		}
 	}
 }
 </script>
@@ -296,7 +65,7 @@ export default {
 			line-height: 40rpx;
 			color: #f94b4b;
 			font-weight: bold;
-			.sku-price-l{
+			.sku-price-l {
 				float: left;
 				font-weight: normal;
 			}

+ 0 - 267
pages/goods/components/cm-unit-suppor-popup.vue

@@ -1,267 +0,0 @@
-<template name="cm-parameter">
-	<!-- 相关规格 -->
-	<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-		<view class="tui-popup-box clearfix">
-			<view class="tui-shopping-main" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-				<view class="tui-sku-title">
-					<view class="tui-sku-image"> <image :src="skuProduct.image" mode=""></image> </view>
-					<view class="tui-sku-price"> <cmUnitPrice :skuProduct="skuProduct"></cmUnitPrice> </view>
-				</view>
-				<view class="tui-sku-unit">
-					<view class="sku-unit-h1">规格:</view>
-					<view class="sku-unit-li">
-						<view
-							class="unit-li"
-							v-for="(sku, index) in skuList"
-							@click="handleChoisSku(sku, index)"
-							:key="index"
-							:class="skuIndex === index ? 'active' : ''"
-						>
-							{{ sku.unit }} <text class="tips" v-if="sku.stock === 0">缺货</text>
-						</view>
-					</view>
-				</view>
-				<view class="sku-unit-ladel" v-if="isShowLadder" @click.stop="showLaddePopup"> 此规格商品存在阶梯价格,点击查看 >>> </view>
-			</view>
-			<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-				<view class="tui-modal-flex">
-					<button
-						class="tui-modal-button confirm"
-						:disabled="isBtnDisabled"
-						:class="[isBtnDisabled ? 'disabled' : '']"
-						@click="handleConfirm"
-					>
-						确定
-					</button>
-				</view>
-			</view>
-		</view>
-	</tui-bottom-popup>
-</template>
-
-<script>
-import { mapState, mapMutations } from 'vuex'
-import uniGrader from '@/components/uni-grade/uni-grade.vue'
-import cmUnitPrice from './cm-unit-price.vue'
-export default {
-	name: 'cm-unit-popup',
-	components: {
-		uniGrader,
-		cmUnitPrice
-	},
-	props: {
-		skuProduct: {
-			type: Object
-		},
-		popupShow: {
-			type: Boolean,
-			default: false
-		},
-		type: {
-			type: Number,
-			default: 1
-		}
-	},
-	data() {
-		return {
-			isShowLadder:false,
-			isBtnDisabled:false,
-			skuIndex: 0,
-			userIdentity: 0,
-			number: 0,
-			buyRetailPrice: 0,
-			ladderPriceList: [],
-			handleUnit:'',
-			handleMinNumber:0,
-			handleStock:0,
-			skuList: []
-		}
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			return Number(value).toFixed(2)
-		}
-	},	
-	created() {
-		this.skuList = this.skuProduct.skus
-		this.productCount = this.skuList[0].minBuyNumber
-		this.handleMinNumber = this.skuList[0].minBuyNumber
-		this.handleStock = this.skuList[0].stock
-		this.initData()
-	},
-	computed: {
-		...mapState(['hasLogin'])
-	},
-	methods: {
-		async initData(data) {
-			const userInfo = await this.$api.getStorage()
-			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			//处理禁用按钮商品
-			this.isBtnDisabled = this.isDisabledFlag(this.skuProduct)
-			if(this.product.skuList[0].ladderPriceList){ this.isShowLadder = true }
-		},
-		isDisabledFlag(pros){
-			// 非会员
-			if (!this.vipFlag === 1) return true
-			// 商品已下架 || 库存为0 
-			if (pros.validFlag == 3 || pros.stock == 0) return true
-			// 商品价格不公开
-			if (pros.priceFlag === 1) return true
-			// 商品价格仅资质机构可见 && 机构为普通机构
-			if (pros.priceFlag === 2 && this.userIdentity === 4 ) return true
-			// 商品价格仅医美机构可见 && 机构为普通机构 
-			if (pros.priceFlag === 3 && this.userIdentity === 4 ) return true
-			// 商品价格仅医美机构可见 && 机构为资质机构 && 不是医美机构
-			if (pros.priceFlag === 3 && this.userIdentity === 2 && this.firstClubType != 1) return true
-			//其他
-			return false
-		},
-		handleConfirm() {
-			const data = { unit : this.handleUnit,number:this.handleMinNumber} 
-			this.$emit('btnConfirm', data)
-			this.$parent.popupShow1 = false
-		},
-		handleChoisSku(sku, index) {
-			// 选择SKU
-			this.skuIndex = index
-			this.handleUnit = sku.unit
-			this.ladderPriceList = sku.ladderPriceList
-			this.isShowLadder = sku.ladderPriceList ? true : false
-			this.isBtnDisabled = sku.stock === 0
-			this.$emit('skuClick', sku)
-		},
-		showLaddePopup(){
-			// 点击显示阶梯价
-			this.laddePopupShow = true
-		},
-		hidePopup() {
-			//隐藏
-			this.$parent.popupShow1 = false
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.tui-popup-box {
-	padding: 40rpx 24rpx 0 24rpx;
-}
-.tui-shopping-main {
-	width: 100%;
-	.tui-sku-title {
-		width: 100%;
-		height: 136rpx;
-		float: left;
-		margin-bottom: 30rpx;
-		.tui-sku-image {
-			width: 138rpx;
-			height: 138rpx;
-			float: left;
-			border-radius: 8rpx;
-			margin-right: 30rpx;
-			box-sizing: border-box;
-			border: 1px dashed #e1e1e1;
-			image {
-				width: 134rpx;
-				height: 134rpx;
-				border-radius: 10rpx;
-			}
-		}
-		.tui-sku-price {
-			height: 136rpx;
-			float: left;
-		}
-	}
-	.tui-sku-unit {
-		width: 100%;
-		height: auto;
-		float: left;
-		.sku-unit-h1 {
-			font-size: 28rpx;
-			line-height: 40rpx;
-			color: #333333;
-			font-weight: bold;
-		}
-		.sku-unit-li {
-			width: 100%;
-			height: auto;
-			.unit-li {
-				padding: 0 24rpx;
-				line-height: 48rpx;
-				text-align: center;
-				font-size: 24rpx;
-				color: #666666;
-				background: #f5f5f5;
-				float: left;
-				margin-right: 16rpx;
-				margin-top: 12rpx;
-				margin-bottom: 12rpx;
-				border-radius: 24rpx;
-				position: relative;
-				box-sizing: border-box;
-				border: 1px solid #f5f5f5;
-				&.active {
-					border-color: $color-system;
-					background: #fff1eb;
-					color: $color-system;
-					.tips {
-						background: #F3B574;
-					}
-				}
-				.tips {
-					padding: 0 10rpx;
-					line-height: 32rpx;
-					text-align: center;
-					font-size: 22rpx;
-					color: #ffffff;
-					background: #cccccc;
-					float: left;
-					border-radius: 16rpx;
-					position: absolute;
-					right: -12rpx;
-					top: -15rpx;
-				}
-			}
-		}
-	}
-	.sku-unit-ladel {
-		width: 100%;
-		height: 64rpx;
-		line-height: 64rpx;
-		float: left;
-		margin-top: 20rpx;
-		text-align: center;
-		font-size: 24rpx;
-		background: #fffaf8;
-		color: #F3B574;
-	}
-}
-.tui-modal-flex {
-	width: 100%;
-	height: 84rpx;
-	margin-top: 40rpx;
-	display: flex;
-	.tui-modal-button {
-		flex: 1;
-		line-height: 84rpx;
-		font-size: $font-size-28;
-		text-align: center;
-		border-radius: 42rpx;
-		padding: 0;
-		margin: 0 15rpx;
-		box-sizing: border-box;
-		&.cancel {
-			background: #ffe6dc;
-			color: #F3B574;
-		}
-		&.confirm {
-			background: $btn-confirm;
-			color: #ffffff;
-			&.disabled {
-				background: linear-gradient(135deg, rgba(242, 143, 49, 0.5) 0%, rgba(225, 86, 22, 0.5) 100%);
-			}
-		}
-	}
-}
-</style>

+ 0 - 175
pages/goods/components/instrument-recommend.vue

@@ -1,175 +0,0 @@
-<template name="recommend">
-	<!-- 项目仪器推荐 -->
-	<view class="recommend clearfix">
-		<view class="recommend-list" v-if="list.length>0">
-			<view class="row-list" v-for="(pros, idx) in list" :key="idx" @click.stop="NavToDetailPage(pros)">
-				<view class="list-image"><image :src="pros.image" mode=""></image></view>
-				<view class="list-name">{{pros.title}}</view>
-			</view>
-		</view>
-		<view class="recommend-empty" v-else>暂无相关推荐商品</view>
-	</view>
-</template>
-
-<script>
-	import authorize from '@/common/config/authorize.js'
-	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
-	import tuiNomore from "@/components/tui-components/nomore/nomore"
-	
-	export default{
-		name:'recommend',
-		props:{
-			list: {
-				// Unistars类型
-				type: Array
-			}
-		},
-		components:{
-			tuiLoadmore,
-			tuiNomore,
-		},
-		data() {
-			return{
-				
-			}
-		},
-		created() {
-			
-		},
-		methods:{
-			NavToDetailPage(value) {//跳转
-				/**
-				 * 页面跳转类型
-				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
-				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
-				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
-				 **/
-				 if(value.linkType){
-					 const typeMap = {
-					 	1:`/pages/goods/goods-instrument?linkId=${value.linkParam.id}&title=${value.title}`,
-						2:`/pages/goods/instrument-details?id=${value.linkParam.id}`,
-					 	5:`/pages/goods/product?id=${value.linkParam.id}`,
-					 	// 7:`/pages/supplier/user/my-shop?shopId=${value.linkParam.id}`,
-					 	8:`/pages/h5/activity/activity-list`,
-					 	9:`/pages/second/form/introduce`,
-					 	10:`/pages/second/product/product-list`,
-					 	11:`/pages/second/form/form`,
-					 	12:`/pages/search/search?keyWord=${value.title}`,
-					 	13:`/pages/h5/article/path?link=${value.link}`,
-					 	14:`/pages/h5/article/path?link=${value.link}`,
-					 	15:`/pages/h5/article/path?link=${value.link}`,
-					 	17:`/pages/login/register-select`,
-					 	18:`/pages/h5/article/path?link=${value.link}`,
-					 	19:`/pages/search/search-supplier?keyWord=${value.title}`
-					 }
-					 const url = typeMap[value.linkType];
-					 this.$api.navigateTo(url)
-				 }
-			}
-		}
-	}
-</script>
-
-<style lang="scss">	
-.recommend{
-	background: #F7F7F7;
-	width: 100%;
-	.recommend-empty{
-		width: 702rpx;
-		height: 100rpx;
-		line-height: 100rpx;
-		padding: 0 24rpx;
-		font-size: $font-size-28;
-		color: #999999;
-		text-align: center;
-	}
-	.recommend-list{
-		width: 100%;
-		height: auto;
-		position: relative;
-		box-sizing: border-box;
-		padding: 0rpx 24rpx;
-		.row-list{
-			width: 340rpx;
-			height: auto;
-			float: left;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 20rpx;
-			background: #FFFFFF;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.list-image{
-				width: 100%;
-				height: 340rpx;
-				border-radius: 20rpx 20rpx 0 0;
-				image{
-					width: 100%;
-					height: 340rpx;
-					border-radius: 20rpx 20rpx 0 0;
-				}
-			}	
-			.list-name{
-				font-size: $font-size-28;
-				color: $text-color;
-				line-height:88rpx;
-				padding: 0 10rpx;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-		}
-	}
-	.swiper__recommenddots-box{
-		position: absolute;
-		bottom: -20rpx;
-		left: 0;
-		right: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 60rpx;
-		background: #FFFFFF;
-		.swiper__dots-item{
-			width: 8rpx;
-			height: 8rpx;
-			border-radius: 100%;
-			margin-left: 6px;
-			background-color:rgba(0,0,0,.3);
-		}
-		.swiper__dots-long{
-			width: 32rpx;
-			height: 8rpx;
-			border-radius: 4rpx;
-			background-color: #000;
-			transition: all 0.4s;
-		}
-	}
-}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 183
pages/goods/components/recommend.vue

@@ -1,183 +0,0 @@
-<template name="recommend">
-	<!-- 供应商信息 -->
-	<view class="recommend clearfix">
-		<view class="recommend-empty" v-if="isEmpty">暂无相关推荐商品</view>
-		<view class="recommend-list" v-else>
-			<view class="row-list" v-for="(pros, idx) in recommendList" :key="idx" @click.stop="navToDetailPage(pros.productId)">
-				<view class="list-image"><image :src="pros.image" mode=""></image></view>
-				<view class="list-name">{{pros.name}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex'
-	import authorize from '@/common/config/authorize.js'
-	import tuiLoadmore from '@/components/tui-components/loadmore/loadmore'
-	import tuiNomore from '@/components/tui-components/nomore/nomore'
-	
-	export default{
-		name:'recommend',
-		props:{
-			queryProductid: {
-				type: Number,
-				default: 0
-			},
-			queryType:{
-				type: String,
-				default: '0'
-			}
-		},
-		components:{
-			tuiLoadmore,
-			tuiNomore,
-		},
-		data() {
-			return{
-				current:0,
-				recommendList:[],
-				isEmpty:false,
-				pageSize:4,
-				productID:'',
-				userId:0,
-			}
-		},
-		created() {
-			this.productID = this.queryProductid
-			this.$api.getStorage().then((resolve) => {
-				this.userId = resolve.userId ? resolve.userId : 0
-				this.infoRecommend(this.queryProductid,this.queryType)
-			})	
-		},
-		computed: {
-			...mapState(['identity'])
-		},
-		methods:{
-			infoRecommend(id,type){
-				this.ProductService.queryProductDetilsRelevant({ productId:id,recommendType:type ? type : 0,userId : this.userId }).then(response =>{
-					if( response.data && response.data.length > 0){
-						this.isEmpty = false
-						this.recommendList = response.data
-					}else{
-						this.isEmpty = true
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			//轮播图切换修改背景色
-			swiperChange(e) {
-				const index = e.detail.current
-				this.current = index
-			},
-			navToDetailPage(id) {//跳转商品详情页
-				this.$api.navigateTo(`/pages/goods/product?id=${id}`)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">	
-.recommend{
-	background: #F7F7F7;
-	width: 100%;
-	.recommend-empty{
-		width: 702rpx;
-		height: 100rpx;
-		line-height: 100rpx;
-		padding: 0 24rpx;
-		font-size: $font-size-28;
-		color: #999999;
-		text-align: left;
-	}
-	.recommend-list{
-		width: 100%;
-		height: auto;
-		position: relative;
-		box-sizing: border-box;
-		padding: 0rpx 24rpx;
-		.row-list{
-			width: 340rpx;
-			height: auto;
-			float: left;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 20rpx;
-			background: #FFFFFF;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.list-image{
-				width: 100%;
-				height: 340rpx;
-				border-radius: 20rpx 20rpx 0 0;
-				image{
-					width: 100%;
-					height: 340rpx;
-					border-radius: 20rpx 20rpx 0 0;
-				}
-			}	
-			.list-name{
-				font-size: $font-size-28;
-				color: $text-color;
-				line-height:88rpx;
-				padding: 0 10rpx;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-		}
-	}
-	.swiper__recommenddots-box{
-		position: absolute;
-		bottom: -20rpx;
-		left: 0;
-		right: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 60rpx;
-		background: #FFFFFF;
-		.swiper__dots-item{
-			width: 8rpx;
-			height: 8rpx;
-			border-radius: 100%;
-			margin-left: 6px;
-			background-color:rgba(0,0,0,.3);
-		}
-		.swiper__dots-long{
-			width: 32rpx;
-			height: 8rpx;
-			border-radius: 4rpx;
-			background-color: #000;
-			transition: all 0.4s;
-		}
-	}
-}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 1
pages/goods/good-floor.vue

@@ -44,7 +44,6 @@ export default {
 	},
 	data() {
 		return {
-			StaticUrl: this.$Static,
 			isModallayer: false,
 			banner: '',
 			listQuery: {

+ 0 - 983
pages/goods/good-hot.vue

@@ -1,983 +0,0 @@
-<template>
-	<view class="container floor clearfix">
-		<tui-skeleton
-			v-if="skeletonShow"
-			backgroundColor="#fafafa"
-			borderRadius="10rpx"
-			:isLoading="true"
-			:loadingType="5"
-		></tui-skeleton>
-		<view v-else>
-			<view class="container-topcontent">
-				<view class="topcontent-image" :style="{ paddingTop: StatusBar + 'px' }">
-					<view
-						class="topcontent-title"
-						:class="fixedClass"
-						:style="{ paddingTop: fixedClass == 'fixed' ? StatusBar + 'px' : '0'}"
-					>
-						采美新品橱窗
-						<view class="topcontent-title-icon" @click="haveBack" :style="{ top: fixedClass == 'fixed' ? (StatusBar+7) + 'px' : '14rpx'}">
-							<text class="iconfont icon-fanhui"></text>
-						</view>
-					</view>
-				</view>
-				<view class="topcontent-swiper" :style="{ top: StatusBar + 44 + 'px' }">
-					<view class="swiper-goods">
-						<view class="swiper-banner-box">
-							<swiper
-								class="tui-banner-swiper tui-banner tui-skeleton-fillet"
-								:autoplay="true"
-								:interval="5000"
-								:duration="500"
-								@change="swiperChange"
-								:circular="true"
-							>
-								<swiper-item
-									v-for="(item, index) in topGoodList"
-									:key="index"
-									@click.stop="navToDetailPage(item.productId)"
-								>
-									<view class="swiper-goods-image">
-										<image :src="item.mainImage" mode="scaleToFill" />
-									</view>
-									<view class="swiper-goods-info">
-										<view class="swiper-goods-name"> {{ item.name }} </view>
-										<view class="swiper-goods-btn"> <view class="btn"> 立即购买 </view> </view>
-									</view>
-								</swiper-item>
-							</swiper>
-							<view class="swiper__dots-box" v-if="topGoodList.length > 1">
-								<view
-									v-for="(item, idx) in topGoodList"
-									:key="idx"
-									:class="[idx === current ? 'swiper__dots-long' : 'none']"
-									:data-index="current"
-									class="swiper__dots-item"
-								>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="container-screen">
-				<view class="container-screen-box" @click="showDropShow">
-					<view class="screen-box-em">品牌</view>
-					<view class="screen-box-mi" v-if="!dropShow">
-						<view class="screen-list" :class="isAllcheckedBrand ? 'active' : ''">全部</view>
-						<view class="screen-list" v-for="(brand, index) in brandList" :key="index" v-if="index < 2">
-							{{ brand.name }}
-						</view>
-					</view>
-					<view class="screen-box-sp">
-						<text
-							class="iconfont"
-							:class="dropShow ? 'icon-xiangshangjiantou' : 'icon-xiangxiajiantou'"
-						></text>
-					</view>
-				</view>
-				<view class="container-screen-popup" v-if="dropShow">
-					<!-- <uni-transition mode-class="slide-top" :show=""> -->
-					<view class="container-screen-popupbox">
-						<!--header 顶部下拉选择框-->
-						<scroll-view class="tui-scroll-box" scroll-y scroll-with-animation :scroll-top="scrollTop">
-							<view class="screen-list" :class="isAllcheckedBrand ? 'active' : ''" @click="choiceBrandAll"
-								>全部</view
-							>
-							<view
-								class="screen-list"
-								v-for="(brand, index) in brandList"
-								:key="index"
-								@click="choiceBrand(brand, index)"
-								:class="brand.isChecked ? 'active' : ''"
-							>
-								{{ brand.name }}
-							</view>
-						</scroll-view>
-						<view class="container-screen-btnbox">
-							<view class="btns" @tap="btnCloseDrop">确定</view>
-						</view>
-					</view>
-					<!-- </uni-transition> -->
-				</view>
-			</view>
-			<!-- 楼层 -->
-			<view class="container-section tui-skeleton">
-				<view class="floor-item-banner ad_01" v-if="appletsBanner">
-					<image class="item-img-gg" :src="appletsBanner"></image>
-				</view>
-				<view class="section_page_main clearfix">
-					<view
-						class="floor-item clearfix"
-						v-for="(pros, idx) in productList"
-						:key="idx"
-						@click.stop="navToDetailPage(pros.productId)"
-					>
-						<image class="item-img tui-skeleton-fillet" :src="pros.image" mode="aspectFill"></image>
-						<view class="floor-item-type" v-if="pros.productType == 2">医疗器械</view>
-						<view class="floor-item-content">
-							<view class="title tui-skeleton-rect">
-								<text class="mclap-tag" v-if="pros.beautyActFlag == '1'">美博会</text>
-								<text class="mclap" :class="pros.beautyActFlag == '1' ? 'indent' : ''"
-									>{{ pros.name }}
-								</text>
-							</view>
-							<view class="floor-item-price">
-								<view class="floor-item-act">
-									<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-									<template v-if="pros.actStatus === 1">
-										<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
-											{{ pros.promotions.name }}
-											<text v-if="pros.priceFlag != 1">:¥{{ pros.price | NumFormat }}</text>
-										</view>
-										<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-									</template>
-									<template v-if="pros.svipProductFlag == 1">
-										<view class="svip-tags">
-											<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view>
-											<view class="price" v-if="isShowVipFlag(pros)">{{
-												pros.svipPriceTag
-											}}</view>
-										</view>
-									</template>
-								</view>
-								<view v-if="hasLogin" class="list-price">
-									<template v-if="userIdentity == 1">
-										<text
-											class="price-larger"
-											:class="
-												PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? 'none'
-													: ''
-											"
-										>
-											¥{{
-												(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? pros.originalPrice
-													: pros.price) | NumFormat
-											}}
-										</text>
-									</template>
-									<template v-if="userIdentity == 4 && vipFlag != 1">
-										<view class="price-larger" v-if="pros.priceFlag == 1">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<view class="price-larger" v-if="pros.priceFlag == 2">
-											<text class="txt">¥价格仅会员可见</text>
-										</view>
-										<view class="price-larger" v-else-if="pros.priceFlag == 3">
-											<text class="txt">¥仅医美机构可见</text>
-										</view>
-										<text
-											v-else
-											class="price-larger"
-											:class="
-												PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? 'none'
-													: ''
-											"
-										>
-											¥{{
-												(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? pros.originalPrice
-													: pros.price) | NumFormat
-											}}
-										</text>
-									</template>
-									<template v-if="userIdentity == 3">
-										<template v-if="pros.shopId === shopId">
-											<view class="price-larger" v-if="pros.priceFlag == 1">
-												<text class="txt">¥未公开价格</text>
-											</view>
-											<text
-												v-else
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</template>
-										<template v-else>
-											<view class="list-login-now">
-												<text class="p-no">¥</text>
-												<uni-grader :grade="Number(pros.priceGrade)"></uni-grader>
-											</view>
-										</template>
-									</template>
-									<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
-										<view class="price-larger" v-if="pros.priceFlag == 1">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<view class="price-larger" v-if="pros.priceFlag == 3 && firstClubType != 1">
-											<text class="txt">¥仅医美机构可见</text>
-										</view>
-										<text
-											v-else
-											class="price-larger"
-											:class="
-												PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? 'none'
-													: ''
-											"
-										>
-											¥{{
-												(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-													? pros.originalPrice
-													: pros.price) | NumFormat
-											}}
-										</text>
-									</template>
-								</view>
-								<view v-else class="list-login-now">
-									<text class="p-no">¥</text>
-									<uni-grader :grade="Number(pros.priceGrade)"></uni-grader>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!--加载loadding-->
-				<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-				<tui-nomore :visible="!pullUpOn" :backgroundColor="'#F7F7F7'" :text="nomoreText"></tui-nomore>
-				<!--加载loadding-->
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { mapState, mapMutations } from 'vuex'
-import uniGrader from '@/components/uni-grade/uni-grade.vue'
-import cmsMixins from '@/mixins/cmsMixins.js'
-export default{
-	mixins: [cmsMixins],
-	components: {
-		uniGrader
-	},
-	data() {
-		return {
-			fixedClass: 'float',
-			StatusBar: this.StatusBar,
-			skeletonShow: true,
-			dropShow: false,
-			vipFlag: 0,
-			userIdentity: 0,
-			productList: [],
-			brandList: [],
-			checkedBrandList: [],
-			isAllcheckedBrand: true,
-			topGoodList: [],
-			current: 0,
-			appletsBanner: '',
-			listQuery: {
-				userId: 0,
-				brandID: '',
-				pageSize: 10,
-				pageNum: 1,
-				source: 2
-			},
-			NavigationBarTitle: '',
-			nomoreText: '上拉显示更多',
-			hasNextPage: false,
-			loadding: false,
-			pullUpOn: true,
-			pullFlag: true
-		}
-	},
-	onLoad(option) {
-		this.initGetStotage()
-	},
-	filters: {
-		NumFormat: function(text) {
-			//处理金额
-			return Number(text).toFixed(2)
-		}
-	},
-	computed: {
-		...mapState(['hasLogin', 'userInfo', 'identity'])
-	},
-	methods: {
-		async initGetStotage() {
-			// 初始化
-			const userInfo = await this.$api.getStorage()
-			this.listQuery.userId = userInfo.userId ? userInfo.userId : 0
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			this.GetHomeRecommend()
-			this.GetHomeNewBrandNames()
-			this.GetHomeNewFloorList()
-		},
-		GetHomeNewBrandNames() {
-			//新品商品品牌列表
-			this.CommonService.GetHomeNewBrandNames()
-				.then(response => {
-					this.brandList = response.data
-				})
-				.catch(error => {
-					console.log('获取新品橱窗推荐模块信息异常')
-				})
-		},
-		GetHomeRecommend() {
-			//新品橱窗顶部推荐
-			this.CommonService.GetHomeRecommend()
-				.then(response => {
-					this.topGoodList = response.data
-				})
-				.catch(error => {
-					console.log('获取新品橱窗推荐模块信息异常')
-				})
-		},
-		GetHomeNewFloorList() {
-			//楼层查看更多
-			this.CommonService.GetHomeNewFloorList(this.listQuery)
-				.then(response => {
-					let data = response.data
-					this.productList = data.results
-					this.hasNextPage = data.hasNextPage
-					this.skeletonShow = false
-					if (this.hasNextPage) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						if (this.productList.length < 6) {
-							this.pullUpOn = true
-						} else {
-							this.pullUpOn = false
-							this.loadding = false
-							this.nomoreText = '已至底部'
-						}
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		OnReachBottomData() {
-			// 上滑加载
-			this.listQuery.pageNum += 1
-			this.CommonService.GetHomeNewFloorList(this.listQuery)
-				.then(response => {
-					let data = response.data
-					this.hasNextPage = data.hasNextPage
-					this.productList = this.productList.concat(data.results)
-					this.skeletonShow = false
-					if (this.hasNextPage) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						this.pullUpOn = false
-						this.loadding = false
-						this.nomoreText = '已至底部'
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		navToDetailPage(productId) {
-			//跳转商品详情页
-			this.cmsSysStatistics(5)
-			this.$api.navigateTo(`/pages/goods/product?id=${productId}&typeId=5`)
-		},
-		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin && pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
-		},
-		swiperChange(e) {
-			//轮播图切换
-			const index = e.detail.current
-			this.current = index
-		},
-		choiceBrand(brand, index) {
-			// 选择品牌
-			brand.isChecked = !brand.isChecked
-			if (brand.isChecked) {
-				if (!this.contains(this.checkedBrandList, brand.id)) {
-					this.checkedBrandList.push(brand.id)
-				}
-			} else {
-				this.checkedBrandList.splice(this.checkedBrandList.indexOf(brand.id), 1)
-			}
-			this.isAllcheckedBrand = false
-			this.checkedBrandLength = this.checkedBrandList.length
-			this.listQuery.brandID = this.checkedBrandList.join(',')
-			console.log('this.listQuery.brandID', this.listQuery.brandID)
-		},
-		choiceBrandAll() {
-			// 点击选择全部品牌
-			this.isAllcheckedBrand = true
-			this.listQuery.brandID = ''
-			this.brandList.forEach(el => {
-				el.isChecked = false
-			})
-		},
-		contains(arr, val) {
-			// 校验
-			return arr.some(item => item === val)
-		},
-		showDropShow() {
-			this.dropShow = !this.dropShow
-		},
-		btnCloseDrop() {
-			this.dropShow = false
-			this.productList = []
-			this.listQuery.pageNum = 1
-			this.GetHomeNewFloorList()
-		},
-		haveBack() {
-			uni.navigateBack({
-				delta: 1
-			})
-		}
-	},
-	onPageScroll(e) {
-		//实时获取到滚动的值
-		if (e.scrollTop > 50) {
-			this.fixedClass = 'fixed'
-		} else {
-			this.fixedClass = 'float'
-		}
-	},
-	onPullDownRefresh() {
-		setTimeout(() => {
-			this.productList = []
-			this.listQuery.pageNum = 1
-			this.GetHomeNewFloorList()
-			uni.stopPullDownRefresh()
-		}, 200)
-	},
-	onReachBottom() {
-		if (this.hasNextPage) {
-			this.loadding = true
-			this.pullUpOn = true
-			this.OnReachBottomData()
-		}
-	},
-	onShow() {
-		
-	}
-}
-</script>
-
-<style lang="scss">
-page {
-	background-color: #f7f7f7;
-}
-.container-home {
-	width: 100%;
-	height: auto;
-}
-.container-topcontent {
-	width: 100%;
-	height: 620rpx;
-	background: #ffffff;
-	box-sizing: border-box;
-	position: relative;
-	.topcontent-image {
-		width: 100%;
-		height: 480rpx;
-		background: url(https://static.caimei365.com/app/img/hot/hot-bg@2x.png);
-		background-size: cover;
-		box-sizing: border-box;
-		.topcontent-title {
-			width: 100%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 38rpx;
-			color: #ffffff;
-			font-weight: bold;
-			text-align: center;
-			position: relative;
-			&.fixed {
-				position: fixed;
-				top: 0;
-				height: 80rpx;
-				background: linear-gradient(90deg, #F3B574 0%, #f28f31 100%);
-				z-index: 9999;
-				
-			}
-		}
-		.topcontent-title-icon {
-			width: 50rpx;
-			height: 50rpx;
-			line-height: 50rpx;
-			position: absolute;
-			left: 24rpx;
-			top: 14rpx;
-			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;
-			.iconfont {
-				height: 100%;
-				width: 100%;
-				font-size: 32rpx;
-				display: inline-block;
-				overflow: hidden;
-			}
-		}
-	}
-	.topcontent-swiper {
-		width: 100%;
-		height: auto;
-		position: absolute;
-		left: 0;
-	}
-	.swiper-goods {
-		width: 100%;
-		height: auto;
-		position: relative;
-		background-size: cover;
-	}
-	.swiper-banner-box {
-		width: 100%;
-		height: 360rpx;
-		position: relative;
-		background-size: cover;
-	}
-	.tui-banner-swiper {
-		width: 680rpx;
-		margin: 0 auto;
-		height: 340rpx;
-		background: url(https://static.caimei365.com/app/img/hot/hot-bg@3x.png);
-		background-size: cover;
-		border-radius: 24rpx;
-		overflow: hidden;
-		transform: translateY(0);
-		box-shadow: 0px 3px 6px rgba(225, 86, 22, 0.08);
-		margin-top: 16rpx;
-		padding: 12rpx;
-		.swiper-goods-image {
-			width: 336rpx;
-			height: 336rpx;
-			float: left;
-			image {
-				width: 336rpx;
-				height: 336rpx;
-				display: block;
-				border-radius: 8rpx;
-			}
-		}
-		.swiper-goods-info {
-			width: 326rpx;
-			height: 336rpx;
-			box-sizing: border-box;
-			padding: 32rpx 24rpx;
-			float: right;
-			position: relative;
-			.swiper-goods-name {
-				width: 100%;
-				height: auto;
-				line-height: 44rpx;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 4;
-				overflow: hidden;
-				font-size: 28rpx;
-				color: #333333;
-				text-align: center;
-			}
-			.swiper-goods-btn {
-				width: 100%;
-				height: 64rpx;
-				position: absolute;
-				bottom: 60rpx;
-				left: 0;
-				.btn {
-					width: 200rpx;
-					height: 64rpx;
-					margin: 0 auto;
-					text-align: center;
-					line-height: 64rpx;
-					background-color: #f94b4b;
-					font-size: 26rpx;
-					color: #ffffff;
-					border-radius: 32rpx;
-				}
-			}
-		}
-	}
-	.swiper__dots-box {
-		position: absolute;
-		bottom: -45rpx;
-		left: 0;
-		right: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		.swiper__dots-item {
-			width: 14rpx;
-			height: 8rpx;
-			border-radius: 4rpx;
-			margin-left: 6px;
-			background-color: rgba(225, 86, 22, 0.39);
-		}
-		.swiper__dots-long {
-			width: 40rpx;
-			height: 8rpx;
-			border-radius: 4rpx;
-			background-color: #F3B574;
-			transition: all 0.4s;
-		}
-	}
-	.swiper-banner-msg {
-		width: 100%;
-		height: 54rpx;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		margin-top: 24rpx;
-		.content {
-			width: 100%;
-			height: 54rpx;
-			box-sizing: border-box;
-			padding: 0 34rpx;
-			background-color: #fff0e9;
-			border-radius: 16rpx;
-			.item {
-				width: 33.33%;
-				height: 54rpx;
-				line-height: 54rpx;
-				font-size: $font-size-24;
-				color: $color-system;
-				float: left;
-				&.le {
-					text-align: left;
-				}
-				&.ce {
-					text-align: center;
-				}
-				&.ri {
-					text-align: right;
-				}
-				.iconfont {
-					color: $color-system;
-					font-size: $font-size-32;
-					.sm {
-						font-size: $font-size-26;
-					}
-				}
-			}
-		}
-	}
-}
-.container-screen {
-	width: 100%;
-	height: 138rpx;
-	padding: 24rpx;
-	box-sizing: border-box;
-	background-color: #f7f7f7;
-	position: relative;
-	.container-screen-box {
-		width: 100%;
-		height: 100%;
-		background-color: #ffffff;
-		border-radius: 16rpx;
-		.screen-box-em {
-			float: left;
-			width: 134rpx;
-			line-height: 90rpx;
-			text-align: center;
-			color: #333333;
-			font-size: 30rpx;
-			font-weight: bold;
-		}
-		.screen-box-mi {
-			float: left;
-			width: 468rpx;
-			height: 100%;
-			box-sizing: border-box;
-			padding: 21rpx 0;
-			.screen-list {
-				width: 140rpx;
-				height: 48rpx;
-				padding: 0 12rpx;
-				float: left;
-				text-align: center;
-				box-sizing: border-box;
-				line-height: 48rpx;
-				font-size: 30rpx;
-				color: #666666;
-				border-radius: 24rpx;
-				margin-right: 20rpx;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				line-clamp: 1;
-				-webkit-box-orient: vertical;
-				word-break: break-all;
-				&:last-child {
-					margin-right: 0;
-				}
-				&.active {
-					background-color: #ffe6dc;
-					color: #F3B574;
-				}
-			}
-		}
-		.screen-box-sp {
-			float: right;
-			width: 100rpx;
-			line-height: 90rpx;
-			text-align: center;
-			.iconfont {
-				color: #999999;
-				font-size: 40rpx;
-			}
-		}
-	}
-	.container-screen-popup {
-		width: 100%;
-		height: 480rpx;
-		box-sizing: border-box;
-		padding: 24rpx;
-		position: absolute;
-		left: 0;
-		top: 86rpx;
-		z-index: 999;
-		.container-screen-popupbox {
-			width: 100%;
-			height: 100%;
-			box-sizing: border-box;
-			padding: 0 24rpx;
-			background-color: #ffffff;
-			border-radius: 0 0 16rpx 16rpx;
-			box-shadow: 0 10rpx 14rpx 0 rgba(86, 119, 252, 0.2);
-		}
-		.tui-scroll-box {
-			width: 100%;
-			height: 300rpx;
-			overflow: hidden;
-			.screen-list {
-				width: 140rpx;
-				height: 48rpx;
-				padding: 0 12rpx;
-				float: left;
-				text-align: center;
-				box-sizing: border-box;
-				line-height: 48rpx;
-				font-size: 30rpx;
-				color: #666666;
-				border-radius: 24rpx;
-				margin-right: 30rpx;
-				margin-bottom: 30rpx;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				line-clamp: 1;
-				-webkit-box-orient: vertical;
-				word-break: break-all;
-				&:nth-child(4n) {
-					margin-right: 0;
-				}
-				&.active {
-					background-color: #ffe6dc;
-					color: #F3B574;
-				}
-			}
-		}
-		.container-screen-btnbox {
-			width: 100%;
-			height: 84rpx;
-			margin-top: 15rpx;
-			.btns {
-				width: 314rpx;
-				height: 84rpx;
-				line-height: 84rpx;
-				border-radius: 42rpx;
-				text-align: center;
-				font-size: 30rpx;
-				color: #ffffff;
-				background: $btn-confirm;
-				margin: 0 auto;
-			}
-		}
-	}
-}
-.container-section {
-	width: 100%;
-	height: auto;
-	background-color: #f7f7f7;
-	box-sizing: border-box;
-	padding: 0 24rpx 24rpx 24rpx;
-}
-.floor-item-banner {
-	width: 100%;
-	height: 240rpx;
-	margin-bottom: 20rpx;
-	.item-img-gg {
-		width: 100%;
-		height: 240rpx;
-		display: block;
-		border-radius: 16rpx;
-	}
-}
-.section_page_main {
-	width: 100%;
-	height: auto;
-	box-sizing: border-box;
-	.floor-item {
-		width: 339rpx;
-		height: 516rpx;
-		margin-right: 20rpx;
-		font-size: $font-size-24;
-		color: $text-color;
-		background: #ffffff;
-		line-height: 36rpx;
-		border-radius: 16rpx;
-		margin-bottom: 20rpx;
-		float: left;
-		box-sizing: border-box;
-		position: relative;
-		&:nth-child(2n) {
-			margin-right: 0;
-		}
-		.item-img {
-			width: 339rpx;
-			height: 339rpx;
-			border-radius: 16rpx 16rpx 0 0;
-			display: block;
-			margin-bottom: 8rpx;
-		}
-		.floor-item-type {
-			width: 64rpx;
-			height: 64rpx;
-			text-align: justify;
-			box-sizing: border-box;
-			padding: 10rpx;
-			border-radius: 0 0 8rpx 8rpx;
-			background-color: #33ccbf;
-			font-size: $font-size-22;
-			color: #ffffff;
-			line-height: 25rpx;
-			position: absolute;
-			top: 0;
-			right: 16rpx;
-		}
-		.floor-item-content {
-			width: 100%;
-			padding: 0 20rpx;
-			box-sizing: border-box;
-		}
-		.floor-item-act {
-			display: block;
-			width: 100%;
-			height: 32rpx;
-			text-align: center;
-			box-sizing: border-box;
-		}
-		.title-none {
-			font-size: $font-size-26;
-			color: #ff2a2a;
-			line-height: 54rpx;
-		}
-		.title {
-			width: 100%;
-			height: 70rpx;
-			display: flex;
-			line-height: 35rpx;
-			flex-direction: column;
-			margin: 8rpx 0;
-			padding: 0;
-			position: relative;
-			.mclap {
-				width: 100%;
-				line-height: 35rpx;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-				overflow: hidden;
-				font-size: 26rpx;
-				&.indent {
-					text-indent: 95rpx;
-				}
-			}
-			.mclap-tag {
-				display: block;
-				width: 84rpx;
-				height: 32rpx;
-				background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-				border-radius: 4rpx 48rpx 4px 4px;
-				line-height: 32rpx;
-				font-size: $font-size-22;
-				color: #ffffff;
-				text-align: center;
-				position: absolute;
-				left: 0;
-				top: 0;
-			}
-		}
-		.floor-item-price {
-			.list-login-now {
-				line-height: 44rpx;
-				.p-no {
-					height: 44rpx;
-					line-height: 44rpx;
-					display: inline-block;
-					float: left;
-				}
-			}
-			.list-price {
-				color: #ff2a2a;
-				height: 44rpx;
-				float: left;
-				.price-larger {
-					width: 100%;
-					height: 44rpx;
-					font-size: 32rpx;
-					&.none {
-						text-decoration: line-through;
-						color: #999999;
-					}
-					&.small {
-						font-size: $font-size-24;
-					}
-					.txt {
-						font-size: $font-size-24;
-						display: inline-block;
-						line-height: 44rpx;
-						text-align: left;
-						float: left;
-					}
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 1328
pages/goods/goods-classify.vue

@@ -1,1328 +0,0 @@
-<template>
-	<view class="container all-type-list-wrapper">
-		<!-- 自定义顶部 -->
-		<custom-floor :systeminfo="systeminfo" :navbar-data="nvabarData" :headerBtnPosi="headerBtnPosi"></custom-floor>
-		<view class="tui-header-screen" :style="{ top: CustomBar + 'px' }">
-			<view class="tui-screen-top">
-				<view
-					class="tui-top-item"
-					:class="[tabIndex == 0 ? 'tui-active' : '']"
-					@tap="handleScreen"
-					data-index="0"
-					>综合</view
-				>
-				<view
-					class="tui-top-item tui-icon-ml"
-					:class="[tabIndex == 1 ? 'tui-active' : '']"
-					data-index="1"
-					@tap="handleScreen"
-				>
-					<view>销量</view> <text class="iconfont icon-shangxiajiantou" v-if="isSearchSalesFirst"></text>
-					<template v-else>
-						<tui-icon
-							:name="isSearchSales ? 'turningdown' : 'turningup'"
-							:size="18"
-							:color="tabIndex == 1 ? '#F3B574' : '#999'"
-							tui-icon-class="tui-ml"
-						></tui-icon>
-					</template>
-				</view>
-				<view
-					class="tui-top-item tui-icon-ml"
-					:class="[tabIndex == 2 ? 'tui-active' : '']"
-					data-index="2"
-					@tap="handleScreen"
-				>
-					<view>人气</view> <text class="iconfont icon-shangxiajiantou" v-if="isSearchMoodFirst"></text>
-					<template v-else>
-						<tui-icon
-							:name="isSearchMood ? 'turningdown' : 'turningup'"
-							:size="18"
-							:color="tabIndex == 2 ? '#F3B574' : '#999'"
-							tui-icon-class="tui-ml"
-						></tui-icon>
-					</template>
-				</view>
-				<view
-					class="tui-top-item tui-icon-ml"
-					:class="[tabIndex == 3 ? 'tui-active' : '']"
-					data-index="3"
-					@tap="handleScreen"
-				>
-					<view>价格</view> <text class="iconfont icon-shangxiajiantou" v-if="isSearchPriceFirst"></text>
-					<template v-else>
-						<tui-icon
-							:name="isSearchPrice ? 'turningdown' : 'turningup'"
-							:size="18"
-							:color="tabIndex == 3 ? '#F3B574' : '#999'"
-							tui-icon-class="tui-ml"
-						></tui-icon>
-					</template>
-				</view>
-				<view class="tui-top-item" @tap="handleScreen" data-index="4">
-					<view>筛选</view> <text class="iconfont icon-shaixuan"></text>
-				</view>
-			</view>
-		</view>
-		<!-- 商品列表 -->
-		<list-skeleton v-if="showSkeleton" :listType="0"></list-skeleton>
-		<template v-else>
-			<view class="empty-container" v-if="showEmpty">
-				<image
-					class="empty-container-image"
-					src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
-				></image>
-				<text class="error-text">{{ emptyText }}</text>
-			</view>
-			<template v-else>
-				<view
-					class="container-list"
-					:style="{ height: scrollHeight + 'px', paddingTop: CustomBar + 44 + 'px' }"
-				>
-					<view
-						v-for="(pros, index) in listData"
-						:key="index"
-						:id="pros.productId"
-						class="all-type-list-content commodity-list"
-						@click.stop="navToDetailPage(pros.productId)"
-					>
-						<view class="list-details-image">
-							<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
-							<view class="list-details-type" v-if="pros.productType == 2">医疗器械</view>
-						</view>
-						<view class="list-details-info">
-							<text class="list-details-title">
-								<text class="mclap-tag" v-if="pros.beautyActFlag == 1">美博会</text>
-								<text class="mclap" :class="pros.beautyActFlag == 1 ? 'indent' : ''">{{
-									pros.name
-								}}</text>
-							</text>
-							<text class="list-details-specs">规格:{{ pros.unit }}</text>
-							<view class="list-details-specs" v-if="pros.code != '' && pros.code != null"
-								>商品编码:{{ pros.code }}</view
-							>
-							<view class="list-details-price">
-								<template v-if="userIdentity == 3">
-									<view class="floor-item-act">
-										<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-										<template v-if="pros.actStatus == 1">
-											<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
-												{{ pros.promotions.name }}
-												<text v-if="hasLogin && userIdentity == 3 && pros.priceFlag != 1"
-													>:¥{{ pros.price | NumFormat }}</text
-												>
-											</view>
-											<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-										</template>
-										<template v-if="pros.svipProductFlag == 1">
-											<view
-												class="svip-tags"
-												v-if="hasLogin && userIdentity == 3 && pros.priceFlag != 1"
-											>
-												<view class="tags">SVIP</view>
-												<view class="price">{{ pros.svipPriceTag }}</view>
-											</view>
-											<view class="svip-tags" v-else> <view class="tags none">SVIP</view> </view>
-										</template>
-									</view>
-								</template>
-								<template v-else-if="userIdentity == 1">
-									<view class="floor-item-act">
-										<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-										<template v-if="pros.actStatus == 1">
-											<view
-												class="floor-tags"
-												v-if="pros.actStatus == 1 && PromotionsFormat(pros.promotions)"
-											>
-												{{ pros.promotions.name }} <text>:¥{{ pros.price | NumFormat }}</text>
-											</view>
-											<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-										</template>
-										<template v-if="pros.svipProductFlag == 1">
-											<view class="svip-tags"><view class="tags none">SVIP</view> </view>
-										</template>
-									</view>
-								</template>
-								<template v-else>
-									<view class="floor-item-act">
-										<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-										<template v-if="pros.actStatus == 1">
-											<view
-												class="floor-tags"
-												v-if="pros.actStatus == 1 && PromotionsFormat(pros.promotions)"
-											>
-												{{ pros.promotions.name }}
-												<text v-if="hasLogin && ((userIdentity === 4 && pros.priceFlag === 0) || (userIdentity === 2 && pros.priceFlag !== 1))"
-													>:¥{{ pros.price | NumFormat }}</text
-												>
-											</view>
-											<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-										</template>
-										<template v-if="pros.svipProductFlag == 1">
-											<view class="svip-tags">
-												<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
-												<view class="price" v-if="isShowVipFlag(pros)">{{
-													pros.svipPriceTag
-												}}</view>
-											</view>
-										</template>
-									</view>
-								</template>
-								<view v-if="hasLogin" class="list-price">
-									<template v-if="userIdentity == 1">
-										<text v-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<text
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</template>
-									</template>
-									<template v-if="userIdentity == 4 && vipFlag != 1">
-										<view class="price-larger" v-if="pros.priceFlag == 1">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<view class="price-larger" v-if="pros.priceFlag == 2">
-												<text class="txt">¥价格仅会员可见</text>
-											</view>
-											<view class="price-larger" v-else-if="pros.priceFlag == 3">
-												<text class="txt">¥仅医美机构可见</text>
-											</view>
-											<text
-												v-else
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</template>
-									</template>
-									<template v-if="userIdentity == 3">
-										<template v-if="pros.supplierId === shopId">
-											<view class="price-larger" v-if="pros.priceFlag == 1">
-												<text class="txt">¥未公开价格</text>
-											</view>
-											<text v-else-if="priceLoading" class="price-larger small"
-												>正在获取价格...</text
-											>
-											<text
-												v-else
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</template>
-										<template v-else>
-											<view class="list-login-now">
-												<text class="p-no">¥</text>
-												<uni-grader :grade="Number(pros.priceGrade)"></uni-grader>
-											</view>
-										</template>
-									</template>
-									<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
-										<view class="price-larger" v-if="pros.priceFlag == 1">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<view class="price-larger" v-if="pros.priceFlag == 3 && (firstClubType!=1)">
-												<text class="txt">¥仅医美机构可见</text>
-											</view>
-											<text
-												v-else
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</template>
-									</template>
-								</view>
-								<view v-else class="list-login-now">
-									<text class="p-no">¥</text>
-									<uni-grader :grade="Number(pros.priceGrade)"></uni-grader>
-								</view>
-							</view>
-						</view>
-					</view>
-					<!--加载loadding-->
-					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-					<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text="nomoreText"></tui-nomore>
-					<!--加载loadding-->
-				</view>
-			</template>
-		</template>
-		<!--右抽屉-->
-		<tui-drawer mode="right" :visible="rightDrawer" @close="closeDrawer">
-			<view
-				class="drawer-container clearfix"
-				scroll-y
-				:style="{ paddingTop: CustomBar + 'px', paddingBottom: isIphoneX ? '180rpx' : '146rpx' }"
-			>
-				<scroll-view class="tui-drawer-scroll" scroll-y :style="{ height: drawerH + 'px' }">
-					<view class="drawer-title">
-						<view class="drawer-title-h1">品牌</view>
-						<view class="drawer-title-p"
-							>已选中<text class="text">{{ checkedBrandLength }}</text
-							>个品牌</view
-						>
-					</view>
-					<view class="drawer-main">
-						<view class="drawer-main-brand clearfix">
-							<view
-								class="drawer-brand-list"
-								:class="isAllcheckedBrand ? 'checked' : ''"
-								@click="choiceBrandAll"
-								>全部</view
-							>
-							<view
-								class="drawer-brand-list"
-								:class="brand.isChecked ? 'checked' : ''"
-								v-for="(brand, index) in brandLists"
-								:key="index"
-								@click="choiceBrand(brand, index)"
-							>
-								{{ brand.name }}
-							</view>
-							<view class="drawer-brand-more" v-if="!isShowAllBrands" @click="showAllBrands"
-								>查看全部<text class="iconfont icon-xiangxiajiantou"></text
-							></view>
-						</view>
-						<view class="drawer-main-radio">
-							<view class="drawer-radio-name">新品</view>
-							<view class="drawer-radio-input" @click="choiceNewType">
-								<text
-									class="iconfont"
-									:class="isChoiceNewType ? 'icon-yixuanze' : 'icon-weixuanze'"
-								></text>
-							</view>
-						</view>
-						<view class="drawer-main-radio">
-							<view class="drawer-radio-name">促销商品</view>
-							<view class="drawer-radio-input" @click="choiceActiType">
-								<text
-									class="iconfont"
-									:class="isChoiceActiType ? 'icon-yixuanze' : 'icon-weixuanze'"
-								></text>
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-				<view class="drawer-input btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-					<view class="drawer-btn clear" @click="closeDrawer">取消</view>
-					<view class="drawer-btn comfrim" @click="handSearchList">确定</view>
-				</view>
-			</view>
-		</tui-drawer>
-		<!-- 透明模态层 -->
-		<modal-layer v-if="isModallayer"></modal-layer>
-	</view>
-</template>
-
-<script>
-import { mapState, mapMutations } from 'vuex'
-import listSkeleton from '@/components/cm-module/listTemplate/listSkeleton'
-import customFloor from '@/components/cm-custom/custom-floor' //自定义导航
-import uniGrader from '@/components/uni-grade/uni-grade.vue'
-import modalLayer from '@/components/modal-layer'
-import authorize from '@/common/config/authorize.js'
-import wxLogin from '@/common/config/wxLogin.js'
-export default {
-	components: {
-		customFloor,
-		listSkeleton,
-		uniGrader,
-		modalLayer
-	},
-	data() {
-		return {
-			shopId: 0,
-			tabIndex: 0,
-			isModallayer: false,
-			isShowAllBrands: false,
-			isSearchSalesFirst: true,
-			isSearchMoodFirst: true,
-			isSearchPriceFirst: true,
-			isSearchSales: true,
-			isSearchMood: true,
-			isSearchPrice: true,
-			isChoiceNewType: false,
-			isChoiceActiType: false,
-			isAllcheckedBrand: false,
-			headerBtnPosi: this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-			systeminfo: this.setSysteminfo(), //获取设备信息
-			CustomBar: this.CustomBar, // 顶部导航栏高度
-			isIphoneX: this.$store.state.isIphoneX,
-			emptyText: '该分类暂时还没有商品哟,去逛逛别的吧~',
-			isRequest: false,
-			showSkeleton: true,
-			showEmpty: false,
-			userId: 0,
-			vipFlag: 0,
-			userIdentity: 0,
-			listData: [],
-			brandLists: [],
-			checkedBrandList: [],
-			checkedBrandLength: 0,
-			windowHeight: '',
-			scrollHeight: '',
-			pathQueryId:0,
-			firstClubType:0,
-			listQuery: {
-				id: 0,
-				identity: 0,
-				pageNum: 1,
-				pageSize: 10,
-				sortField: '',
-				sortType: 1,
-				brandIds: '', // 品牌Id
-				newFlag: 0, // 查询新品标记,默认0,新品1
-				promotionFlag: 0, // 查询促销标记,默认0,促销1
-				idType: 0 //一级
-			},
-			brandParam: {
-				keyword: '',
-				id: '',
-				idType: '',
-				identity: 0
-			},
-			priceLoading: true,
-			loadding: false,
-			pullUpOn: true,
-			pullFlag: true,
-			totalPage: 0,
-			nomoreText: '上拉显示更多',
-			rightDrawer: false,
-			classifyType: 0,
-			classData: {},
-			searchCheckedId: null,
-			height: 0,
-			drawerH: 0 // 抽屉内部scrollview高度
-		}
-	},
-	computed: {
-		...mapState(['hasLogin', 'userInfo', 'identity', 'clubType'])
-	},
-	onLoad(option) {
-		console.log(option)
-		if (option.type == 'share') {
-			wxLogin.wxLoginAuthorize()
-		}
-		this.SetScrollHeight()
-		this.initGetStotage(option)
-	},
-
-	filters: {
-		NumFormat: function(text) {
-			//处理金额
-			return Number(text).toFixed(2)
-		}
-	},
-	methods: {
-		async initGetStotage(option) {
-			const userInfo = await this.$api.getStorage()
-			this.firstClubType = this.clubType
-			this.listQuery.id = this.pathQueryId = this.brandParam.id = option.id
-			this.listQuery.identity = this.identity
-			this.listQuery.idType = this.classifyType = this.brandParam.idType = Number(option.classType)
-			uni.setStorageSync('pageLabel',option.title)
-			uni.setNavigationBarTitle({ title: option.title })
-			this.userId = userInfo.userId ? userInfo.userId : 0
-			this.shopId = userInfo.shopId ? userInfo.shopId : 0
-			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.isRequest = true
-			this.GetProductListInfo()
-			this.GetProductOneClassly()
-			this.getCommoditySearchQUeryBrand()
-			console.log(this.classifyID)
-		},
-		GetProductOneClassly() {
-			//根据分类ID 查询二三级分类
-			this.CommonService.GetProductOneClassly({
-				typeId: this.listQuery.id,
-				idType: this.classifyType,
-				source: 'crm'
-			})
-				.then(response => {
-					this.classData = response.data
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		getCommoditySearchQUeryBrand() {
-			// 查询筛选项品牌
-			this.ProductService.getCommoditySearchQUeryBrand(this.brandParam)
-				.then(response => {
-					const data = response.data
-					this.defaultBrandLists = data.map((el, index) => {
-						el.isChecked = false
-						return el
-					})
-					if(this.defaultBrandLists.length>11){
-						this.isShowAllBrands = false
-					}else{
-						this.isShowAllBrands = true
-					}
-					this.brandLists = this.defaultBrandLists.slice(0, 11)
-					console.log('品牌=============>', this.brandLists)
-				})
-				.catch(error => {
-					console.log('查询品牌列表异常')
-				})
-		},
-		GetProductListInfo() {
-			//查询分类商品列表
-			this.listQuery.pageNum = 1
-			this.ProductService.GetSearchProductTypeData(this.listQuery)
-				.then(response => {
-					const resData = JSON.parse(response.data)
-					const resList = resData.items
-					this.showSkeleton = false
-					if (resList && resList.length > 0) {
-						this.showEmpty = false
-						this.totalPage = resData.total
-						this.listData = [...resList]
-						this.GetProductPrice()
-						// 防上拉暴滑
-						this.pullFlag = false
-						setTimeout(() => {
-							this.pullFlag = true
-						}, 500)
-						// 底部提示文案
-						if (this.totalPage > this.listData.length) {
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						} else {
-							if (this.listData.length > 4) {
-								this.pullUpOn = false
-								this.loadding = false
-								this.nomoreText = '已至底部'
-							} else {
-								this.pullUpOn = true
-								this.loadding = false
-								this.nomoreText = '已至底部'
-							}
-						}
-						console.log(this.listData)
-					} else {
-						this.showEmpty = true
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		GetOnReachBottomData() {
-			//上拉加载
-			this.listQuery.pageNum += 1
-			this.ProductService.GetSearchProductTypeData(this.listQuery)
-				.then(response => {
-					const resData = JSON.parse(response.data)
-					const resList = resData.items
-					this.totalPage = resData.total
-					this.listData = [...this.listData, ...resList]
-					this.GetProductPrice()
-					// 防上拉暴滑
-					this.pullFlag = false
-					setTimeout(() => {
-						this.pullFlag = true
-					}, 500)
-					// 底部提示文案
-					if (this.totalPage > this.listData.length) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						this.pullUpOn = false
-						this.loadding = false
-						this.nomoreText = '已至底部'
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		GetProductPrice() {
-			//获取价格
-			let productIdArr = []
-			this.listData.map(item => {
-				// 0公开价格 1不公开价格 2仅对资质机构公开
-				productIdArr.push(item.productId)
-			})
-			this.priceLoading = true
-			this.productIds = productIdArr.join(',')
-			this.ProductService.querySearchProductPrice({
-				userId: this.userId,
-				productIds: this.productIds,
-				source: 2
-			})
-				.then(response => {
-					if (response.data) {
-						this.listData = this.ReturnNewProducts(this.listData, response.data)
-					}
-					this.priceLoading = false
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		ReturnNewProducts(Array, list) {
-			//处理对应商品ID的商品价格
-			let NewArray = []
-			Array.map(item => {
-				for (let i = 0; i < list.length; i++) {
-					if (item.productId == list[i].productId) {
-						NewArray.push(Object.assign(item, list[i]))
-					}
-				}
-			})
-			return NewArray
-		},
-		handleScreen(e) {
-			let index = e.currentTarget.dataset.index
-			console.log(index)
-			if (index == 0) {
-				this.tabIndex = 0
-				this.isSearchSalesFirst = true
-				this.isSearchMoodFirst = true
-				this.isSearchPriceFirst = true
-				this.listQuery.sortType = 1
-				this.listQuery.sortField = ''
-				this.GetProductListInfo()
-			} else if (index == 1) {
-				this.tabIndex = 1
-				this.isSearchSalesFirst = false
-				this.isSearchMoodFirst = true
-				this.isSearchPriceFirst = true
-				this.isSearchSales = !this.isSearchSales
-				if (this.isSearchSales) {
-					this.listQuery.sortType = 1
-				} else {
-					this.listQuery.sortType = 0
-				}
-				this.listQuery.sortField = 'sales'
-				this.GetProductListInfo()
-			} else if (index == 2) {
-				this.tabIndex = 2
-				this.isSearchSalesFirst = true
-				this.isSearchPriceFirst = true
-				this.isSearchMoodFirst = false
-				this.isSearchMood = !this.isSearchMood
-				if (this.isSearchMood) {
-					this.listQuery.sortType = 1
-				} else {
-					this.listQuery.sortType = 0
-				}
-				this.listQuery.sortField = 'favorite'
-				this.GetProductListInfo()
-			} else if (index == 3) {
-				this.tabIndex = 3
-				this.isSearchSalesFirst = true
-				this.isSearchMoodFirst = true
-				this.isSearchPriceFirst = false
-				this.isSearchPrice = !this.isSearchPrice
-				if (this.isSearchPrice) {
-					this.listQuery.sortType = 1
-				} else {
-					this.listQuery.sortType = 0
-				}
-				this.listQuery.sortField = 'price'
-				this.GetProductListInfo()
-			} else if (index == 4) {
-				console.log('type', this.listQuery.id)
-				this.searchClickFn()
-			}
-		},
-		handSearchList() {
-			//确定筛选
-			if (this.searchCheckedId == null) {
-				this.listQuery.id = this.pathQueryId
-			} else {
-				this.listQuery.id = this.searchCheckedId
-			}
-			this.rightDrawer = false
-			this.GetProductListInfo()
-		},
-		navToDetailPage(id) {
-			this.isModallayer = true
-			this.$api.navigateTo(`/pages/goods/product?id=${id}`)
-			this.isModallayer = false
-		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		isShowVipFlag(pros) {
-			/**
-			 *显示SVIP和超级会员价格:
-			 * 	个人机构(不是超级会员,但价格所有机构可见),
-			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
-			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
-			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
-			 *	普通机构
-			 * 		超级会员 && priceFlag === 0
-			 * 	资质机构
-			 * 		priceFlag !== 1 ||
-			 * 		超级会员
-			 * 			商品priceFlag === 3 && 是否是医美机构
-			*/
-			// 未登录 || 非会员
-			if(!this.hasLogin || !this.vipFlag === 1) return false
-			// 商品所有机构可见
-			if(pros.priceFlag === 0 ) return true
-			// 商品价格仅资质机构可见
-			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
-			// 商品价格仅医美机构可见
-			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
-			// 其它
-			return false
-		},
-		showAllBrands() {
-			// 显示全部品牌
-			this.isShowAllBrands = true
-			this.brandLists = this.defaultBrandLists
-		},
-		choiceBrand(brand, index) {
-			// 选择品牌
-			brand.isChecked = !brand.isChecked
-			if (brand.isChecked) {
-				this.checkedBrandList.push(brand.id)
-			} else {
-				this.checkedBrandList.splice(index, 1)
-			}
-			this.isAllcheckedBrand = false
-			this.checkedBrandLength = this.checkedBrandList.length
-			console.log('checkedBrandList', this.checkedBrandList)
-			this.listQuery.brandIds = this.checkedBrandList.join(',')
-			console.log('this.listQuery.brandIds', this.listQuery.brandIds)
-		},
-		choiceBrandAll() {
-			// 点击选择全部品牌
-			this.isAllcheckedBrand = true
-			this.listQuery.brandIds = ''
-			this.brandLists.forEach(el => {
-				el.isChecked = false
-			})
-		},
-		choiceNewType() {
-			// 选择筛选项新品
-			this.isChoiceNewType = !this.isChoiceNewType
-			if (this.isChoiceNewType) {
-				this.listQuery.newFlag = 1
-			} else {
-				this.listQuery.newFlag = 0
-			}
-		},
-		choiceActiType() {
-			// 选择筛选项促销商品
-			this.isChoiceActiType = !this.isChoiceActiType
-			if (this.isChoiceActiType) {
-				this.listQuery.promotionFlag = 1
-			} else {
-				this.listQuery.promotionFlag = 0
-			}
-		},
-		SetScrollHeight() {
-			let obj = {}
-			const { windowHeight, pixelRatio } = wx.getSystemInfoSync()
-			uni.getSystemInfo({
-				success: res => {
-					this.height = obj.top ? obj.top + obj.height + 8 : res.statusBarHeight + 44
-					this.drawerH = res.windowHeight - uni.upx2px(180) - this.height
-				}
-			})
-			this.windowHeight = windowHeight - 1
-			this.scrollHeight = windowHeight - 1
-		},
-		setHeaderBtnPosi() {
-			// 获得胶囊按钮位置信息
-			let headerBtnPosi = uni.getMenuButtonBoundingClientRect()
-			return headerBtnPosi
-		},
-		searchClickFn() {
-			//弹出抽屉
-			this.rightDrawer = true
-		},
-		closeDrawer(e) {
-			//关闭抽屉
-			this.rightDrawer = false
-		},
-		setSysteminfo() {
-			let systeminfo
-			uni.getSystemInfo({
-				// 获取设备信息
-				success: res => {
-					systeminfo = res
-				}
-			})
-			return systeminfo
-		}
-	},
-	onPullDownRefresh() {
-		setTimeout(() => {
-			this.GetProductListInfo()
-			uni.stopPullDownRefresh()
-		}, 200)
-	},
-	onReachBottom() {
-		if (this.totalPage > this.listData.length) {
-			this.loadding = true
-			this.pullUpOn = true
-			this.GetOnReachBottomData()
-		}
-	},
-	onShareAppMessage(res) {
-		//分享转发
-		if (res.from === 'button') {
-			// 来自页面内转发按钮
-		}
-		return {
-			title: `点击查看“${this.classData.name}”相关的商品`,
-			path: `pages/goods/goods-classify?type=share&classType=${this.classifyType}&id=${this.listQuery.id}&title=${
-				this.classData.name
-			}`
-		}
-	},
-	onShow() {}
-}
-</script>
-
-<style lang="scss">
-page {
-	background: #ffffff;
-	.all-type-list-wrapper {
-		display: flex;
-		flex-direction: column;
-	}
-}
-.container-list {
-	width: 100%;
-	height: auto;
-}
-.all-type-list-content {
-	height: 216rpx;
-	padding: 24rpx;
-	background: #fff;
-	margin-bottom: 2rpx;
-	display: flex;
-	flex-direction: row;
-	box-sizing: content-box;
-	.list-details-image{
-		width: 218rpx;
-		height: 218rpx !important;
-		margin-right: 26rpx;
-		border-radius: 10rpx;
-		border: 2rpx solid #f3f3f3;
-		position: relative;
-		.list-img {
-			width: 218rpx;
-			height: 218rpx !important;
-		}
-		.list-details-type{
-			width: 64rpx;
-			height: 64rpx;
-			text-align: justify;
-			box-sizing: border-box;
-			padding: 10rpx;
-			border-radius: 0 0 8rpx 8rpx;
-			background-color: #33CCBF;
-			font-size: $font-size-22;
-			color: #FFFFFF;
-			line-height: 25rpx;
-			position: absolute;
-			top: 0;
-			right: 10rpx;
-		}
-	}
-}
-.list-details-info {
-	width: 466rpx;
-	display: flex;
-	flex-direction: column;
-	font-size: 26rpx;
-	position: relative;
-	.list-details-title {
-		position: relative;
-		.mclap {
-			line-height: 38rpx;
-			text-overflow: ellipsis;
-			overflow: hidden;
-			display: -webkit-box;
-			-webkit-line-clamp: 2;
-			line-clamp: 2;
-			-webkit-box-orient: vertical;
-			&.indent {
-				text-indent: 95rpx;
-			}
-		}
-		.mclap-tag {
-			display: block;
-			width: 84rpx;
-			height: 32rpx;
-			background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-			border-radius: 4rpx 48rpx 4px 4px;
-			line-height: 32rpx;
-			font-size: $font-size-22;
-			color: #ffffff;
-			text-align: center;
-			position: absolute;
-			left: 0;
-			top: 0;
-		}
-	}
-	.list-details-specs {
-		margin-top: 8rpx;
-		color: #666666;
-	}
-	.list-details-miniQuantity {
-		margin-top: 7rpx;
-	}
-}
-.list-details-price {
-	width: 100%;
-	height: 54rpx;
-	line-height: 54rpx;
-	position: absolute;
-	bottom: -10rpx;
-	right: 0;
-	.floor-item-act {
-		height: 54rpx;
-		text-align: center;
-		box-sizing: border-box;
-		float: right;
-		padding: 11rpx 0;
-	}
-	.price-icon {
-		width: 22rpx;
-		height: 28rpx;
-		vertical-align: middle;
-		margin-right: 10rpx;
-	}
-	.price-icon + text {
-		font-size: 25rpx;
-		vertical-align: middle;
-	}
-	.list-login-now {
-		color: #f8c499;
-		float: left;
-		line-height: 54rpx;
-		.p-no {
-			float: left;
-			font-size: $font-size-24;
-			color: $text-color;
-		}
-	}
-	.login-now {
-		padding: 10rpx 10rpx 10rpx 0;
-	}
-	.list-price {
-		color: #ff2a2a;
-		height: 44rpx;
-		float: left;
-		.price-larger {
-			width: 100%;
-			height: 44rpx;
-			font-size: 32rpx;
-			&.none {
-				text-decoration: line-through;
-				color: #999999;
-			}
-			&.small {
-				font-size: $font-size-24;
-			}
-			.txt {
-				font-size: $font-size-24;
-				display: inline-block;
-				line-height: 44rpx;
-				text-align: left;
-				float: left;
-			}
-		}
-	}
-	.add-cart-btn {
-		width: 156rpx;
-		height: 64rpx;
-		line-height: 64rpx;
-		border-radius: 32rpx;
-		color: #fff;
-		font-size: 26rpx;
-		margin-right: 0;
-		background: linear-gradient(45deg, rgba(255, 41, 41, 1) 0%, rgba(255, 109, 27, 1) 100%);
-	}
-}
-/*screen*/
-.tui-header-screen {
-	width: 100%;
-	box-sizing: border-box;
-	background: #fff;
-	position: fixed;
-	z-index: 1000;
-	/* padding-top: 12rpx; */
-}
-.tui-screen-top,
-.tui-screen-bottom {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-	font-size: 28rpx;
-	color: #999999;
-}
-.tui-screen-top {
-	height: 88rpx;
-	position: relative;
-	background: #fff;
-	border-bottom: 1px solid #efefef;
-}
-.tui-top-item {
-	height: 28rpx;
-	line-height: 28rpx;
-	flex: 1;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-}
-.icon-shangxiajiantou {
-	font-size: 20rpx;
-	color: #999999;
-	margin-left: 8rpx;
-}
-.tui-topitem-active {
-	color: #F3B574;
-}
-
-.tui-screen-bottom {
-	height: 100rpx;
-	padding: 0 30rpx;
-	box-sizing: border-box;
-	font-size: 24rpx;
-	align-items: center;
-	overflow: hidden;
-}
-
-.tui-bottom-text {
-	line-height: 26rpx;
-	max-width: 82%;
-	white-space: nowrap;
-	overflow: hidden;
-	text-overflow: ellipsis;
-}
-
-.tui-bottom-item {
-	flex: 1;
-	width: 0;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	padding: 0 12rpx;
-	box-sizing: border-box;
-	background: #f7f7f7;
-	margin-right: 20rpx;
-	white-space: nowrap;
-	height: 60rpx;
-	border-radius: 40rpx;
-}
-
-.tui-bottom-item:last-child {
-	margin-right: 0;
-}
-
-.tui-btmItem-active {
-	background: #fcedea !important;
-	color: #F3B574;
-	font-weight: bold;
-	position: relative;
-}
-
-.tui-btmItem-active::after {
-	content: '';
-	position: absolute;
-	border: 1rpx solid #F3B574;
-	width: 100%;
-	height: 100%;
-	border-radius: 40rpx;
-	left: 0;
-	top: 0;
-}
-
-.tui-btmItem-tap {
-	position: relative;
-	border-bottom-left-radius: 0;
-	border-bottom-right-radius: 0;
-}
-
-.tui-btmItem-tap::after {
-	content: '';
-	position: absolute;
-	width: 100%;
-	height: 22rpx;
-	background: #f7f7f7;
-	left: 0;
-	top: 58rpx;
-}
-.tui-active {
-	color: #F3B574;
-}
-.tui-icon-ml .tui-icon-class {
-	margin-left: 6rpx;
-}
-
-.tui-ml {
-	margin-left: 6rpx;
-}
-
-.tui-seizeaseat-20 {
-	height: 20rpx;
-}
-
-.tui-seizeaseat-30 {
-	height: 30rpx;
-}
-
-.tui-icon-middle .tui-icon-class {
-	vertical-align: middle;
-}
-
-.tui-middle {
-	vertical-align: middle;
-}
-
-/*screen*/
-.drawer-container {
-	width: 580rpx;
-	height: 100%;
-	padding: 80rpx 0;
-	overflow: hidden;
-	box-sizing: border-box;
-	background-color: #f7f7f7;
-	.drawer-title {
-		width: 100%;
-		height: 72rpx;
-		line-height: 72rpx;
-		box-sizing: border-box;
-		padding: 0 30rpx;
-		float: left;
-		background-color: #f7f7f7;
-		.drawer-title-h1 {
-			font-size: $font-size-26;
-			color: #F3B574;
-			font-weight: bold;
-			text-align: left;
-			float: left;
-		}
-		.drawer-title-p {
-			font-size: $font-size-24;
-			float: right;
-			color: #333333;
-			.text {
-				color: #F3B574;
-			}
-		}
-	}
-	.drawer-main {
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		float: left;
-		.drawer-main-cell {
-			width: 100%;
-			height: auto;
-			box-sizing: border-box;
-			padding: 12rpx 24rpx 24rpx 24rpx;
-			background-color: #ffffff;
-			.drawer-item-cell {
-				width: 100%;
-				height: auto;
-				float: left;
-				.drawer-item-title {
-					width: 100%;
-					height: 82rpx;
-					line-height: 82rpx;
-					text-align: left;
-					font-size: $font-size-26;
-					color: $text-color;
-					float: left;
-				}
-				.drawer-item-main {
-					width: 100%;
-					height: auto;
-					float: left;
-					&.none {
-						margin-top: 24rpx;
-					}
-					.drawer-item-text {
-						display: inline-block;
-						float: left;
-						padding: 0 30rpx;
-						height: 56rpx;
-						border-radius: 28rpx;
-						background-color: #f7f7f7;
-						line-height: 56rpx;
-						text-align: center;
-						color: #999999;
-						font-size: $font-size-26;
-						margin-right: 24rpx;
-						margin-bottom: 24rpx;
-						&.checked {
-							background-color: #fef6f3;
-							color: $color-system;
-						}
-					}
-				}
-			}
-		}
-		.drawer-main-brand {
-			width: 100%;
-			height: auto;
-			box-sizing: border-box;
-			padding: 12rpx 24rpx 24rpx 24rpx;
-			background-color: #ffffff;
-			.drawer-brand-list {
-				width: 160rpx;
-				height: 56rpx;
-				line-height: 56rpx;
-				text-align: center;
-				font-size: 26rpx;
-				background-color: #f7f7f7;
-				color: #999999;
-				border-radius: 30rpx;
-				box-sizing: border-box;
-				padding: 0 15rpx;
-				float: left;
-				margin: 12rpx 24rpx 12rpx 0;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				line-clamp: 1;
-				-webkit-box-orient: vertical;
-				&.checked {
-					background-color: #fef6f3;
-					color: #F3B574;
-				}
-				&:nth-child(3n) {
-					margin-right: 0;
-				}
-			}
-			.drawer-brand-more {
-				width: 100%;
-				height: 42rpx;
-				line-height: 42rpx;
-				float: left;
-				font-size: $font-size-24;
-				color: #999999;
-				text-align: center;
-			}
-		}
-		.drawer-main-radio {
-			width: 100%;
-			height: 72rpx;
-			background-color: #ffffff;
-			margin-top: 20rpx;
-			box-sizing: border-box;
-			padding: 0 24rpx;
-			.drawer-radio-name {
-				float: left;
-				line-height: 72rpx;
-				font-size: $font-size-26;
-				color: #333333;
-			}
-			.drawer-radio-input {
-				width: 72rpx;
-				height: 72rpx;
-				float: right;
-				line-height: 72rpx;
-				text-align: right;
-				.iconfont {
-					font-size: $font-size-36;
-					&.icon-weixuanze {
-						color: #b2b2b2;
-					}
-					&.icon-yixuanze {
-						color: #F3B574;
-					}
-				}
-			}
-		}
-	}
-	.drawer-input {
-		width: 100%;
-		float: left;
-		box-sizing: border-box;
-		padding: 24rpx 10rpx 0 10rpx;
-		border: 1px solid rgba(0, 0, 0, 0.2);
-		border-radius: 4rpx;
-		position: relative;
-		background-color: #ffffff;
-		&.btn {
-			border: none;
-			display: flex;
-			position: fixed;
-			left: 0;
-			bottom: 0;
-		}
-		.drawer-btn {
-			width: 210rpx;
-			height: 84rpx;
-			border-radius: 42rpx;
-			background: $btn-confirm;
-			line-height: 84rpx;
-			text-align: center;
-			font-size: $font-size-26;
-			color: #ffffff;
-			flex: 1;
-			margin: 0 10rpx;
-			&.comfrim {
-				background: $btn-confirm;
-			}
-			&.clear {
-				background: #e1e1e1;
-			}
-		}
-	}
-}
-</style>

+ 0 - 105
pages/goods/goods-doc-detail.vue

@@ -1,105 +0,0 @@
-<!-- 自定义页面 -->
-<template>
-    <view class="goods-doc-detail" :style="{ paddingBottom: tipStatus ? '80rpx' : '0' }">
-        <view class="cm-header">
-            <image
-                class="cm-cover"
-                :src="productImage ? productImage : 'https://static.caimei365.com/app/img/icon2/placeholder.png'"
-            ></image>
-            <view class="cm-title"> {{ productName }} </view>
-            <view class="cm-params"><text>供应商:</text>{{ shopName || '暂无' }}</view>
-            <view class="cm-params"><text>商品属性:</text>{{ productType === 1 ? '商品' : '仪器' }}</view>
-        </view>
-        <cm-product-doc
-            v-if="archiveId !== 0"
-            :archiveId="archiveId"
-            :bottom="isIphoneX ? '60rpx' : '10rpx'"
-            @tipStatus="getTipStatus"
-        ></cm-product-doc>
-    </view>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-import cmProductDoc from './components/cm-product-doc.vue'
-export default {
-    components: {
-        cmProductDoc
-    },
-    computed: {
-        ...mapState(['isIphoneX'])
-    },
-    onLoad(e) {
-        this.userId = uni.getStorageSync('userInfo').userId || -1
-        this.archiveId = e.id || 0
-        this.getDetail()
-    },
-    data() {
-        return {
-            userId: -1,
-            archiveId: 0,
-            archiveProductInfo: {},
-            productImage: '',
-            productName: '',
-            productType: 0,
-            shopName: '',
-            tipStatus: ''
-        }
-    },
-    methods: {
-        // 获取商品资料详情
-        getDetail() {
-            console.log(this.userId)
-            this.BeautyArchive.GetProdcutArchiveDetails({
-                userId: this.userId,
-                archiveId: this.archiveId
-            }).then(res => {
-                console.log(res)
-                if (res.code) return
-                this.productImage = res.data.productImage
-                this.productName = res.data.productName
-                this.productType = res.data.productType
-                this.shopName = res.data.shopName
-            })
-        },
-        // 获取权限tip
-        getTipStatus(status) {
-            this.tipStatus = status
-        }
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.goods-doc-detail {
-    background: #f7f7f7;
-}
-.cm-header {
-    background: #fff;
-    margin-bottom: 16rpx;
-    overflow: hidden;
-    .cm-cover {
-        width: 750rpx;
-        height: 750rpx;
-    }
-    .cm-title,
-    .cm-params {
-        padding: 0 24rpx;
-    }
-    .cm-title {
-        margin: 32rpx 0;
-        font-size: 34rpx;
-        line-height: 1.6;
-        color: #333333;
-    }
-    .cm-params {
-        margin: 16rpx 0;
-        font-size: 24rpx;
-        line-height: 1.6;
-        color: #333333;
-        text {
-            font-size: #999999;
-        }
-    }
-}
-</style>

+ 0 - 300
pages/goods/goods-doc-list.vue

@@ -1,300 +0,0 @@
-<template>
-    <view class="goods-doc-list" :class="{ hasBottom: isIphoneX }">
-        <view class="search">
-            <view class="search-control">
-                <text class="iconfont icon-iconfonticonfontsousuo1"></text>
-                <input
-                    placeholder-class="search-placeholder"
-                    placeholder="请输入商品名称/供应商名称"
-                    class="search-input"
-                    type="search"
-                    v-model="listQuery.keyword"
-                    @click="isFoucs = true"
-                    @blur="handleBlur"
-                    @input="handleInput"
-                />
-            </view>
-        </view>
-        <!-- tabs -->
-        <tui-sticky :scrollTop="scrollTop" @sticky="handleSticky" v-if="!isSearch">
-            <template v-slot:header>
-                <view :class="{ hasBorder: isSitcky }">
-                    <tui-tabs
-                        :tabs="tabs"
-                        :currentTab="currentTab"
-                        sliderBgColor="#F3B574"
-                        selectedColor="#F3B574"
-                        itemWidth="50%"
-                        @change="tabChange"
-                    ></tui-tabs>
-                </view>
-            </template>
-        </tui-sticky>
-        <!-- list -->
-        <view class="doc-list" :style="{ paddingTop: isSitcky ? '80rpx' : '' }">
-            <view class="section" v-for="(item, index) in showList" :key="index" @click="handleRoute(item)">
-                <image class="cover" :src="item.productImage ? item.productImage : 'https://static.caimei365.com/app/img/icon2/placeholder.png'"></image>
-                <view class="content">
-                    <view class="title" v-if="!isSearch">{{ item.productName }}</view>
-                    <view class="title" v-else v-html="item.productName"></view>
-                    <view class="params"><text>供应商:</text>{{ item.shopName || '暂无' }}</view>
-                    <view class="params"><text>商品属性:</text>{{ item.productType === 1 ? '产品' : '仪器' }}</view>
-                </view>
-            </view>
-            <view class="cm-emtpy" v-if="isEmpty">
-                <image src="https://static.caimei365.com/app/img/icon2/PC-empty.png"></image> <text>暂无资料~</text>
-            </view>
-        </view>
-        <!-- loading more -->
-        <view v-if="showList.length > 6">
-            <tui-loadmore :text="loadingText" :index="1" :visible="isLoading"></tui-loadmore>
-            <tui-nomore :text="loadingText" :visible="!isLoading"></tui-nomore>
-        </view>
-        <!-- back top -->
-        <!-- <tui-scroll-top :scrollTop="scrollTop"></tui-scroll-top> -->
-    </view>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-export default {
-    data() {
-        return {
-            isLoading: false,
-            hasMore: false,
-            scrollTop: 0,
-            isSitcky: false,
-            listQuery: {
-                keyword: '', //查询关键词
-                productType: 0, //商品类型 0 全部 1 产品 2 仪器
-                pageNum: 1,
-                pageSize: 10
-            },
-            isFoucs: false,
-            tabs: [{ id: 0, name: '全部' }, { id: 1, name: '产品' }, { id: 2, name: '仪器' }],
-            currentTab: 0,
-            searchList: [],
-            list: [],
-            isEmpty: false
-        }
-    },
-    computed: {
-        ...mapState(['isIphoneX']),
-        loadingText() {
-            if (!this.hasMore) return '没有更多了'
-            if (this.hasMore && !this.isLoading) return '上拉加载更多'
-            return '加载中'
-        },
-        isSearch() {
-            return this.listQuery.keyword.trim() !== '' || this.isFoucs
-        },
-        showList() {
-            if (this.isSearch) return this.searchList
-            return this.list
-        }
-    },
-    watch: {
-        isSearch(val) {
-            if (!val) this.searchList = [] //退出搜索,清空搜索列表
-        }
-    },
-    onLoad() {
-        this.getList()
-    },
-    methods: {
-        // 获取商品列表
-        getList() {
-            this.isLoading = true
-            this.BeautyArchive.GetArchiveProduct(this.listQuery).then(res => {
-                console.log(res)
-                if (res.code) return
-                if (this.isSearch) {
-                    this.formatTitle(res.data.results) // 如果是搜索,需要高亮关键词
-                    this.searchList = [...this.searchList, ...res.data.results]
-                    this.isEmpty = this.searchList.length === 0
-                } else {
-                    this.list = [...this.list, ...res.data.results]
-                    this.isEmpty = this.list.length === 0
-                }
-                this.hasMore = res.data.hasNextPage
-                this.isLoading = false
-            })
-        },
-        // 高亮文字
-        formatTitle(list) {
-            list.forEach((item, index) => {
-                //正则表达式
-                const reg = new RegExp(this.listQuery.keyword, 'g')
-                item.productName = item.productName.replace(reg, $1 => {
-                    return `<span style="color: #F3B574;">${$1}</span>`
-                })
-            })
-        },
-        // tab切换
-        tabChange(e) {
-            this.currentTab = e.index
-            this.listQuery.productType = this.currentTab
-            // 清空列表 重置页码为1
-            this.list = []
-            this.listQuery.pageNum = 1
-            this.getList()
-        },
-        // 吸顶
-        handleSticky(e) {
-            this.isSitcky = e.isFixed
-        },
-        // 搜索框输入
-        handleInput(e) {
-            if (e.detail.value.trim() === '') return
-            this.searchList = []
-            // 从第一页开始 , 搜索全部
-            this.listQuery.pageNum = 1
-            this.listQuery.productType = 0
-            let timer = null
-            clearTimeout(timer)
-            timer = setTimeout(() => {
-                this.getList()
-            }, 500)
-        },
-        // 搜索框失去焦点
-        handleBlur() {
-            this.isFoucs = false
-            this.listQuery.productType = this.currentTab
-        },
-        // 路由跳转
-        handleRoute(item) {
-            if (item.redirectType === 1) {
-                this.$api.navigateTo(`/pages/goods/product?id=${item.productId}&open=caimei`)
-            } else {
-                this.$api.navigateTo(`/pages/goods/goods-doc-detail?id=${item.archiveId}`)
-            }
-        }
-    },
-    onPageScroll(e) {
-        this.scrollTop = e.scrollTop
-    },
-    onReachBottom() {
-        if (!this.hasMore) return
-        let timer = null
-        clearTimeout(timer)
-        this.listQuery.pageNum++
-        this.isLoading = true
-        timer = setTimeout(() => {
-            this.getList()
-        }, 400)
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-page {
-    height: initial;
-}
-.hasBorder {
-    border-bottom: 1px solid #eee;
-}
-.hasBottom {
-    padding-bottom: 60rpx;
-}
-.doc-list {
-    padding: 0 24rpx;
-    .section {
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        padding: 32rpx 0;
-        border-bottom: 1rpx solid #f0f0f0;
-        &:last-child {
-            border-bottom: 0;
-            padding-bottom: 0;
-        }
-    }
-    .cover {
-        width: 180rpx;
-        height: 180rpx;
-        border-radius: 8rpx;
-    }
-    .content {
-        width: 494rpx;
-        margin-left: 24rpx;
-        .title {
-            height: 74rpx;
-            margin-bottom: 34rpx;
-            font-size: 26rpx;
-            line-height: 37rpx;
-            color: #333333;
-            word-break: break-all;
-            overflow: hidden; /*超出隐藏*/
-            text-overflow: ellipsis; /*文本溢出时显示省略标记*/
-            display: -webkit-box; /*设置弹性盒模型*/
-            -webkit-line-clamp: 2; /*文本占的行数,如果要设置2行加...则设置为2*/
-            -webkit-box-orient: vertical;
-            text {
-                color: #F3B574;
-            }
-        }
-        .params {
-            margin-top: 8rpx;
-            font-size: 22rpx;
-            color: #333333;
-            text {
-                color: #999999;
-            }
-        }
-    }
-}
-
-.search-placeholder {
-    color: #b2b2b2;
-    font-size: 28rpx;
-}
-
-.search {
-    display: flex;
-    justify-content: center;
-    width: 750rpx;
-    padding: 24rpx 0 0;
-    background: #fff;
-    .search-control {
-        display: flex;
-        align-items: center;
-        justify-content: flex-start;
-        width: 702rpx;
-        border-radius: 40rpx;
-        background: #f7f7f7;
-        overflow: hidden;
-        .search-input {
-            flex: 1;
-            border: 0;
-            height: 66rpx;
-            font-size: 28rpx;
-            color: #333333;
-        }
-        .iconfont {
-            font-size: 36rpx;
-            margin: 0 20rpx;
-            color: #b2b2b2;
-        }
-    }
-}
-.cm-emtpy {
-    width: 100%;
-    padding-top: 40vw;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    flex-direction: column;
-    image {
-        display: block;
-        width: 260rpx;
-        height: 260rpx;
-    }
-    text {
-        display: block;
-        margin-top: 10rpx;
-        font-size: 26rpx;
-        font-weight: 400;
-        color: #999999;
-    }
-}
-</style>

+ 0 - 1188
pages/goods/goods-supporting.vue

@@ -1,1188 +0,0 @@
-<template>
-	<view class="container product clearfix">
-		<view class="product-content" :style="{ paddingBottom: popupShow ? '150rpx' : '0' }">
-			<view :class="{ 'tui-order-list': scrollTop >= 0 }" class="clearfix">
-				<!-- 空白页 -->
-				<view class="empty-container" v-if="isEmpty">
-					<image
-						class="empty-container-image"
-						:src="StaticUrl + '/icon/icon-collection-empty@2x.png'"
-					></image>
-					<text class="error-text">暂无配套商品~</text>
-				</view>
-				<!-- 列表 -->
-				<view class="tui-cart-cell  tui-mtop" v-for="(pros, index) in productList" :key="index">
-					<view class="tui-goods-item">
-						<view class="tui-goods-main" :class="{ none: index === productList.length - 1 }">
-							<view class="tui-goods-checkBox">
-								<view
-									class="checkbox iconfont"
-									:class="[pros.isChecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-									:style="{ color: disabledChecked(pros) ? '#E1E1E1' : '#F3B574' }"
-									@click="checkedSoperv(pros)"
-								>
-								</view>
-							</view>
-							<view class="tui-goods-image" @click.stop="navToDetailPage(pros.productId)">
-								<image :src="pros.image" class="tui-goods-img" />
-								<view class="tui-goods-type" v-if="pros.productType == 2">医疗器械</view>
-							</view>
-							<view class="tui-goods-info">
-								<view class="list-details-title" @click.stop="navToDetailPage(pros.productId)">{{
-									pros.name
-								}}</view>
-								<view class="list-details-specs" @click.stop="handlerUnit(pros)"
-									>
-									<view class="list-unit-tt">规格:</view>
-									<view class="list-unit">
-										<text class="list-unit-text">{{ pros.unit }}</text>
-										<text class="iconfont icon-xiangxiajiantou"></text>
-									</view>
-								</view>
-								<template v-if="hasLogin">
-									<template v-if="userIdentity == 4 && vipFlag != 1">
-										<view class="list-details-price" v-if="pros.priceFlag == 1">
-											<view class="list-none"><view class="price-small">¥未公开价格</view></view>
-										</view>
-										<view class="list-details-price" v-else-if="pros.priceFlag == 2">
-											<view class="list-none"
-												><view class="price-small">¥价格仅会员可见</view></view
-											>
-										</view>
-										<view class="list-details-price" v-else-if="pros.priceFlag == 3">
-											<view class="list-none"
-												><view class="price-small">¥仅医美机构可见</view></view
-											>
-										</view>
-										<template v-else>
-											<view class="list-details-price">
-												<view class="list-price">
-													<text
-														class="price-larger"
-														:class="
-															PromotionsFormat(pros.promotions) ||
-															pros.svipProductFlag == 1
-																? 'none'
-																: ''
-														"
-													>
-														¥{{
-															(PromotionsFormat(pros.promotions) ||
-															pros.svipProductFlag == 1
-																? pros.originalPrice
-																: pros.price) | NumFormat
-														}}
-													</text>
-												</view>
-												<view class="add-cart-btn" v-if="!disabledChecked(pros)">
-													<view class="number-box">
-														<view
-															class="iconfont icon-jianhao"
-															@click="changeCountSub(pros)"
-														></view>
-														<input
-															class="btn-input"
-															type="number"
-															maxlength="4"
-															v-model="pros.number"
-															@blur="changeNumber($event, pros)"
-														/>
-														<view
-															class="iconfont icon-jiahao"
-															@click="changeCountAdd(pros)"
-														></view>
-													</view>
-												</view>
-											</view>
-											<view class="list-details-price none">
-												<view class="floor-item-act">
-													<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-													<template v-if="pros.actStatus == 1">
-														<view
-															class="floor-tags"
-															v-if="
-																pros.actStatus == 1 && PromotionsFormat(pros.promotions)
-															"
-														>
-															{{ pros.promotions.name }}
-															<text
-																v-if="
-																	hasLogin && userIdentity == 2 && pros.priceFlag != 1
-																"
-																>:¥{{ pros.price | NumFormat }}</text
-															>
-														</view>
-														<view class="floor-tags" v-else>{{
-															pros.promotions.name
-														}}</view>
-													</template>
-													<template v-if="pros.svipProductFlag == 1">
-														<view class="svip-tags">
-															<view class="tags" :class="{ none: !isShowVipFlag(pros) }"
-																>SVIP</view
-															>
-															<view class="price" v-if="isShowVipFlag(pros)">{{
-																pros.svipPriceTag
-															}}</view>
-														</view>
-													</template>
-												</view>
-											</view>
-										</template>
-									</template>
-									<template v-else>
-										<view class="list-details-price" v-if="pros.priceFlag == 1">
-											<view class="list-none"><view class="price-small">¥未公开价格</view></view>
-										</view>
-										<view
-											class="list-details-price"
-											v-else-if="pros.priceFlag == 3 && firstClubType != 1"
-										>
-											<view class="list-none"
-												><view class="price-small">¥仅医美机构可见</view></view
-											>
-										</view>
-										<template v-else>
-											<view class="list-details-price">
-												<view class="list-price">
-													<text
-														class="price-larger"
-														:class="
-															PromotionsFormat(pros.promotions) ||
-															pros.svipProductFlag == 1
-																? 'none'
-																: ''
-														"
-													>
-														¥{{
-															(PromotionsFormat(pros.promotions) ||
-															pros.svipProductFlag == 1
-																? pros.originalPrice
-																: pros.price) | NumFormat
-														}}
-													</text>
-												</view>
-												<view class="add-cart-btn">
-													<view class="number-box">
-														<view
-															class="iconfont icon-jianhao"
-															:class="[isQuantity == true ? 'disabled' : '']"
-															@click="changeCountSub(pros)"
-														></view>
-														<input
-															class="btn-input"
-															type="number"
-															maxlength="4"
-															v-model="pros.number"
-															@blur="changeNumber($event, pros)"
-														/>
-														<view
-															class="iconfont icon-jiahao"
-															:class="[isStock == true ? 'disabled' : '']"
-															@click="changeCountAdd(pros)"
-														></view>
-													</view>
-												</view>
-											</view>
-											<view class="list-details-price none">
-												<view class="floor-item-act">
-													<template v-if="pros.actStatus == 1">
-														<view
-															class="floor-tags"
-															v-if="
-																pros.actStatus == 1 && PromotionsFormat(pros.promotions)
-															"
-														>
-															{{ pros.promotions.name }}
-															<text
-																v-if="
-																	hasLogin && userIdentity == 2 && pros.priceFlag != 1
-																"
-																>:¥{{ pros.price | NumFormat }}</text
-															>
-														</view>
-														<view class="floor-tags" v-else>{{
-															pros.promotions.name
-														}}</view>
-													</template>
-													<template v-if="pros.svipProductFlag == 1">
-														<view class="svip-tags">
-															<view class="tags" :class="{ none: vipFlag == 0 }"
-																>SVIP</view
-															>
-															<view class="price" v-if="isShowVipFlag(pros)">{{
-																pros.svipPriceTag
-															}}</view>
-														</view>
-													</template>
-												</view>
-											</view>
-										</template>
-									</template>
-								</template>
-								<template v-else>
-									<view class="list-details-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(pros.priceGrade)" :margin="14"></uni-grader>
-										</view>
-										<view class="add-cart-btn">
-											<view class="number-box">
-												<view
-													class="iconfont icon-jianhao"
-													@click="changeCountSub(pros)"
-												></view>
-												<input
-													class="btn-input"
-													type="number"
-													maxlength="4"
-													v-model="pros.number"
-													@blur="changeNumber($event, pros)"
-												/>
-												<view class="iconfont icon-jiahao" @click="changeCountAdd(pros)"></view>
-											</view>
-										</view>
-									</view>
-									<view class="list-details-price none">
-										<view class="floor-item-act">
-											<template v-if="pros.actStatus == 1">
-												<view
-													class="floor-tags"
-													v-if="pros.actStatus == 1 && PromotionsFormat(pros.promotions)"
-												>
-													{{ pros.promotions.name }}
-												</view>
-												<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-											</template>
-											<template v-if="pros.svipProductFlag == 1">
-												<view class="svip-tags"> <view class="tags none">SVIP</view> </view>
-											</template>
-										</view>
-									</view>
-								</template>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!--加载loadding-->
-				<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-				<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text="nomoreText"></tui-nomore>
-				<!--加载loadding-->
-			</view>
-		</view>
-		<!-- 选择规格弹窗 -->
-		<cm-unit-suppor-popup
-			v-if="popupShow1"
-			:popupShow="popupShow1"
-			:skuProduct="handlePros"
-			@btnConfirm="handleBtnConfirm"
-			@skuClick="handleSkuClick"
-		></cm-unit-suppor-popup>
-		<!-- 取消收藏操作 -->
-		<view class="fiexd-popup-box clearfix">
-			<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
-				<view class="tui-flex-1">
-					<view class="superv-header-checked">
-						<view class="oltext" @click="isCheckedAll">
-							<view
-								class="checkbox iconfont"
-								:class="[isAllChecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-							></view>
-							<view class="text">全选</view>
-						</view>
-					</view>
-					<view class="tui-button buy" @click="handleSupportingSubmit('buy')">立即购买</view>
-					<view class="tui-button add" @click="handleSupportingSubmit('add')">加入购物车</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-<script>
-import tuiLoadmore from '@/components/tui-components/loadmore/loadmore'
-import tuiNomore from '@/components/tui-components/nomore/nomore'
-import uniGrader from '@/components/uni-grade/uni-grade.vue'
-import cmUnitSupporPopup from './components/cm-unit-suppor-popup.vue'
-
-import { mapState, mapMutations } from 'vuex'
-export default {
-	components: {
-		tuiLoadmore,
-		tuiNomore,
-		uniGrader,
-		cmUnitSupporPopup
-	},
-	data() {
-		return {
-			StaticUrl: this.$Static,
-			isIphoneX: this.$store.state.isIphoneX,
-			totalRecord: 0,
-			cartQuantity: 0,
-			popupShow: true,
-			popupShow1:false,
-			listQuery: {
-				userId: 0,
-				productId: 0,
-				source: 2,
-				pageNum: 1,
-				pageSize: 50
-			},
-			productList: [],
-			handleData: {},
-			number: 0,
-			buyRetailPrice: 0,
-			buyRetailPriceStep: 1,
-			isQuantity: false,
-			scrollTop: 0,
-			isEmpty: false,
-			isAllChecked: false,
-			navbarHeight: '',
-			loadding: false,
-			pullUpOn: true,
-			pullFlag: true,
-			hasNextPage: false,
-			nomoreText: '上拉显示更多',
-			vipFlag: 0,
-			userIdentity: 0,
-			firstClubType: 0,
-			isStock: false,
-			handlePros:{}//
-		}
-	},
-	onLoad(option) {
-		this.listQuery.productId = option.productId
-		this.initGetStotage()
-	},
-	filters: {
-		NumFormat: function(value) {
-			//处理金额
-			if (!value) return '0.00'
-			let number = Number(value).toFixed(2)
-			return number
-		}
-	},
-	computed: {
-		...mapState(['hasLogin', 'userInfo', 'clubType'])
-	},
-	methods: {
-		...mapMutations(['login', 'logout']),
-		async initGetStotage() {
-			const userInfo = await this.$api.getStorage()
-			this.listQuery.userId = userInfo.userId ? userInfo.userId : 0
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			this.firstClubType = this.clubType
-			this.getCommodityCombinationList()
-		},
-		getCommodityCombinationList() {
-			// 初始化商品详情配套商品
-			this.ProductService.getCommodityCombinationList(this.listQuery)
-				.then(response => {
-					let data = response.data
-					this.hasNextPage = data.hasNextPage
-					this.productList = data.results.map((pros, index) => {
-						pros.isChecked = false
-						pros.number = pros.minBuyNumber
-						return pros
-					})
-					this.pullFlag = false
-					setTimeout(() => {
-						this.pullFlag = true
-					}, 500)
-					if (this.hasNextPage) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						if (this.productList.length < 8) {
-							this.pullUpOn = true
-						} else {
-							this.pullUpOn = false
-							this.loadding = false
-							this.nomoreText = '已至底部'
-						}
-					}
-				})
-				.catch(error => {
-					console.log('获取组合商品列表失败')
-				})
-		},
-		GetOnReachBottomData() {
-			//上拉加载
-			this.listQuery.pageNum += 1
-			this.ProductService.getCommodityCombinationList(this.listQuery)
-				.then(response => {
-					let data = response.data
-					if (data.results && data.results.length > 0) {
-						this.hasNextPage = data.hasNextPage
-						let list = data.results.map((pros, index) => {
-							if (this.isAllChecked && !this.disabledChecked(pros)) {
-								pros.isChecked = true
-							} else {
-								pros.isChecked = false
-							}
-							pros.number = pros.minBuyNumber
-							return pros
-						})
-						this.productList = this.productList.concat(list)
-						this.pullFlag = false // 防上拉暴滑
-						setTimeout(() => {
-							this.pullFlag = true
-						}, 500)
-						if (this.hasNextPage) {
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						} else {
-							this.pullUpOn = false
-							this.loadding = false
-							this.nomoreText = '已至底部'
-						}
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		handleSupportingSubmit(type) {
-			if (this.hasLogin) {
-				switch (type) {
-					case 'buy':
-						this.handleToConfirm()
-						break
-					case 'add':
-						this.handleAddClubCart()
-						break
-				}
-			} else {
-				this.$api.navigateTo('/pages/login/login')
-			}
-		},
-		handleAddClubCart() {
-			//增加购物车成功和toast弹窗提示成功
-			let list = []
-			if (!this.isProductChecked) {
-				this.$util.msg('请先选择商品', 2000)
-				return
-			}
-			this.productList.forEach(el => {
-				if (el.isChecked) {
-					list.push({ productId:el.productId , productCount: el.number ,skuId:el.skuId })
-				}
-			})
-			this.ProductService.ShoppingAddCarts({
-				productInfo: JSON.stringify(list),
-				userId: this.listQuery.userId
-			})
-				.then(response => {
-					this.$util.msg('加入购物车成功', 1500, true, 'success')
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		handleToConfirm() {
-			//跳转确认订单页面
-			let list = []
-			if (!this.isProductChecked) {
-				this.$util.msg('请选择商品', 2000)
-				return
-			}
-			this.productList.map((el, index) => {
-				if (el.isChecked) {
-					list.push({ id:el.productId , count: el.number ,skuId:el.skuId })
-				}
-			})
-			console.log('勾选商品', list)
-			this.$api.navigateTo(`/pages/user/order/create-order?type=3&data=${JSON.stringify({ data: list })}`)
-		},
-		updateCheckAllBtn() {
-			//勾选单个判断全选
-			let goodsCheckedLength = 0
-			this.productList.forEach(pros => {
-				if (pros.isChecked) {
-					goodsCheckedLength++
-				}
-			})
-			this.isAllChecked = goodsCheckedLength === this.productList.length
-			if (goodsCheckedLength > 0) {
-				this.isProductChecked = true
-			} else {
-				this.isProductChecked = false
-			}
-		},
-		updateBothCheckBtn() {
-			//全选勾选判断
-			this.productList.forEach(pros => {
-				if (!this.disabledChecked(pros)) {
-					pros.isChecked = this.isAllChecked
-				}
-			})
-		},
-		disabledChecked(pros) {
-			// 非会员
-			if (!this.vipFlag === 1) return true
-			// 商品已下架 || 库存为0 
-			if (pros.validFlag === 3) return true
-			// 商品价格不公开
-			if (pros.priceFlag === 1) return true
-			// 商品价格仅资质机构可见 && 机构为普通机构
-			if (pros.priceFlag === 2 && this.userIdentity === 4 && this.vipFlag != 1) return true
-			// 商品价格仅医美机构可见 && 机构为普通机构 
-			if (pros.priceFlag === 3 && this.userIdentity === 4 ) return true
-			// 商品价格仅医美机构可见 && 机构为资质机构 && 不是医美机构
-			if (pros.priceFlag === 3 && this.userIdentity === 2 && this.firstClubType != 1) return true
-			//其他
-			return false
-		},
-		isCheckedAll() {
-			//全选
-			this.isAllChecked = !this.isAllChecked
-			if (this.isAllChecked) {
-				this.isProductChecked = true
-			} else {
-				this.isProductChecked = false
-			}
-			this.updateBothCheckBtn()
-		},
-		checkedSoperv(pros) {
-			// 勾选商品
-			if (this.disabledChecked(pros)) {
-				this.$util.msg('该商品暂不能购买', 2000)
-				return
-			}
-			pros.isChecked = !pros.isChecked
-			this.updateCheckAllBtn()
-		},
-		PromotionsFormat(promo) {
-			//优惠价促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		changeCountAdd(pros) {
-			//popup弹窗数量增加按钮
-			if (pros.step == 2) {
-				pros.number += pros.minBuyNumber
-			} else {
-				pros.number++
-			}
-			this.calculatPerice()
-		},
-		changeCountSub(pros) {
-			//popup弹窗数量减按钮
-			if (pros.number <= pros.minBuyNumber) {
-				pros.number = pros.minBuyNumber
-				this.isQuantity = true
-				this.$util.msg(`该商品最小起订量为${pros.minBuyNumber}`, 2000)
-				return
-			} else {
-				if (pros.step == 2) {
-					pros.number -= pros.minBuyNumber
-				} else {
-					pros.number--
-				}
-				this.calculatPerice()
-				this.isQuantity = false
-			}
-		},
-		changeNumber(e, pros) {
-			let _value = Number(e.detail.value)
-			if (!this.$api.isNumber(_value)) {
-				pros.number = pros.minBuyNumber
-			} else if (_value < pros.minBuyNumber) {
-				this.$util.msg(`该商品最小起订量为${pros.minBuyNumber}`, 2000)
-				pros.number = pros.minBuyNumber
-			} else if (_value % pros.minBuyNumber != 0) {
-				this.$util.msg('购买量必须为起订量的整数倍', 2000)
-				pros.number = pros.minBuyNumber
-			} else {
-				pros.number = _value
-				this.calculatPerice(pros)
-			}
-		},
-		calculatPerice(pros) {
-			//判断是否为阶梯价然后做计算价格处理
-			if (pros.ladderPriceFlag == 1) {
-				pros.ladderPrices.forEach((el, index) => {
-					if (pros.number >= el.buyNum) {
-						pros.price = el.buyPrice
-					}
-				})
-			}
-		},
-		isShowVipFlag(pros) {
-			/**
-			 *显示SVIP和超级会员价格:
-			 * 	个人机构(不是超级会员,但价格所有机构可见),
-			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
-			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
-			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
-			 *	普通机构
-			 * 		超级会员 && priceFlag === 0
-			 * 	资质机构
-			 * 		priceFlag !== 1 ||
-			 * 		超级会员
-			 * 			商品priceFlag === 3 && 是否是医美机构
-			 */
-			// 未登录 || 非会员
-			if (!this.hasLogin || !this.vipFlag === 1) return false
-			// 商品所有机构可见
-			if (pros.priceFlag === 0) return true
-			// 商品价格仅资质机构可见
-			if (pros.priceFlag === 2 && this.userIdentity === 2) return true
-			// 商品价格仅医美机构可见
-			if (pros.priceFlag === 3 && this.userIdentity === 2 && this.firstClubType == 1) return true
-			// 其它
-			return false
-		},
-		handleBtnConfirm(data){
-			this.handlePros.skuId = sku.skuId
-			this.handlePros.unit = data.unit
-			this.handlePros.number = data.number
-			console.log('handlePros',this.handlePros)
-		},
-		handleSkuClick(sku){
-			this.handlePros.skuId = sku.skuId
-			this.handlePros.unit = sku.unit
-			this.handlePros.number = sku.minBuyNumber
-			this.handlePros.price = sku.price
-			this.handlePros.originalPrice = sku.originalPrice
-		},
-		handlerUnit(pros){
-			this.popupShow1 = true
-			this.handlePros = pros
-		},
-		navToDetailPage(id) {
-			this.isModallayer = true
-			this.$api.navigateTo(`/pages/goods/product?id=${id}`)
-			this.isModallayer = false
-		}
-	},
-	onPageScroll(e) {
-		//实时获取到滚动的值
-	},
-	onReachBottom() {
-		if (this.hasNextPage) {
-			this.loadding = true
-			this.pullUpOn = true
-			this.GetOnReachBottomData()
-		}
-	},
-	onPullDownRefresh() {
-		setTimeout(() => {
-			this.getCommodityCombinationList()
-			uni.stopPullDownRefresh()
-		}, 200)
-	},
-	onShow() {}
-}
-</script>
-
-<style lang="scss">
-@import '@/uni.scss';
-page {
-	background: #fff;
-}
-.empty-container {
-	z-index: 9999;
-}
-.tui-header {
-	width: 100%;
-	font-size: 16px;
-	font-weight: 500;
-	height: 32px;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	position: relative;
-	padding: 0 40rpx;
-}
-.header-sit {
-	width: 100%;
-	box-sizing: border-box;
-	height: 80rpx;
-	line-height: 80rpx;
-	box-sizing: border-box;
-	padding: 0 40rpx;
-	text-align: left;
-	font-size: $font-size-40;
-	color: #ffffff;
-	font-weight: 600;
-	font-family: '正楷';
-	margin-top: 30rpx;
-	.iconfont {
-		font-size: 42rpx;
-		margin-left: 30rpx;
-	}
-}
-.mine {
-	width: 100%;
-	height: 100%;
-	position: relative;
-}
-.product-content {
-	width: 100%;
-	height: auto;
-	position: relative;
-	padding: 0;
-	box-sizing: border-box;
-	.empty-container-image {
-		width: 260rpx;
-		height: 260rpx;
-		margin-top: -300rpx;
-	}
-}
-.tui-goods-item {
-	padding: 30rpx 20rpx 0 20rpx;
-	box-sizing: border-box;
-	position: relative;
-	.tui-goods-main {
-		display: flex;
-		width: 100%;
-		height: 100%;
-		border-bottom: 1px solid #ebebeb;
-		padding-bottom: 24rpx;
-		&.none {
-			border-bottom: none;
-		}
-	}
-}
-.tui-goods-checkBox {
-	display: flex;
-	align-items: center;
-	margin: 0 15rpx;
-	.checkbox {
-		display: flex;
-		margin: 0;
-		padding: 0;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		box-sizing: border-box;
-		text-align: center;
-		text-decoration: none;
-		border-radius: 0;
-		-webkit-tap-highlight-color: transparent;
-		overflow: hidden;
-		background-color: #ffffff;
-		font-size: 36rpx;
-		color: $color-system;
-	}
-	.text {
-		font-size: $font-size-24;
-		margin-left: 10rpx;
-	}
-}
-.tui-goods-image {
-	width: 180rpx;
-	height: 180rpx !important;
-	border-radius: 12rpx;
-	position: relative;
-	border: 2rpx solid #f3f3f3;
-	.tui-goods-img {
-		width: 180rpx;
-		height: 180rpx !important;
-		border-radius: 12rpx;
-		flex-shrink: 0;
-		display: block;
-	}
-	.tui-goods-type {
-		width: 64rpx;
-		height: 64rpx;
-		text-align: justify;
-		box-sizing: border-box;
-		padding: 10rpx;
-		border-radius: 0 0 8rpx 8rpx;
-		background-color: #33ccbf;
-		font-size: $font-size-22;
-		color: #ffffff;
-		line-height: 25rpx;
-		position: absolute;
-		top: 0;
-		right: 10rpx;
-	}
-}
-.tui-goods-info {
-	width: 460rpx;
-	padding-left: 20rpx;
-	box-sizing: border-box;
-	position: relative;
-	.list-details-title {
-		line-height: 38rpx;
-		text-overflow: ellipsis;
-		overflow: hidden;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		line-clamp: 2;
-		-webkit-box-orient: vertical;
-		font-size: 26rpx;
-		color: #333333;
-	}
-	.list-details-specs {
-		width: 100%;
-		display: inline-block;
-		margin-top: 8rpx;
-		.list-unit-tt{
-			color: #999999;
-			font-size: 24rpx;
-			line-height: 40rpx;
-			float: left;
-		}
-		.list-unit{
-			width: 136rpx;
-			line-height: 40rpx;
-			display: inline-block;
-			text-align: center;
-			padding: 0 40rpx 0 16rpx;
-			box-sizing: border-box;
-			border: 1px solid #CCC;
-			color: #999999;
-			position: relative;
-			border-radius: 6rpx;
-			float: left;
-			.list-unit-text{
-				width: 80rpx;
-				line-height: 40rpx;
-				display: inline-block;
-				text-align: left;
-				font-size: 22rpx;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp:1;
-				line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-			.icon-xiangxiajiantou{
-				display: block;
-				width: 40rpx;
-				height: 40rpx;
-				line-height: 40rpx;
-				color: #999999;
-				position: absolute;
-				right: 0;
-				top: 0;
-				font-size: 28rpx;
-			}
-		}
-	}
-	.list-details-price {
-		width: 100%;
-		line-height: 54rpx;
-		float: left;
-		.p-stars {
-			float: left;
-			.p-no {
-				font-size: $font-size-28;
-				color: $text-color;
-				display: block;
-				float: left;
-			}
-		}
-		&.none {
-			height: 32rpx;
-			line-height: 32rpx;
-		}
-		.floor-item-act {
-			height: 54rpx;
-			text-align: center;
-			box-sizing: border-box;
-			float: left;
-		}
-		.price-icon {
-			width: 22rpx;
-			height: 28rpx;
-			vertical-align: middle;
-			margin-right: 10rpx;
-		}
-		.price-icon + text {
-			font-size: 25rpx;
-			vertical-align: middle;
-		}
-		.list-login-now {
-			width: 375rpx;
-			color: #f8c499;
-			position: absolute;
-			bottom: 0;
-			.p-no {
-				float: left;
-				font-size: $font-size-24;
-				color: $color-system;
-				margin-right: 10rpx;
-			}
-		}
-		.login-now {
-			padding: 10rpx 10rpx 10rpx 0;
-		}
-		.list-none {
-			margin-top: 20rpx;
-			.price-small {
-				font-size: $font-size-26;
-				line-height: 40rpx;
-				color: #ff2a2a;
-			}
-		}
-		.list-price {
-			color: #ff2a2a;
-			float: left;
-			line-height: 54rpx;
-			align-items: center;
-			justify-content: center;
-			.price-larger {
-				font-size: $font-size-30;
-				display: inline-block;
-				&.none {
-					text-decoration: line-through;
-					color: #999999;
-				}
-			}
-		}
-		.add-cart-btn {
-			float: right;
-			width: 186rpx;
-			height: 54rpx;
-			line-height: 54rpx;
-			border-radius: 30rpx;
-			color: #fff;
-			font-size: 24rpx;
-			margin-right: 0;
-			background: #ffffff;
-			color: $text-color;
-			text-align: center;
-			.number-box {
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				border: 2rpx solid #ffe6dc;
-				border-radius: 30rpx;
-				.iconfont {
-					font-size: $font-size-24;
-					padding: 0 18rpx;
-					color: #999999;
-					text-align: center;
-					line-height: 48rpx;
-					font-weight: bold;
-					background: #fef6f3;
-					&.icon-jianhao {
-						border-radius: 30rpx 0 0 30rpx;
-					}
-					&.icon-jiahao {
-						border-radius: 0 30rpx 30rpx 0;
-					}
-				}
-				.btn-input {
-					width: 62rpx;
-					height: 48rpx;
-					line-height: 48rpx;
-					background: #fff;
-					border-radius: 4rpx;
-					text-align: center;
-					font-size: $font-size-24;
-				}
-			}
-		}
-	}
-}
-.tui-popup-box {
-	position: relative;
-	box-sizing: border-box;
-	min-height: 168rpx;
-	padding: 6rpx 24rpx;
-	.tui-popup-content {
-		padding-top: 30rpx;
-	}
-}
-.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;
-		display: flex;
-		.layer-nunbox-text {
-			line-height: 44rpx;
-			font-size: $font-size-28;
-		}
-		.number-box {
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			border: 2rpx solid #ffe6dc;
-			border-radius: 30rpx;
-			height: 48rpx;
-			margin-left: 20rpx;
-			.iconfont {
-				font-size: $font-size-24;
-				padding: 0 18rpx;
-				color: #999999;
-				text-align: center;
-				line-height: 48rpx;
-				font-weight: bold;
-				background: #fef6f3;
-				&.icon-jianhao {
-					border-radius: 30rpx 0 0 30rpx;
-				}
-				&.icon-jiahao {
-					border-radius: 0 30rpx 30rpx 0;
-				}
-			}
-			.btn-input {
-				width: 62rpx;
-				height: 48rpx;
-				line-height: 48rpx;
-				background: #ffffff;
-				border-radius: 4rpx;
-				text-align: center;
-				font-size: $font-size-28;
-			}
-		}
-		.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;
-		}
-	}
-}
-.fiexd-popup-box{
-	width: 100%;
-	min-height: 168rpx;
-	padding: 6rpx 24rpx;
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	z-index: 99;
-	box-sizing: border-box;
-	background: #FFFFFF;
-}
-.tui-popup-btn {
-	width: 100%;
-	height: auto;
-	float: left;
-	box-sizing: border-box;
-	margin-top: 30rpx;
-	.superv-header-checked {
-		float: left;
-		font-size: $font-size-30;
-		.oltext {
-			width: 120rpx;
-			float: left;
-			color: #666666;
-			display: flex;
-			margin-left: 10rpx;
-			.checkbox {
-				display: flex;
-				margin: 0;
-				padding: 0;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				box-sizing: border-box;
-				text-align: center;
-				text-decoration: none;
-				border-radius: 0;
-				-webkit-tap-highlight-color: transparent;
-				overflow: hidden;
-				font-size: 34rpx;
-				color: $color-system;
-				line-height: 80rpx;
-			}
-			.text {
-				float: left;
-				line-height: 80rpx;
-				margin-left: 15rpx;
-			}
-		}
-		.ortext {
-			width: 120rpx;
-			float: right;
-			color: $color-system;
-			text-align: right;
-		}
-	}
-	.tui-button {
-		width: 210rpx;
-		height: 88rpx;
-		float: right;
-		background: #e1e1e1;
-		line-height: 88rpx;
-		text-align: center;
-		color: #ffffff;
-		font-size: $font-size-28;
-		border-radius: 44rpx;
-		margin-left: 32rpx;
-		&.add {
-			background: #ffe6dc;
-			color: #F3B574;
-		}
-		&.buy {
-			background: $btn-confirm;
-		}
-	}
-	.tui-flex-btn {
-		width: 100%;
-		height: 88rpx;
-		display: flex;
-		box-sizing: border-box;
-		padding: 0 34rpx;
-		.button {
-			width: 280rpx;
-			height: 88rpx;
-			color: #fff;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			font-size: $font-size-28;
-			border-radius: 44rpx;
-			&.buy {
-				background: $btn-confirm;
-				margin-left: 78rpx;
-			}
-			&.add {
-				background: #ffe6dc;
-				color: #F3B574;
-			}
-		}
-	}
-}
-</style>

+ 0 - 687
pages/goods/instrument-details.vue

@@ -1,687 +0,0 @@
-<template>
-	<view class="product">
-		<custom-p   v-if="isHeaderPoduct"
-					:systeminfo='systeminfo' 
-					:navbar-data='nvabarData' 
-					:headerBtnPosi ="headerBtnPosi" 
-					:headerColor="headerColor" 
-					:type="isShareType"
-					:page='backPage'>
-		</custom-p>
-		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view class="container-product tui-skeleton">
-			<view class="product-top">
-				<view class="banner-section">
-					<uni-swiper-dot :info="productImage" :current="current" field="content" :mode="mode" >
-						<swiper class="banner tui-banner tui-skeleton-rect"  @change="swiperChange" :duration='800' :autoplay="false" :circular="true" >
-							<swiper-item v-for="(item, index) in productImage" :key="index" class="banner-item"> 
-								<image :src="item" @click="previewImg(index)" class="product-img" />
-							</swiper-item>
-						</swiper>
-						<view class="swiper__dots-box">
-							<tui-tag padding="12rpx 24rpx" type="translucent" shape="circleLeft" size="32rpx" :scaleMultiple="0.82" originRight>{{ current + 1 }}/{{ productImage.length }}</tui-tag>
-						</view>
-					</uni-swiper-dot>
-				</view>
-				<view class="product-parameter" @click="showPopup">
-					<view class="view">
-						<text class="title">仪器信息</text>
-						<text class="iconfont icon-xiangyou"></text>
-					</view>
-				</view>
-				<view class="product-message clearfix">
-					<view class="msg-pin clearfix"  v-for="(label, idx) in firstFloorList" :key="idx">
-						<view class="label">{{ label.name }}:</view>
-						<view class="label-li">
-							<text>{{ label.content ? label.content : '暂无' }}</text>
-						</view>
-					</view>
-				</view>			
-			</view>
-			<view class="product-details">
-				<view  class="navbar">
-					<view class="nav-item tui-skeleton-fillet" v-for="(tab, index) in crmDetailList" :key="index"  :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">
-						<text>{{ tab.name }}</text>
-						<text class="line"></text>
-					</view>
-				</view>	
-	
-			</view>	
-			<view class="product-details service" v-show="tabCurrentIndex == 0">
-				<view class="content tui-banner product-rich-text tui-skeleton-rect">
-					<mp-html :content="html" :tag-style="tagStyle" />
-				</view>
-			</view>	
-			<view class="product-details service" v-show="tabCurrentIndex == 1">
-				<view class="content service" v-if="crmDetailList[tabCurrentIndex].content">
-					{{ crmDetailList[tabCurrentIndex].content ? crmDetailList[tabCurrentIndex].content : '' }}
-				</view>
-				<view class="content service">
-					<view class="content-none">暂无内容</view>
-				</view>
-			</view>	
-			<view class="product-details service" v-show="tabCurrentIndex == 2">
-				<view class="content service" v-if="crmDetailList[tabCurrentIndex].content">
-					{{ crmDetailList[tabCurrentIndex].content ? crmDetailList[tabCurrentIndex].content : '' }}
-				</view>
-				<view class="content service">
-					<view class="content-none">暂无内容</view>
-				</view>
-			</view>	
-			<view class="product-details recommend">
-				<!-- 相关推荐 -->
-				<view class="instrument-recommend-cell" v-for="(floor, index) in floorList" :key="index">
-					<view class="title">
-						<view class="title-tab">{{ floor.title }}</view>
-					</view>
-					<view class="content hot">
-						<recommend :list="floor.floorData" v-if="isRequest"></recommend>
-					</view>
-				</view>
-			</view>	
-			<view class="product-details contact clearfix">
-				<!-- 联系 -->
-				<view class="instrument-contact-title">
-					<image src="https://static.caimei365.com/app/img/icon/icon-title-bg.png" mode=""></image>
-				</view>
-				<view class="instrument-contact-cell">
-					<view class="cell-icon">
-						<image src="https://static.caimei365.com/app/img/icon/icon-kefus.png" mode=""></image>
-					</view>
-					<view class="cell-text">
-						<view class="cell-text-p">0755-22907771转806</view>
-						<view class="cell-text-p">15338851365</view>
-					</view>
-				</view>
-				<view class="instrument-contact-cell">
-					<view class="cell-icon">
-						<image src="https://static.caimei365.com/app/img/icon/icon-phone.png" mode=""></image>
-					</view>
-					<view class="cell-text">
-						<view class="cell-text-p">产品设备:18948339365</view>
-						<view class="cell-text-p">商务合作:17318032647</view>
-					</view>
-				</view>
-			</view>	
-			<!-- 仪器信息 -->
-			<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-				<view class="tui-popup-box clearfix">
-					<view class="title">{{ secondFloorList[0].name }}</view>
-					<view class="content">
-						<view class="content-tr"  v-for="(item, index) in secondFloorList" :key="index">
-							<view class="content-td">{{ item.name }}:</view>
-							<view class="content-th">{{ item.content ? item.content : '暂无' }}</view>
-						</view>
-					</view>
-					<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
-						<view class="tui-flex-1">
-							<view class="tui-button" @click="hidePopup()">收起</view>
-						</view>
-					</view>
-				</view>	
-			</tui-bottom-popup>	
-			<!-- 侧边 -->
-			<scroll-top :isScrollTop="isScrollTop" :bottom="200"></scroll-top>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations } from 'vuex'
-	import authorize from '@/common/config/authorize.js'
-	import customP from '@/components/cm-custom/custom-p.vue' 		 //自定义导航
-	import recommend from "./components/instrument-recommend" //相关推荐
-	import wxLogin from "@/common/config/wxLogin.js"
-	import { productTagStyle } from '@/plugins/mp-html/config.js'
-	var isPreviewImg;
-	export default{
-		components:{
-			customP,
-			recommend,
-		},
-		data(){
-			return{			
-				html:'<div style="text-align: center;color:#333333;">暂无内容</div>',
-				tagStyle: productTagStyle,
-				disabledTabNavList:[{name:'相关推荐'}],
-				mode:'round',
-				iconClass:'icon-aixin',
-				iconColor:'#ff9100',
-				specClass: '',//规格弹窗css类,控制开关动画
-				isBtnType:'',
-				isRequest:false,
-				isScrollTop:false,
-				current:0,
-				isShareType:'',
-				isHeaderPoduct:false,
-				isRecommend:false,
-				isRarameter:true,
-				isService:false,
-				isEvaluate:false,
-				skeletonShow:true,
-				tabCurrentIndex:0,
-				userID:'',
-				equipmentId:0,
-				userIdentity:'',//用户类型
-				productImage:[],
-				floorList:[],
-				secondFloorList:[],//仪器信息
-				firstFloorList:[],//项目基本信息
-				crmDetailList:[],//项目详情
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo: this.setSysteminfo(),		 //获取设备信息
-				isIphoneX:this.$store.state.isIphoneX,
-				windowHeight: '',
-				headerColor:false,
-				backPage:1,
-				nvabarData: {							 //顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
-					title: ''		// 导航栏 中间的标题
-				},
-				linkPath:'',
-				popupShow:false,//参数弹窗
-				description:''
-			}
-		},
-		computed: {
-			...mapState(['hasLogin','isWxAuthorize'])
-		},
-		onLoad(option) {
-			this.equipmentId = option.id;//获取商品ID
-			this.isShareType = option.type
-			this.linkPath = option.path
-			this.isHeaderPoduct = true
-			if(option.page == 2){
-				this.backPage = option.page
-			}
-			if(this.isShareType =='share'){
-				wxLogin.wxLoginAuthorize()
-			}
-		},
-		methods:{
-			initData(){// 初始化商品详情查询
-				this.ProductService.GetEquipmentDetails({equipmentId:this.equipmentId}).then(response =>{	
-					let data = response.data 
-					let pageMap = data.pageContentMap
-					this.description = pageMap.description
-					this.secondFloorList = pageMap.secondFloorList
-					this.firstFloorList = pageMap.firstFloorList
-					this.crmDetailList = pageMap.pcDetailList
-					this.html = this.$api.adaptRichTextImg(this.crmDetailList[0].content)
-					this.floorList = data.floorList
-					this.skeletonShow = false
-					this.productImage=[];
-					this.productImage.push(data.image);
-					console.log(this.productImage)
-					this.isRequest = true
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			},
-			swiperChange(e) {//顶部商品图片切换
-				const index = e.detail.current;
-				this.current = index;
-			},
-			previewImg (index) {//顶部商品图片预览
-				isPreviewImg = true
-				let previewUrls = this.productImage
-				uni.previewImage({
-					current: index, 	//图片索引
-					urls: previewUrls, //必须是http图片,本地图片无效
-					longPressActions:''
-				})
-			},
-			tabClick(index) {//商品详情&&供应商信息tab切换
-				console.log(index)
-				this.tabCurrentIndex = index;
-				switch(index){
-					case 1:
-						this.isRarameter = true
-						break;
-					case 2:
-						this.isService = true
-						break;
-					case 3:
-						this.isRecommend = true
-						break;
-				}
-			},
-			setHeaderBtnPosi(){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
-				return headerBtnPosi
-			},
-			setSysteminfo(){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
-				})
-				return systeminfo
-			},
-			showPopup(){
-				this.popupShow = true
-			},
-			hidePopup(){
-				this.popupShow = false
-			}
-		},
-		onPageScroll(e){//实时获取到滚动的值
-			if(e.scrollTop>50){
-				this.headerColor = true
-				this.nvabarData={							
-					showCapsule: 1, 
-					title: '商品详情', 		
-				}
-			}else{
-				this.headerColor = false
-				this.nvabarData={
-					showCapsule: 1, 
-					title: '', 		
-				}
-			}
-			if(e.scrollTop>700){
-				this.isScrollTop = true
-			}else{
-				this.isScrollTop = false
-			}
-		},
-		onShareAppMessage(res){//分享转发
-			if (res.from === 'button') {
-		      // 来自页面内转发按钮
-		    }
-			return {
-			  title: `${this.description}`,
-			  path: `pages/goods/instrument-details?id=${this.equipmentId}`,
-			  imageUrl:`${this.productImage[0]}`
-			}
-		},
-		onShow() {
-			this.$api.getStorage().then((resolve) => {
-				this.userID = resolve.userId ? resolve.userId : '';	
-				this.userIdentity = resolve.userIdentity ? resolve.userIdentity : 3
-				if (isPreviewImg) {
-					isPreviewImg = false;
-					return;
-				} else {
-					this.initData();
-				}
-			}).catch(error =>{
-				this.initData();
-			})
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-	}
-	.productRemarks{
-		height: 36rpx;
-		margin: 8rpx 0;
-		width: 100%;
-		float: left;
-		.text{
-			display: inline-block;
-			padding: 0 18rpx;
-			line-height: 32rpx;
-			font-size: 20rpx;
-			color: #FF2A2A;
-			text-align: center;
-			border-radius: 4rpx;
-			background: #FFFFFF;
-			border: 1px solid #FF2A2A;
-			float: left;
-			opacity: 0.8;
-		}
-	}
-	.banner-section{
-		width: 100%;
-		height: 750rpx;
-		position: relative;
-	}	
-	.banner{
-		width: 100%;
-		height: 750rpx;
-		.product-img{
-			width: 750rpx;
-		}
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.swiper__dots-box{
-		position: absolute;
-		color: #fff;
-		bottom: 30rpx;
-		right: 0;
-	}
-	.product-message{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		margin-top: 24rpx;
-		.msg-pin{
-			width: 100%;
-			height: auto;
-			margin-bottom: 16rpx;
-			.label{
-				float: left;
-				line-height: 48rpx;
-				font-size: $font-size-28;
-				color: #999999;
-			}
-			.label-li{
-				width: 568rpx;
-				float: left;
-				line-height: 48rpx;
-				font-size: $font-size-28;
-				color: #333333;
-				margin-left: 10rpx;
-			}
-		}
-	}
-	.product-parameter{
-		width: 100%;
-		height: 90rpx;
-		padding: 0 24rpx;
-		box-sizing: border-box;
-		background-color: #FFFFFF;
-		position: relative;
-		display: flex;
-		margin-top: 24rpx;
-		.view{
-			width: 100%;
-			height: 90rpx;
-			background-color: #fef6f3;
-			position: relative;
-			display: flex;
-			padding: 0 20rpx;
-			.title{
-				line-height: 90rpx;
-				display: inline-block;
-				float: left;
-				font-size: $font-size-28;
-				color: $color-system;
-			}
-			.icon-xiangyou{
-				line-height: 90rpx;
-				display: inline-block;
-				position: absolute;
-				width: 48rpx;
-				top: 0;
-				right: 0;
-				color: $color-system;
-			}
-		}
-	}
-	.product-details {
-		width: 100%;
-		background: #FFFFFF;
-		.content{
-			&.service{
-				text-align: justify;
-				font-size: $font-size-26;
-				color: #666666;
-			}
-			.content-none{
-				width: 100%;
-				height: 80rpx;
-				line-height: 80rpx;
-				font-size: $font-size-26;
-				color: #999999;
-				text-align: center;
-			}
-		}
-		&.recommend{
-			background-color: #F7F7F7;
-			border-bottom: none;
-			.title{
-				.title-tab{
-					background-color: #F7F7F7;
-					color: $text-color;
-					
-				}
-			}
-		}
-		&.contact{
-			width: 100%;
-			box-sizing: border-box;
-			background-color: #FFFFFF;
-			padding:24rpx;
-			.instrument-contact-title{
-				width: 100%;
-				height: 40rpx;
-				margin-bottom: 30rpx;
-				image{
-					width: 100%;
-					height: 100%;
-					display: block;
-				}
-			}
-			.instrument-contact-cell{
-				width: 100%;
-				height: 72rpx;
-				float: left;
-				box-sizing: border-box;
-				padding: 0 150rpx;
-				margin-bottom: 24rpx;
-				.cell-icon{
-					width: 72rpx;
-					height: 72rpx;
-					float: left;
-					image{
-						width: 100%;
-						height: 100%;
-						display: block;
-					}
-				}
-				.cell-text{
-					width: 330rpx;
-					height: 72rpx;
-					float: left;
-					box-sizing: border-box;
-					padding-left: 15rpx;
-					.cell-text-p{
-						width: 100%;
-						height: 36rpx;
-						line-height: 36rpx;
-						font-size: $font-size-24;
-						color: $text-color;
-						text-align: left;
-						float: left;
-					}
-				}
-			}
-		}
-		.title{
-			width: 100%;
-			box-sizing: border-box;
-			padding: 0 24rpx;
-			.title-tab{
-				width: 100%;
-				height: 100rpx;
-				background: #fff;
-				z-index: 10;
-				font-size: $font-size-30;
-				text-align: center;
-				color: $text-color;
-				line-height: 100rpx;
-				font-weight: 600;
-			}
-			.title-msg{
-				width: 100%;
-				height: 236rpx;
-				padding: 18rpx;
-				background-color: rgba(225,86,22, 0.1);
-				color: $color-system;
-				box-sizing: border-box;
-				margin-bottom: 30rpx;
-				.tit{
-					line-height: 46rpx;
-					font-size: $font-size-24;
-					text-align: left;
-				}
-				.txt{
-					line-height: 38rpx;
-					font-size: $font-size-20;
-					text-align: justify;
-				}
-			}
-		}
-		.navbar {
-			width: 702rpx;
-			height: 96rpx;
-			padding: 0 24rpx;
-			background: #fff;
-			z-index: 10;
-			display: flex;
-			border-top: 20rpx solid #F7F7F7;
-			padding-bottom: 20rpx;
-			&.fixed{
-				position: fixed;
-				left: 0;
-			}
-			.nav-item {
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				height: 96rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				position: relative;
-				float: left;
-				position: relative;
-				padding: 0 15rpx;
-				margin-right: 20rpx;
-				.line{
-					width: 40rpx;
-					height: 2px;
-					border-radius: 1px;
-					background: #FFFFFF;
-					position: absolute;
-					bottom: 0;
-					left: 50%;
-					margin-left: -20rpx;
-				}
-				&.current{
-					color:$color-system;
-					font-weight: bold;
-					.line{
-						background: $color-system;
-					}
-				}
-			}
-		}
-		.content{
-			width: 100%;
-			background-color: #FFFFFF;
-		}
-	}
-	.isLower{
-		width: 100%;
-		height: 116rpx;
-		line-height: 116rpx;
-		text-align: center;
-		color: #000000;
-		font-size: $font-size-32;
-		font-weight: bold;
-	}
-	.uni-badge--small {
-		-webkit-transform: scale(.8);
-		-ms-transform: scale(.8);
-		transform: scale(.8);
-		-webkit-transform-origin: center center;
-		-ms-transform-origin: center center;
-		transform-origin: center center;
-	}
-	.uni-badge {
-		font-family: 'Helvetica Neue', Helvetica, sans-serif;
-		-webkit-box-sizing: border-box;
-		box-sizing: border-box;
-		font-size: 12px;
-		line-height: 1;
-		display: inline-block;
-		padding: 3px 6px;
-		color: #333;
-		border-radius: 100px;
-		background-color: #f1f1f1;
-	}
-	.uni-badge-error {
-		color: #fff;
-		background-color: #dd524d;
-	}
-	.tui-popup-box {
-		position: relative;
-		box-sizing: border-box;
-		min-height: 220rpx;
-		padding:0rpx 55rpx;
-		.title{
-			font-size: $font-size-34;
-			color: $text-color;
-			line-height: 88rpx;
-			text-align: center;
-			float: left;
-			width: 100%;
-			height: 88rpx;
-		}
-		.content{
-			width: 100%;
-			height: auto;
-			float: left;
-			.content-tr{
-				width: 100%;
-				height: auto;
-				line-height: 58rpx;
-				display: flex;
-				.content-td{
-					display: flex;
-					font-size: $font-size-28;
-					color: #999999;
-					line-height: 58rpx;
-					text-align: left;
-				}
-				.content-th{
-					display: flex;
-					flex: 7;
-					font-size: $font-size-28;
-					color: #666666;
-					line-height: 58rpx;
-					text-align: left;
-					padding-left: 20rpx;
-					box-sizing: border-box;
-				}
-			}
-		}
-	}
-	.tui-popup-btn {
-		width: 100%;
-		height: auto;
-		float: left;
-		margin-top: 24rpx;
-		.tui-button{
-			width: 100%;
-			height: 88rpx;
-			background: $btn-confirm;
-			line-height: 88rpx;
-			text-align: center;
-			color: #FFFFFF;
-			font-size: $font-size-28;
-			border-radius: 44rpx;
-		}
-	}
-	/*富文本样式*/
-	rich-text.p{
-		width: 702rpx !important;
-		padding: 0 24rpx;
-		text-align: justify;
-	}
-	rich-text.img{
-		width: 100%;
-		height: auto;
-	}
-</style>

+ 74 - 322
pages/goods/product.vue

@@ -24,14 +24,7 @@
 			:loadingType="5"
 		></tui-skeleton>
 		<template v-else>
-			<view class="cart-content empty" v-if="isInvalid">
-				<view class="empty-container">
-					<image class="empty-container-image" :src="productNoneImage" mode="aspectFit"></image>
-					<text class="error-text">商品已失效,去商城逛逛别的吧~</text>
-					<view class="login-btn" @click="goIndex">去商城</view>
-				</view>
-			</view>
-			<view class="container-product tui-skeleton" v-else>
+			<view class="container-product tui-skeleton">
 				<view class="container-product-main">
 					<view class="product-top">
 						<view class="banner-section">
@@ -63,19 +56,10 @@
 							</uni-swiper-dot>
 						</view>
 						<view class="product-wrap clearfix">
-							<view class="wrap-top" :class="goodsData.isNoneDisabled ? 'none' : ''">
-								<view class="wrap-top-price">
-									<cm-price
-										v-if="isRequest"
-										:product="product"
-										:userIdentity="userIdentity"
-										:shopID="shopID"
-										:promotions="product.promotions"
-										:ladderPriceList="ladderPriceList"
-									/>
-								</view>
+							<view class="wrap-top">
+								<view class="wrap-top-price"> <cm-price v-if="isRequest" :product="product" /> </view>
 								<view class="p-title tui-skeleton-fillet">
-									<view class="p-title-name" :class="product.beautyActFlag == '1' ? 'indent' : ''">
+									<view class="p-title-name">
 										{{ product.name == undefined ? '' : product.name }}
 									</view>
 									<button open-type="share" class="p-title-share tui-share-position" @tap="onShare">
@@ -103,19 +87,11 @@
 										><text class="text">正品保证</text></text
 									>
 								</view>
-								<view
-									class="productRemarks"
-									v-if="product.productRemarks != '' && product.productRemarks != null"
-								>
-									备注:{{ product.productRemarks }}
-								</view>
 							</view>
 						</view>
 					</view>
-					<view class="product-item-none" v-if="goodsData.isNoneDisabled">
-						<image class="none-image" :src="productNoneImage" mode=""></image>
-						<view class="none-text">此商品已{{ goodsData.disabledText }},请浏览以下推荐商品~</view>
-						<view class="none-text">咨询类似商品,请联系客服!</view>
+					<view class="product-item-none" v-if="goodsData.disabled">
+						<image class="none-image" :src="staticUrl + 'icon_product_none@2x.png'" mode=""></image>
 					</view>
 					<!-- 选择规格 -->
 					<view class="product-parameter" v-if="isShowButton || userIdentity === 1" @click="showPopup(3)">
@@ -123,17 +99,17 @@
 						<text class="iconfont icon-xiangyou"></text>
 					</view>
 					<!-- 参数 -->
-					<view class="product-parameter" @click="showPopup(0)" v-if="!goodsData.isNoneDisabled">
+					<view class="product-parameter" @click="showPopup(0)">
 						<text class="title">参数:</text> <text class="name">品牌 分类...</text>
 						<text class="iconfont icon-xiangyou"></text>
 					</view>
 				</view>
 				<!-- 商品详情 -->
-				<view v-show="tabCurrentIndex !== 3">
+				<view>
 					<view class="product-details product-details0">
 						<view class="title"> <view class="title-tab">商品详情</view> </view>
 						<view class="content tui-banner product-rich-text tui-skeleton-rect">
-							<template v-if="!goodsData.isNoneDisabled && product.productDetail.detailInfo">
+							<template v-if="product.productDetail.detailInfo">
 								<mp-html :content="html" :tag-style="tagStyle" />
 							</template>
 							<view class="product-rich-text-none" v-else>暂无商品信息</view>
@@ -141,7 +117,7 @@
 					</view>
 				</view>
 				<!-- 底部按钮 -->
-				<view class="menu" v-if="isShowButton">
+				<view class="menu">
 					<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')">
@@ -151,15 +127,14 @@
 								<image
 									:src="
 										collectionType
-											? staticUrl + 'icon/icon-collection@2x.png'
-											: staticUrl + 'icon/icon-collection-none@2x.png'
+											? staticUrl + 'icon_collection@2x.png'
+											: staticUrl + 'icon_collection_none@2x.png'
 									"
 								></image>
 								<text>{{ collectionType ? '已收藏' : '收藏' }}</text>
 							</view>
-							<view class="item-bt" @click="buyProductCart()">
-								<image :src="staticUrl + 'icon_product_cart@2x.png'"></image>
-								<text>购物车</text>
+							<view class="item-bt" @click="buyProductCart">
+								<image :src="staticUrl + 'icon_product_cart@2x.png'"></image> <text>购物车</text>
 								<text
 									v-if="hasLogin && bottomCartNumber > 0"
 									class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
@@ -191,7 +166,7 @@
 					</view>
 				</view>
 				<!-- 侧边 -->
-				<scroll-top :isScrollTop="isScrollTop" :bottom="200" v-show="tabCurrentIndex !== 3"></scroll-top>
+				<scroll-top :isScrollTop="isScrollTop" :bottom="200"></scroll-top>
 			</view>
 		</template>
 		<!-- 商品参数 -->
@@ -206,7 +181,7 @@
 			:btnType="btnType"
 			:goodsData="goodsData"
 			@buyConfirm="handleBuyConfirm"
-			@skuClick="handleSkuClick" 
+			@skuClick="handleSkuClick"
 		></cm-unit-popup>
 		<!-- 弹窗提示 -->
 		<tui-modal
@@ -228,69 +203,46 @@
 import { mapState, mapMutations } from 'vuex'
 import customP from './components/cm-header.vue' //自定义导航
 import cmPrice from './components/cm-price.vue' //价格显示
-import cmAttributes from './components/cm-attributes.vue' //规格信息
-import cmParameter from './components/cm-parameter' //相关参数
 import cmPramsPopup from './components/cm-prams-popup.vue'
 import cmUnitPopup from './components/cm-unit-popup.vue'
 import authorize from '@/common/config/authorize.js'
 import wxLogin from '@/common/config/wxLogin.js'
-import { debounce } from '@/common/config/common.js'
 import proMixins from './mixins/proMixins.js'
-import thorui from '@/components/clipboard/clipboard.thorui.js'
 var isPreviewImg
 export default {
 	mixins: [proMixins],
 	components: {
 		customP,
 		cmPrice,
-		cmAttributes,
-		cmParameter,
 		cmPramsPopup,
-		cmUnitPopup,
+		cmUnitPopup
 	},
 	data() {
 		return {
-			clickPath: '/pages/search/search',
+			staticUrl:this.global.staticUrl,
 			html: '',
-			productNoneImage: 'https://static.caimei365.com/app/img/icon/icon-pnone.png',
 			mode: 'round',
 			iconClass: 'icon-aixin',
 			iconColor: '#ff9100',
 			specClass: '', // 规格弹窗css类,控制开关动画
-			isBtnType: '',
 			isRequest: false,
 			isScrollTop: false,
 			current: 0,
 			isShareType: '',
 			isHeaderPoduct: false,
-			isNavbarFiexd: false,
 			navbarFiexd: 'none',
-			ladderPriceFlag: '',
-			ladderPriceList: '',
-			isInvalid: false,
 			isEvaluate: false,
 			isAnimation: false,
 			skeletonShow: true,
-			isStock: false,
 			disabled: false,
-			isNoneDisabled: false,
 			userId: 0,
-			shopId: 0,
-			shopID: 0,
-			typeId: 0,
-			vipFlag: 0,
-			firstClubType: 0,
 			productId: 0,
 			skusCount: 0, // 规格种类
 			userIdentity: 0, // 用户类型
 			goodsData: {}, // 自定义数据
-			shop: {}, //供应商信息
 			product: {}, //采美
 			productImage: [],
-			retailPrice: 0,
-			stock: 0,
 			number: 0,
-			minBuyNumber: 0,
 			headerBtnPosi: this.setHeaderBtnPosi(), // 获取设备顶部胶囊高度
 			systeminfo: this.setSysteminfo(), // 获取设备信息
 			windowHeight: '',
@@ -299,13 +251,12 @@ export default {
 			nvabarData: {
 				// 顶部自定义导航
 				showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
-				title: '' // 导航栏 中间的标题
+				title: '商品详情' // 导航栏 中间的标题
 			},
 			CustomBar: this.CustomBar, // 顶部导航栏高度
 			popupShow0: false, // 参数弹窗
 			popupShow3: false, // 购买弹窗
 			winHeight: '',
-			isShowButton: true,
 			currentTab: 0,
 			bottomCartNumber: 0,
 			isPreviewImage: false,
@@ -329,38 +280,15 @@ export default {
 				}
 			],
 			showModal: false,
-			unitPopupType: 0 ,// 选择类型 1 点击加入购物车  立即购买  2:点击规格选择
+			unitPopupType: 0 // 选择类型 1 点击加入购物车  立即购买  2:点击规格选择
 		}
 	},
 	computed: {
 		...mapState(['hasLogin', 'clubType', 'identity', 'isIphoneX'])
 	},
-	filters: {
-		TypeFormat(value) {
-			switch (value) {
-				case 0:
-					return '活动券'
-					break
-				case 1:
-					return '品类券'
-					break
-				case 2:
-					return '用户专享券'
-					break
-				case 3:
-					return '店铺券'
-					break
-				case 4:
-					return '新用户券'
-					break
-			}
-		}
-	},
+	filters: {},
 	onLoad(option) {
 		this.productId = this.addParams.productId = option.id //获取商品ID
-		if (option.typeId) {
-			this.typeId = option.typeId
-		}
 		this.opentype = option.open
 		this.isShareType = option.type
 		this.isHeaderPoduct = true
@@ -375,11 +303,6 @@ export default {
 			uni.showLoading({
 				title: '加载中'
 			})
-			setTimeout(() => {
-				this.isNavbarFiexd = true
-				this.tabClick(3)
-				uni.hideLoading()
-			}, 2000)
 		}
 		console.log('是iPhoneX', this.isIphoneX)
 	},
@@ -389,14 +312,6 @@ export default {
 			const userInfo = await this.$api.getStorage()
 			this.userId = this.addParams.userId = userInfo.userId ? userInfo.userId : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.shopID = userInfo.shopId ? userInfo.shopId : 0
-			this.firstClubType = this.clubType
-			if (this.userIdentity == 0 || this.userIdentity == 2 || this.userIdentity == 4) {
-				this.isShowButton = true
-			} else {
-				this.isShowButton = false
-			}
 			if (isPreviewImg) {
 				isPreviewImg = false
 				return
@@ -410,99 +325,31 @@ export default {
 				userId: this.userId,
 				productId: this.productId,
 				identity: this.identity,
-				typeId: this.typeId
+				typeId: 0
 			})
 				.then(response => {
-					let productLabel = ''
 					this.productImage = []
-					this.shop = response.data.shop
-					this.shopId = response.data.shopId
-                    const dataStr = JSON.stringify(response.data)
+					const dataStr = JSON.stringify(response.data)
 					this.product = JSON.parse(dataStr)
-                    this.skuProduct = JSON.parse(dataStr)
+					this.skuProduct = JSON.parse(dataStr)
 					this.skusCount = this.product.skus.length
 					this.addParams.skuId = this.product.skuId
-					if (this.product.tinyTypeName) {
-						productLabel = this.product.tinyTypeName
-					} else if (!this.product.tinyTypeName && this.product.smallTypeName) {
-						productLabel = this.product.smallTypeName
-					} else {
-						productLabel = this.product.bigTypeName
-					}
 					// 判断是否显示已收藏
 					if (this.product.userLike && this.product.userLike == 1) {
 						this.collectionType = true
 					} else {
 						this.collectionType = false
 					}
-					//已删除/已冻结
-					if (this.product.validFlag === 0 || this.product.validFlag == 10) {
-						this.isInvalid = true
-					} else if (this.product.validFlag === 9) {
-						if (this.userIdentity == 1) {
-							this.isInvalid = false
-						} else {
-							this.isInvalid = true
-						}
-					}
-					this.ladderPriceFlag = this.product.ladderPriceFlag
 					this.html = this.adaptRichTextImg(this.product)
-					this.stock = this.product.stock
-					this.number = this.product.minBuyNumber
-					this.minBuyNumber = this.product.minBuyNumber
-
 					//处理商品图片列表
 					this.product.imageList.forEach(item => {
 						this.productImage.push(item.image)
 					})
-					//处理阶梯价格
-					if (this.product.ladderPriceList != null) {
-						this.ladderPriceList = this.product.ladderPriceList
-					}
-					//拆分金额并转千分位格式显示
-					if (this.product.price != null) {
-						this.retailPrice = this.product.price.toFixed(2)
-					}
 					//处理下架商品和售罄商品
-					if (this.product.validFlag == 3 || this.product.saleOutFlag === 1) {
-						this.isNoneDisabled = true
-						this.disabled = true
-					} else {
-						this.disabled = false
-						this.isNoneDisabled = false
-						this.goodsData.disabledText = ''
-					}
-					if (this.product.priceFlag == 1) {
-						this.disabled = true
-					} else if (this.product.priceFlag == 2) {
-						if (this.userIdentity == 4 && this.vipFlag != 1) {
-							this.disabled = true
-						} else {
-							this.disabled = false
-						}
-					} else if (this.product.priceFlag == 3) {
-						if (this.userIdentity == 4) {
-							this.disabled = true
-						} else if (this.userIdentity == 2 && this.firstClubType != 1) {
-							this.disabled = true
-						} else {
-							this.disabled = false
-						}
-					} else {
-						this.disabled = false
-					}
-					this.goodsData.disabled = this.disabled
-					this.goodsData.isNoneDisabled = this.isNoneDisabled
 					if (this.product.validFlag == 3) {
 						this.goodsData.disabledText = '下架'
+						this.goodsData.disabled = true
 					}
-					if (this.product.validFlag == 10) {
-						this.goodsData.disabledText = '停售'
-					}
-					if (this.product.saleOutFlag === 1) {
-						this.goodsData.disabledText = '售罄'
-					}
-					console.log(this.disabled)
 					if ((this.hasLogin && this.userIdentity == 2) || this.userIdentity == 4) {
 						this.ProductCartNumber()
 					}
@@ -515,10 +362,6 @@ export default {
 					this.$util.msg(error.msg, 2000)
 				})
 		},
-		hideMobel1() {
-			this.modal1 = false
-			this.$api.navigateBack(1)
-		},
 		adaptRichTextImg(product) {
 			// 商品详情
 			let defaulHtml = '<div style="text-align: center;color:#333333;">暂无内容</div>'
@@ -543,6 +386,45 @@ export default {
 			}
 			return html
 		},
+		handleCollection() {
+			// 收藏
+			if (this.hasLogin) {
+				this.ProductService.getProductUserLike({
+					userId: this.userId,
+					productId: this.product.productId
+				})
+					.then(response => {
+						this.collectionType = !this.collectionType
+						this.$util.msg(response.data, 1500, true, 'success')
+					})
+					.catch(error => {
+						this.$util.msg(error.msg, 2000)
+					})
+			} else {
+				this.$api.navigateTo('/pages/login/login')
+			}
+		},
+		showPopup(index) {
+			switch (index) {
+				case 0:
+					this.popupShow0 = true
+					break
+				case 3:
+					this.popupShow3 = true
+					this.unitPopupType = 2
+					break
+			}
+		},
+		hidePopup(index) {
+			switch (index) {
+				case 0:
+					this.popupShow0 = false
+					break
+				case 3:
+					this.popupShow3 = false
+					break
+			}
+		},
 		ProductCartNumber() {
 			// 获取用户购物车储量
 			this.ProductService.ProductCartNumber({ userId: this.userId })
@@ -609,30 +491,6 @@ export default {
 				this.$api.navigateTo('/pages/login/login?type=1')
 			}
 		},
-		getAddProductCart() {
-			//增加购物车成功和toast弹窗提示成功
-			this.ProductService.shoppingAddCart({
-				productId: this.productId,
-				userId: this.userId,
-				productCount: this.number,
-				source: 2
-			})
-				.then(response => {
-					this.specClass = 'hide'
-					this.$util.msg('加入购物车成功', 1500, true, 'success')
-					this.isAnimation = true
-					setTimeout(() => {
-						this.specClass = 'none'
-					}, 200)
-					setTimeout(() => {
-						this.isAnimation = false
-					}, 2000)
-					this.bottomCartNumber = response.data
-				})
-				.catch(error => {
-					console.log('error', error.msg)
-				})
-		},
 		setHeaderBtnPosi() {
 			// 获得胶囊按钮位置信息
 			let headerBtnPosi = uni.getMenuButtonBoundingClientRect()
@@ -668,84 +526,6 @@ export default {
 				imageUrl: `${this.productImage[0]}`
 			}
 		},
-		handleCollection() {
-			// 收藏
-			if (this.hasLogin) {
-				this.ProductService.getProductUserLike({
-					userId: this.userId,
-					productId: this.product.productId
-				})
-					.then(response => {
-						this.collectionType = !this.collectionType
-						this.$util.msg(response.data, 1500, true, 'success')
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			} else {
-				this.$api.navigateTo('/pages/login/login')
-			}
-		},
-		showPopup(index) {
-			switch (index) {
-				case 0:
-					this.popupShow0 = true
-					break
-				case 1:
-					this.popupShow1 = true
-					break
-				case 2:
-					if (this.hasLogin) {
-						this.queryPopupCoupons()
-						this.popupShow2 = true
-					} else {
-						this.$api.navigateTo('/pages/login/login')
-					}
-					break
-				case 3:
-					this.popupShow3 = true
-					this.unitPopupType = 2
-					break
-			}
-		},
-		hidePopup(index) {
-			switch (index) {
-				case 0:
-					this.popupShow0 = false
-					break
-				case 1:
-					this.popupShow1 = false
-					break
-				case 2:
-					this.popupShow2 = false
-					break
-				case 3:
-					this.popupShow3 = false
-					break
-			}
-		},
-		couponChange(e) {
-			this.currentTab = e.index
-			switch (this.currentTab) {
-				case 0:
-					this.couponParam.status = 1
-					this.queryPopupCoupons()
-					break
-				case 1:
-					this.couponParam.status = 2
-					this.queryPopupCoupons()
-					break
-			}
-		},
-		clipboard(data) {
-			thorui.getClipboardData(data, res => {
-				if (res) {
-					this.$util.msg('复制成功', 2000, true, 'success')
-				} else {
-					this.$util.msg('复制失败', 2000, true, 'none')
-				}
-			})
-		},
 		getWinHeight() {
 			this.winHeight = wx.getSystemInfoSync().windowHeight
 		}
@@ -756,18 +536,16 @@ export default {
 		if (e.scrollTop > 60) {
 			this.headerColor = true
 			this.navbarFiexd = 'fixed'
-			this.isNavbarFiexd = true
 			this.nvabarData = {
 				showCapsule: 1,
 				title: '商品详情'
 			}
 		} else {
 			this.headerColor = false
-			this.isNavbarFiexd = false
 			this.navbarFiexd = 'none'
 			this.nvabarData = {
 				showCapsule: 1,
-				title: ''
+				title: '商品详情'
 			}
 		}
 		if (e.scrollTop > 700) {
@@ -833,15 +611,6 @@ page {
 	padding: 24rpx 0 0 0;
 	background-color: #ffffff;
 	border-bottom: 20rpx solid #f7f7f7;
-	.productRemarks {
-		height: 48rpx;
-		width: 100%;
-		float: left;
-		line-height: 48rpx;
-		font-size: 24rpx;
-		color: #999999;
-		text-align: left;
-	}
 	.wrap-top {
 		width: 702rpx;
 		padding: 0 24rpx;
@@ -1000,7 +769,7 @@ page {
 			color: $color-system;
 			text-align: center;
 			border-radius: 6rpx;
-			background: #FFF8EF;
+			background: #fff8ef;
 			margin: 0 20rpx 15rpx 0;
 			display: inline-block;
 		}
@@ -1033,17 +802,6 @@ page {
 					font-size: $font-size-34;
 				}
 			}
-			.p-right-price{
-				height: 56rpx;
-				line-height: 56rpx;
-				float: right;
-				color: #999999;
-				font-size: $font-size-30;
-				.none{
-					font-size: $font-size-26;
-					text-decoration: line-through;
-				}
-			}
 		}
 		.floor-item-btn {
 			float: right;
@@ -1114,13 +872,13 @@ page {
 		color: #333333;
 	}
 	.iconfont {
-		color: #F3B574;
+		color: #f3b574;
 		margin-right: 20rpx;
 		font-size: $font-size-22;
 	}
 	.text {
 		font-size: $font-size-22;
-		color: #F3B574;
+		color: #f3b574;
 		margin-left: 10rpx;
 	}
 }
@@ -1133,14 +891,8 @@ page {
 	box-sizing: border-box;
 	padding: 40rpx 0;
 	.none-image {
-		width: 284rpx;
-		height: 225rpx;
-	}
-	.none-text {
-		text-align: center;
-		font-size: $font-size-28;
-		color: #fea785;
-		line-height: 40rpx;
+		width: 386rpx;
+		height: 286rpx;
 	}
 }
 .product-supporting {
@@ -1521,20 +1273,20 @@ page {
 			color: #ffffff;
 		}
 		.btn-cart {
-			background-color: #FFF4E6;
+			background-color: #fff4e6;
 			color: $color-system;
 			border-radius: 42rpx 0 0 42rpx;
 		}
 		.btn-cart.disabled {
-			background: rgba(255,244,230,0.5);
+			background: rgba(255, 244, 230, 0.5);
 			color: #ffffff;
 		}
 		.btn-bay {
-			background: #F3B574;
+			background: #f3b574;
 			border-radius: 0 42rpx 42rpx 0;
 		}
 		.btn-bay.disabled {
-			background: rgba(243,181,116,0.5);
+			background: rgba(243, 181, 116, 0.5);
 		}
 	}
 }

+ 1 - 2
pages/notice/club/notice-coupon.vue

@@ -11,7 +11,7 @@
 			<view class="clearfix">
 				<!-- 空白页 -->
 				<view class="empty-container" v-if="isEmpty">
-					<image class="empty-container-image" :src="StaticUrl + '/icon/icon-notice-empty@2x.png'"></image>
+					<image class="empty-container-image" :src="staticUrl + '/icon/icon-notice-empty@2x.png'"></image>
 					<text class="error-text">暂无任何消息~</text>
 				</view>
 				<!-- 列表 -->
@@ -55,7 +55,6 @@ export default {
 	data() {
 		return {
 			skeletonShow: true,
-			StaticUrl: this.$Static,
 			listQuery: {
 				source: 2,
 				commonId: 0,

+ 2 - 3
pages/notice/club/notice-order.vue

@@ -11,7 +11,7 @@
 			<view class="clearfix">
 				<!-- 空白页 -->
 				<view class="empty-container" v-if="isEmpty">
-					<image class="empty-container-image" :src="StaticUrl + '/icon/icon-notice-empty@2x.png'"></image>
+					<image class="empty-container-image" :src="staticUrl + '/icon/icon-notice-empty@2x.png'"></image>
 					<text class="error-text">暂无任何消息~</text>
 				</view>
 				<!-- 列表 -->
@@ -55,7 +55,6 @@ export default {
 	data() {
 		return {
 			skeletonShow: true,
-			StaticUrl: this.$Static,
 			listQuery: {
 				source: 2,
 				commonId: 0,
@@ -87,7 +86,7 @@ export default {
 				if (this.isOnliyPay(cell)) {
 					let payLinkMap = {
 						0: `/pages/user/order/order-pay-list?orderId=${cell.orderId}`,
-						1: `/pages/user/order/order-payunder?orderId=${cell.orderId}`
+						1: `/pages/user/pay/card-under?orderId=${cell.orderId}`
 					}
 					let linkJumpMap = { 1: payLinkMap[cell.onlinePayFlag] }
 					this.$api.navigateTo(linkJumpMap[cell.orderMessageType])

+ 1 - 2
pages/notice/club/notice-serve.vue

@@ -11,7 +11,7 @@
 			<view class="clearfix">
 				<!-- 空白页 -->
 				<view class="empty-container" v-if="isEmpty">
-					<image class="empty-container-image" :src="StaticUrl + '/icon/icon-notice-empty@2x.png'"></image>
+					<image class="empty-container-image" :src="staticUrl + '/icon/icon-notice-empty@2x.png'"></image>
 					<text class="error-text">暂无任何消息~</text>
 				</view>
 				<!-- 列表 -->
@@ -49,7 +49,6 @@ export default {
 	data() {
 		return {
 			skeletonShow: true,
-			StaticUrl: this.$Static,
 			listQuery: {
 				source: 2,
 				commonId: 0,

+ 1 - 2
pages/notice/club/notice-users.vue

@@ -11,7 +11,7 @@
 			<view class="clearfix">
 				<!-- 空白页 -->
 				<view class="empty-container" v-if="isEmpty">
-					<image class="empty-container-image" :src="StaticUrl + '/icon/icon-notice-empty@2x.png'"></image>
+					<image class="empty-container-image" :src="staticUrl + '/icon/icon-notice-empty@2x.png'"></image>
 					<text class="error-text">暂无任何消息~</text>
 				</view>
 				<!-- 列表 -->
@@ -55,7 +55,6 @@ export default {
 	data() {
 		return {
 			skeletonShow: true,
-			StaticUrl: this.$Static,
 			listQuery: {
 				source: 2,
 				commonId: 0,

+ 48 - 0
pages/search/components/empty.vue

@@ -0,0 +1,48 @@
+<template>
+	<view class="empty-content">
+		<image class="empty-content-image" :src="staticUrl+'icon_order_empty@2x.png'" mode="aspectFit"></image>
+		<text class="error-text">您还没有任何的订单哟~</text>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				staticUrl:this.global.staticUrl,
+			}
+		},
+		created(){
+			
+		},
+		computed: {
+			
+		},
+	}
+</script>
+
+<style lang="scss">
+	.empty-content {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+		position: fixed;
+		top: 0;
+		left: 0;
+		bottom: 0;
+		right: 0;
+		margin: auto;
+		background: $bg-color;
+		z-index: 999;
+		&-image {
+			width: 386rpx;
+			height: 286rpx;
+		}
+		.error-text{
+			font-size: $font-size-28;
+			color: $text-color;
+			line-height: 88rpx;
+		}
+	}
+</style>

+ 1 - 11
pages/search/search-order.vue

@@ -216,14 +216,6 @@
 		<share-alert v-if="isShareModal" :orderId="btnoRderID" @shareConfirm="onShareAppMessage"> </share-alert>
 		<!-- 透明模态层 -->
 		<modal-layer v-if="isModalLayer"></modal-layer>
-		<!-- 采美豆提示弹窗 -->
-		<activityBean
-			v-if="isActivityBean"
-			:show="isActivityBean"
-			:beansType="beansType"
-			:beanNumber="beanNumber"
-			@cancel="handleBeanlClick"
-		></activityBean>
 	</view>
 </template>
 
@@ -233,10 +225,9 @@ 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 empty from './components/empty'
 import shareAlert from '@/components/cm-module/modelAlert/shareAlert' //分享弹窗
 import authorize from '@/common/config/authorize.js'
-import activityBean from '@/components/cm-module/activity/activityBean.vue'
 const defaultListQuery = {
 	pageNum: 1, // 页码
 	pageSize: 10, // 每页条数
@@ -251,7 +242,6 @@ export default {
 		orderButton,
 		empty,
 		shareAlert,
-		activityBean
 	},
 	data() {
 		return {

+ 1 - 1
pages/tabBar/cart/index.vue

@@ -5,7 +5,7 @@
 </template>
 <script>
 	import { mapState,mapMutations } from 'vuex';
-	import cart from '@/components/cm-module/cm-cart/index.vue'
+	import cart from '@/components/cm-module/cm-cart-temp/index.vue'
 	export default{
 		components:{
 			cart

+ 4 - 6
pages/tabBar/notice/index.vue

@@ -19,7 +19,7 @@
 			<view class="container-notice">
 				<view class="notice-cell" @click="navigator('/pages/notice/club/notice-order?messageType=1')">
 					<view class="notice-cell-icon">
-						<image class="icon-image" :src="StaticUrl + 'icon/icon-notice-order@2x.png'" mode=""></image>
+						<image class="icon-image" :src="staticUrl + 'icon/icon-notice-order@2x.png'" mode=""></image>
 					</view>
 					<view class="notice-cell-text"> 交易物流 <text class="cell-text">官方</text> </view>
 					<view class="notice-cell-badge" v-if="tradeCount > 0">
@@ -30,7 +30,7 @@
 				</view>
 				<view class="notice-cell" @click="navigator('/pages/notice/club/notice-users?messageType=2')">
 					<view class="notice-cell-icon">
-						<image class="icon-image" :src="StaticUrl + 'icon/icon-notice-users@2x.png'" mode=""></image>
+						<image class="icon-image" :src="staticUrl + 'icon/icon-notice-users@2x.png'" mode=""></image>
 					</view>
 					<view class="notice-cell-text"> 账户通知 <text class="cell-text">官方</text> </view>
 					<view class="notice-cell-badge" v-if="accountCount > 0">
@@ -41,7 +41,7 @@
 				</view>
 				<view class="notice-cell" @click="navigator('/pages/notice/club/notice-serve?messageType=3')">
 					<view class="notice-cell-icon">
-						<image class="icon-image" :src="StaticUrl + 'icon/icon-notice-serve@2x.png'" mode=""></image>
+						<image class="icon-image" :src="staticUrl + 'icon/icon-notice-serve@2x.png'" mode=""></image>
 					</view>
 					<view class="notice-cell-text"> 服务通知 <text class="cell-text">官方</text> </view>
 					<view class="notice-cell-badge" v-if="notificationCount > 0">
@@ -52,7 +52,7 @@
 				</view>
 				<view class="notice-cell" @click="navigator('/pages/notice/club/notice-coupon?messageType=4')">
 					<view class="notice-cell-icon">
-						<image class="icon-image" :src="StaticUrl + 'icon/icon-notice-coupon@2x.png'" mode=""></image>
+						<image class="icon-image" :src="staticUrl + 'icon/icon-notice-coupon@2x.png'" mode=""></image>
 					</view>
 					<view class="notice-cell-text"> 优惠促销 <text class="cell-text">官方</text> </view>
 					<view class="notice-cell-badge" v-if="promotionCount > 0">
@@ -72,7 +72,6 @@ export default {
 		return {
 			CustomBar: this.CustomBar,
 			StatusBar: this.StatusBar,
-			StaticUrl: this.$Static,
 			skeletonShow: true,
 			clubId: 0,
 			allCount:0,
@@ -99,7 +98,6 @@ export default {
 			const userInfo = await this.$api.getStorage()
 			this.skeletonShow = true //预加载圆圈
 			this.clubId = userInfo.clubId ? userInfo.clubId : 0
-			this.updateNoticeNum()
 			this.getUserAuthClubMessageCount()
 		},
 		clearNews() {

+ 1 - 0
pages/tabBar/user/user.vue

@@ -201,6 +201,7 @@ export default {
 				textColor: '#333333',
 				bgColor: ''
 			},
+			staticUrl:this.global.staticUrl,
 			CustomBar: this.CustomBar, // 顶部导航栏高度
 			StatusBar: this.StatusBar,
 			userId: 0,

+ 1 - 0
pages/user/address/address.vue

@@ -69,6 +69,7 @@
 	export default {
 		data() {
 			return {
+				staticUrl:this.global.staticUrl,
 				isIphoneX:this.$store.state.isIphoneX,
 				skeletonShow:true,
 				isSelect:false,

+ 1 - 0
pages/user/collection/collection.vue

@@ -134,6 +134,7 @@ export default {
 	},
 	data() {
 		return {
+			staticUrl:this.global.staticUrl,
 			isIphoneX: this.$store.state.isIphoneX,
 			modalButton: [
 				{

+ 0 - 161
pages/user/operator/addoperator.vue

@@ -1,161 +0,0 @@
-<template>
-	<view class="container operator clearfix">
-		<view class="operator-content">
-			<view class="operator-from">
-				<view class="from-row">
-					<input class="input" type="text" v-model="params.linkName" placeholder="请输入运营人员姓名" maxlength="6"/>
-				</view>
-				<view class="from-row">
-					<input class="input" type="text" v-model="params.mobile" placeholder="请输入运营人员手机号" maxlength="11"/>
-				</view>
-				<button class="add-btn" @click="hanldConfirm">确定</button>
-			</view>
-			<view class="operator-text">
-				<view class="text-main">
-					<view>1. 添加运营人员后,运营人员会收到一条邀请码短信</view>
-					<view>2. 运营人员在微信搜索【采美采购商城】小程序,或者搜索关注【采美365】公众号,从底部菜单进入【采美采购商城】小程序</view>
-					<view>3. 使用邀请码进行登录并绑定微信</view>
-					<view>4. 绑定后,运营人员可通过微信直接登录采美365网</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>	
-	import authorize from '@/common/config/authorize.js'	
-	
-	export default {
-		data() {
-			return {
-				params:{
-					mobile:'',
-					linkName:'',
-					userId:0,
-					clubId:0,
-					configFlag:2
-				}
-			}
-		},
-		onLoad(option){
-			
-		},
-		methods: {			
-			//提交
-			hanldConfirm(){
-				let data = this.addressData;
-				if(this.params.linkName== ''){
-					this.$util.msg('请输入运营人员姓名');
-					return;
-				}
-				if(this.params.mobile == ''){
-					this.$util.msg('请输入运营人员手机号');
-					return;
-				}
-				if(!/(^1[0-9][0-9]{9}$)/.test(this.params.mobile)){
-					this.$util.msg('请输入正确的手机号码');
-					return;
-				}
-				this.UserService.PostAddOperator(this.params).then(response =>{
-					this.$util.msg('添加成功',2000,true,'success')
-					setTimeout(() =>{
-						uni.navigateBack();
-					},2000)
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			}
-		},
-		onShow() {
-			this.$api.getStorage().then((resolve) =>{
-				this.params.userId = resolve.userId ? resolve.userId : 0
-				this.params.clubId = resolve.clubId ? resolve.clubId : 0
-			})
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: auto;
-		background: $bg-color;
-		border-top: 1px solid #EBEBEB;
-	}
-	.operator{
-		padding-top: 160rpx;
-		.operator-content{
-			width: 100%;
-			padding: 0 75rpx;
-			box-sizing: border-box;
-			.operator-from{
-				width: 100%;
-				height: auto;
-				.from-row{
-					height: 40rpx;
-					padding: 24rpx 0;
-					background: #FFFFFF;
-					margin-bottom: 40rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					border-bottom: 1px solid #E1E1E1;
-					.input{
-						width: 100%;
-						height: 100%;
-						text-align: left;
-					}
-				}
-			}
-			.operator-text{
-				width: 100%;
-				height: auto;
-				margin-top: 50rpx;
-				line-height: 40rpx;
-				.title{
-					margin-bottom: 50rpx;
-					.icon-gantanhao-yuankuang{
-						font-size: $font-size-32;
-						color: #166CE1;
-						margin-right: 10rpx;
-					}
-					.text-m{
-						font-size: $font-size-30;
-						color: #166CE1;
-					}
-					.text-s{
-						font-size: $font-size-24;
-						color: #999999;
-					}
-				}
-				.text-main{
-					width: 100%;
-					height: auto;
-					view{
-						line-height: 40rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						text-align: justify;
-						margin-bottom: 10rpx;
-					}
-				}
-			}
-			
-		}
-		.add-btn{
-			width: 600rpx;
-			height: 88rpx;
-			font-size: $font-size-28;
-			line-height: 88rpx;
-			color: #FFFFFF;
-			margin: 0 auto;
-			text-align: center;
-			background: $btn-confirm;
-			border-radius: 44rpx;
-			margin-top: 80rpx;
-		}
-		.add-btn.disabled{
-			background: #F8F8F8;
-			border-radius: 44rpx;
-		}
-	}
-</style>
-

+ 0 - 593
pages/user/operator/list.vue

@@ -1,593 +0,0 @@
-<template>
-	<view class="container operator clearfix">
-		<view class="operator-top clearfix">
-			<view class="operator-title">
-				<view class="head"><image :src="clubImage" mode=""></image></view>
-				<view class="title">{{clubName}}</view>
-			</view>
-			<view class="operator-search">
-				<view class="search-wrap">
-					<view class="search-from name">
-						<input class="input" type="text" v-model="listQuery.linkName" placeholder="请输入姓名" maxlength="6"/>
-					</view>
-					<view class="search-from phone">
-						<input class="input" type="text" v-model="listQuery.mobile" placeholder="请输入手机号" maxlength="11"/>
-					</view>
-					<view class="search-from search">
-						<button class="search-btn" type="default" @click.stop="handSearchOpertor">搜索</button>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="operator-main">
-			<view v-if="isEmpty" class="empty-container">
-				<view class="txt">暂无运营人员</view>
-			</view>
-			<view v-else class="operator-list">
-				<scroll-view scroll-y="true" >
-					<view class="list" v-for="(item, index) in operatorList" :key="index" @click.stop="showOperatorModel(item)">
-						<view class="list-left">
-							<view class="list-head"><image :src="item.avatarUrl ? item.avatarUrl : 'https://static.caimei365.com/app/img/icon/icon-seller@3x.png'" mode=""></image></view>
-							<view class="list-tel">
-								<text class="txt">{{ item.linkName ? item.linkName : ''}}</text>
-								<text class="txt">{{ item.mobile ? item.mobile : '' }}</text>
-							</view>
-						</view>
-						<view class="list-opea">
-							<view class="opea-type">
-								<view class="opea-type-cell" v-if="item.effectiveFlag != null">
-									<text class="iconfont icon-iconfontweixin" :style="{color: iconStautsColor(item.status)}"></text>
-									<text :style="{color: rexpStautsColor(item.effectiveFlag)}">{{ rexpStautsText(item.effectiveFlag) }}</text>
-								</view>
-								<view class="opea-type-cell none" v-else>
-									<text>- -</text>
-								</view>
-							</view>
-							<view class="opea-del">
-								<view class="opea-type-cell" @click.stop="deleteOperator(item.id)">
-									<text class="iconfont icon-shanchu"></text>
-									<text>删除</text>
-								</view>
-							</view>
-						</view>
-					</view>
-					<!--加载loadding-->
-					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-					<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text='nomoreText'></tui-nomore>
-					<!--加载loadding-->
-				</scroll-view>
-			</view>
-		</view>
-		<div class="operator-btn" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
-			<view class="add-btn" @click="this.$api.navigateTo('/pages/user/operator/addoperator')">添加运营人员</view>
-		</div>
-		<view class="operator-model" v-if="isOperatorModel" @click.stop="closeModel">
-			<view class="operator-alert">
-				<text class="iconfont icon-iconfontguanbi" @click.stop="closeModel"></text>
-				<view class="content">
-					<view class="ciew-t">姓名:{{modelData.linkName}}</view>
-					<view class="ciew-t">手机号:{{modelData.mobile}}</view>
-					<view class="ciew-t">邀请码:{{modelData.invitationCode ? modelData.invitationCode : '无'}}
-						<text :style="{color: rexpStautsColor(modelData.status)}">{{modelStautsText(modelData.effectiveFlag)}}</text>
-					</view>
-					<view class="ciew-t">邀请码有效期:{{modelData.effectiveDays ? modelData.effectiveDays : '0'}}天</view>
-					<view class="ciew-t">状态:{{modelData.status == 2 ? '已绑定' : '未绑定'}}</view>
-					<view class="ciew-t">添加时间:{{modelData.addTime}}</view>
-					<view class="ciew-t">绑定时间:{{modelData.bindTime == null ? '无' : modelData.bindTime }}</view>
-				</view>
-				<view class="btn" v-if="modelData.status != 2" @click.stop="updateInvitationCode(modelData)">更新邀请码</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import authorize from '@/common/config/authorize.js'	
-	import tuiLoadmore from '@/components/tui-components/loadmore/loadmore'
-	import tuiNomore from '@/components/tui-components/nomore/nomore'
-	export default {
-		components:{
-			tuiLoadmore,
-			tuiNomore,
-		},
-		data() {
-			return {
-				clubName:'',
-				clubImage:'',
-				linkman:'',
-				clubMobile:'',
-				isEmpty:false,
-				nomoreText: '上拉显示更多',
-				userID:'',
-				pageNum:1,
-				pageSize:10,
-				hasNextPage:false,
-				loadding: false,
-				pullUpOn: true,
-				pullFlag: true,
-				allowDataStatus:true,
-				wrapperHeight:'100%',
-				scrollHeight:'',
-				deleteAddressId:'',
-				currPage:'',//当前页面
-				prevPage:'',//上一个页面
-				isOperatorModel:false,
-				operatorList:[],
-				isIphoneX:this.$store.state.isIphoneX,
-				modelData:'',
-				listQuery:{
-					userId:'',
-					linkName:'',
-					mobile:'',
-					pageNum:1,
-					pageSize:10
-				}
-			}
-		},
-		onLoad(){				
-			this.setScrollHeight()
-		},
-		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)
-			},
-			handSearchOpertor(){
-				this.listQuery.pageNum=1
-				this.InitOperatorList()
-			},
-			InitOperatorList(){	//查询机构运营人员列表
-				this.UserService.QueryOperatorList(this.listQuery).then(response =>{
-					let responseData = response.data
-					if(responseData.results&&responseData.results.length > 0){
-						this.isEmpty = false
-						this.hasNextPage = response.data.hasNextPage
-						this.operatorList =responseData.results
-						this.pullFlag = false
-						setTimeout(()=>{this.pullFlag = true},500)
-						if(this.hasNextPage){
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						}else{
-							this.pullUpOn = true
-							this.loadding = false
-							this.nomoreText = '已至底部'
-						}
-					}else{
-						this.isEmpty = true
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},	
-			getOnReachBottomData(){
-				this.listQuery.pageNum+=1
-				this.UserService.QueryOperatorList(this.listQuery).then(response =>{
-					let responseData = response.data
-					if(responseData.results&&responseData.results.length > 0){
-						this.hasNextPage = response.data.hasNextPage
-						this.operatorList = this.operatorList.concat(responseData.results) 
-						this.pullFlag = false// 防上拉暴滑
-						setTimeout(()=>{this.pullFlag = true},500)
-						if(this.hasNextPage){
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						}else{
-							this.pullUpOn = false
-							this.loadding = false
-							this.nomoreText = '已至底部'
-						}
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			showOperatorModel(item){
-				this.isOperatorModel = true
-				this.modelData = item
-			},
-			closeModel(){
-				this.isOperatorModel = false
-			},
-			deleteOperator(id){//删除运营人员
-				this.$util.modal('','确定删除运营人员吗?','确定删除','取消',true,() =>{
-					this.UserService.PostDeleteOperator({id:id}).then(response =>{
-						this.$util.msg('删除成功',2000,true,'success')
-						setTimeout(()=>{
-							this.InitOperatorList()
-						},2000)
-					}).catch(error =>{
-						this.$util.msg(error.msg,2000)
-					})
-				})
-			},
-			updateInvitationCode(item){	//更新邀请码	
-				this.$util.modal('','确定更新邀请码并发送给运营人员?','确定更新','取消',true,() =>{
-					this.UserService.PostUpdateOperatorCode({id:item.id,status:item.status}).then(response =>{
-						this.isOperatorModel = false
-						this.$util.msg('更新邀请码成功',2000)
-						setTimeout(()=>{
-							this.InitOperatorList()
-						},2000)
-					}).catch(error =>{
-						this.$util.msg(error.msg,2000)
-					})
-				})
-			},
-			rexpStautsText(n) {
-			      let text = ''
-			      switch (n) {
-					case '':
-						text = '--'
-						break
-			        case 1:
-			          text = '邀请码有效'
-			          break
-			        case 2:
-			          text = '邀请码已使用'
-			          break
-			        case 3:
-			          text = '邀请码已过期'
-			          break
-			      }
-			      return text
-			},
-			modelStautsText(n) {
-			      let text = ''
-			      switch (n) {
-			        case 1:
-			          text = '(有效)'
-			          break
-			        case 2:
-			          text = '(已使用)'
-			          break
-			        case 3:
-			          text = '(已过期)'
-			          break
-			      }
-			      return text
-			},
-			rexpStautsColor(status) {
-			  let textColor = ''
-			  switch (status) {
-				case 1:
-				  textColor = '#55BB00'
-				  break
-				case 2:
-				  textColor = '#0056BB'
-				  break
-				case 3:
-				  textColor = '#BB0000'
-				  break
-			  }
-			  return textColor
-			},  
-			iconStautsColor(status) {
-			  let textColor = ''
-			  if(status == 2){
-				   textColor = '#09BB07'
-			  }else{
-				   textColor = '#DDDDDD'
-			  }
-			  return textColor
-			},
-		},
-		onReachBottom() {
-			if(this.hasNextPage){
-				this.loadding = true
-				this.pullUpOn = true
-				this.getOnReachBottomData()
-			}	
-		},
-		onShow() {
-			this.$api.getComStorage('clubInfo').then((resolve) =>{
-				this.clubName = resolve.name
-				this.clubImage = resolve.image ? resolve.image : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'
-				this.listQuery.userId = resolve.userId
-				this.listQuery.pageNum = 1
-				this.InitOperatorList()
-			})
-		}
-	}
-</script>
-
-<style lang='scss'>
-	page {
-		height: auto;
-	}
-	page,.container{
-		/* padding-bottom: 120upx; */
-		background: #F7F7F7;
-		border-top: 1px solid #EBEBEB;
-	}
-	.container{
-		position: relative;
-	}
-	.operator-top{
-		width: 702rpx;
-		padding: 0 24rpx;
-		height: 282rpx;
-		background: #FFFFFF;
-		position:fixed ;
-		top: 0;
-		left: 0;
-		z-index: 999;
-		.operator-title{
-			width: 100%;
-			height: 92rpx;
-			padding: 34rpx 0;
-			.title{
-				width: 420rpx;
-				float: left;
-				font-size: $font-size-32;
-				color: $text-color;
-				line-height: 92rpx;
-				text-align: left;
-				margin-left: 20rpx;
-				-o-text-overflow: ellipsis;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-			}
-			.head{
-				width: 92rpx;
-				height: 92rpx;
-				border-radius: 50%;
-				border: 1px solid #ebebeb;
-				float: left;
-				image{
-					width: 92rpx;
-					height: 92rpx;
-					border-radius: 50%;
-				}
-			}
-		}
-		.operator-search{
-			width: 100%;
-			height: auto;
-			.search-from{
-				width: 300rpx;
-				height: 40rpx;
-				padding: 20rpx;
-				background: $sub-bg-color;
-				border-radius: 40rpx;
-				position: relative;
-				margin-bottom: 20rpx;
-				float: left;
-				&.name{
-					width: 180rpx;
-					margin-right: 20rpx;
-					.input{
-						width: 180rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						line-height: 40rpx;
-						float: left;
-						height: 40rpx;
-					}
-				}
-				&.phone{
-					width: 228rpx;
-					margin-right: 20rpx;
-					.input{
-						width: 228rpx;
-						padding-left:10rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						line-height: 40rpx;
-						float: left;
-						height: 40rpx;
-					}
-				}
-				&.search{
-					width: 175rpx;
-					padding: 0;
-					background: #FFFFFF;
-					.search-btn{
-						width: 170rpx;
-						height: 78rpx;
-						border-radius: 39rpx;
-						font-size: $font-size-28;
-						color: #FFFFFF;
-						line-height: 78rpx;
-						background: $btn-confirm;
-					}
-				}
-				.label{
-					text-align: left;
-					font-size: $font-size-28;
-					color:$text-color;
-					line-height: 40rpx;
-					float: left;
-				}
-				
-			}
-			
-		}
-	}
-	.operator-main{
-		padding-top: 282rpx;
-		padding-bottom: 120rpx;
-	}
-	.list{
-		display: flex;
-		align-items: center;
-		width: 702rpx;
-		height: 92rpx;
-		padding: 24rpx;
-		background: #FFFFFF;
-		position: relative;
-		border-bottom: 1px solid #EBEBEB;
-		.list-left{
-			display: flex;
-			flex: 4;
-			.list-head{
-				width: 92rpx;
-				height: 92rpx;
-				border-radius: 50%;
-				image{
-					width: 92rpx;
-					height: 92rpx;
-					border-radius: 50%;
-				}
-			}
-			.list-tel{
-				margin-left: 18rpx;
-				.txt{
-					display: flex;
-					flex: 1;
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 46rpx;
-				}
-			}
-		}
-		.list-opea{
-			flex:6;
-			.opea-type{
-				flex-direction: column;
-				align-items: center;
-				margin-left: 35rpx;
-				float: left;
-				.opea-type-cell{
-					width: 186rpx;
-					height: 64rpx;
-					padding:0 16rpx;
-					border-radius: 32rpx;
-					border: 1px solid #DDDDDD;
-					line-height: 64rpx;
-					font-size: $font-size-24;
-					.icon-iconfontweixin{
-						margin-right: 8rpx;
-						font-size: $font-size-32;
-					}
-					&.none{
-						text-align: center;
-					}
-				}
-			}
-			.opea-del{
-				float: right;
-				flex-direction: column;
-				align-items: center;
-				.opea-type-cell{
-					width: 86rpx;
-					height: 64rpx;
-					padding:0 24rpx;
-					border-radius: 32rpx;
-					border: 1px solid #DDDDDD;
-					line-height: 64rpx;
-					font-size: $font-size-24;
-					color: #FF0000;
-					.icon-shanchu{
-						font-size: $font-size-32;
-						margin-right: 6rpx;
-					}
-				}
-			}
-		}
-	}
-	.operator-model{
-		width: 100%;
-		height: 100%;
-		background: rgba(0,0,0,.1);
-		position: fixed;
-		top: 0;
-		left: 0;
-		bottom: 0;
-		right: 0;
-		margin: auto;
-		z-index: 1000;
-		.operator-alert{
-			width: 435rpx;
-			height: 360rpx;
-			padding: 68rpx 32rpx;
-			background: #FFFFFF;
-			border-radius: 14rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-			bottom: 0;
-			right: 0;
-			margin: auto;
-			z-index: 1001;
-			.icon-iconfontguanbi{
-				width: 68rpx;
-				height: 68rpx;
-				text-align: center;
-				line-height: 68rpx;
-				position: absolute;
-				right: 0;
-				top: 0;
-				font-size: $font-size-36;
-				color: #999999;
-			}
-			.content{
-				.ciew-t{
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 48rpx;
-				}
-			}
-			.btn{
-				width: 100%;
-				height: 68rpx;
-				border-top: 1px solid #F7F7F7;
-				line-height: 68rpx;
-				font-size: $font-size-26;
-				text-align: center;
-				color: $color-system;
-				position: absolute;
-				bottom:0 ;
-				left: 0;
-			}
-		}
-	}
-	.operator-btn{
-		position: fixed;
-		width: 100%;
-		height: 140rpx;
-		left: 0;
-		bottom: 0;
-		background: #FFFFFF;
-		z-index: 95;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		.add-btn{
-			width: 600rpx;
-			height: 88rpx;
-			font-size: $font-size-28;
-			line-height: 88rpx;
-			color: #FFFFFF;
-			text-align: center;
-			background: $btn-confirm;
-			border-radius: 44rpx;
-		}
-	}
-	.adds-btn{
-		width: 600rpx;
-		height: 88rpx;
-		font-size: 28rpx;
-		line-height: 88rpx;
-		color: #FFFFFF;
-		margin: 0 auto;
-		text-align: center;
-		background: #000000;
-		border-radius: 44rpx;
-	}
-</style>
-

+ 0 - 126
pages/user/order/components/cm-return-instructions.vue

@@ -1,126 +0,0 @@
-<template>
-    <view class="goods-return-instructions">
-        <view class="section">
-            <view class="checkbox">
-                <checkbox-group @change="onCheckBoxGroupChange">
-                    <label>
-                        <checkbox value="agreement" v-show="false" />
-                        <view class="iconfont" :class="[isActive ? 'icon-yixuanze' : 'icon-weixuanze']"></view>
-                    </label>
-                </checkbox-group>
-            </view>
-            <view class="label">
-                提交订单前,请先阅读
-                <text @click="popupShow = true">《特殊商品退货须知》</text>
-            </view>
-        </view>
-        <tui-modal :show="popupShow" custom>
-            <view class="popup-content">
-                <view class="close iconfont icon-iconfontguanbi" @click="popupShow = false"></view>
-                <view class="title">特殊商品退货须知</view>
-                <scroll-view :scroll-y="true" class="content"><view v-html="content"></view></scroll-view>
-                <view class="confirm" @click="popupShow = false">确定</view>
-            </view>
-        </tui-modal>
-    </view>
-</template>
-
-<script>
-export default {
-    props: {
-        content: {
-            type: String,
-            default: ''
-        }
-    },
-    data() {
-        return {
-            popupShow: false,
-            checkedList: []
-        }
-    },
-    computed: {
-        isActive() {
-            return this.checkedList.indexOf('agreement') > -1
-        }
-    },
-    methods: {
-        onShowDetail() {
-            this.popupShow = true
-        },
-        close() {
-            this.popupShow = false
-        },
-        onCheckBoxGroupChange(e) {
-            this.checkedList = e.detail.value
-            this.$emit('change', this.isActive)
-        }
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.goods-return-instructions {
-    background-color: #fffaf8;
-    .section {
-        display: flex;
-        align-items: center;
-        font-size: 24rpx;
-        height: 64rpx;
-        padding: 0 32rpx;
-        color: #333333;
-        text {
-            color: #1890f9;
-        }
-        .checkbox {
-            margin-right: 16rpx;
-        }
-        .icon-weixuanze {
-            color: #b2b2b2;
-        }
-
-        .icon-yixuanze {
-            color: #F3B574;
-        }
-    }
-}
-
-.popup-content {
-    box-sizing: border-box;
-    background-color: #fff;
-    border-radius: 16rpx;
-    z-index: 997;
-
-    .close {
-        position: absolute;
-        right: 24rpx;
-        top: 24rpx;
-        color: #999;
-        font-size: 32rpx;
-    }
-    .title {
-        text-align: center;
-        font-size: 34rpx;
-        color: #333;
-        font-weight: bold;
-    }
-    .content {
-        line-height: 42rpx;
-        font-size: 26rpx;
-        margin-top: 50rpx;
-        max-height: 200rpx;
-        color: #333333;
-    }
-    .confirm {
-        width: 420rpx;
-        height: 84rpx;
-        background: linear-gradient(90deg, #f28f31 0%, #F3B574 100%);
-        border-radius: 42rpx;
-        color: #fff;
-        font-size: 30rpx;
-        text-align: center;
-        line-height: 84rpx;
-        margin: 50rpx auto 0;
-    }
-}
-</style>

+ 0 - 425
pages/user/order/components/coupon.vue

@@ -1,425 +0,0 @@
-<template name="coupon">
-	<view class="coupon-template">
-		<view class="coupon-title" @tap.stop="showPopup">
-			<text class="text">优惠券:</text> <text class="text-coupon">-¥{{ coupon.couponAmount | NumFormat }}</text>
-			<text class="iconfont icon-xiangyou"></text>
-		</view>
-		<!-- 优惠券 -->
-		<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup">
-			<view class="tui-popup-box clearfix">
-				<view class="title">
-					<view class="title-l">优惠券</view>
-					<view class="title-r" @click="showExchangePopup">兑换优惠券</view>
-				</view>
-				<div class="tui-popup-main coupon">
-					<scroll-view class="tui-popup-scroll" scroll-y="true">
-						<view
-							v-for="(coupon, index) in dataList"
-							:key="index"
-							class="coupon-list"
-							@click.stop="checkedCoupon(index)"
-						>
-							<view class="list-cell-le">
-								<view class="coupon-maxMoney">
-									<text class="small">¥</text> {{ coupon.couponAmount }}
-								</view>
-								<view class="coupon-minMoney"> 满{{ coupon.touchPrice }}可用 </view>
-							</view>
-							<view class="list-cell-ri">
-								<view class="list-cell-top">
-									<view class="list-cell-type">
-										<view class="list-cell-tags">
-											<template v-if="coupon.moneyCouponFlag == 1">
-												<text class="tags" v-if="coupon.moneyCouponType == 1"
-													>意向{{ coupon.couponType | TypeFormat }}</text
-												>
-												<text class="tags" v-else
-													>定向{{ coupon.couponType | TypeFormat }}</text
-												>
-											</template>
-											<template v-else>
-												<text class="tags">{{ coupon.couponType | TypeFormat }}</text>
-											</template>
-										</view>
-										<view class="list-cell-texts">
-											<text v-if="coupon.couponType == 0">
-												{{
-													coupon.productType && coupon.productType == 1
-														? '全商城商品通用'
-														: '仅可购买指定商品'
-												}}
-											</text>
-											<text v-if="coupon.couponType == 1">
-												{{
-													coupon.categoryType == 1
-														? '仅限购买产品类商品'
-														: '仅限购买仪器类商品'
-												}}
-											</text>
-											<text v-if="coupon.couponType == 3"
-												>仅限购买店铺【{{ coupon.shopName }}】的商品</text
-											>
-											<text v-if="coupon.couponType == 4 || coupon.couponType == 2"
-												>全商城商品通用</text
-											>
-										</view>
-									</view>
-									<view class="list-cell-btn">
-										<view class="list-cell-checkbox">
-											<view
-												class="checkbox iconfont"
-												:class="[coupon.ischecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-											>
-											</view>
-										</view>
-									</view>
-								</view>
-								<view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
-							</view>
-						</view>
-					</scroll-view>
-				</div>
-				<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-					<view class="tui-flex-1"> <view class="tui-button" @click="hidePopup">确定</view> </view>
-				</view>
-			</view>
-		</tui-bottom-popup>
-	</view>
-</template>
-
-<script>
-export default {
-	name: 'coupon',
-	props: {
-		couponList: {
-			type: Array
-		}
-	},
-	data() {
-		return {
-			popupShow: false,
-			isIphoneX: this.$store.state.isIphoneX,
-			checkedIndex: 0,
-			dataList: [],
-			coupon: {
-				couponAmount: 0,
-				clubCouponId: 0
-			}
-		}
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			return Number(value).toFixed(2)
-		},
-		TypeFormat(value) {
-			switch (value) {
-				case 0:
-					return '活动券'
-					break
-				case 1:
-					return '品类券'
-					break
-				case 2:
-					return '用户专享券'
-					break
-				case 3:
-					return '店铺券'
-					break
-				case 4:
-					return '新用户券'
-					break
-			}
-		}
-	},
-	created() {
-		this.initData(this.couponList)
-	},
-	watch: {
-		couponList: {
-			handler: function(el) {
-				//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-				console.log(el)
-				this.couponList = el
-			},
-			deep: true
-		}
-	},
-	methods: {
-		initData(data) {
-			if (data.length > 0) {
-				data.forEach((el, index) => {
-					this.dataList.push(Object.assign({}, el, { ischecked: false }))
-				})
-				this.coupon.couponAmount = data[0].couponAmount
-				this.dataList[0].ischecked = true
-			}
-		},
-		checkedCoupon(idx) {
-			// 选择优惠券
-			this.checkedIndex = idx
-			this.dataList.forEach((el, index) => {
-				if (this.checkedIndex == index) {
-					el.ischecked = !el.ischecked
-				} else {
-					el.ischecked = false
-				}
-			})
-		},
-		showExchangePopup() {
-			this.popupShow = false
-			this.$parent.isExchangePopup = true
-		},
-		showPopup() {
-			this.popupShow = true
-		},
-		hidePopup() {
-			this.popupShow = false
-			let coupon = {
-				couponAmount: 0,
-				clubCouponId: 0
-			}
-			this.dataList.forEach((el, index) => {
-				if (el.ischecked) {
-					coupon.couponAmount = el.couponAmount
-					coupon.clubCouponId = el.clubCouponId
-				}
-			})
-			this.coupon = coupon
-			this.$emit('handleChoiceaCoupon', this.coupon)
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.coupon-template {
-	width: 100%;
-	height: auto;
-	background: #ffffff;
-	float: left;
-	margin-top: 24rpx;
-	.coupon-title {
-		width: 702rpx;
-		padding: 0 24rpx;
-		height: 88rpx;
-		line-height: 88rpx;
-		position: relative;
-		.text {
-			font-size: $font-size-28;
-			color: $text-color;
-		}
-		.text-coupon {
-			display: inline-block;
-			float: right;
-			padding-right: 30rpx;
-			line-height: 88rpx;
-			font-size: 28rpx;
-			color: #f94b4b;
-		}
-		.iconfont {
-			width: 50rpx;
-			height: 88rpx;
-			line-height: 88rpx;
-			color: #999999;
-			display: block;
-			position: absolute;
-			right: 0;
-			top: 0;
-		}
-	}
-}
-.tui-popup-box {
-	position: relative;
-	box-sizing: border-box;
-	min-height: 220rpx;
-	padding: 24rpx 24rpx 0 24rpx;
-	.title {
-		font-size: $font-size-34;
-		color: $text-color;
-		line-height: 88rpx;
-		text-align: center;
-		float: left;
-		width: 100%;
-		height: 88rpx;
-		display: flex;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		.title-l {
-			flex: 1;
-			text-align: left;
-		}
-		.title-r {
-			flex: 1;
-			text-align: right;
-			color: #f94b4b;
-		}
-	}
-	.tui-popup-main {
-		width: 100%;
-		float: left;
-		padding-top: 10rpx;
-		.tui-popup-scroll {
-			width: 100%;
-			height: 600rpx;
-			.coupon-list {
-				width: 100%;
-				height: 200rpx;
-				margin-bottom: 24rpx;
-				box-sizing: border-box;
-				background: url(https://static.caimei365.com/app/img/icon/icon-coupon-uesb@2x.png);
-				background-size: cover;
-				.list-cell-le {
-					width: 224rpx;
-					height: 100%;
-					box-sizing: border-box;
-					padding: 37rpx 0;
-					float: left;
-					.coupon-maxMoney {
-						width: 100%;
-						height: 78rpx;
-						line-height: 78rpx;
-						font-size: 56rpx;
-						color: #ffffff;
-						text-align: center;
-						.small {
-							font-size: $font-size-24;
-						}
-					}
-					.coupon-minMoney {
-						width: 100%;
-						height: 33rpx;
-						line-height: 33rpx;
-						font-size: $font-size-24;
-						color: #ffffff;
-						text-align: center;
-					}
-				}
-				.list-cell-ri {
-					width: 478rpx;
-					height: 100%;
-					box-sizing: border-box;
-					padding: 20rpx 24rpx 0 24rpx;
-					float: right;
-					.list-cell-top {
-						width: 100%;
-						height: 121rpx;
-						float: left;
-						border-bottom: 1px solid #e1e1e1;
-						.list-cell-type {
-							width: 286rpx;
-							height: 100%;
-							float: left;
-							.list-cell-tags {
-								width: 100%;
-								height: 32rpx;
-								margin-bottom: 7rpx;
-								.tags {
-									display: inline-block;
-									padding: 0 10rpx;
-									height: 32rpx;
-									line-height: 32rpx;
-									background-color: #ffdcce;
-									color: #f94b4b;
-									font-size: $font-size-20;
-									border-radius: 8rpx;
-									text-align: center;
-									float: left;
-								}
-							}
-							.list-cell-texts {
-								width: 100%;
-								height: auto;
-								line-height: 35rpx;
-								text-overflow: ellipsis;
-								display: -webkit-box;
-								word-break: break-all;
-								-webkit-box-orient: vertical;
-								-webkit-line-clamp: 2;
-								overflow: hidden;
-								font-size: 26rpx;
-								color: #333333;
-							}
-						}
-						.list-cell-btn {
-							width: 128rpx;
-							height: 100%;
-							float: right;
-							.list-cell-checkbox {
-								width: 100%;
-								height: 50%;
-								.checkbox {
-									width: 40rpx;
-									line-height: 60rpx;
-									float: right;
-									box-sizing: border-box;
-									text-align: center;
-									text-decoration: none;
-									-webkit-tap-highlight-color: transparent;
-									overflow: hidden;
-									color: #f94b4b;
-								}
-							}
-						}
-					}
-					.list-cell-time {
-						width: 100%;
-						height: 58rpx;
-						line-height: 58rpx;
-						text-align: left;
-						font-size: $font-size-20;
-						color: #999999;
-					}
-				}
-			}
-		}
-		.tui-popup-coupon {
-			width: 100%;
-			height: 500rpx;
-			box-sizing: border-box;
-			padding: 30rpx 20rpx;
-			.tui-popup-h1 {
-				width: 100%;
-				height: 66rpx;
-				display: flex;
-				align-items: center;
-				.tui-popup-text {
-					flex: 1;
-					height: 66rpx;
-					line-height: 66rpx;
-					font-size: $font-size-30;
-					color: #333333;
-					&.red {
-						color: #f94b4b;
-					}
-					&.bold {
-						font-weight: bold;
-					}
-					&.left {
-						text-align: left;
-					}
-					&.right {
-						text-align: right;
-					}
-				}
-			}
-		}
-	}
-	.tui-popup-btn {
-		width: 100%;
-		height: auto;
-		float: left;
-		margin-top: 24rpx;
-		.tui-button {
-			width: 100%;
-			height: 88rpx;
-			background: $btn-confirm;
-			line-height: 88rpx;
-			text-align: center;
-			color: #ffffff;
-			font-size: $font-size-28;
-			border-radius: 44rpx;
-		}
-	}
-}
-</style>

+ 48 - 0
pages/user/order/components/empty.vue

@@ -0,0 +1,48 @@
+<template>
+	<view class="empty-content">
+		<image class="empty-content-image" :src="staticUrl+'icon_order_empty@2x.png'" mode="aspectFit"></image>
+		<text class="error-text">您还没有任何的订单哟~</text>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				staticUrl:this.global.staticUrl,
+			}
+		},
+		created(){
+			
+		},
+		computed: {
+			
+		},
+	}
+</script>
+
+<style lang="scss">
+	.empty-content {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+		position: fixed;
+		top: 0;
+		left: 0;
+		bottom: 0;
+		right: 0;
+		margin: auto;
+		background: $bg-color;
+		z-index: 999;
+		&-image {
+			width: 386rpx;
+			height: 286rpx;
+		}
+		.error-text{
+			font-size: $font-size-28;
+			color: $text-color;
+			line-height: 88rpx;
+		}
+	}
+</style>

+ 0 - 211
pages/user/order/components/exchangeCoupon.vue

@@ -1,211 +0,0 @@
-<template name="alert">
-	<view class="alert spec" :class="specClass">
-		<!-- 运费弹窗说明 -->
-		<view class="coupon-popup">
-			<view class="content">
-				<view class="title">
-					<text>兑换优惠券</text>
-					<text class="iconfont icon-iconfontguanbi" @click.stop="hidePopup"></text>
-				</view>
-				<view class="text-content">
-					<view class="coupon-input">
-						<input class="input" type="text" v-model="params.redemptionCode" maxlength="16"  placeholder="请输入16位兑换码"/>
-					</view>
-					<view class="coupon-main">
-						<view class="coupon-button" @click="exchangeConfirm">立即兑换</view>
-						<view class="coupon-text">
-							<view class="coupon-h1">注意事项:</view>
-							<view class="coupon-h2">1. 兑换码获取:可通过采美线下发放或者销售顾问</view>
-							<view class="coupon-h2 indet">线上发放获得优惠券兑换码,兑换码由16位数字</view>
-							<view class="coupon-h2 indet">和字母组成。</view>
-							<view class="coupon-h2">2. 兑换码使用:在当前页面输入兑换码即可兑换相</view>
-							<view class="coupon-h2 indet">应优惠券一个兑换码只能兑换一张优惠券,</view>
-							<view class="coupon-h2 indet">不可重复使用。</view>
-							<view class="coupon-h2">3. 输入兑换码时请区分字母大小写。</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'alert',
-		props:{},
-		data() {
-			return{
-				params:{
-					userId:0,
-					redemptionCode:'',
-					source:2,
-				},
-			}
-		},
-		created() {
-			this.$api.getComStorage('userInfo').then((resolve) =>{
-				this.params.userId = resolve.userId ? resolve.userId : 0;
-			}).catch(error =>{
-				console.log('暂无用户信息~')
-			})
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			exchangeConfirm(){// 立即兑换
-				if( this.params.redemptionCode == ''){
-					this.$util.msg('请输入位兑换码',2000)
-					return
-				}
-				this.ExchangeCoupon(this.params)
-			},
-			ExchangeCoupon(param){// 兑换优惠券
-				this.ProductService.ExchangeCoupon(param).then(response =>{
-					this.$parent.ExchangeCouponData = response.data
-					this.$parent.isExchangePopup = false
-					this.$parent.isCouponModel = true
-					this.$parent.isCouponShow = false
-				})
-				.catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			},
-			hidePopup(){
-				this.$parent.isExchangePopup = false
-			},
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	/*弹窗*/
-	.model-warp.none{
-		display: none;
-	}
-	.model-warp.show{
-		display: block;
-	}
-	.coupon-popup{
-		width: 100%;
-		height: 100%;
-		background: rgba(0,0,0,.5);
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 8888;
-		transition: all 0.4s;
-		&.none{
-			display: none;			
-		}
-		&.show{
-			display: block;
-		}
-		.content{
-			width: 580rpx;
-			height: 700rpx;
-			position: absolute;
-			background: $bg-color;
-			left: 0;
-			right: 0;
-			bottom: 0;
-			top: 0;
-			margin: auto;
-			padding: 20rpx 25rpx;
-			border-radius: 12rpx;
-			.title{
-				width: 100%;
-				height: 68rpx;
-				line-height: 68rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: center;
-				margin-bottom: 32rpx;
-				position: relative;
-				font-weight: bold;
-				.icon-iconfontguanbi{
-					width: 68rpx;
-					height: 68rpx;
-					text-align: center;
-					line-height: 68rpx;
-					position: absolute;
-					right: 0;
-					top: 0;
-					font-size: $font-size-36;
-					color: #999999;
-				}
-			}
-			.text-content{
-				width: 100%;
-				height: auto;
-				.coupon-input{
-					width: 100%;
-					height: auto;
-					margin-bottom: 48rpx;
-					.input{
-						width: 100%;
-						height: 66rpx;
-						box-sizing: border-box;
-						border: 1px solid #e2e2e2;
-						line-height: 66rpx;
-						padding: 0 20rpx;
-						font-size: $font-size-26;
-						color: #333333;
-						border-radius: 2rpx;
-					}
-				}
-				.coupon-main{
-					width: 100%;
-					height: auto;
-					box-sizing: border-box;
-					.coupon-button{
-						width: 520rpx;
-						height: 84rpx;
-						margin: 0 auto;
-						border-radius: 50rpx;
-						line-height: 84rpx;
-						text-align: center;
-						background: $btn-confirm;
-						color: #FFFFFF;
-						font-size: $font-size-30;
-					}
-					.coupon-text{
-						width: 100%;
-						box-sizing: border-box;
-						padding: 0 20rpx;
-						margin-top: 40rpx;
-						line-height: 44rpx;
-						text-align: justify;
-						font-size: $font-size-24;
-						.coupon-h1{
-							color: #333333;
-						}
-						.coupon-h2{
-							color: #999999;
-							&.indet{
-								text-indent: 28rpx;
-							}
-						}
-					}
-				}
-			}
-			.btn{
-				width: 100%;
-				height: 88rpx;
-				float: left;
-				background: $btn-confirm;
-				line-height: 88rpx;
-				font-size: $font-size-28;
-				text-align: center;
-				color: #FFFFFF;
-				border-radius: 0;
-				padding: 0;
-				margin-top: 2rpx;
-			}
-		}
-	}
-</style>

+ 0 - 54
pages/user/order/components/freight.vue

@@ -12,20 +12,6 @@
 					</view>
 				</view>
 			</view>
-			<view class="freight-bean" v-if="isBeansShow">
-				<view class="bean-le" v-if="postageFlag == 1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}元运费</view>
-				<view class="bean-le" v-if="postageFlag == -1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}运费</view>
-				<view class="bean-ri">
-					<view class="checkbox-box">
-						<button class="checkbox iconfont"
-								hover-class="btn-hover"
-								@click.stop="checkedBalabce"
-								:class="[ischecked ?'icon-yixuanze':'icon-weixuanze']"
-						>
-						</button>
-					</view>
-				</view>
-			</view>
 		</view>
 	</view>
 </template>
@@ -160,10 +146,6 @@
 				    }
 				})
 			},
-			checkedBalabce(){//勾选使用采美豆抵扣
-				this.ischecked = !this.ischecked
-				this.$emit('confirmFreightBeans',this.ischecked)
-			},
 			orderPriceToFixed (value){
 				let price =''
 				if(value == '到付'){
@@ -254,42 +236,6 @@
 					}
 				}
 			}
-			.freight-bean{
-				width: 100%;
-				height: 58rpx;
-				line-height: 58rpx;
-				float: left;
-				.bean-le{
-					float: left;
-					color: #666666;
-					font-size: $font-size-26;
-					font-weight: normal;
-				}
-				.bean-ri{
-					float: right;
-					display: flex;
-					align-items: center;
-					.checkbox-box{
-						display: flex;
-						width: 60rpx;
-						float: left;
-						height: 100%;
-						font-size: $font-size-26;
-						margin-top: 8rpx;
-						.checkbox{
-							width: 40rpx;
-							text-align: right;
-							box-sizing: border-box;
-							text-align: center;
-							text-decoration: none;
-							border-radius: 0;
-							-webkit-tap-highlight-color: transparent;
-							overflow: hidden;
-							color: $color-system;
-						}
-					}
-				}
-			}
 		}
 	}
 </style>

+ 1 - 57
pages/user/order/components/goodsList.vue

@@ -4,16 +4,12 @@
 		<view class="goods-list">
 			<view v-for="(item, index) in goodsData" :key="index" class="goods-item">
 				<view class="shoptitle">
-					<view v-if="item.promotions" class="floor-item-act">
-						<view class="floor-tags">{{item.promotions.name}}</view>	
-					</view>
 					<view class="title-text">{{item.shopName}}</view> 
 				</view>
 				<view class="productlist" v-for="(pros,idx) in item.cartList" :key="idx">
 					<view class="goods-pros-t">
 						<view class="pros-img">
 							<image :src="pros.image" alt="" />
-							<text class="tips" v-if="pros.giftType ==2 || pros.giftType ==1">赠品</text>
 						</view>
 						<view class="pros-product">
 							<view class="producttitle">{{pros.name}}</view>
@@ -25,23 +21,6 @@
 								<view class="price"><text>¥{{pros.price | NumFormat}}</text></view>
 								<view class="count"><text class="small">x</text>{{pros.number}}</view>
 							</view>
-							<view class="floor-item-act">
-								<template v-if="pros.actStatus == 1 && pros.promotions">
-									<view v-if="PromotionsFormat(pros.promotions)" class="floor-tags">
-										{{ pros.promotions.name }}
-										<text v-if ="pros.promotions">
-											:¥{{ pros.promotions == null ? '0.00' : pros.promotions.touchPrice | NumFormat}}
-										</text>
-									</view>
-									<view v-else-if="pros.promotions.type !=3" class="floor-tags">{{pros.promotions.name}}</view>	
-								</template>
-								<template v-if="pros.svipProductFlag == 1 && vipFlag == 1">
-									<view class="svip-tags">
-										<view class="tags">SVIP</view>
-										<view class="price">{{ pros.svipPriceTag }}</view>
-									</view>
-								</template>
-							</view>
 						</view>	
 					</view>
 				</view>	
@@ -57,12 +36,7 @@
 						</view>
 				</view>
 				<view class="goods-pros-b">
-					<view class="sum-none" v-if="(item.originalPrice - item.totalPrice)>0">
-						<text class="money-sign">¥</text>
-						<text class="money">{{ item.originalPrice | NumFormat }}</text>
-						<text class="money-reduced">减<text>¥{{ (item.originalPrice - item.totalPrice) | NumFormat}}</text></text>
-					</view>
-					<view class="sum">合计:<text class="money">¥{{ item.totalPrice | NumFormat }}</text></view>
+ 					<view class="sum">合计:<text class="money">¥{{ item.totalPrice | NumFormat }}</text></view>
 				</view>
 			</view>
 		</view>	
@@ -162,14 +136,6 @@
 					line-height: 56rpx;
 					font-weight: bold;
 				}
-				.floor-item-act{
-					height: 56rpx;
-					text-align: center;
-					box-sizing: border-box;
-					float: left;
-					padding: 12rpx 0;
-					margin-right: 12rpx;
-				}
 			}
 			.productlist{
 				width: 100%;
@@ -187,20 +153,6 @@
 					border-radius: 10rpx;
 					margin:0 26rpx 0 0;
 					position: relative;
-					.tips{
-						display: inline-block;
-						width: 80rpx;
-						height: 40rpx;
-						background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);
-						line-height: 40rpx;
-						text-align: center;
-						font-size: $font-size-24;
-						color: #FFFFFF;
-						border-radius:10rpx 0 10rpx 0 ;
-						position: absolute;
-						top:0;
-						left: 0;
-					}
 					image{
 						width: 210rpx;
 						height: 210rpx;
@@ -258,14 +210,6 @@
 						}
 					}
 				}
-				.floor-item-act{
-					width: 100%;
-					height: 56rpx;
-					text-align: center;
-					box-sizing: border-box;
-					float: left;
-					padding:0 0 10rpx 0;
-				}
 			}
 			.goods-pros-m{
 				height: 76rpx;

+ 223 - 544
pages/user/order/create-order.vue

@@ -17,78 +17,26 @@
 			@handleChoiceaInvoice="handleChoiceaInvoiceData"
 		>
 		</invoice-tent>
-		<!-- 优惠券选择弹窗 -->
-		<coupon
-			ref="coupon"
-			v-if="isCouponShow"
-			:couponList="couponList"
-			@handleChoiceaCoupon="handleChoiceaCouponData"
-		>
-		</coupon>
-		<!-- 兑换优惠券弹窗 -->
-		<exchangeCoupon v-if="isExchangePopup"></exchangeCoupon>
 		<!-- 运费 -->
 		<freight
 			ref="freight"
 			v-if="isFreight"
 			:freightData="freightData"
 			@confirmFreight="hanldFreightFn"
-			@confirmFreightBeans="hanldFreightBeans"
 		>
 		</freight>
 		<freight-alert v-if="isfreightTip" ref="csPhone"></freight-alert>
-		<!-- 余额抵扣 -->
-		<view class="invoice-balance" v-show="!rechargeGoods">
-			<view class="balabce-t">
-				<view class="balabce-t-le">余额抵扣</view>
-				<view class="balabce-t-ri">
-					<view class="money">
-						<text>可用余额:</text> <text>¥{{ userMoney | NumFormat }}</text>
-					</view>
-					<view class="checkbox-box">
-						<button
-							class="checkbox iconfont"
-							hover-class="btn-hover"
-							v-if="userMoney != 0"
-							@click.stop="checkedBalabce"
-							:class="[ischecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-						></button>
-					</view>
-				</view>
-			</view>
-			<view class="balabce-b" :class="{ 'balabce-b--hide': !ischecked }">
-				<view
-					class="balabce-b-text animation"
-					:style="{
-						transform: ischecked ? 'translateY(0)' : 'translateY(-50%)',
-						'-webkit-transform': ischecked ? 'translateY(0)' : 'translateY(-50%)'
-					}"
-				>
-					<text>当前使用:¥{{ deductMoney | NumFormat }},剩余:¥{{ surplusMoney | NumFormat }}</text>
-				</view>
-			</view>
-		</view>
 		<!-- 底部 -->
 		<view class="footer-wrapper" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
-			<cm-return-instructions
-				v-if="returnGoodsStutas"
-				:content="helpContent"
-				@change="onAgreementChange"
-			></cm-return-instructions>
 			<view class="footer">
 				<view class="footer-le">
 					<view class="footer-count">
 						<text>共{{ totalCount }}件商品</text>
 					</view>
 					<view class="footer-price">
-						<view class="sum" :class="totalDiscountAmount == 0 ? 'none' : ''">
+						<view class="sum none">
 							总价:<text class="price">¥{{ orderShouldPayFee | NumFormat }}</text>
 						</view>
-						<view class="sum-none" v-if="totalDiscountAmount > 0">
-							<text class="money-reduced"
-								>共减<text>¥{{ totalDiscountAmount | NumFormat }}</text></text
-							>
-						</view>
 					</view>
 				</view>
 				<view class="footer-submit" @click.stop="orderSubmitMit">
@@ -96,54 +44,6 @@
 				</view>
 			</view>
 		</view>
-		<!-- 优惠券 -->
-		<view class="coupon-content-model" v-if="isCouponModel">
-			<view class="coupon-alert-content">
-				<view class="coupon">
-					<view class="coupon-list">
-						<view class="list-cell-tags"
-							><text>{{ ExchangeCouponData.couponType | TypeFormat }}</text></view
-						>
-						<view class="list-cell-le">
-							<view class="coupon-maxMoney">
-								<text class="small">¥</text> {{ ExchangeCouponData.couponAmount }}
-							</view>
-							<view class="coupon-minMoney">
-								<text class="txt">满{{ ExchangeCouponData.touchPrice }}可用</text>
-							</view>
-						</view>
-						<view class="list-cell-ri">
-							<view class="list-cell-top">
-								<text v-if="ExchangeCouponData.couponType == 0">
-									{{
-										ExchangeCouponData.productType && ExchangeCouponData.productType == 1
-											? '全商城商品通用'
-											: '仅可购买指定商品'
-									}}
-								</text>
-								<text v-if="ExchangeCouponData.couponType == 1">
-									{{
-										ExchangeCouponData.categoryType == 1
-											? '仅限购买产品类商品'
-											: '仅限购买仪器类商品'
-									}}
-								</text>
-								<text v-if="ExchangeCouponData.couponType == 3"
-									>仅限购买店铺【{{ ExchangeCouponData.shopName }}】的商品</text
-								>
-								<text v-if="ExchangeCouponData.couponType == 4 || ExchangeCouponData.couponType == 2"
-									>全商城商品通用</text
-								>
-							</view>
-							<view class="list-cell-time"
-								>{{ ExchangeCouponData.startDate }} - {{ ExchangeCouponData.endDate }}</view
-							>
-						</view>
-					</view>
-					<view class="coupon-btn" @click.stop="handleClickCancel">立即收下</view>
-				</view>
-			</view>
-		</view>
 		<!-- 提示弹窗 -->
 		<tui-modal
 			:show="showModal"
@@ -156,17 +56,6 @@
 			shape="circle"
 			:maskClosable="false"
 		></tui-modal>
-
-		<tui-modal
-			:show="agreementModel"
-			title="提示"
-			content="请先阅读《特殊商品退货须知》并勾选后再提交订单~"
-			shape="circle"
-			color="#333"
-			:size="28"
-			:button="agreementModelButtons"
-			@click="agreementModel = false"
-		></tui-modal>
 	</view>
 </template>
 <script>
@@ -174,101 +63,88 @@ import { mapState, mapMutations } from 'vuex'
 import choiceAddress from './components/choiceAddress'
 import goodsList from './components/goodsList'
 import invoiceTent from './components/invoiceTent'
-import coupon from './components/coupon'
-import exchangeCoupon from './components/exchangeCoupon'
 import freight from './components/freight'
-   import cmReturnInstructions from './components/cm-return-instructions.vue'
 import freightAlert from '@/components/cm-module/modelAlert/freightAlert'
 export default {
-	components:{
+	components: {
 		choiceAddress,
 		goodsList,
 		invoiceTent,
-		coupon,
-		exchangeCoupon,
 		freight,
-		freightAlert,
-           cmReturnInstructions
+		freightAlert
 	},
 	data() {
 		return {
-			isIphoneX:this.$store.state.isIphoneX,
-			isSubLoading:false,
-			confirmType:1,
-			orderID:0,
-			cartParam: {// 购物车立即结算确认订单参数
-				skuIds:0,		// 商品Id(逗号隔开)
-				source:2,			// 来源:1WWW 2小程序
-				userId:0			// 用户Id
+			isIphoneX: this.$store.state.isIphoneX,
+			isSubLoading: false,
+			confirmType: 1,
+			orderID: 0,
+			cartParam: {
+				// 购物车立即结算确认订单参数
+				skuIds: 0, // 商品Id(逗号隔开)
+				source: 2, // 来源:1WWW 2小程序
+				userId: 0 // 用户Id
 			},
-			productParam: {// 商品立即购买确认订单参数
-				productCount:0, 	// 商品数量
-				productId:0,		// 商品Id
-				source:2,			// 来源:1WWW 2小程序
-				userId:0			// 用户Id
+			productParam: {
+				// 商品立即购买确认订单参数
+				productCount: 0, // 商品数量
+				productId: 0, // 商品Id
+				source: 2, // 来源:1WWW 2小程序
+				userId: 0 // 用户Id
 			},
-			supportParm:{// 组合商品立即购买确认订单参数
-				productInfo:'',
-				source:2,			// 来源:1WWW 2小程序
-				userId:0			// 用户Id
+			supportParm: {
+				// 组合商品立即购买确认订单参数
+				productInfo: '',
+				source: 2, // 来源:1WWW 2小程序
+				userId: 0 // 用户Id
 			},
-			postageParam: {// 邮费计算参数
-				skuIds:0,		// 商品Id(逗号隔开)
-				userId:0,			// 用户Id
-				townId:0			// 地区Id
+			postageParam: {
+				// 邮费计算参数
+				skuIds: 0, // 商品Id(逗号隔开)
+				userId: 0, // 用户Id
+				townId: 0 // 地区Id
 			},
 			confirmParam: {
-				cartType:1, 		// 购买类型:(1自主下单, 3协销下单)
-				orderMiniType:0,    // 订单提交状态 0初始提交 1 继续提交
-				orderSource:6,		// 订单来源 1WWW 6小程序[采美,星范]
-				addressId:0,		// 收货地址Id
-				clubCouponId:0,		// 关联优惠券Id
-				clubId:0,			// 机构Id
-				orderInfo:[],		// 订单商品数据
-				orderInvoice:{type:0},	// 订单发票信息
-				payInfo:{			// 订单金额数据
-					orderShouldPayFee: 0,	// 订单最终支付金额
-					balancePayFlag: 0,		// 勾选余额的状态(1使用,0不使用)
-					clauseId:0,				// 条款Id
-					postage: 0,				// 运费金额
-					postageFlag: 0,			// 运费类型
-					userBeans: 0,			// 抵扣采美豆数量
-					rebateFlag:0			// 是否返佣订单
+				cartType: 1, // 购买类型:(1自主下单, 3协销下单)
+				orderMiniType: 0, // 订单提交状态 0初始提交 1 继续提交
+				orderSource: 6, // 订单来源 1WWW 6小程序[采美,星范]
+				addressId: 0, // 收货地址Id
+				clubCouponId: 0, // 关联优惠券Id
+				clubId: 0, // 机构Id
+				orderInfo: [], // 订单商品数据
+				orderInvoice: { type: 0 }, // 订单发票信息
+				payInfo: {
+					// 订单金额数据
+					orderShouldPayFee: 0, // 订单最终支付金额
+					balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用)
+					clauseId: 0, // 条款Id
+					postage: 0, // 运费金额
+					postageFlag: 0, // 运费类型
+					userBeans: 0, // 抵扣采美豆数量
+					rebateFlag: 0 // 是否返佣订单
 				},
-				unionId:uni.getStorageSync('unionId'),// 用户unionId
-			}, 	// 提交订单参数
-			productIds:'',			  // 获取上一级页面商品信息
-			submitState:'',  		  // 提交状态
-			totalCount:1,			  // 订单提交总数量
-			reducedPrice:0,			  // 满减金额
-			couponAmount:0,	  		  // 优惠券金额
-			totalDiscountAmount:0,	  // 共减金额
-			allPrice:0.00,			  // 订单总金额
-			orderShouldPayFee:0,	  // 订单最终支付金额
-			surplusMoney:0.00,		  // 显示勾选后的剩余抵扣
-			userMoney:0.00,			  // 显示可使用余额
-			deductMoney:0.00,		  // 显示已使用的余额
-			isRequest:false,		  // 是否加载完成渲染子组件
-			isFreight:false,		  // 是否加载完成渲染子组件
-			isAddress:false,		  // 是否加载完成地址
-			isExchangePopup:false, 	  // 控制兑换优惠券弹窗
-			isfreightTip:false,		  // 控制邮费弹窗
-			ischecked:false,	      // 是否勾选余额
-			hanldFreePostFlag:'',	  // 邮费状态
-			hanldFreight:'',		  // 邮费
-			addressData:{},			  // 初始化地址信息
-			goodsData:[],			  // 初始化商品信息
-			couponList:[],		  	  // 初始化优惠券信息
-			invoiceData:{type:0},	  // 初始化发票信息
-			freightData:{},			  // 邮费数据
-			orderInfo:[],			  // 提交的商品信息
-			rechargeGoods:null,		  // 判断订单里有定金商品或者充值商品时,余额抵扣部分不显示
-			freightBeansMoney:0,	  // 存储采美豆抵扣金额
-			isCouponShow:false,		  // 是否显示可选优惠券
-			isCheckedBeans:false,     // 是否抵扣采美豆
-			isCouponModel:false,	  // 兑换优惠券成功提示
-			ExchangeCouponData:{},	  // 兑换优惠券信息
-			contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。',     //操作文字提示语句
+				unionId: uni.getStorageSync('unionId') // 用户unionId
+			}, // 提交订单参数
+			productIds: '', // 获取上一级页面商品信息
+			submitState: '', // 提交状态
+			totalCount: 1, // 订单提交总数量
+			allPrice: 0.0, // 订单总金额
+			orderShouldPayFee: 0, // 订单最终支付金额
+			isRequest: false, // 是否加载完成渲染子组件
+			isFreight: false, // 是否加载完成渲染子组件
+			isAddress: false, // 是否加载完成地址
+			isExchangePopup: false, // 控制兑换优惠券弹窗
+			isfreightTip: false, // 控制邮费弹窗
+			hanldFreePostFlag: '', // 邮费状态
+			hanldFreight: '', // 邮费
+			addressData: {}, // 初始化地址信息
+			goodsData: [], // 初始化商品信息
+			couponList: [], // 初始化优惠券信息
+			invoiceData: { type: 0 }, // 初始化发票信息
+			freightData: {}, // 邮费数据
+			orderInfo: [], // 提交的商品信息
+			freightBeansMoney: 0, // 存储采美豆抵扣金额
+			contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。', //操作文字提示语句
 			modalButton: [
 				{
 					text: '前往颜选美学',
@@ -285,44 +161,30 @@ export default {
 				}
 			],
 			showModal: false,
-			showModalstauts:0,
-               returnGoodsStutas: false,
-               helpContent: '',
-               agreementActive: false,
-               agreementModel: false,
-               agreementModelButtons: [{
-                   text: '确定',
-                   customStyle: {
-                       color: '#fff',
-                       bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)'
-                   },
-                   plain: false
-               }]
+			showModalstauts: 0,
 		}
 	},
-	onLoad(option){//商品数据
+	onLoad(option) {
+		//商品数据
 		this.initStorage(option)
 	},
-	filters:{
-		NumFormat(value) {//处理金额
+	filters: {
+		NumFormat(value) {
+			//处理金额
 			return Number(value).toFixed(2)
-		},
+		}
 	},
 	methods: {
-           onAgreementChange(val){
-               this.agreementActive = val
-           },
-		async initStorage(option){
+		async initStorage(option) {
 			const data = JSON.parse(option.data)
 			const userInfo = await this.$api.getStorage()
-			console.log('data',data)
-			this.productParam.userId =
-			this.cartParam.userId =
-			this.supportParm.userId =
-			this.postageParam.userId = userInfo.userId ? userInfo.userId : 0
+			console.log('data', data)
+			this.productParam.userId = this.cartParam.userId = this.supportParm.userId = this.postageParam.userId = userInfo.userId
+				? userInfo.userId
+				: 0
 			this.confirmParam.clubId = userInfo.clubId ? userInfo.clubId : 0
-			switch(option.type){
-				case '1':// 商品详情立即购买
+			switch (option.type) {
+				case '1': // 商品详情立即购买
 					this.confirmParam.cartType = 2
 					this.productParam.productCount = data.data.productCount
 					this.productParam.productId = data.data.productIds
@@ -330,70 +192,66 @@ export default {
 					this.productIds = data.data.productIds
 					this.GetProductCreateOrderInfo()
 					break
-				case '2':// 购物车结算
+				case '2': // 购物车结算
 					this.confirmParam.cartType = 1
 					this.confirmType = 2
 					this.cartParam.skuIds = data.data.skuIds
 					this.CartCreateOrderInfo()
 					break
-				case '3':// 组合商品立即购买
+				case '3': // 组合商品立即购买
 					this.confirmParam.cartType = 2
 					this.confirmType = 2
 					this.supportParm.productInfo = JSON.stringify(data.data)
 					this.GetOrderClubProductSupporting()
 			}
 		},
-		GetProductCreateOrderInfo(){// 商品立即购买确认订单数据初始化
-			this.OrderService.ProductCreateOrderInfo(this.productParam).then(response =>{
-				this.setCreatDataInfo(response.data)
-			})
-			.catch(error =>{
-				this.$util.msg(error.msg,2000)
-			})
+		GetProductCreateOrderInfo() {
+			// 商品立即购买确认订单数据初始化
+			this.OrderService.ProductCreateOrderInfo(this.productParam)
+				.then(response => {
+					this.setCreatDataInfo(response.data)
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
 		},
-		GetOrderClubProductSupporting(){// 组合商品立即购买确认订单数据初始化
-			this.OrderService.OrderClubProductSupporting(this.supportParm).then(response =>{
-				this.setCreatDataInfo(response.data)
-			})
-			.catch(error =>{
-				this.$util.msg(error.msg,2000)
-			})
+		GetOrderClubProductSupporting() {
+			// 组合商品立即购买确认订单数据初始化
+			this.OrderService.OrderClubProductSupporting(this.supportParm)
+				.then(response => {
+					this.setCreatDataInfo(response.data)
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
 		},
-		CartCreateOrderInfo(){// 购物车去结算确认订单数据初始化
-			this.OrderService.CartCreateOrderInfo(this.cartParam).then(response =>{
-				this.setCreatDataInfo(response.data)
-			})
-			.catch(error =>{
-				this.$util.msg(error.msg,2000)
-			})
+		CartCreateOrderInfo() {
+			// 购物车去结算确认订单数据初始化
+			this.OrderService.CartCreateOrderInfo(this.cartParam)
+				.then(response => {
+					this.setCreatDataInfo(response.data)
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
 		},
-		setCreatDataInfo(data){// 公共初始化数据
+		setCreatDataInfo(data) {
+			// 公共初始化数据
 			this.isRequest = true
 			this.goodsData = data.list
 			this.couponList = data.couponList
 			this.userMoney = data.userMoney
-			this.reducedPrice = data.reducedPrice
 			this.totalCount = data.totalCount
 			this.allPrice = data.totalPrice
-			this.rechargeGoods = data.rechargeGoods
-			if(this.couponList.length>0){
-				this.isCouponShow = true
-				this.couponAmount = data.couponList[0].couponAmount
-				this.confirmParam.clubCouponId = data.couponList[0].clubCouponId
-			}
-			this.orderShouldPayFee = this.allPrice - this.couponAmount
-			this.totalDiscountAmount = this.reducedPrice + this.couponAmount
+			this.orderShouldPayFee = this.allPrice
 			this.postageParam.skuIds = this.getProductIds(data.list)
-               // 特殊商品退货须知
-               this.returnGoodsStutas = data.returnGoodsStutas && data.returnGoodsStutas === 2 // 1:可以 2:不可以
-               this.helpContent = data.helpContent
 			this.getAddressData()
 		},
 		// 获取订单SKUId列表
-		getProductIds(list){
+		getProductIds(list) {
 			const skuId = []
-			list.forEach(function(supplier){
-				supplier.cartList.forEach(function(product){
+			list.forEach(function(supplier) {
+				supplier.cartList.forEach(function(product) {
 					skuId.push(product.skuId)
 				})
 			})
@@ -401,74 +259,73 @@ export default {
 			return skuId.join(',')
 		},
 
-		getFreightData(){// 获取邮费信息
+		getFreightData() {
+			// 获取邮费信息
 			this.isFreight = false
-			this.OrderService.GetOrderPostage(this.postageParam).then(response =>{
+			this.OrderService.GetOrderPostage(this.postageParam).then(response => {
 				const data = response.data
 				this.isFreight = true
-				this.isCheckedBeans = false
 				this.freightData = data
 				this.hanldFreePostFlag = data.postageFlag
 				this.hanldFreight = data.postage
-				if(this.hanldFreePostFlag == 1){
-					if( this.freightData.userBeans > 0 ){
+				if (this.hanldFreePostFlag == 1) {
+					if (this.freightData.userBeans > 0) {
 						this.freightBeansMoney = this.hanldFreight
-					}else{
+					} else {
 						this.freightBeansMoney = 0
 					}
 					this.orderShouldPayFee = this.allPrice + data.postage
 					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
-				}else{
-					if( this.freightData.userBeans > 0 ){
+				} else {
+					if (this.freightData.userBeans > 0) {
 						this.freightBeansMoney = 30
-					}else{
+					} else {
 						this.freightBeansMoney = 0
 					}
 					this.orderShouldPayFee = this.allPrice
 					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
 				}
 			})
 		},
-		async getAddressData(){//获取地址信息
+		async getAddressData() {
+			//获取地址信息
 			const userInfo = await this.$api.getStorage()
-			this.UserService.QueryAddressList(
-				{
-					pageNum:1,
-					pageSize:1,
-					userId:userInfo.userId,
-				}
-			).then(response =>{
+			this.UserService.QueryAddressList({
+				pageNum: 1,
+				pageSize: 1,
+				userId: userInfo.userId
+			}).then(response => {
 				let data = response.data
 				this.isAddress = true
 				this.addressData = {}
-				if( data.list && data.list.length > 0 ){
+				if (data.list && data.list.length > 0) {
 					this.confirmParam.addressId = data.list[0].addressId
 					this.postageParam.townId = data.list[0].townId
 					this.addressData = data.list[0]
 					this.getFreightData()
-				}else{
+				} else {
 					this.addressData = this.addressData
 				}
 			})
 		},
-		handChangeInputGoodsList(data){//对应供应商的留言信息
+		handChangeInputGoodsList(data) {
+			//对应供应商的留言信息
 			this.goodsData = data
 		},
-		handleChoiceaInvoiceData(data){//获取发票信息
+		handleChoiceaInvoiceData(data) {
+			//获取发票信息
 			this.confirmParam.orderInvoice = data
 		},
-		hanldFreightFn(data){//显示邮费弹窗
-			console.log('邮费信息',data)
-			switch(data.postageFlag){
+		hanldFreightFn(data) {
+			//显示邮费弹窗
+			console.log('邮费信息', data)
+			switch (data.postageFlag) {
 				case 1:
 					this.hanldFreight = this.freightData.postage
 					this.hanldFreePostFlag = data.postageFlag
 					this.freightBeansMoney = data.freightBeansMoney
-					this.orderShouldPayFee =this.allPrice + this.hanldFreight
+					this.orderShouldPayFee = this.allPrice + this.hanldFreight
 					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
 					break
 				case -1:
 					this.hanldFreight = 0
@@ -476,162 +333,56 @@ export default {
 					this.freightBeansMoney = data.freightBeansMoney
 					this.orderShouldPayFee = this.allPrice
 					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
 					break
 			}
 		},
-		hanldFreightBeans(data){//是否勾选采美豆抵扣
-			this.isCheckedBeans = data
-			console.log(this.confirmParam.payInfo)
-			if(this.isCheckedBeans){
-				// 判断如果采美豆大于等于运费*100
-				if( this.freightData.userBeans > 0 ){
-					this.confirmParam.payInfo.userBeans = this.freightBeansMoney*100
-				}else{
-					this.confirmParam.payInfo.userBeans = 0
-				}
-				// 计算抵扣后的总价
-				if(this.hanldFreePostFlag == 1){
-					// 如果使用了余额 最终价格
-					if(this.ischecked){
-						let totalAmount = this.allPrice - this.couponAmount
-						if(this.userMoney >= totalAmount){
-							this.orderShouldPayFee = 0.00
-							this.deductMoney = this.allPrice - this.couponAmount		// 当前使用金额等于订单金额
-							this.surplusMoney = this.userMoney - this.deductMoney	    // 剩余金额等于余额-当前使用金额
-						}else{
-							this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount // 订单最终支付金额等于订单金额-账户余额
-							this.deductMoney = this.userMoney				            // 当前使用金额等于总余额
-							this.surplusMoney = this.userMoney - this.deductMoney	    // 剩余余额等于总余额-当前使用金额
-						}
-					}else{
-						this.orderShouldPayFee = this.allPrice + this.hanldFreight - this.freightBeansMoney - this.couponAmount
-					}
-					console.log('抵扣',this.orderShouldPayFee)
-				}
-			}else{// 采美豆不抵扣运费
-				this.confirmParam.payInfo.userBeans = 0
-				// 不抵扣时计算总价
-				if(this.hanldFreePostFlag == 1){
-					this.attributeHashfreight(this.hanldFreight)
-				}
-			}
-		},
-		handleChoiceaCouponData(data){// 勾选使用优惠券
-			console.log('优惠券信息',data)
-			this.couponAmount = data.couponAmount
-			this.totalDiscountAmount = this.reducedPrice + this.couponAmount
-			this.confirmParam.clubCouponId = data.clubCouponId
-			this.attributePallPrice()
-			this.hanldFreightBeans(this.isCheckedBeans)
-		},
-		checkedBalabce(){//勾选使用余额
-			if(this.userMoney > 0){
-				this.ischecked = !this.ischecked
-				if(this.ischecked){
-					this.confirmParam.payInfo.balancePayFlag = 1
-					this.attributePallPrice()
-				}else{
-					this.confirmParam.payInfo.balancePayFlag = 0
-					if(this.hanldFreePostFlag == 1 || this.hanldFreePostFlag == '1'){ //如果是有运费时
-						if(this.isCheckedBeans){
-							this.orderShouldPayFee =  this.allPrice - this.couponAmount
-						}else{
-							this.orderShouldPayFee = this.allPrice+parseInt(this.freightData.postage) - this.couponAmount
-						}
-					}else{
-						this.orderShouldPayFee = this.allPrice - this.couponAmount
-					}
-				}
-				console.log('最终订单支付金额',this.orderShouldPayFee)
-				console.log('优惠券金额',this.couponAmount)
-			}else{
-				return
-			}
-		},
-		attributePallPrice(){// 计算价格
-			if(this.hanldFreePostFlag == 1 || this.hanldFreePostFlag == '1'){
+		attributePallPrice() {
+			// 计算价格
+			if (this.hanldFreePostFlag == 1 || this.hanldFreePostFlag == '1') {
 				this.attributeHashfreight(this.freightData.postage)
-			}else{
+			} else {
 				this.attributeNofreight()
 			}
 		},
-		attributeNofreight(){// 计算没有邮费的支付价格
-			if(this.ischecked){
-				let totalAmount = this.allPrice - this.couponAmount
-				if(this.userMoney >= totalAmount){
-					this.orderShouldPayFee = 0.00
-					this.deductMoney = this.allPrice - this.couponAmount 		// 当前使用金额等于订单金额
-					this.surplusMoney = this.userMoney - this.deductMoney	    // 剩余金额等于余额-当前使用金额
-				}else{
-					this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount // 订单最终支付金额等于订单金额-账户余额
-					this.deductMoney = this.userMoney				            // 当前使用金额等于总余额
-					this.surplusMoney = this.userMoney - this.deductMoney	    // 剩余余额等于总余额-当前使用金额
-				}
-			}else{
-				this.orderShouldPayFee = this.allPrice - this.couponAmount
-				this.deductMoney = 0.00 // 当前使用
-				this.surplusMoney = this.userMoney // 剩余余额
-			}
-			console.log('最终订单支付金额',this.orderShouldPayFee)
-			console.log('优惠券金额',this.couponAmount)
+		attributeNofreight() {
+			// 计算没有邮费的支付价格
+			this.orderShouldPayFee = this.allPrice
+			console.log('最终订单支付金额', this.orderShouldPayFee)
 		},
-		attributeHashfreight(postage){// 计算需要邮费的支付价格
-			console.log()
-			let totalAmount = this.allPrice + parseInt(postage) - this.couponAmount//计算不包邮的价格 总价等于商品价格+邮费
-			if(this.ischecked){
-				if(this.userMoney >= totalAmount){// 全部抵扣
-					this.orderShouldPayFee =0.00
-					if(this.isCheckedBeans){// 抵扣运费了
-						this.deductMoney =  this.allPrice - this.couponAmount			// 当前使用金额等于订单金额
-						this.surplusMoney = this.userMoney - this.deductMoney	    	// 剩余金额等于余额减去当前使用金额
-					}else{
-						this.deductMoney = this.allPrice + parseInt(postage)- this.couponAmount	// 当前使用金额等于订单金额+运费金额
-						this.surplusMoney = this.userMoney - this.deductMoney	    	// 剩余余额等于总余额-当前使用金额
-					}
-				}else{// 部分抵扣
-					if(this.isCheckedBeans){// 抵扣运费了
-						this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount // 订单最终支付金额等于总订单金额-账户余额-优惠券金额
-						this.deductMoney = this.userMoney				            		// 当前使用金额等于账户余额
-						this.surplusMoney = this.userMoney - this.deductMoney	    		// 剩余余额等于账户余额-当前使用金额
-					}else{
-						this.orderShouldPayFee = this.allPrice + parseInt(postage) - this.userMoney - this.couponAmount//订单支付金额等于订单金额+运费-账户余额-优惠券
-						this.deductMoney = this.userMoney				            		// 当前使用金额等于账户余额
-						this.surplusMoney = this.userMoney - this.deductMoney	    		// 剩余余额等于账户余额-当前使用金额
-					}
-				}
-			}else{
-				this.orderShouldPayFee = this.allPrice + parseInt(postage) - this.couponAmount
-				this.deductMoney = 0.00 // 当前使用金额
-				this.surplusMoney = this.userMoney // 剩余余额
-			}
-			console.log('最终订单支付金额',this.orderShouldPayFee)
-			console.log('优惠券金额',this.couponAmount)
+		attributeHashfreight(postage) {
+			// 计算需要邮费的支付价格
+			this.orderShouldPayFee = this.allPrice + parseInt(postage) //计算不包邮的价格 总价等于商品价格+邮费
+			console.log('最终订单支付金额', this.orderShouldPayFee)
 		},
-		orderSubmitMit(){// 提交订单按钮点击事件
-		   if(this.returnGoodsStutas && !this.agreementActive){
-                   this.agreementModel = true
-		   }else{
-				this.handleClickOrderSubmitMit()
-			}
+		orderSubmitMit() {
+			// 提交订单按钮点击事件
+			this.handleClickOrderSubmitMit()
 		},
-		handleClickOrderSubmitMit(){// 提交订单
-			if(this.isSubLoading){ return }
-			if(this.confirmParam.addressId == ''){
-				this.$util.msg('请先添加收货地址~',2000)
+		handleClickOrderSubmitMit() {
+			// 提交订单
+			if (this.isSubLoading) {
+				return
+			}
+			if (this.confirmParam.addressId == '') {
+				this.$util.msg('请先添加收货地址~', 2000)
 				return
 			}
 			this.confirmParam.orderInfo = this.goodsData.map(el => {
 				let productInfo = []
 				el.cartList.forEach(pros => {
 					productInfo.push({
-						skuId:pros.skuId,
-						productNum:pros.number,
-						presentNum:0,
-						productType:pros.giftType
+						skuId: pros.skuId,
+						productNum: pros.number,
+						presentNum: 0,
+						productType: pros.giftType
 					})
 				})
-				return {splitCode:el.splitCode,shopId:el.shopId,note:el.note?el.note:'',productInfo:productInfo}
+				return {
+					splitCode: el.splitCode,
+					shopId: el.shopId,
+					note: el.note ? el.note : '',
+					productInfo: productInfo
+				}
 			})
 			this.confirmParam.payInfo.postage = parseInt(this.hanldFreight).toFixed(2)
 			this.confirmParam.payInfo.postageFlag = parseInt(this.hanldFreePostFlag)
@@ -643,148 +394,75 @@ export default {
 			this.isSubLoading = true
 			this.hanldeOrderSubmit(this.confirmParam)
 		},
-		hanldeOrderSubmit(params){// 提交订单
-			this.OrderService.CreatedOrderSubmit(params).then(response =>{
-				let data = response.data
-				// 友盟埋点收集机构自主提交订单
-				if(process.env.NODE_ENV != 'development'){
-					this.$uma.trackEvent('Um_Event_ConfirmOrder', {
-						Um_Key_PageName: '机构提交订单',
-						Um_Key_SourcePage: '确认订单',
-						Um_Key_OrderID:`${data.orderId}`
-					})
-				}
-				if(data.code === 1){
-					this.submitState ='success'
-					setTimeout(()=>{
-						this.isSubLoading = false
-					},2000)
-					this.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:{orderId:data.orderId}})}`)
-				}else{
-					this.submitState ='confirm'
-					this.$util.msg('订单提交成功',2000,true,'success')
-					setTimeout(()=>{
-						this.isSubLoading = false
-						if(data.onlinePayFlag === 1){
-							this.$api.redirectTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
-						}else{
-							this.$api.redirectTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
-						}
-					},2000)
-				}
-			}).catch(error =>{
-				this.isSubLoading = false
-				this.handleError(error)
-			})
-		},
-		handleError(data){// 提交订单异常处理
-			const buttonMap = {
-					1:{
-						contentModalText : '您已有2个采购金额过小的订单,本次不能再进行采购。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
-						modalButton : [
-							{ text: '了解', type: 'gray', plain: true },
-							{ text: '前往颜选美学', customStyle: { color: '#fff',bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)' },plain: false}
-						]
-					},
-					2:{
-						contentModalText :  '采美豆不足,不能提交订单。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
-						modalButton :  [
-							{ text: '了解', type: 'gray', plain: true },
-							{ text: '前往颜选美学', customStyle: { color: '#fff',bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)' },plain: false}
-						]
-					},
-					3:{
-						contentModalText :  '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。' ,
-						modalButton :  [
-							{ text: '前往颜选美学', type: 'gray', plain: true },
-							{ text: '继续提交', customStyle: { color: '#fff',bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)' },plain: false}
-						]
-					},
-					4:{
-						contentModalText :  '订单内存在械字号三类商品,需要拥有医疗执业许可证的医美机构才能购买。建议升级医美机构后再下单,否则会导致订单退款或影响发货。',
-						modalButton :  [
-							{ text: '继续提交',  type: 'gray', plain: true },
-							{ text: '去升级', customStyle: { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)' },plain: false }
-						]
+		hanldeOrderSubmit(params) {
+			// 提交订单
+			this.OrderService.CreatedOrderSubmit(params)
+				.then(response => {
+					let data = response.data
+					if (data.code === 1) {
+						this.submitState = 'success'
+						setTimeout(() => {
+							this.isSubLoading = false
+						}, 2000)
+						this.$api.redirectTo(
+							`/pages/user/order/success?data=${JSON.stringify({ data: { orderId: data.orderId } })}`
+						)
+					} else {
+						this.submitState = 'confirm'
+						this.$util.msg('订单提交成功', 2000, true, 'success')
+						setTimeout(() => {
+							this.isSubLoading = false
+							if (data.onlinePayFlag === 1) {
+								this.$api.redirectTo(`/pages/user/pay/card-under?orderId=${data.orderId}`)
+							} else {
+								this.$api.redirectTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
+							}
+						}, 2000)
 					}
-			}
-			if(data.code === -3){// 已提交2个小于1000元的订单提示
-				this.showModal = true
-				this.showModalstauts = 3
-				this.contentModalText = buttonMap[1].contentModalText
-				this.modalButton= buttonMap[1].modalButton
-				this.formatConfirmParam()
-			}else if(data.code === -4){// 采美豆为负数
-				this.showModal = true
-				this.showModalstauts = 3
-				this.contentModalText = buttonMap[2].contentModalText
-				this.modalButton= buttonMap[2].modalButton
-				this.formatConfirmParam()
-			}else if(data.code === -5){// 订单总金额低于500
-				this.showModal = true
-				this.showModalstauts = 1
-				this.contentModalText = buttonMap[3].contentModalText
-				this.modalButton= buttonMap[3].modalButton
-				this.formatConfirmParam()
-			}else if(data.code === -6){// 非医美机构下三类商品订单
-				this.showModal = true
-				this.showModalstauts = 2
-				this.contentModalText = buttonMap[4].contentModalText
-				this.modalButton= buttonMap[4].modalButton
-				this.formatConfirmParam()
-			}else{
-				this.$util.msg(data.msg,3000)
-			}
-		},
-		formatConfirmParam(){// 还原提交订单参数格式
-			this.confirmParam.payInfo = JSON.parse(this.confirmParam.payInfo)
-			this.confirmParam.orderInfo = JSON.parse(this.confirmParam.orderInfo)
-			this.confirmParam.orderInvoice = JSON.parse(this.confirmParam.orderInvoice)
+				})
+				.catch(error => {
+					this.isSubLoading = false
+				})
 		},
-		handFreightAlertShow(){//显示邮费弹窗
+		handFreightAlertShow() {
+			//显示邮费弹窗
 			this.isfreightTip = true
 		},
-		handleClickCancel(){// 关闭优惠券弹窗
-			this.isCouponModel = false
-			if(this.confirmType == 1){
-				this.GetProductCreateOrderInfo()
-			}else{
-				this.CartCreateOrderInfo()
-			}
-		},
-		handleClick(e){// 采购量过小提示弹窗
+		handleClick(e) {
+			// 采购量过小提示弹窗
 			if (e.index === 1) {
-				if( this.showModalstauts === 1){
+				if (this.showModalstauts === 1) {
 					this.showModal = false
 					this.confirmParam.orderMiniType = 1
 					this.handleClickOrderSubmitMit()
-				}else if(this.showModalstauts === 2){
+				} else if (this.showModalstauts === 2) {
 					this.showModal = false
 					this.isSubLoading = false
 					this.$api.navigateTo('/pages/login/apply')
-				}else{
+				} else {
 					this.showModal = false
 					this.handleClickHeHeMiniApplet()
 				}
-			}else{
-				if( this.showModalstauts == 1 ){
+			} else {
+				if (this.showModalstauts == 1) {
 					this.showModal = false
 					this.handleClickHeHeMiniApplet()
-				}else if(this.showModalstauts === 2){
+				} else if (this.showModalstauts === 2) {
 					this.showModal = false
 					this.confirmParam.orderMiniType = 2
 					this.handleClickOrderSubmitMit()
-				}else{
+				} else {
 					this.showModal = false
 				}
 			}
 		},
-		handleClickHeHeMiniApplet(){ // 跳转颜选美学小程序
+		handleClickHeHeMiniApplet() {
+			// 跳转颜选美学小程序
 			uni.navigateToMiniProgram({
 				appId: 'wx2c3b0a7f343235b1',
 				path: '/pages/tabBar/index/index',
 				extraData: {
-					'data1': 'test'
+					data1: 'test'
 				},
 				envVersion: 'develop',
 				success(res) {
@@ -793,21 +471,22 @@ export default {
 				}
 			})
 		},
-		hideFreight(){//关闭邮费弹窗
+		hideFreight() {
+			//关闭邮费弹窗
 			this.isfreightTip = false
-		},
+		}
 	},
 	onShow() {
 		let pages = getCurrentPages()
-		let currPage = pages[pages.length-1]
-		if(currPage.data.select =='select'){
+		let currPage = pages[pages.length - 1]
+		if (currPage.data.select == 'select') {
 			this.isAddress = true
 			let SelectData = uni.getStorageSync('selectAddress')
 			this.confirmParam.addressId = SelectData.addressId
 			this.postageParam.townId = SelectData.townId
 			this.addressData = SelectData
 			this.getFreightData()
-		}else{
+		} else {
 			this.getAddressData()
 		}
 	}

+ 3 - 3
pages/user/order/order-details.vue

@@ -349,7 +349,7 @@ export default {
 							break
 						default:
 							if (data.onlinePayFlag == 1) {// 只能线下
-								this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
+								this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.orderId}`)
 							} else {
 								this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
 							}
@@ -370,7 +370,7 @@ export default {
 							`/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: _data })}`
 						)
 					} else {
-						this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.order.orderId}`)
+						this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.order.orderId}`)
 					}
 				})
 				.catch(error => {
@@ -380,7 +380,7 @@ export default {
 		hanldCancelConfirm(data) {
 			//不使用余额抵扣直接跳转收银台
 			if (data.onlinePayFlag == 1) {// 只能线下
-				this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
+				this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.orderId}`)
 			} else {
 				this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
 			}

+ 4 - 4
pages/user/order/order-list.vue

@@ -251,7 +251,7 @@ 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 empty from './components/empty'
 import shareAlert from '@/components/cm-module/modelAlert/shareAlert' //分享弹窗
 import orderModel from '@/components/cm-module/modelAlert/order-alert' //付款弹窗
 import activityBean from '@/components/cm-module/activity/activityBean.vue'
@@ -540,7 +540,7 @@ export default {
 								break
 							default:
 								if (data.onlinePayFlag == 1) {// 只能线下
-									this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
+									this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.orderId}`)
 								} else {
 									this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
 								}
@@ -561,7 +561,7 @@ export default {
 							`/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: _data })}`
 						)
 					} else {
-						this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.order.orderId}`)
+						this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.order.orderId}`)
 					}
 				})
 				.catch(error => {
@@ -571,7 +571,7 @@ export default {
 		hanldCancelConfirm(data) {
 			//不使用余额抵扣直接跳转收银台
 			if (data.onlinePayFlag === 1) {// 只能线下
-				this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${data.orderId}`)
+				this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${data.orderId}`)
 			} else {
 				this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
 			}

+ 1 - 1
pages/user/order/order-pay-list.vue

@@ -95,7 +95,7 @@ export default {
 			this.$api.navigateTo(`/pages/user/pay/card-order?shopOrderId=${shopOrderId}`)
 		},
 		handlePayunder(){
-			this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${this.orderId}`)
+			this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${this.orderId}`)
 		}
 	},
 	onShow() {}

+ 0 - 839
pages/user/order/order-pay.vue

@@ -1,839 +0,0 @@
-<template>
-	<view class="container cashier"  v-show="isRepuest">
-		<cu-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></cu-custom>
-		<view class="container-cash clearfix" :style="{marginTop:CustomBar+'px'}">
-			<view class="container-wrapper">
-				<view class="pay-content">
-					<view class="pay-top">
-						<view class="pay-paid">
-							<text class="txt-m">待付金额</text>
-							<text class="txt-b"><text class="small">¥</text>{{payableAmount | NumFormat}}</text>
-						</view>
-						<view class="pay-payd">
-							<view class="pay-paids">
-								<text class="txt-m">应付总额</text>
-								<text class="txt-b">¥{{payableAmount | NumFormat}}</text>
-							</view>
-							<view class="pay-paids">
-								<text class="txt-m">已支付金额</text>
-								<text class="txt-b">¥{{receiptAmount | NumFormat}}</text>
-							</view>
-						</view>
-					</view>
-					<view class="pay-bot">
-						<view class="bot-title"><text>本次支付金额</text></view>
-						<view class="bot-input">
-							<text>¥</text>
- 					<!-- 	<view class="input" @click.stop="focusInput">
-								<text class="text" v-if="payAmount>=0">{{payAmount}}</text>
-								<text class="none" v-else>输入金额不能大于待付金额</text>
-							</view> -->
-							<input  class="input"
-									type="digit"
-									v-model="payAmount"
-									@focus="focusInput"
-									@blur="blurInput"
-									placeholder="输入金额不能大于待付金额"
-									placeholder-class="placeholder"/>
-						</view>
-						<view class="bot-resid">
-							<text>应付剩余¥{{balanceAmount|NumFormat}}</text>
-						</view>
-					</view>
-				</view>
-				<view class="pay-record" :style="{paddingBottom:isIphoneX ? '156rpx' : '112rpx'}">
-					<view class="record-title"><text>支付记录</text></view>
-					<view class="record-list">
-						<view class="list-main" v-if="discernReceipt.length>0">
-							<view class="list-item" v-for="(item,index) in discernReceipt" :key="index">
-								<text class="text row-1">¥{{item.receiptAmount | NumFormat}}</text>
-								<text class="text row-2">{{payTypeText(item.payType)}}</text>
-								<text class="text row-3">{{item.receiptDate}}</text>
-							</view>
-						</view>
-						<view class="list-none" v-else>暂无支付记录</view>
-					</view>
-				</view>
-			</view>
-			<view class="pay-button" :style="{paddingBottom:isIphoneX ? '68rpx' : '24rpx'}">
-				<view class="btn" @click.stop="buttonSubMit" :style="{'background':btnColor}">{{buttonText}}</view>
-			</view>
-		</view>
-		<view class="alert spec" :class="specClass" v-if="isShowTip">
-			<!-- 选择支付弹窗说明 -->
-			<view class="freight-alert"  @tap="hideTips">
-				<view class="content">
-					<view class="title">
-						<text>支付链接</text>
-						<text class="iconfont icon-iconfontguanbi" @click.stop="hideTips"></text>
-					</view>
-					<view class="text-content">
-						<view class="text">请复制以下链接,并发送至电脑端,在浏览器访问该链接并选择银行尽快完成支付</view>
-						<view class="text-p">{{payHttpUrl}}</view>
-						<view class="text-b">链接有效期为72小时</view>
-					</view>
-					<view class="text-button" @click.stop="clipboard(payHttpUrl)">复制链接</view>
-				</view>
-			</view>
-		</view>
-		<!--大额转账弹窗  -->
-		<tui-modal :show="modal" :padding="'30rpx 30rpx'" @cancel="hideMobel(0)" :custom="true" fadeIn >
-			<view class="tui-modal-custom">
-				<view class="tui-prompt-title">大额银联转账信息</view>
-				<view class="tui-prompt-text">
-					<view class="tui-prompt-tips">请使用银行手机app或者网银输入以下信息进行转账。每次发起支付请求,收款账号都会变化,请使用最新的收款账号进行转账。</view>
-					<view class="tui-prompt-item">
-						<text class="text">户名:</text>
-						{{ bigPayInfo.receiveName }}
-						<view class="copy" @click.stop="copyClipboard(bigPayInfo.receiveName)"><text class="iconfont icon-fuzhi_o"></text></view>
-					</view>
-					<view class="tui-prompt-item">
-						<text class="text">收款账号:</text>
-						{{ bigPayInfo.receiveAccountNo }}
-						<view class="copy" @click.stop="copyClipboard(bigPayInfo.receiveAccountNo)"><text class="iconfont icon-fuzhi_o"></text></view>
-					</view>
-					<view class="tui-prompt-item">
-						<text class="text">银行:</text>
-						{{ bigPayInfo.accountName }}
-					</view>
-					<view class="tui-prompt-item">
-						<text class="text">收款方开户地:</text>
-						{{ bigPayInfo.areaInfo }}
-					</view>
-					<view class="tui-prompt-item">
-						<text class="text">收款网点:</text>
-						{{ bigPayInfo.accountName }}
-					</view>
-				</view>
-				<view class="tui-prompt-flex">
-					<view class="btn btn-confirm" @click="handleClick">已完成转账,请点击</view>
-					<view class="btn btn-cancel" @click="hideMobel">关闭</view>
-				</view>	
-			</view>
-		</tui-modal>	
-	</view>
-</template>
-
-<script>
-	import authorize from '@/common/config/authorize.js'
-	import thorui from '@/components/clipboard/clipboard.thorui.js'
-	export default{
-		components: {
-			// keyboard
-		},
-		data(){
-			return{
-				orderId:'',
-				payType:'',
-				payWay:'',
-				isRepuest:false,
-				payableAmount:0,
-				receiptAmount:0,
-				balanceAmount:0,
-				payTotalFee:0,
-				payAmount:0,
-				nvabarData: {		//顶部自定义导航
-					showCapsule:1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '收银台',  // 导航栏 中间的标题
-					haveBack:true,
-					textLeft:this.$store.state.isIphone
-				},
-				idCardList:[],
-				isIphoneX:this.$store.state.isIphoneX,
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				tabCurrentIndex:0,
-				isShowTip:false,
-				buttonText:'去支付',
-				btnColor:'#09BB07',
-				discernReceipt:[],
-				showDigitKeyboard:false,
-				payHttpUrl:'',
-				bigPayInfo:{},// 大额网银转账
-				mbOrderId:0, // 支付记录订单Id
-				modal:false,
-			}
-		},
-		onLoad(option) {
-			this.initData(option)
-		},
-		filters: {
-			NumFormat(value) {
-				if(!value) return '0.00'
-				/*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
-				/*后来改成了 Number(value)|0,但是输入超过十一位就为负数了,具体见评论 */
-				var intPart = Number(value) - Number(value)%1 //获取整数部分(这里是windy93的方法)
-				var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断
-				var floatPart = '.00' //预定义小数部分
-				var value2Array = value.toString().split('.')
-				//=2表示数据有小数位
-				if(value2Array.length == 2) {
-					floatPart = value2Array[1].toString() //拿到小数部分
-					if(floatPart.length == 1) { //补0,实际上用不着
-						return intPartFormat + '.' + floatPart + '0'
-					} else {
-						return intPartFormat + '.' + floatPart
-					}
-				} else {
-					return intPartFormat + floatPart
-				}
-			}
-		},
-		methods:{
-			initData(e){
-				this.payType = e.type
-				console.log(this.payType)
-				this.orderId = e.orderId
-				switch(this.payType){
-					case '0':
-						this.payWay = 'WEIXIN'
-						this.btnColor='#09BB07'
-						this.buttonText = '去支付'
-						break
-					case '1':
-						this.payWay = 'UNIONPAY'
-						this.btnColor='#034582'
-						this.buttonText = '生成企业网银支付链接'
-						break
-					case '2':
-						this.payWay = 'UNIONPAY'
-						this.btnColor='#034582'
-						this.buttonText = '生成个人网银支付链接'
-						break
-					case '3':
-						this.payWay = 'UNIONPAY'
-						this.btnColor='#034582'
-						this.buttonText = '去转账'
-						break
-				}
-				this.GetPayOrderInfo()
-			},
-			GetPayOrderInfo(){//初始化支付信息
-				this.PayService.PayOrderCheckoutCounter({orderId:this.orderId}).then(response =>{
-					this.isRepuest = true
-					this.discernReceipt = response.data.discernReceipt 			// 支付记录
-					this.payTotalFee = response.data.order.payTotalFee  		// 订单总额
-					this.receiptAmount = response.data.order.receiptAmount  	// 已付金额
-					this.payableAmount = (response.data.order.payableAmount*100 - this.receiptAmount*100)/100// 已付金额
-					this.payAmount = this.toFixedFn(this.payableAmount)			// 自定义金额
-					console.log('this.payAmount',this.payAmount)
-					this.balanceAmount = this.payableAmount - this.payAmount	// 计算剩余支付金额
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			buttonSubMit(){
-				switch(this.payType){
-					case '0':// 微信支付
-						// 友盟埋点收集微信支付
-						if(process.env.NODE_ENV != 'development'){
-							this.$uma.trackEvent('Um_Event_ConfirmWechatPay', {
-								Um_Key_PageName: '微信支付',
-								Um_Key_SourcePage: '线上支付',
-								Um_Key_PayName:`${this.buttonText}`,
-								Um_Key_PayOrderID:`${this.orderId}`
-							})
-						}
-						this.MiniWxPayFor()
-						break
-					case '1':// 企业网银
-						// 友盟埋点收集企业网银
-						if(process.env.NODE_ENV != 'development'){
-							this.$uma.trackEvent('Um_Event_ConfirmEbankPay', {
-								Um_Key_PageName: '企业网银',
-								Um_Key_SourcePage: '线上支付',
-								Um_Key_PayName:`${this.buttonText}`,
-								Um_Key_PayOrderID:`${this.orderId}`
-							})
-						}
-						this.BuildCatenate()
-						break
-					case '2':// 个人网银
-						// 友盟埋点收集个人网银
-						if(process.env.NODE_ENV != 'development'){
-							this.$uma.trackEvent('Um_Event_ConfirmAbankPay', {
-								Um_Key_PageName: '个人网银',
-								Um_Key_SourcePage: '线上支付',
-								Um_Key_PayName:`${this.buttonText}`,
-								Um_Key_PayOrderID:`${this.orderId}`
-							})
-						}
-						this.BuildCatenate()
-						break
-					case '3':// 大额支付
-						// 友盟埋点收集大额支付
-						if(process.env.NODE_ENV != 'development'){
-							this.$uma.trackEvent('Um_Event_ConfirmBigbankPay', {
-								Um_Key_PageName: '大额支付',
-								Um_Key_SourcePage: '线上支付',
-								Um_Key_PayName:`${this.buttonText}`,
-								Um_Key_PayOrderID:`${this.orderId}`
-							})
-						}
-						this.LargePayment()
-						break
-				}
-			},
-			LargePayment(){// 大额银联
-				if(this.payAmount == 0){
-					this.$util.msg('请输入本次支付的金额',2000)
-					return
-				}
-				if(this.payAmount <=12){
-					this.$util.msg('网银支付的金额必须大于¥12.00',2000)
-					return
-				}
-				this.PayService.PayOrderTransferUnion({payAmount:this.accMul(this.payAmount,100),orderId:this.orderId}).then(response =>{
-					this.bigPayInfo = JSON.parse(response.data.data.payInfo)
-					this.mbOrderId = response.data.data.mbOrderId
-					this.modal = true
-					console.log('PayInfo',this.bigPayInfo)
-				})
-			},
-			handleClick(){// 查询是否支付成功
-				this.PayService.PayOrderFindOrderStatus({mbOrderId:this.mbOrderId}).then(response =>{
-					const data = response.data.data
-					const linkData =  {
-							  payAmount:this.payAmount,
-							  orderId:this.orderId,
-							  type:data.status === '1' ? 'success' : 'error'
-						}
-					if(data.status === '1'){
-						this.$api.navigateTo(`/pages/user/order/order-success?data=${JSON.stringify({ data: linkData })}`)
-					}else{
-						this.$api.navigateTo(`/pages/user/order/order-success-tips?data=${JSON.stringify({ data: linkData })}`)
-					}	
-				})
-			},
-			hideMobel(){
-				this.modal = false
-			},
-			BuildCatenate(){// 企业网银  个人网银
-				if(this.payAmount == 0){
-					this.$util.msg('请输入本次支付的金额',2000)
-					return
-				}
-				if(this.payAmount <=10){
-					this.$util.msg('网银支付的金额必须大于¥10.00',2000)
-					return
-				}
-				this.PayService.PayOrderPayLink({unpaidAmount:this.payAmount,orderId:this.orderId,payType:this.payType}).then(response =>{
-					this.payHttpUrl = response.data
-					this.isShowTip = true
-				})
-			},
-			MiniWxPayFor(){// 微信支付
-				authorize.getCode('weixin').then(wechatcode =>{
-					if(this.payAmount > 5000){
-						this.$util.modal('','本次支付金额已超出微信支付限额,请输入小于5千的金额进行支付','知道了','',false,() =>{})
-						return
-					}
-					if(this.payAmount == 0){
-						this.$util.msg('请输入本次支付的金额',2000)
-						return
-					}
-					if(this.payAmount*100 < 2){
-						this.$util.msg('本次支付的金额必须大于¥0.02',2000)
-						return
-					}
-					console.log('this.payAmount',this.payAmount)
-					let params ={
-							payAmount:this.accMul(this.payAmount,100),
-							payWay:'WEIXIN',
-							code:wechatcode,
-							orderId:this.orderId
-						}
-					this.PayService.WeChatMiniWxPay(params).then(response =>{
-						let PayInfo = JSON.parse(response.data.data.payInfo)
-						this.WxRequestPayment(PayInfo)
-					}).catch(error =>{
-						this.$util.msg(error.msg,2000)
-					})
-				})
-			},
-			WxRequestPayment(data){
-				let self = this
-				console.log('data',data)
-				wx.requestPayment({
-					'timeStamp': data.timeStamp,
-					'nonceStr': data.nonceStr,
-					'package': data.package,
-					'signType': data.signType,
-					'paySign': data.paySign,
-					'success':function(res){
-						wx.reLaunch({url: '/pages/tabBar/user/user'})
-					},
-					'fail':function(res){
-						self.$util.msg('用户取消支付~')
-					},
-					'complete':function(res){
-
-					}
-				})
-			},
-			accMul(value1, value2) {
-			    if (value1 == 0 || value2 == 0) {
-			      return 0
-			    }
-			    let m = 0
-			    let v1 = value1.toString()
-			    let v2 = value2.toString()
-			    m += v1.split('.')[1] ? v1.split('.')[1].length : 0
-			    m += v2.split('.')[1] ? v2.split('.')[1].length : 0
-			    let _v1 = Number(v1.replace('.', ''))
-			    let _v2 = Number(v2.replace('.', ''))
-			    return (_v1 * _v2) / Math.pow(10, m)
-			},
-			confirmEvent(value){//点击自定义键盘完成的回调函数
-				this.chechValue(value)
-				this.showDigitKeyboard = false
-			},
-			blurInput(e){
-				this.chechValue(e.detail.value)
-			},
-			focusInput(){
-				// this.showDigitKeyboard = true
-			},
-			hideKeyboard(){
-				this.showDigitKeyboard = false
-			},
-			chechValue(value){
-				let patern = /\d+\.\d+/g
-				if(value && value.split('.').length > 2) {
-					value= patern.exec(value)
-				}
-				if(value == '' || value <0 ){
-					this.payAmount = ''
-					this.balanceAmount = this.payableAmount
-				}else if( value > this.payableAmount){
-					this.payAmount = this.toFixedFn(this.payableAmount)
-					this.balanceAmount = this.toFixedFn(this.payableAmount - this.payAmount)
-				}else{
-					this.payAmount = this.toFixedFn(value)
-					this.balanceAmount = this.toFixedFn(this.payableAmount - this.payAmount)
-				}
-			},
-			hanldNavigateBack(){//页面返回
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			payTypeText (state){//处理支付记录文字
-				let stateText = '',
-					stateTextObject={
-						12:'企业网银',
-						13:'微信支付',
-						14:'支付宝',
-						15:'微信支付',
-						16:'余额抵扣',
-					}
-				Object.keys(stateTextObject).forEach(key => {
-					if(key == state){
-						stateText = stateTextObject[key]
-					}
-				})
-				return stateText
-			},
-			hideTips(){//隐藏弹窗
-				this.isShowTip = false
-			},
-			toFixedFn(text){//处理小数点后两位数
-				return Number(text).toFixed(2)
-			},
-			copyClipboard(data){
-				//复制账号
-				thorui.getClipboardData(data, (res) => {
-					if (res) {
-						this.$util.msg('已复制',2000)
-					} else {
-						this.$util.msg('复制失败',2000)
-					}
-				})
-			},
-			clipboard(data) {//复制链接
-				console.log('data',data)
-				thorui.getClipboardData(data, (res) => {
-					if (res) {
-						this.isShowTip = false
-						this.$util.msg('已复制',2000)
-						// 友盟埋点收集复制网银链接
-						if(process.env.NODE_ENV != 'development'){
-							this.$uma.trackEvent('Um_Event_CopyUnionPay', {
-								Um_Key_PageName: '网银支付',
-								Um_Key_SourcePage: '线上支付',
-								Um_Key_PayName:`${this.buttonText}`,
-								Um_Key_PayOrderID:`${this.orderId}`
-							})
-						}
-					} else {
-						this.$util.msg('复制失败',2000)
-					}
-				})
-			},
-			discard(){
-				//丢弃
-			}
-		},
-		onShow() {
-
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{height: auto !important;background-color: #FFFFFF;}
-	.container-cash{
-		width: 100%;
-		.container-wrapper{
-			width:100%;
-			margin: 0 auto;
-			.pay-content{
-				width: 662rpx;
-				height: 420rpx;
-				padding: 64rpx 44rpx 0 44rpx;
-				background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218elN6AY6VeAAqw4n3n4nw186.png) no-repeat;
-				background-size: cover;
-				float: left;
-				position: relative;
-				.pay-top{
-					width: 100%;
-					height: auto;
-					float: left;
-					margin-bottom: 44rpx;
-					.pay-paid{
-						width: 100%;
-						height: auto;
-						margin-bottom: 38rpx;
-						text{
-							line-height: 48rpx;
-							text-align: left;
-							color: #FFFFFF;
-							width: 100%;
-						}
-						.txt-m{
-							font-size: $font-size-26;
-							opacity: 0.7;
-							display: inline-block;
-						}
-						.txt-b{
-							font-size: $font-size-48;
-							display: inline-block;
-							.small{
-								font-size: $font-size-32;
-							}
-						}
-					}
-					.pay-payd{
-						width: 100%;
-						height: auto;
-						.pay-paids{
-							height: auto;
-							float: left;
-							margin-right: 48rpx;
-							text{
-								line-height: 48rpx;
-								text-align: left;
-								color: #FFFFFF;
-							}
-							.txt-m{
-								width: 100%;
-								display: inline-block;
-								font-size: $font-size-26;
-								opacity: 0.7;
-							}
-							.txt-b{
-								width: 100%;
-								display: inline-block;
-								font-size: $font-size-32;
-							}
-						}
-					}
-				}
-				.pay-bot{
-					width: 614rpx;
-					height: 184rpx;
-					padding: 24rpx;
-					background: #FFFFFF;
-					border-radius: 20rpx;
-					box-shadow:0 2px 6px rgba(255, 77, 0, .17);
-					position: absolute;
-					bottom: -92rpx;
-					left:44rpx;
-					.bot-title{
-						line-height: 36rpx;
-						font-size: $font-size-26;
-						color: #666666;
-					}
-					.bot-input{
-						width: 100%;
-						height: 66rpx;
-						margin: 15rpx 0;
-						border-bottom: 1px solid #EBEBEB;
-						line-height: 66rpx;
-						font-size: $font-size-32;
-						color: $text-color;
-						text{
-							display: block;
-							float: left;
-						}
-						.input{
-							font-size: $font-size-40;
-							width: 500rpx;
-							height: 66rpx;
-							padding: 0 10rpx;
-							line-height: 66rpx;
-							float: left;
-							.none{
-								color:$text-color;
-								opacity: 0.3;
-							}
-							.text{
-								color:$text-color;
-							}
-						}
-						.placeholder{
-							font-size: $font-size-26;
-						}
-					}
-					.bot-resid{
-						line-height: 36rpx;
-						font-size: $font-size-26;
-						color: #666666;
-						margin-top: 24rpx;
-						color: $color-system;
-					}
-				}
-			}
-			.pay-record{
-				float: left;
-				background: #FFFFFF;
-				width: 702rpx;
-				height: auto;
-				padding: 0 24rpx;
-				margin-top: 112rpx;
-				.record-title{
-					width: 100%;
-					float: left;
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 80rpx;
-					height: 80rpx;
-					border-bottom: 1px solid #F8F8F8;
-				}
-				.record-list{
-					width: 100%;
-					height: auto;
-					float: left;
-					.list-none{
-						line-height: 80rpx;
-						font-size: $font-size-26;
-						color: #999999;
-						text-align: left;
-					}
-					.list-main{
-						height: auto;
-						display: flex;
-						flex-direction:column;
-						.list-item{
-							width: 100%;
-							height:80rpx;
-							display: flex;
-							flex: 1;
-							line-height: 80rpx;
-							font-size: $font-size-26;
-							color: $text-color;
-							.text{
-								&.row-1{
-									flex: 3;
-								}
-								&.row-2{
-									flex: 3;
-								}
-								&.row-3{
-									flex: 4;
-									text-align: right;
-									color: #999999;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		.pay-button{
-			width: 100%;
-			background-color: #FFFFFF;
-			position: fixed;
-			height: 88rpx;
-			padding-top: 24rpx;
-			bottom: 0;
-			.btn{
-				width: 702rpx;
-				height: 88rpx;
-				border-radius: 44rpx;
-				font-size: $font-size-28;
-				line-height: 88rpx;
-				color: #FFFFFF;
-				margin: 0 auto;
-				text-align: center;
-				background: $btn-confirm;
-			}
-		}
-	}
-	.freight-alert{
-		width: 100%;
-		height: 100%;
-		background: rgba(0,0,0,.5);
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 8888;
-		transition: all 0.4s;
-		&.none{
-			display: none;
-		}
-		&.show{
-			display: block;
-		}
-		.content{
-			width: 422rpx;
-			height:434rpx;
-			position: absolute;
-			background: $bg-color;
-			left: 0;
-			right: 0;
-			bottom: 0;
-			top: 0;
-			margin: auto;
-			padding: 20rpx 32rpx;
-			border-radius: 12rpx;
-			.title{
-				width: 100%;
-				height: 68rpx;
-				line-height: 68rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: center;
-				position: relative;
-				.icon-iconfontguanbi{
-					width: 68rpx;
-					height: 68rpx;
-					text-align: center;
-					line-height: 68rpx;
-					position: absolute;
-					right: 0;
-					top: 0;
-					font-size: $font-size-36;
-					color: #999999;
-				}
-			}
-			.text-content{
-				width: 100%;
-				height: auto;
-				.text{
-					padding: 20rpx 0 0 0;
-					line-height: 44rpx;
-					font-size: $font-size-26;
-					color:#666666;
-					text-align: justify;
-				}
-				.text-p{
-					width: 100%;
-					line-height: 44rpx;
-					font-size: $font-size-26;
-					color:$color-system;
-					text-align: left;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 1;
-					overflow: hidden;
-				} 
-				.text-b{
-					line-height: 44rpx;
-					font-size: $font-size-24;
-					color:#999999;
-					text-align: left;
-				}
-			}
-			.text-button{
-				width: 100%;
-				height: 88rpx;
-				line-height: 88rpx;
-				background: $btn-confirm;
-				font-size: $font-size-28;
-				border-radius: 44rpx;
-				color:#FFFFFF;
-				text-align: center;
-				margin-top: 20rpx;
-			}
-		}
-	}
-	.tui-prompt-title{
-		width: 100%;
-		height: 44rpx;
-		line-height: 44rpx;
-		padding: 20rpx 0;
-		text-align: center;
-		color: #333333;
-		border-bottom: 1px solid #E2E7EF;
-	}
-	.tui-prompt-text{
-		padding-top: 20rpx;
-		.tui-prompt-tips{
-			width: 100%;
-			line-height: 36rpx;
-			font-size: $font-size-22;
-			color: #F3B574;
-			text-align: justify;
-			margin-bottom: 24rpx;
-		}
-		.tui-prompt-item{
-			width: 100%;
-			line-height: 60rpx;
-			color: #333333;
-			font-size: $font-size-26;
-			.text{
-				font-weight: bold;
-			}
-			.copy{
-				height: 38rpx;
-				box-sizing: border-box;
-				padding: 0 24rpx;
-				text-align: center;
-				line-height: 36rpx;
-				display: inline-block;
-				.iconfont{
-					font-size: $font-size-40;
-					color: #666666;
-				}
-			}
-		}	
-	}
-	.tui-prompt-flex{
-		width: 100%;
-		height: auto;
-		margin-top: 20rpx;
-		box-sizing: border-box;
-		padding: 0 35rpx;
-		.btn{
-			width: 100%;
-			line-height: 84rpx;
-			font-size: $font-size-26;
-			text-align: center;
-			color: #FFFFFF;
-			border-radius: 44rpx;
-			margin: 20rpx 0;
-			&.btn-cancel{
-				background: #FFFFFF;
-				color: #333333;
-				border: 1px solid #979797;
-			}
-			&.btn-confirm{
-				background: $btn-confirm;
-			}
-		}
-		
-	}
-</style>

+ 0 - 723
pages/user/order/order-payment.vue

@@ -1,723 +0,0 @@
-<template>
-	<view class="container cashier" :style="{paddingTop:CustomBar+'px'}">
-		<cu-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></cu-custom>
-		<template v-if="isPaySwitch">
-			<view class="container-cash clearfix">
-				<view class="pay-bring-title">线上支付功能正在维护中,请使用线下转账方式支付订单</view>
-				<view class="container-wrapper">
-					<view class="pay-content">
-						<view class="pay-p"><text>待付金额</text></view>
-						<view class="pay-money">
-							<text class="pay-sm">¥</text>
-							<text class="pay-bg">{{payableAmount | NumFormat}}</text>
-						</view>
-					</view>
-				</view>
-				<view class="pay-bring-wrapper clearfix">
-					<view class="pay-bring-content">
-						<view class="text-v title">转账信息</view>
-						<view class="text-v">开户行:{{ bankInfo.bankOfDeposit }}</view>
-						<view class="text-v">银行卡号:{{ bankInfo.bankCardNo }}</view>
-						<view class="text-v">户名:{{ bankInfo.bankUserName }}</view>
-						<view class="text-v">订单标识:{{payOrderId}} <text class="clipboard" @click.stop="clipboard(payOrderId)">复制</text></view>
-						<view class="text-v title">特别注意</view>
-						<view class="text-v bg-color">请在转账备注中填写上述订单标识,方便财务快速审核,提高发货速度</view>
-					</view>
-				</view>
-			</view>		
-		</template>
-		<template v-else>
-			<view class="container-cash clearfix" v-if="onlinePay == 2">
-				<view class="pay-bring-title">{{payBringTitle}}</view>
-				<view class="container-wrapper">
-					<view class="pay-content">
-						<view class="pay-p"><text>待付金额</text></view>
-						<view class="pay-money">
-							<text class="pay-sm">¥</text>
-							<text class="pay-bg">{{payableAmount | NumFormat}}</text>
-						</view>
-					</view>
-				</view>
-				<view class="pay-bring-wrapper clearfix">
-					<view class="pay-bring-content">
-						<view class="text-v title">转账信息</view>
-						<view class="text-v">开户行:{{ bankInfo.bankOfDeposit }}</view>
-						<view class="text-v">银行卡号:{{ bankInfo.bankCardNo }}</view>
-						<view class="text-v">户名:{{ bankInfo.bankUserName }}</view>
-						<view class="text-v">订单标识:{{payOrderId}} <text class="clipboard" @click.stop="clipboard(payOrderId)">复制</text></view>
-						<view class="text-v title">特别注意</view>
-						<view class="text-v bg-color">请在转账备注中填写上述订单标识,方便财务快速审核,提高发货速度</view>
-					</view>
-				</view>
-			</view>		
-			<view class="container-cash clearfix" v-else>
-				<view class="container-wrapper">
-					<view class="pay-content">
-						<view class="pay-p"><text>待付金额</text></view>
-						<view class="pay-money">
-							<text class="pay-sm">¥</text>
-							<text class="pay-bg">{{payableAmount | NumFormat}}</text>
-						</view>
-					</view>
-					<view class="pay-check">
-						<view class="check-title"><view class="text">选择支付方式</view></view>
-						<view class="pay-checked">
-							<view  class="pay-item" :class="{ 'current' : tabCurrentIndex === 0}"   @click="tabClick(0)" v-if="weChatFlag" >
-								<view class="item-l">
-									<view class="item-icon"><text class="iconfont icon-weixinzhifu"></text></view>
-									<view class="item-texts"><text>微信支付</text></view>
-								</view>
-								<view class="item-r">
-									<text class="iconfont icon-duigou"></text>
-								</view>
-							</view>
-							<view v-if="B2BpayFlag === 1" class="pay-item" :class="{ 'current' : tabCurrentIndex === 1}"   @click="tabClick(1)" >
-								<view class="item-l">
-									<view class="item-icon"><text class="iconfont icon-qiyewangyinzhifu"></text></view>
-									<view class="item-text">
-										<view class="txt-p">企业网银支付</view>
-										<view class="txt-t">需要在电脑端汇款</view>
-									</view>
-								</view>
-								<view class="item-r">
-									<text class="iconfont icon-duigou"></text>
-								</view>
-							</view>
-							<view  class="pay-item" :class="{ 'current' : tabCurrentIndex === 2}"   @click="tabClick(2)" >
-								<view class="item-l">
-									<view class="item-icon"><text class="iconfont icon-gerenwangyinzhifu"></text></view>
-									<view class="item-text">
-										<view class="txt-p">个人网银支付</view>
-										<view class="txt-t">需要在电脑端汇款</view>
-									</view>
-								</view>
-								<view class="item-r">
-									<text class="iconfont icon-duigou"></text>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="pay-button">
-					<view class="btn" @click.stop="goOrderCash" :style="{'background':btnColor}">{{buttonText}}</view>
-				</view>
-				<view class="pay-statustext">
-					<view class="pay-statustext-inner">
-						<view class="pay-icon">
-							<text class="iconfont icon-gantanhao-yuankuang"></text>
-						</view>
-						<view class="pay-text">
-							<view>{{payStatusText}}</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</template>
-	</view>
-</template>
-
-<script>
-	const thorui = require('@/components/clipboard/clipboard.thorui.js')
-	import bankMixins from '@/mixins/bankMixins.js'
-	export default{
-		mixins: [bankMixins],
-		data(){
-			return{
-				orderId:0,
-				shopOrderId:0,
-				payableAmount:0,
-				emptyWrapperH: '',
-				bankNumber:'6230 2100 9221 2400',
-				payOrderId:'',
-				B2BpayFlag:1,
-				nvabarData: {		//顶部自定义导航
-					showCapsule:1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '选择支付方式',  // 导航栏 中间的标题
-					haveBack:false,
-					haveHome:true,
-					textLeft:this.$store.state.isIphone
-				},
-				isIphoneX:this.$store.state.isIphoneX,
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				tabCurrentIndex:0,
-				buttonText:'使用微信支付',
-				btnColor:'#09BB07',
-				onlinePay:1,
-				isPaySwitch:false,
-				optionType:'',
-				payBringTitle:'本次交易暂不支持线上支付,请使用线下转账方式付款',
-				payStatusText:'使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。',
-				pageType:'',
-                weChatFlag: true // 判断微信支付是否可用
-				
-			}
-		},
-		onLoad(option) {
-			this.initData(option)
-		},
-		filters: {
-			NumFormat(value) {
-				if(!value) return '0.00'
-				/*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
-				/*后来改成了 Number(value)|0,但是输入超过十一位就为负数了,具体见评论 */
-				var intPart = Number(value) - Number(value)%1 //获取整数部分(这里是windy93的方法)
-				var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断
-				var floatPart = '.00' //预定义小数部分
-				var value2Array = value.toString().split('.')
-				//=2表示数据有小数位
-				if(value2Array.length == 2) {
-					floatPart = value2Array[1].toString() //拿到小数部分
-
-					if(floatPart.length == 1) { //补0,实际上用不着
-						return intPartFormat + '.' + floatPart + '0'
-					} else {
-						return intPartFormat + '.' + floatPart
-					}
-				} else {
-					return intPartFormat + floatPart
-				}
-			}
-		},
-		methods:{
-			initData(e){
-				console.log(e)
-				this.shopOrderId = e.shopOrderId
-				this.payOrderId ='#'+e.shopOrderId+'#'
-				this.nvabarData.haveBack = true
-				this.nvabarData.haveHome = false
-				this.nvabarData.title = '选择支付方式'
-				this.PayOrderOnLineSwitch()
-				this.PayOrderCheckoutCounter(this.shopOrderId)
-				this.cmGetBankTypeLists()
-				switch(e.type){
-					case 'confirm':
-						this.nvabarData.haveBack = false
-						this.nvabarData.haveHome = true
-						this.nvabarData.title = '支付'
-						this.PayOrderOnLineSwitch()
-						this.PayOrderCheckoutCounter(this.shopOrderId)
-						break
-					case 'payfirm':
-						this.nvabarData.haveBack = true
-						this.nvabarData.haveHome = false
-						this.nvabarData.title = '选择支付方式'
-						this.PayOrderOnLineSwitch()
-						this.PayOrderCheckoutCounter(this.shopOrderId)
-						break
-					case 'onlinePay':
-						this.onlinePay = 2
-						this.isPaySwitch = false
-						this.nvabarData.haveBack = true
-						this.nvabarData.haveHome = false
-						this.nvabarData.title = '付款提示'
-						this.payableAmount = e.Amount
-						this.payBringTitle = '您已通过线下转账的方式支付了订单部分款项,剩余款项依然需要使用线下转账方式,给您带来的不便敬请谅解'
-						break
-				}
-			},
-			PayOrderOnLineSwitch(){
-				this.PayService.PayOrderOnLineSwitch().then(response=>{
-					if(response.data === 0 ){
-						this.isPaySwitch = true
-					}else{
-						this.isPaySwitch = false
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			PayOrderCheckoutCounter(shopOrderId){
-				this.PayService.PayOrderCheckoutShoporders({shopOrderId:shopOrderId}).then(response =>{
-					let data = response.data.shopOrder
-					this.B2BpayFlag = response.data.B2BpayFlag  //待付金额
-					this.payableAmount = data.obligation  //待付金额
-                    // 判断微信支付是否可用
-                    this.weChatFlag = response.data.weChatFlag === '1'
-                    if(!this.weChatFlag){
-						if(this.B2BpayFlag ===1){
-							this.tabCurrentIndex = 1
-							this.btnColor='#034582'
-							this.buttonText='使用企业网银支付'
-						}else{
-							this.tabCurrentIndex = 2
-							this.btnColor='#034582'
-							this.buttonText='使用个人网银支付'
-						}
-                    }
-					//判断线上线下显示
-					if(this.optionType == 'onlinePay'){
-						this.onlinePay = 2
-					}else{
-						this.onlinePay = response.data.onlinePay
-					}
-					if(data.obligation>0){
-						this.payStatusText = '使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。'
-					}else{
-						this.payStatusText = '使用任何一种线上支付方式支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。'
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			goOrderCash(){
-				if(this.onlinePay == 2){
-					this.$util.modal('','本次交易暂不支持线上支付开票,请使用线下转账的方式付款','知道了','',false,() =>{})
-					this.payStatusText = '使用微信和网银支付全部金额后,供应商会在24小时后发货(周末、节假日顺延)。若着急发货,可以选择使用线下转账进行付款。'
-				}else{
-					// 友盟埋点收集选择支付方式
-					if(process.env.NODE_ENV != 'development'){
-						this.$uma.trackEvent('Um_Event_ChooseWechatPay', {
-							Um_Key_PageName: '线上支付',
-							Um_Key_SourcePage: '选择支付',
-							Um_Key_PayName:`${this.buttonText}`,
-							Um_Key_PayOrderID:`${this.shopOrderId}`
-						})
-					}
-					switch(this.tabCurrentIndex){
-						case 0:
-							this.$api.navigateTo(`/pages/user/order/order-payhlb?type=0&shopOrderId=${this.shopOrderId}`)
-							break
-						case 1:
-							this.$api.navigateTo(`/pages/user/order/order-payhlb?type=1&shopOrderId=${this.shopOrderId}`)
-							break
-						case 2:
-							this.$api.navigateTo(`/pages/user/order/order-payhlb?type=2&shopOrderId=${this.shopOrderId}`)
-							break
-						case 3:
-							this.$api.navigateTo(`/pages/user/order/order-payhlb?type=3&shopOrderId=${this.shopOrderId}`)
-							break
-					}
-				}
-			},
-			tabClick(index) {//tab切换
-				this.tabCurrentIndex = index
-				switch(index){
-					case 0:
-						this.btnColor='#09BB07'
-						this.buttonText='使用微信支付'
-						break
-					case 1:
-						this.btnColor='#034582'
-						this.buttonText='使用企业网银支付'
-						break
-					case 2:
-						this.btnColor='#034582'
-						this.buttonText='使用个人网银支付'
-						break
-					case 3:
-						this.btnColor='#034582'
-						this.buttonText='使用大额银联转账'
-						break
-				}
-			},
-			hanldNavigateBack(){//页面返回
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			clipboard(data) {
-				thorui.getClipboardData(data, (res) => {
-					if (res) {
-						this.$util.msg('复制成功',2000,true,'success')
-					} else {
-						this.$util.msg('复制失败',2000,true,'none')
-					}
-				})
-			},
-		},
-		onShow() {
-
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: auto !important;
-		background-color: #FFFFFF;
-	}
-	.container-cash{
-		width: 100%;
-		padding-bottom: 250rpx;
-		.pay-bring-title{
-			box-sizing: border-box;
-			width: 100%;
-			min-height: 96rpx;
-			padding: 20rpx 24rpx;
-			line-height: 48rpx;
-			text-align: left;
-			font-size: $font-size-24;
-			background:rgba(255,234,221,1);
-			color: $color-system;
-		}
-		.container-wrapper{
-			width:662rpx;
-			margin: 0 auto;
-			.pay-title{
-				font-size: $font-size-32;
-				line-height: 44rpx;
-				text-align: center;
-				color: #2A86FF;
-				margin: 40rpx 0 0 0;
-				width: 100%;
-				float: left;
-			}
-			.pay-content{
-				width: 574rpx;
-				height: 136rpx;
-				padding: 52rpx 44rpx;
-				background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218ekFyAHoAzAALhR3oBpDI049.png) no-repeat;
-				background-size: cover;
-				float: left;
-				margin-top: 40rpx;
-				.pay-p{
-					font-size: $font-size-26;
-					color: #FFFFFF;
-					line-height: 36rpx;
-				}
-				.pay-money{
-					color: #FFFFFF;
-					line-height: 84rpx;
-					font-weight: bold;
-					.pay-sm{
-						font-size: $font-size-26;
-					}
-					.pay-bg{
-						font-size: 50rpx;
-					}
-				}
-			}
-			.pay-check{
-				width: 100%;
-				height: auto;
-				float: left;
-				.check-title{
-					width: 622rpx;
-					height: 40rpx;
-					line-height: 40rpx;
-					padding: 0 20rpx;
-					margin-top: 24rpx;
-					.text{
-						font-size: $font-size-28;
-						color: $text-color;
-						text-align: left;
-						float: left;
-					}
-					.icon{
-						width: 40rpx;
-						height: 40rpx;
-						border-radius: 50%;
-						line-height: 40rpx;
-						text-align: center;
-						color: #FFFFFF;
-						font-size: $font-size-24;
-						background: radial-gradient(circle,rgba(225,86,22,1) 0%,rgba(255,170,0,1) 67%,rgba(249,185,156,1) 100%);
-						float: right;
-					}
-				}
-				.pay-checked{
-					width: 100%;
-					height: auto;
-					.pay-item{
-						width: 618rpx;
-						height: 96rpx;
-						border: 2px solid #F5F5F5;
-						border-radius: 30rpx;
-						padding: 20rpx;
-						margin: 24rpx 0;
-						display: flex;
-						background-color: #FFFFFF;
-						&.current{
-							border-color:$color-system;
-							.item-r{
-								.icon-duigou{
-									color: $color-system;
-								}
-							}
-						}
-						.item-l{
-							flex: 8;
-							.item-icon{
-								width: 96rpx;
-								height: 96rpx;
-								float: left;
-								text-align: center;
-								line-height: 96rpx;
-								margin-right: 20rpx;
-								.iconfont{
-									font-size:88rpx;
-								}
-								.icon-weixinzhifu{
-									color: #09BB07;
-								}
-								.icon-gerenwangyinzhifu{
-									color: #034582;
-								}
-								.icon-daewangyinzhuanzhang{
-									font-size: 68rpx;
-									color: #034582;
-								}
-								.icon-qiyewangyinzhifu{
-									color: #004889;
-								}
-							}
-							.item-texts{
-								line-height: 96rpx;
-								font-size:$font-size-26;
-								color: $text-color;
-							}
-							.item-text{
-								line-height: 48rpx;
-								font-size:$font-size-26;
-								.txt-p{
-									color: $text-color;
-								}
-								.txt-t{
-									font-size: $font-size-24;
-									color: #999999;
-								}
-							}
-						}
-						.item-r{
-							flex: 2;
-							text-align: center;
-							line-height: 96rpx;
-							.icon-duigou{
-								font-size: 60rpx;
-								color: #FFFFFF;
-							}
-						}
-					}
-				}
-			}
-		}
-		.pay-button{
-			width: 100%;
-			float: left;
-			margin-top:30rpx;
-			.btn{
-				width: 662rpx;
-				height: 88rpx;
-				border-radius: 44rpx;
-				font-size: $font-size-28;
-				line-height: 88rpx;
-				color: #FFFFFF;
-				margin: 0 auto;
-				text-align: center;
-				background:$btn-confirm;
-			}
-		}
-		.pay-statustext{
-			width: 100%;
-			height: auto;
-			float: left;
-			margin-top:40rpx;
-			.pay-statustext-inner{
-				width: 662rpx;
-				height: 100%;
-				margin: 0 auto;
-				.pay-icon{
-					width: 62rpx;
-					height: 100%;
-					float: left;
-					text-align: center;
-					.iconfont{
-						color: #FF2A2A;
-						font-size:$font-size-36;
-						line-height: 20rpx;
-					}
-				}
-				.pay-text{
-					width: 560rpx;
-					height: 100%;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-24;
-					color: #FF2A2A;
-					text-align: justify;
-				}
-			}
-		}
-		.pay-bring{
-			width: 100%;
-			min-height: 190rpx;
-			padding: 24rpx 0;
-			background-color: #FFFFFF;
-			box-shadow:0px 3px 6px rgba(0,0,0,0.16);
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			border-radius: 30rpx 30rpx 0 0;
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.pay-bring-line{
-				display: flex;
-				align-items: center;
-				.line{
-					display: inline-block;
-					width: 48rpx;
-					height: 2px;
-					background-color: #707070;
-				}
-			}
-			.pay-bring-content{
-				width: 654rpx;
-				height: auto;
-				padding: 0 24rpx;
-				.text{
-					font-size: $font-size-24;
-					color: #666;
-					line-height: 44rpx;
-					text-align: center;
-					&.bg-color{
-						color: $color-system;
-						line-height: 88rpx;
-					}
-				}
-				.text-v{
-					font-size: $font-size-28;
-					color: #999;
-					line-height: 70rpx;
-					text-align: left;
-					&.title{
-						font-size: $font-size-26;
-						color: #666666;
-					}
-					&.bg-color{
-						line-height: 44rpx;
-						color: $color-system;
-					}
-					.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: 4rpx;
-						line-height: 36rpx;
-						display: inline-block;
-						margin-left: 10rpx;
-					}
-				}
-			}
-		}
-		.pay-bring-wrapper{
-			width: 100%;
-			padding: 24rpx 0;
-			background-color: #FFFFFF;
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.pay-bring-content{
-				width: 654rpx;
-				height: auto;
-				padding: 0 24rpx;
-				.text{
-					font-size: $font-size-24;
-					color: #666;
-					line-height: 44rpx;
-					text-align: center;
-					&.bg-color{
-						color: $color-system;
-						line-height: 88rpx;
-					}
-				}
-				.text-v{
-					font-size: $font-size-28;
-					color: #999;
-					line-height: 70rpx;
-					text-align: left;
-					&.title{
-						font-size: $font-size-28;
-						color: #666666;
-					}
-					&.bg-color{
-						line-height: 44rpx;
-						color: $color-system;
-					}
-					.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: 4rpx;
-						line-height: 36rpx;
-						display: inline-block;
-						margin-left: 10rpx;
-					}
-				}
-			}
-		}
-	}
-	.freight-alert{
-		width: 100%;
-		height: 100%;
-		background: rgba(0,0,0,.5);
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 8888;
-		transition: all 0.4s;
-		&.none{
-			display: none;
-		}
-		&.show{
-			display: block;
-		}
-		.content{
-			width: 422rpx;
-			height:434rpx;
-			position: absolute;
-			background: $bg-color;
-			left: 0;
-			right: 0;
-			bottom: 0;
-			top: 0;
-			margin: auto;
-			padding: 20rpx 32rpx;
-			border-radius: 12rpx;
-			.title{
-				width: 100%;
-				height: 68rpx;
-				line-height: 68rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: center;
-				position: relative;
-				.icon-iconfontguanbi{
-					width: 68rpx;
-					height: 68rpx;
-					text-align: center;
-					line-height: 68rpx;
-					position: absolute;
-					right: 0;
-					top: 0;
-					font-size: $font-size-36;
-					color: #999999;
-				}
-			}
-			.text-content{
-				width: 100%;
-				height: auto;
-				.text{
-					padding: 20rpx 0;
-					line-height: 44rpx;
-					font-size: $font-size-26;
-					color:#666666;
-					text-align: justify;
-				}
-				.text-p{
-					line-height: 44rpx;
-					font-size: $font-size-26;
-					color:$color-system;
-					text-align: left;
-				}
-			}
-		}
-	}
-</style>

+ 1 - 1
pages/user/order/order-sharedetails.vue

@@ -139,7 +139,7 @@ export default {
 						this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 					} else {
 						if (response.data.onlinePayFlag === 1) {
-							this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${orderId}`)
+							this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${orderId}`)
 						} else {
 							this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${orderId}`,)
 						}

+ 1 - 1
pages/user/order/order-sharelogin.vue

@@ -143,7 +143,7 @@ export default {
 						this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 					}else{
 						if (response.data.onlinePayFlag === 1) {// 只能线下
-							this.$api.navigateTo(`/pages/user/order/order-payunder?orderId=${orderId}`)
+							this.$api.navigateTo(`/pages/user/pay/card-under?orderId=${orderId}`)
 						} else {
 							this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${orderId}`)
 						}

+ 1 - 1
pages/user/pay/card-comfirm-sub.vue

@@ -154,7 +154,7 @@ export default {
 						orderId: this.orderId,
 						type: 'success'
 					}
-					this.$api.redirectTo(`/pages/user/order/order-success?data=${JSON.stringify({ data: linkData })}`)
+					this.$api.redirectTo(`/pages/user/pay/success?data=${JSON.stringify({ data: linkData })}`)
 				} else {
 					this.$api.redirectTo(`/pages/user/member/member`)
 				}

+ 0 - 1
pages/user/pay/card-list.vue

@@ -59,7 +59,6 @@
 export default {
 	data() {
 		return {
-			StaticUrl: this.$Static,
 			isIphoneX:this.$store.state.isIphoneX,
 			skeletonShow:true,
 			popupShow:true,

+ 1 - 1
pages/user/pay/card-order.vue

@@ -558,7 +558,7 @@ page {
 			height: 420rpx;
 			box-sizing: border-box;
 			padding: 64rpx 35rpx 0 35rpx;
-			background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218elN6AY6VeAAqw4n3n4nw186.png) no-repeat;
+			background: url(https://static.caimei365.com/app/mini-mcare/icon/icon_payment@2x.png) no-repeat;
 			background-size: cover;
 			float: left;
 			position: relative;

+ 0 - 1
pages/user/pay/card-sus-list.vue

@@ -36,7 +36,6 @@
 export default {
 	data() {
 		return {
-			StaticUrl: this.$Static,
 			isIphoneX:this.$store.state.isIphoneX,
 			skeletonShow:true,
 			current:1,

+ 1 - 1
pages/user/order/order-payunder.vue → pages/user/pay/card-under.vue

@@ -172,7 +172,7 @@
 				width: 574rpx;
 				height: 136rpx;
 				padding: 52rpx 44rpx;
-				background: url(https://static.caimei365.com/app/img/icon/icon-paybg.png) no-repeat;
+				background: url(https://static.caimei365.com/app/mini-mcare/icon/icon_payUnd@2x.png) no-repeat;
 				background-size: cover;
 				float: left;
 				margin-top: 40rpx;

+ 2 - 1
pages/user/pay/components/cm-record-popup.vue

@@ -25,7 +25,7 @@
 						<view class="list-main-none" v-else>
 							<image
 								class="none-image"
-								src="https://static.caimei365.com/app/img/bg/icon_echart_none@2x.png"
+								:src="staticUrl + 'icon_echart_none@2x.png'"
 								mode=""
 							></image>
 							<view class="none-text">暂无支付记录</view>
@@ -52,6 +52,7 @@ export default {
 	},
 	data() {
 		return {
+			staticUrl:this.global.staticUrl,
 			isIphoneX: this.$store.state.isIphoneX,
 			dataList: []
 		}

+ 1 - 2
pages/user/order/order-success-tips.vue → pages/user/pay/success-tips.vue

@@ -4,7 +4,7 @@
 		<view class="container-cash clearfix" :style="{marginTop:CustomBar+'px'}">
 			<view class="container-wrapper">
 				<view class="cash-icon">
-					<image class="icon-image" :src="StaticUrl + '/icon/icon-paywring@2x.png'" mode=""></image>
+					<image class="icon-image" :src="staticUrl + '/icon/icon-paywring@2x.png'" mode=""></image>
 				</view>
 				<view class="cash-text">
 					大额银联转账耗时较久,大致需要 <text class="tx">5-15分钟</text> 才能
@@ -37,7 +37,6 @@
 				payStatus:false,
 				amuntMoney:0,
 				successText:'本次支付失败',
-				StaticUrl: this.$Static,
 				isIphoneX:this.$store.state.isIphoneX,
 				CustomBar:this.CustomBar,// 顶部导航栏高度
 				

+ 0 - 0
pages/user/order/order-success.vue → pages/user/pay/success.vue


+ 2 - 2
services/config.env.js

@@ -4,8 +4,8 @@ if(process.env.NODE_ENV === 'development'){
     // URL_CONFIG = 'http://192.168.2.67:18002'	 //智捷联调地址
     // URL_CONFIG = 'http://192.168.2.68:18002'	 //涛涛联调地址
     // URL_CONFIG = 'http://192.168.2.102:18002' //志国联调地址
-    // URL_CONFIG = 'https://core-b.caimei365.com'
-    URL_CONFIG = 'https://core.caimei365.com'  
+    URL_CONFIG = 'https://core-b.caimei365.com'
+    // URL_CONFIG = 'https://core.caimei365.com'  
 }else{
     // 生产环境
     // URL_CONFIG = 'https://core-b.caimei365.com'

+ 1 - 1
utils/router.config.js

@@ -31,7 +31,7 @@ export const includeList = [
     {title:'机构收藏商品', url:'/pages/user/collection/collection',pageLabel:'机构收藏商品', pageType:32 },
     {title:'机构订单列表', url:'/pages/user/order/order-list',pageLabel:'机构订单列表', pageType:33 },
     {title:'机构订单详情', url:'/pages/user/order/order-details',pageLabel:'机构订单详情', pageType:34 },
-    {title:'线下支付', url:'/pages/user/order/order-payunder',pageLabel:'线下支付', pageType:36 },
+    {title:'线下支付', url:'/pages/user/pay/card-under',pageLabel:'线下支付', pageType:36 },
     {title:'线上支付', url:'/pages/user/order/order-pay-list',pageLabel:'线上支付', pageType:37 },
     {title:'线上收银台', url:'/pages/user/order/order-payment',pageLabel:'线上收银台', pageType:38 },
     {title:'机构收货地址管理', url:'/pages/user/address/address',pageLabel:'机构收货地址管理', pageType:39 },

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels