浏览代码

Merge branch 'developer' of http://git.caimei365.com/caimei-repository/caimei-applets-caimei into developerX

xiebaomin 2 年之前
父节点
当前提交
49014a889d
共有 100 个文件被更改,包括 3299 次插入802 次删除
  1. 1 1
      common/config/caimeiApi.js
  2. 5 0
      common/config/common.js
  3. 1 1
      common/css/common.scss
  4. 51 9
      common/css/iconfont.scss
  5. 2 2
      components/cm-module/cart-components/cm-unit-popup.vue
  6. 8 8
      components/cm-module/cart-components/index.vue
  7. 1 1
      components/cm-module/homeIndex/banner.vue
  8. 3 3
      components/cm-module/homeIndex/certificate.vue
  9. 31 27
      components/cm-module/homeIndex/navbars.vue
  10. 1 1
      components/cm-module/homeIndex/notice.vue
  11. 1 1
      components/cm-module/homeIndex/pageSpecial.vue
  12. 1 1
      components/cm-module/orderDetails/goodsList.vue
  13. 2 2
      components/cm-module/orderDetails/orderButton.vue
  14. 47 39
      components/cm-module/orderDetails/paymentRecord.vue
  15. 1 1
      components/cm-module/pageTemplate/templateH.vue
  16. 2 2
      components/cm-module/productDetails/cm-unit-popup.vue
  17. 1 1
      components/cm-module/scrollTop/scrollTop.vue
  18. 368 395
      components/thorui/tui-modal/tui-modal.vue
  19. 2 2
      components/uni-calendar/uni-calendar.vue
  20. 1 1
      components/uni-keyinput/uni-keyinput.vue
  21. 2 2
      components/uni-search/cat-search.vue
  22. 65 3
      pages.json
  23. 6 6
      pages/goods/components/cm-product-doc.vue
  24. 1 1
      pages/goods/components/cm-product-modal.vue
  25. 3 3
      pages/goods/components/cm-unit-popup.vue
  26. 4 4
      pages/goods/components/cm-unit-price.vue
  27. 3 3
      pages/goods/components/cm-unit-suppor-popup.vue
  28. 4 4
      pages/goods/good-hot.vue
  29. 11 11
      pages/goods/goods-classify.vue
  30. 4 4
      pages/goods/goods-doc-list.vue
  31. 3 3
      pages/goods/goods-supporting.vue
  32. 4 5
      pages/goods/product.vue
  33. 1 1
      pages/h5/activity/activity-list.vue
  34. 1 1
      pages/h5/activity/components/template-live/components/swiper-temp1.vue
  35. 1 1
      pages/h5/activity/components/template-live/components/swiper-temp2.vue
  36. 1 1
      pages/h5/activity/components/template-picture/templateA.vue
  37. 1 1
      pages/h5/activity/components/template-picture/templateB.vue
  38. 1 1
      pages/h5/activity/components/template-picture/templateE.vue
  39. 1 1
      pages/login/apply-supplier.vue
  40. 3 3
      pages/login/apply.vue
  41. 1 1
      pages/login/bindOperator.vue
  42. 1 1
      pages/login/binding.vue
  43. 2 2
      pages/login/information.vue
  44. 8 4
      pages/login/login.vue
  45. 4 4
      pages/login/logincode.vue
  46. 1 1
      pages/login/register-supplier.vue
  47. 3 3
      pages/login/register.vue
  48. 3 3
      pages/search/components/article-list.vue
  49. 1 1
      pages/search/components/encyclopedia-list.vue
  50. 6 6
      pages/search/components/product-filter.vue
  51. 3 3
      pages/search/components/product-full-list.vue
  52. 3 3
      pages/search/components/product-list.vue
  53. 1 1
      pages/search/components/search-header.vue
  54. 4 4
      pages/search/search-library.vue
  55. 17 17
      pages/search/search.vue
  56. 2 2
      pages/search/search_new.vue
  57. 6 6
      pages/second/form/form-presale.vue
  58. 6 6
      pages/second/form/form-seller.vue
  59. 6 6
      pages/second/form/form.vue
  60. 1 1
      pages/second/form/introduce.vue
  61. 2 2
      pages/second/product/product-details.vue
  62. 4 4
      pages/second/product/product-list.vue
  63. 4 4
      pages/seller/cart/cart.vue
  64. 1 1
      pages/seller/cart/components/cm-unit-cart-popup.vue
  65. 1 1
      pages/seller/cart/components/cm-unit-popup.vue
  66. 3 3
      pages/seller/cart/components/cm-unit-suppor-popup.vue
  67. 5 5
      pages/seller/cart/components/immediatelyList.vue
  68. 4 4
      pages/seller/cart/components/secondHand.vue
  69. 1 1
      pages/seller/cart/coupon-share.vue
  70. 1 1
      pages/seller/cart/second.vue
  71. 257 0
      pages/seller/club/club-detail.vue
  72. 52 38
      pages/seller/club/club-info.vue
  73. 1 1
      pages/seller/club/club-list.vue
  74. 451 0
      pages/seller/club/club-portrait.vue
  75. 288 0
      pages/seller/club/club-visit-detail.vue
  76. 216 0
      pages/seller/club/club-visit.vue
  77. 202 0
      pages/seller/club/components/echart-contact.vue
  78. 104 0
      pages/seller/club/components/echart-info.vue
  79. 206 0
      pages/seller/club/components/echart-keyword.vue
  80. 257 0
      pages/seller/club/components/echart-order.vue
  81. 190 0
      pages/seller/club/components/echart-service.vue
  82. 56 0
      pages/seller/club/components/mixins/chart.mixin.js
  83. 225 59
      pages/seller/club/list.vue
  84. 2 2
      pages/seller/components/cm-clubmodal.vue
  85. 2 2
      pages/seller/components/cm-clubpopup.vue
  86. 1 1
      pages/seller/components/cm-goods-popup.vue
  87. 1 1
      pages/seller/components/cm-refereepopup.vue
  88. 3 3
      pages/seller/components/cm-report-popup.vue
  89. 2 2
      pages/seller/components/cm-screen-drawer.vue
  90. 2 2
      pages/seller/components/cm-seller-popup.vue
  91. 2 2
      pages/seller/login/apply.vue
  92. 2 2
      pages/seller/login/information.vue
  93. 8 15
      pages/seller/login/login.vue
  94. 4 4
      pages/seller/login/register-member.vue
  95. 1 1
      pages/seller/login/register.vue
  96. 1 1
      pages/seller/order/components/sellerClubVisible.vue
  97. 2 2
      pages/seller/order/components/sellerDetaileButton.vue
  98. 1 1
      pages/seller/order/components/sellerFreight.vue
  99. 3 3
      pages/seller/order/components/sellerInvoice.vue
  100. 2 2
      pages/seller/order/components/sellerOrderButton.vue

+ 1 - 1
common/config/caimeiApi.js

@@ -271,7 +271,7 @@ const caimeiApi = {
             const typeMap = {
                 1:`/pages/goods/goods-instrument?linkId=${linkId}`,
                 2:`/pages/goods/instrument-details?id=${linkId}`,
-                4:`/pages/h5/activity/activity?id=${linkId}`,
+                4:`/pages/h5/activity/activity?link=${linkHref}&linkId=${linkId}`,
                 5:`/pages/goods/product?id=${linkId}`, 
                 7:`/pages/supplier/user/my-shop?shopId=${linkId}`,
                 8:'/pages/h5/activity/activity-list',

+ 5 - 0
common/config/common.js

@@ -20,6 +20,10 @@ const utils = {
         //是否为手机号
         return RegExp(/^1[1-9][0-9]{9}$/).test(value)
     },
+    isIdCard: function(value) {
+        //是否为手机号
+        return RegExp(/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/).test(value)
+    },
     isFloat: function(value) {
         //金额,只允许保留两位小数
         return RegExp(/^([0-9]*[.]?[0-9])[0-9]{0,1}$/).test(value)
@@ -185,6 +189,7 @@ module.exports = {
     isMobile: utils.isMobile,
     isEmail: utils.isEmail,
     isWebsite:utils.isWebsite,
+    isIdCard:utils.isIdCard,
     isFloat: utils.isFloat,
     isNum: utils.isNum,
     isEmailCode:utils.isEmailCode,

+ 1 - 1
common/css/common.scss

@@ -369,7 +369,7 @@ button::after{
 	display: inline-block;
 	padding:0 4rpx;
 	font-size: 18rpx !important;
-	border: 1px solid #E15616;
+	border: 1px solid #FF5B00;
 	float: left;
 	margin-right: 8rpx;
 }

+ 51 - 9
common/css/iconfont.scss

@@ -1,14 +1,8 @@
-// @font-face {
-//   font-family: "iconfont"; /* Project id 1519039 */
-//   src: url('/common/fonts/iconfont.woff2?t=1668502271099') format('woff2'),
-//        url('/common/fonts/iconfont.woff?t=1668502271099') format('woff'),
-//        url('/common/fonts/iconfont.ttf?t=1668502271099') format('truetype');
-// }
 @font-face {
   font-family: "iconfont"; /* Project id 1519039 */
-  src: url('//at.alicdn.com/t/c/font_1519039_ow9hswsn3r.woff2?t=1671427765583') format('woff2'),
-       url('//at.alicdn.com/t/c/font_1519039_ow9hswsn3r.woff?t=1671427765583') format('woff'),
-       url('//at.alicdn.com/t/c/font_1519039_ow9hswsn3r.ttf?t=1671427765583') format('truetype');
+  src: url('//at.alicdn.com/t/c/font_1519039_dfhum6nnq6r.woff2?t=1680766548825') format('woff2'),
+       url('//at.alicdn.com/t/c/font_1519039_dfhum6nnq6r.woff?t=1680766548825') format('woff'),
+       url('//at.alicdn.com/t/c/font_1519039_dfhum6nnq6r.ttf?t=1680766548825') format('truetype');
 }
 
 .iconfont {
@@ -19,6 +13,54 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-yixuanze3:before {
+  content: "\e6d1";
+}
+
+.icon-xiaoshou:before {
+  content: "\e74b";
+}
+
+.icon-fangwenjilu:before {
+  content: "\e752";
+}
+
+.icon-zixunjilu:before {
+  content: "\e753";
+}
+
+.icon-sousuoguanjianci:before {
+  content: "\e74e";
+}
+
+.icon-gongsi:before {
+  content: "\e74f";
+}
+
+.icon-dingdan:before {
+  content: "\e750";
+}
+
+.icon-rili:before {
+  content: "\e751";
+}
+
+.icon-xiugaiziliao:before {
+  content: "\e74d";
+}
+
+.icon-shangcheng:before {
+  content: "\e749";
+}
+
+.icon-tianxie:before {
+  content: "\e74a";
+}
+
+.icon-jigouhuaxiang:before {
+  content: "\e74c";
+}
+
 .icon-duanxin:before {
   content: "\e747";
 }

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

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

+ 8 - 8
components/cm-module/cart-components/index.vue

@@ -339,8 +339,8 @@
 						:currentTab="currentTab > 2 ? 0 : currentTab"
 						@change="couponChange"
 						:itemWidth="100 / navbar.length + '%'"
-						selectedColor="#e15616"
-						sliderBgColor="#e15616"
+						selectedColor="#FF5B00"
+						sliderBgColor="#FF5B00"
 					>
 					</coupon-tabs>
 				</view>
@@ -602,7 +602,7 @@ export default {
 					text: '去升级',
 					customStyle: {
 						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #E15616 100%)'
+						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
 					},
 					plain: false
 				}
@@ -1582,8 +1582,8 @@ page {
 		line-height: 50rpx;
 		border-radius: 30rpx;
 		background: #ffffff;
-		border: 1px solid #e15616;
-		color: #e15616;
+		border: 1px solid #FF5B00;
+		color: #FF5B00;
 		float: right;
 		text-align: center;
 		&.none {
@@ -1661,7 +1661,7 @@ page {
 			float: right;
 			line-height: 80rpx;
 			font-size: $font-size-30;
-			color: #e15616;
+			color: #FF5B00;
 		}
 		.floor-item-act {
 			width: 120rpx;
@@ -1824,8 +1824,8 @@ page {
 				line-height: 40rpx;
 				font-size: 24rpx;
 				box-sizing: border-box;
-				border: 1px solid #e15616;
-				color: #e15616;
+				border: 1px solid #FF5B00;
+				color: #FF5B00;
 				float: left;
 				border-radius: 20rpx;
 				margin-left: 16rpx;

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

@@ -71,7 +71,7 @@
 		width: 100%;
 		height: 200rpx;
 		padding-top:100rpx;
-		background:#F28F31;
+		background:#FF7F00;
 		position: relative;
 		background-size: cover;
 		margin-bottom: 170rpx;

+ 3 - 3
components/cm-module/homeIndex/certificate.vue

@@ -76,9 +76,9 @@
 			background-color: #f7f7f7;
 			padding: 0 20rpx;
 			.image {
-				width: 54rpx;
-				height: 46rpx;
-				margin-right: 16rpx;
+				width: 70rpx;
+				height: 68rpx;
+				margin-right: 6rpx;
 			}
 			.text {
 				font-size: 20rpx;

+ 31 - 27
components/cm-module/homeIndex/navbars.vue

@@ -36,34 +36,38 @@
 				this.navList = list
 			},
 			NavToDetailPage(pros,index) {//跳转
-				/**
-				 * 页面跳转类型
-				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
-				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
-				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
-				 * 23、新活动专题页面
-				 **/
-				console.log(pros)
-				if(pros.linkType){
-					 const typeMap = {
-						1:`/pages/goods/goods-instrument?linkId=${pros.linkParam.id}&title=${pros.name}`,
-						3:'/pages/h5/article/path-live',
-						4:'/pages/h5/other/brands',
-						10:'/pages/second/product/product-list',
-						14:'/pages/h5/other/brand',
-						15:'/pages/h5/other/repair',
-						18:`/pages/h5/article/path?link=${pros.link}`,
-						20:`/pages/goods/good-floor?linkId=${pros.linkParam.id}&title=${pros.name}`,
-						21:'/pages/h5/activity/meobohui',
-						22:`/pages/goods/good-floor-temp?linkId=${pros.linkParam.id}&title=${pros.name}`,
-						23:`/pages/h5/activity/activity-topic?linkId=${pros.linkParam.id}`,  //活动专题页面
-                        25:'/pages/goods/goods-doc-list' ,//美业资料
-                        28:`/pages/h5/article/path?link=${pros.link}`, // 采美认证通
-						29:'/pages/user/coupon/coupon-collection',//领券中心
-						
+				if(index === 3){
+					let linkPath = 'https://static.caimei365.com/app/caimei-activity-h5/html/2023/activity_02.html'
+					this.$api.navigateTo(`/pages/h5/activity/activity?link=${linkPath}&linkId=382`)
+				}else{
+					/**
+					 * 页面跳转类型
+					 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
+					 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
+					 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
+					 * 23、新活动专题页面
+					 **/
+					 if(pros.linkType){
+					 	 const typeMap = {
+					 		1:`/pages/goods/goods-instrument?linkId=${pros.linkParam.id}&title=${pros.name}`,
+					 		3:'/pages/h5/article/path-live',
+					 		4:'/pages/h5/other/brands',
+					 		10:'/pages/second/product/product-list',
+					 		14:'/pages/h5/other/brand',
+					 		15:'/pages/h5/other/repair',
+					 		18:`/pages/h5/article/path?link=${pros.link}`,
+					 		20:`/pages/goods/good-floor?linkId=${pros.linkParam.id}&title=${pros.name}`,
+					 		21:'/pages/h5/activity/meobohui',
+					 		22:`/pages/goods/good-floor-temp?linkId=${pros.linkParam.id}&title=${pros.name}`,
+					 		23:`/pages/h5/activity/activity-topic?linkId=${pros.linkParam.id}`,  //活动专题页面
+					         25:'/pages/goods/goods-doc-list' ,//美业资料
+					         28:`/pages/h5/article/path?link=${pros.link}`, // 采美认证通
+					 		29:'/pages/user/coupon/coupon-collection',//领券中心
+					 		
+					 	 }
+					 	const url = typeMap[pros.linkType]
+					 	this.$api.navigateTo(url)
 					 }
-					const url = typeMap[pros.linkType]
-					this.$api.navigateTo(url)
 				}
 			}
 		}

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

@@ -79,7 +79,7 @@
 		.tui-roll-label{
 			font-weight: bold;
 			font-size: $font-size-26;
-			color: #E15616;
+			color: #FF5B00;
 		}
 		.tui-roll-more{
 			font-size: $font-size-24;

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

@@ -192,7 +192,7 @@ export default {
 				const typeMap = {
 					1: `/pages/goods/goods-instrument?linkId=${pros.linkParam.id}&title=${pros.name}`,
 					2: `/pages/goods/instrument-details?id=${pros.linkParam.id}`,
-					4: `/pages/h5/activity/activity?title=${pros.title}&link=${pros.appletsLink}`,
+					4:`/pages/h5/activity/activity?link=${pros.appletsLink}&linkId=${pros.linkParam.id}`,
 					5: `/pages/goods/product?id=${pros.linkParam.id}`,
 					// 7:`/pages/supplier/user/my-shop?shopId=${pros.linkParam.id}`,
 					8: '/pages/h5/activity/activity-list',

+ 1 - 1
components/cm-module/orderDetails/goodsList.vue

@@ -253,7 +253,7 @@ export default {
                     display: inline-block;
                     padding:0 6rpx;
                     font-size: $font-size-20;
-                    border: 1px solid #E15616;
+                    border: 1px solid #FF5B00;
                     float: left;
                 }
             }

+ 2 - 2
components/cm-module/orderDetails/orderButton.vue

@@ -207,7 +207,7 @@
 					width: 160rpx;
 					height: 34rpx;
 					padding: 10rpx 10rpx;
-					background:#E15616;
+					background:#FF5B00;
 					border-radius: 8rpx;
 					position: absolute;
 					color: #FFFFFF;
@@ -220,7 +220,7 @@
 						content: "";
 						width: 25rpx;
 						height: 25rpx;
-						background:#E15616;
+						background:#FF5B00;
 						position: absolute;
 						bottom: -8rpx;
 						left: 30rpx;

+ 47 - 39
components/cm-module/orderDetails/paymentRecord.vue

@@ -12,10 +12,14 @@
 			 	<text>暂无支付记录</text>
 			</view>
 			<view class="record-list" v-else>
-				<view class="record-item" v-for="(item,index) in discernReceiptList" :key="index">
-					<view class="item-time tt">{{ item.receiptDate }}</view>
-					<view class="item-time pp">{{ item.payTypeStr }}</view>
-					<view class="item-time mm">¥{{item.associateAmount.toFixed(2)}}</view>
+				<view class="record-item" v-for="(record,index) in discernReceiptList" :key="index">
+					<view class="record-item-t">
+						<view class="item-time mm">¥{{record.associateAmount.toFixed(2)}}</view>
+					</view>
+					<view class="record-item-t">
+						<view class="item-time tt">{{ record.receiptDate }}</view>
+						<view class="item-time pp">{{ payTypeText(record) }}</view>
+					</view>	
 				</view>
 			</view>
 		</view>
@@ -56,23 +60,21 @@
 					this.isEmpty = true
 				}
 			},
-			payTypeText (state){//处理支付记录文字
-				let stateText = '',
-					stateTextObject={
-						12:'企业网银',
-						13:'微信支付',
-						14:'支付宝',
-						15:'微信支付',
-						16:'余额抵扣',
-						18:'大额银联转账',
-					}
-				Object.keys(stateTextObject).forEach(key => {
-					if(key == state){
-						stateText = stateTextObject[key]
-					}
-				})
-				return stateText
-			},
+			payTypeText(record) {
+				//处理支付记录文字
+				const map = {
+					12: '企业网银',
+					13: '微信支付',
+					14: '支付宝',
+					15: '微信支付',
+					16: '余额抵扣',
+				}
+				if(record.payType === 28 || record.payType === 29 ){
+					return record.quickPayStr
+				}else{
+					return map[record.payType]
+				}
+			}
 		}
 	}
 </script>
@@ -120,28 +122,34 @@
 				float: left;
 				margin-top: 12rpx;
 				.record-item{
-					height: 40rpx;
+					height: auto;
 					width: 100%;
 					padding: 12rpx 0;
 					font-size: $font-size-28;
-					line-height: 40rpx;
 					float: left;
-					display: flex;
-					justify-content: center;
-					flex-direction: row;
-					.item-time{
-						&.mm{
-							flex: 3;
-							color: $text-color;
-							text-align: right;
-						}
-						&.pp{
-							flex: 3;
-							color: $text-color;
-						}
-						&.tt{
-							flex: 4;
-							color: #999999;
+					.record-item-t{
+						width: 100%;
+						height: 40rpx;
+						display: flex;
+						justify-content: center;
+						flex-direction: row;
+						.item-time{
+							line-height: 48rpx;
+							&.mm{
+								flex: 1;
+								color: $text-color;
+								text-align: left;
+							}
+							&.pp{
+								flex: 5;
+								color: #999999;
+								text-align: right;
+							}
+							&.tt{
+								flex: 5;
+								color: #999999;
+								text-align: left;
+							}
 						}
 					}
 				}

+ 1 - 1
components/cm-module/pageTemplate/templateH.vue

@@ -354,7 +354,7 @@ export default {
 			width: 32rpx;
 			height: 8rpx;
 			border-radius: 4rpx;
-			background-color: #e15616;
+			background-color: #FF5B00;
 			transition: all 0.4s;
 		}
 	}

+ 2 - 2
components/cm-module/productDetails/cm-unit-popup.vue

@@ -407,7 +407,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {
@@ -513,7 +513,7 @@ export default {
 			box-sizing: border-box;
 			&.cancel {
 				background: #ffe6dc;
-				color: #e15616;
+				color: #FF5B00;
 				&.disabled {
 					background-color: #e1e1e1;
 					color: #ffffff;

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

@@ -80,7 +80,7 @@
 				}
 			}
 			&.msg{
-				background-image: linear-gradient(0deg, #f28e31 0%, #e15616 100%);
+				background-image: linear-gradient(0deg, #f28e31 0%, #FF5B00 100%);
 			}
 			&.top{
 				background-color: rgba(0,0,0,0.4);

+ 368 - 395
components/thorui/tui-modal/tui-modal.vue

@@ -1,403 +1,376 @@
 <template>
-    <view @touchmove.stop.prevent>
-        <view
-            class="tui-modal-box"
-            :style="{ width: width, padding: padding, borderRadius: radius }"
-            :class="[fadeIn || show ? 'tui-modal-normal' : 'tui-modal-scale', show ? 'tui-modal-show' : '']"
-        >
-            <view v-if="!custom">
-                <view class="tui-modal-title" v-if="title">{{ title }}</view>
-                <view
-                    class="tui-modal-content"
-                    :class="[title ? '' : 'tui-mtop']"
-                    :style="{ color: color, fontSize: size + 'rpx' }"
-                >
-                    {{ content }}
-                </view>
-                <view class="tui-modalBtn-box" :class="[button.length != 2 ? 'tui-flex-column' : '']">
-                    <block v-for="(item, index) in button" :key="index">
+	<view @touchmove.stop.prevent>
+		<view class="tui-modal-box" :style="{width:width,padding:padding,borderRadius:radius}" :class="[(fadeIn || show)?'tui-modal-normal':'tui-modal-scale',show?'tui-modal-show':'']">
+			<view v-if="!custom">
+				<view class="tui-modal-title" v-if="title">{{title}}</view>
+				<view class="tui-modal-content" :class="[title?'':'tui-mtop']" :style="{color:color,fontSize:size+'rpx'}">{{content}}</view>
+				<view class="tui-modalBtn-box" :class="[button.length!=2?'tui-flex-column':'']">
+					<block v-for="(item,index) in button" :key="index">
                         <!-- :style="{background: item.customStyle.bgColor ? item.customStyle.bgColor : '',color: item.customStyle.color ? item.customStyle.color : ''}" -->
-                        <button
-                            class="tui-modal-btn"
-                            :class="[
-                                !item.customStyle && 'tui-' + (item.type || 'primary') + (item.plain ? '-outline' : ''),
-                                button.length != 2 ? 'tui-btn-width' : '',
-                                button.length > 2 ? 'tui-mbtm' : '',
-                                shape == 'circle' ? 'tui-circle-btn' : ''
-                            ]"
-                            :style="{
-                                background: item.customStyle.bgColor ? item.customStyle.bgColor : '',
-                                color: item.customStyle.color ? item.customStyle.color : '',
-                                fontSize: item.customStyle.fontSize ? item.customStyle.fontSize : ''
-                            }"
-                            :hover-class="
-                                !item.customStyle &&
-                                    'tui-' + (item.plain ? 'outline' : item.type || 'primary') + '-hover'
-                            "
-                            :data-index="index"
-                            @tap="handleClick"
-                        >
-                            {{ item.text || '确定' }}
-                        </button>
-                    </block>
-                </view>
-            </view>
-            <view v-else><slot></slot></view>
-        </view>
-        <view class="tui-modal-mask" :class="[show ? 'tui-mask-show' : '']" @tap="handleClickCancel"></view>
-    </view>
+						<button class="tui-modal-btn" :class="[(!item.customStyle && ('tui-'+(item.type || 'primary')+(item.plain?'-outline':''))),button.length!=2?'tui-btn-width':'',button.length>2?'tui-mbtm':'',shape=='circle'?'tui-circle-btn':'']"
+                         :style="{background: item.customStyle.bgColor ? item.customStyle.bgColor : '',color: item.customStyle.color ? item.customStyle.color : '',fontSize: item.customStyle.fontSize ? item.customStyle.fontSize : ''}"
+						 :hover-class="!item.customStyle && ('tui-'+(item.plain?'outline':(item.type || 'primary'))+'-hover')"  :data-index="index" @tap="handleClick">{{item.text || "确定"}}</button>
+					</block>
+				</view> 
+			</view>
+			<view v-else>
+				<slot></slot>
+			</view>
+		</view>
+		<view class="tui-modal-mask" :class="[show?'tui-mask-show':'']" @tap="handleClickCancel"></view>
+
+	</view>
 </template>
 
 <script>
-export default {
-    name: 'tuiModal',
-    props: {
-        //是否显示
-        show: {
-            type: Boolean,
-            default: false
-        },
-        width: {
-            type: String,
-            default: '84%'
-        },
-        padding: {
-            type: String,
-            default: '40rpx 64rpx'
-        },
-        radius: {
-            type: String,
-            default: '24rpx'
-        },
-        //标题
-        title: {
-            type: String,
-            default: ''
-        },
-        //内容
-        content: {
-            type: String,
-            default: ''
-        },
-        //内容字体颜色
-        color: {
-            type: String,
-            default: '#999'
-        },
-        //内容字体大小 rpx
-        size: {
-            type: Number,
-            default: 28
-        },
-        //形状 circle, square
-        shape: {
-            type: String,
-            default: 'square'
-        },
-        button: {
-            type: Array,
-            default: function() {
-                return [
-                    {
-                        text: '取消',
-                        type: 'danger',
-                        plain: true //是否空心
-                    },
-                    {
-                        text: '确定',
-                        type: 'danger',
-                        plain: false
-                    }
-                ]
-            }
-        },
-        //点击遮罩 是否可关闭
-        maskClosable: {
-            type: Boolean,
-            default: true
-        },
-        //淡入效果,自定义弹框插入input输入框时传true
-        fadeIn: {
-            type: Boolean,
-            default: false
-        },
-        //自定义弹窗内容
-        custom: {
-            type: Boolean,
-            default: false
-        }
-    },
-    data() {
-        return {}
-    },
-    methods: {
-        handleClick(e) {
-            if (!this.show) return
-            const dataset = e.currentTarget.dataset
-            this.$emit('click', {
-                index: Number(dataset.index)
-            })
-        },
-        handleClickCancel() {
-            if (!this.maskClosable) return
-            this.$emit('cancel')
-        }
-    }
-}
+	export default {
+		name: 'tuiModal',
+		props: {
+			//是否显示
+			show: {
+				type: Boolean,
+				default: false
+			},
+			width: {
+				type: String,
+				default: '84%'
+			},
+			padding: {
+				type: String,
+				default: '40rpx 64rpx'
+			},
+			radius: {
+				type: String,
+				default: '24rpx'
+			},
+			//标题
+			title: {
+				type: String,
+				default: ''
+			},
+			//内容
+			content: {
+				type: String,
+				default: ''
+			},
+			//内容字体颜色
+			color: {
+				type: String,
+				default: '#999'
+			},
+			//内容字体大小 rpx
+			size: {
+				type: Number,
+				default: 28
+			},
+			//形状 circle, square
+			shape: {
+				type: String,
+				default: 'square'
+			},
+			button: {
+				type: Array,
+				default: function() {
+					return [{
+						text: '取消',
+						type: 'danger',
+						plain: true //是否空心
+					}, {
+						text: '确定',
+						type: 'danger',
+						plain: false
+					}]
+				}
+			},
+			//点击遮罩 是否可关闭
+			maskClosable: {
+				type: Boolean,
+				default: true
+			},
+			//淡入效果,自定义弹框插入input输入框时传true
+			fadeIn: {
+				type: Boolean,
+				default: false
+			},
+			//自定义弹窗内容
+			custom: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+
+			}
+		},
+		methods: {
+			handleClick(e) {
+				if (!this.show) return
+				const dataset = e.currentTarget.dataset
+				this.$emit('click', {
+					index: Number(dataset.index)
+				})
+			},
+			handleClickCancel() {
+				if (!this.maskClosable) return
+				this.$emit('cancel')
+			}
+		}
+	}
 </script>
 
 <style scoped>
-.tui-modal-box {
-    position: fixed;
-    left: 50%;
-    top: 50%;
-    margin: auto;
-    background-color: #fff;
-    z-index: 9999998;
-    transition: all 0.3s ease-in-out;
-    opacity: 0;
-    box-sizing: border-box;
-    visibility: hidden;
-}
-
-.tui-modal-scale {
-    transform: translate(-50%, -50%) scale(0);
-}
-
-.tui-modal-normal {
-    transform: translate(-50%, -50%) scale(1);
-}
-
-.tui-modal-show {
-    opacity: 1;
-    visibility: visible;
-}
-
-.tui-modal-mask {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background-color: rgba(0, 0, 0, 0.6);
-    z-index: 9999996;
-    transition: all 0.3s ease-in-out;
-    opacity: 0;
-    visibility: hidden;
-}
-
-.tui-mask-show {
-    visibility: visible;
-    opacity: 1;
-}
-
-.tui-modal-title {
-    text-align: center;
-    font-size: 34rpx;
-    color: #333;
-    padding-top: 20rpx;
-    font-weight: bold;
-}
-
-.tui-modal-content {
-    text-align: center;
-    color: #999;
-    font-size: 28rpx;
-    padding-top: 20rpx;
-    padding-bottom: 60rpx;
-}
-
-.tui-mtop {
-    margin-top: 30rpx;
-}
-
-.tui-mbtm {
-    margin-bottom: 30rpx;
-}
-
-.tui-modalBtn-box {
-    width: 100%;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-}
-
-.tui-flex-column {
-    flex-direction: column;
-}
-
-.tui-modal-btn {
-    width: 46%;
-    height: 68rpx;
-    line-height: 68rpx;
-    position: relative;
-    border-radius: 10rpx;
-    font-size: 26rpx;
-    overflow: visible;
-    margin-left: 0;
-    margin-right: 0;
-}
-
-.tui-modal-btn::after {
-    content: ' ';
-    position: absolute;
-    width: 200%;
-    height: 200%;
-    -webkit-transform-origin: 0 0;
-    transform-origin: 0 0;
-    -webkit-transform: scale(0.5, 0.5);
-    transform: scale(0.5, 0.5);
-    left: 0;
-    top: 0;
-    border-radius: 20rpx;
-}
-
-.tui-btn-width {
-    width: 80% !important;
-}
-
-.tui-primary {
-    background: #5677fc;
-    color: #fff;
-}
-
-.tui-primary-hover {
-    background: #4a67d6;
-    color: #e5e5e5;
-}
-
-.tui-primary-outline {
-    color: #5677fc;
-    background: transparent;
-}
-
-.tui-primary-outline::after {
-    border: 1px solid #5677fc;
-}
-
-.tui-danger {
-    background: #e15616;
-    color: #fff;
-}
-
-.tui-danger-hover {
-    background: #d53912;
-    color: #e5e5e5;
-}
-
-.tui-danger-outline {
-    color: #e15616;
-    background: transparent;
-}
-
-.tui-danger-outline::after {
-    border: 1px solid #e15616;
-}
-
-.tui-red {
-    background: #e41f19;
-    color: #fff;
-}
-
-.tui-red-hover {
-    background: #c51a15;
-    color: #e5e5e5;
-}
-
-.tui-red-outline {
-    color: #e41f19;
-    background: transparent;
-}
-
-.tui-red-outline::after {
-    border: 1px solid #e41f19;
-}
-
-.tui-warning {
-    background: #ff7900;
-    color: #fff;
-}
-
-.tui-warning-hover {
-    background: #e56d00;
-    color: #e5e5e5;
-}
-
-.tui-warning-outline {
-    color: #ff7900;
-    background: transparent;
-}
-
-.tui-warning-outline::after {
-    border: 1px solid #ff7900;
-}
-
-.tui-green {
-    background: #19be6b;
-    color: #fff;
-}
-
-.tui-green-hover {
-    background: #16ab60;
-    color: #e5e5e5;
-}
-
-.tui-green-outline {
-    color: #19be6b;
-    background: transparent;
-}
-
-.tui-green-outline::after {
-    border: 1px solid #19be6b;
-}
-
-.tui-white {
-    background: #fff;
-    color: #333;
-}
-
-.tui-white-hover {
-    background: #f7f7f9;
-    color: #666;
-}
-
-.tui-white-outline {
-    color: #333;
-    background: transparent;
-}
-
-.tui-white-outline::after {
-    border: 1px solid #333;
-}
-
-.tui-gray {
-    background: #ededed;
-    color: #999;
-}
-
-.tui-gray-hover {
-    background: #d5d5d5;
-    color: #898989;
-}
-
-.tui-gray-outline {
-    color: #999;
-    background: transparent;
-}
-
-.tui-gray-outline::after {
-    border: 1px solid #999;
-}
-
-.tui-outline-hover {
-    opacity: 0.6;
-}
-
-.tui-circle-btn {
-    border-radius: 40rpx !important;
-}
-
-.tui-circle-btn::after {
-    border-radius: 80rpx !important;
-}
-</style>
+	.tui-modal-box {
+		position: fixed;
+		left: 50%;
+		top: 50%;
+		margin: auto;
+		background-color: #fff;
+		z-index: 9999998;
+		transition: all 0.3s ease-in-out;
+		opacity: 0;
+		box-sizing: border-box;
+		visibility: hidden;
+	}
+
+	.tui-modal-scale {
+		transform: translate(-50%, -50%) scale(0);
+	}
+
+	.tui-modal-normal {
+		transform: translate(-50%, -50%) scale(1);
+	}
+
+	.tui-modal-show {
+		opacity: 1;
+		visibility: visible;
+	}
+
+	.tui-modal-mask {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background-color: rgba(0, 0, 0, 0.6);
+		z-index: 9999996;
+		transition: all 0.3s ease-in-out;
+		opacity: 0;
+		visibility: hidden;
+	}
+
+	.tui-mask-show {
+		visibility: visible;
+		opacity: 1;
+	}
+
+	.tui-modal-title {
+		text-align: center;
+		font-size: 34rpx;
+		color: #333;
+		padding-top: 20rpx;
+		font-weight: bold;
+	}
+
+	.tui-modal-content {
+		text-align: center;
+		color: #999;
+		font-size: 28rpx;
+		padding-top: 20rpx;
+		padding-bottom: 60rpx;
+	}
+
+	.tui-mtop {
+		margin-top: 30rpx;
+	}
+
+	.tui-mbtm {
+		margin-bottom: 30rpx;
+	}
+
+	.tui-modalBtn-box {
+		width: 100%;
+		display: flex;
+		align-items: center;
+		justify-content: space-between
+	}
+
+	.tui-flex-column {
+		flex-direction: column;
+	}
+
+	.tui-modal-btn {
+		width: 46%;
+		height: 68rpx;
+		line-height: 68rpx;
+		position: relative;
+		border-radius: 10rpx;
+		font-size: 26rpx;
+		overflow: visible;
+		margin-left: 0;
+		margin-right: 0;
+	}
+
+	.tui-modal-btn::after {
+		content: " ";
+		position: absolute;
+		width: 200%;
+		height: 200%;
+		-webkit-transform-origin: 0 0;
+		transform-origin: 0 0;
+		-webkit-transform: scale(0.5, 0.5);
+		transform: scale(0.5, 0.5);
+		left: 0;
+		top: 0;
+		border-radius: 20rpx;
+	}
+
+	.tui-btn-width {
+		width: 80% !important;
+	}
+
+	.tui-primary {
+		background: #5677fc;
+		color: #fff;
+	}
+
+	.tui-primary-hover {
+		background: #4a67d6;
+		color: #e5e5e5;
+	}
+
+	.tui-primary-outline {
+		color: #5677fc;
+		background: transparent;
+	}
+
+	.tui-primary-outline::after {
+		border: 1px solid #5677fc;
+	}
+
+	.tui-danger {
+		background: #FF5B00;
+		color: #fff;
+	}
+
+	.tui-danger-hover {
+		background: #d53912;
+		color: #e5e5e5;
+	}
+
+	.tui-danger-outline {
+		color: #FF5B00;
+		background: transparent;
+	}
+
+	.tui-danger-outline::after {
+		border: 1px solid #FF5B00;
+	}
+
+	.tui-red {
+		background: #e41f19;
+		color: #fff;
+	}
+
+	.tui-red-hover {
+		background: #c51a15;
+		color: #e5e5e5;
+	}
+
+	.tui-red-outline {
+		color: #e41f19;
+		background: transparent;
+	}
+
+	.tui-red-outline::after {
+		border: 1px solid #e41f19;
+	}
+
+	.tui-warning {
+		background: #ff7900;
+		color: #fff;
+	}
+
+	.tui-warning-hover {
+		background: #e56d00;
+		color: #e5e5e5;
+	}
+
+	.tui-warning-outline {
+		color: #ff7900;
+		background: transparent;
+	}
+
+	.tui-warning-outline::after {
+		border: 1px solid #ff7900;
+	}
+
+	.tui-green {
+		background: #19be6b;
+		color: #fff;
+	}
+
+	.tui-green-hover {
+		background: #16ab60;
+		color: #e5e5e5;
+	}
+
+	.tui-green-outline {
+		color: #19be6b;
+		background: transparent;
+	}
+
+	.tui-green-outline::after {
+		border: 1px solid #19be6b;
+	}
+
+	.tui-white {
+		background: #fff;
+		color: #333;
+	}
+
+	.tui-white-hover {
+		background: #f7f7f9;
+		color: #666;
+	}
+
+	.tui-white-outline {
+		color: #333;
+		background: transparent;
+	}
+
+	.tui-white-outline::after {
+		border: 1px solid #333;
+	}
+
+	.tui-gray {
+		background: #ededed;
+		color: #999;
+	}
+
+	.tui-gray-hover {
+		background: #d5d5d5;
+		color: #898989;
+	}
+
+	.tui-gray-outline {
+		color: #999;
+		background: transparent;
+	}
+
+	.tui-gray-outline::after {
+		border: 1px solid #999;
+	}
+
+	.tui-outline-hover {
+		opacity: 0.6;
+	}
+
+	.tui-circle-btn {
+		border-radius: 40rpx !important;
+	}
+
+	.tui-circle-btn::after {
+		border-radius: 80rpx !important;
+	}
+</style>

+ 2 - 2
components/uni-calendar/uni-calendar.vue

@@ -332,7 +332,7 @@
 		top:0;
 		.iconfont{
 			font-size: 36rpx;
-			color: #E15616;
+			color: #FF5B00;
 		} 
 	}
 	.uni-calendar__header-btn-box.ri{
@@ -341,7 +341,7 @@
 		top:0;
 		.iconfont{
 			font-size: 36rpx;
-			color: #E15616;
+			color: #FF5B00;
 		}
 	}
 	.uni-calendar__header-btn {

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

@@ -167,7 +167,7 @@ export default {
 	line-height: 76rpx;
 	text-align: center;
 	font-weight: 500;
-	color: #E15616 !important;
+	color: #FF5B00 !important;
 	border-radius: 8rpx;
 }
 .vcode-input-item.on::after {

+ 2 - 2
components/uni-search/cat-search.vue

@@ -225,9 +225,9 @@ export default {
 			margin-left: -28rpx;
 		}
 		&.active {
-			color: #e15616;
+			color: #FF5B00;
 			&::before {
-				background-color: #e15616;
+				background-color: #FF5B00;
 			}
 		}
 	}

+ 65 - 3
pages.json

@@ -292,7 +292,7 @@
 					"style": {
 						"navigationBarTitleText": "采美豆明细",
 						"enablePullDownRefresh": true,
-						"navigationStyle": "custom"
+						"navigationStyle": "custom" 
 					}
 				},
 				{
@@ -521,6 +521,43 @@
 						"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"
+					}
 				}
 				
 			]
@@ -679,6 +716,25 @@
 						"navigationBarTitleText": "我的机构"
 					}
 				},
+				{
+					"path": "club/club-portrait",
+					"style": {
+						"navigationBarTitleText": "机构画像"
+					}
+				},
+				{
+					"path": "club/club-visit",
+					"style": {
+						"navigationBarTitleText": "访问记录",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "club/club-visit-detail",
+					"style": { 
+						"navigationBarTitleText": "访问详情"
+					}
+				},
 				{
 					"path": "club/allClub-list",
 					"style": {
@@ -694,7 +750,13 @@
 				{
 					"path": "club/club-info",
 					"style": {
-						"navigationBarTitleText": "机构信息"
+						"navigationBarTitleText": "商城访问记录"
+					}
+				},
+				{
+					"path": "club/club-detail",
+					"style": {
+						"navigationBarTitleText": "资料详情"
 					}
 				},
 				{
@@ -1170,7 +1232,7 @@
 	"tabBar": {
 		"height": "80",
 		"color": "#999999",
-		"selectedColor": "#E15616",
+		"selectedColor": "#FF5B00",
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"list": [{

+ 6 - 6
pages/goods/components/cm-product-doc.vue

@@ -151,7 +151,7 @@ export default {
                     text: '确认',
                     customStyle: {
                         color: '#fff',
-                        bgColor: 'linear-gradient(90deg, #F28F31 0%, #E15616 100%)'
+                        bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
                     },
                     plain: false
                 }
@@ -488,7 +488,7 @@ export default {
             //     return uni.showModal({
             //         content: `${suffix}类型文件暂不支持预览`,
             //         cancelColor: '#666',
-            //         confirmColor: '#E15616'
+            //         confirmColor: '#FF5B00'
             //     })
             // }
         },
@@ -525,7 +525,7 @@ export default {
                                 uni.showModal({
                                     content: '不支持的文件预览',
                                     cancelColor: '#666',
-                                    confirmColor: '#E15616'
+                                    confirmColor: '#FF5B00'
                                 })
                             }
                             uni.hideLoading()
@@ -575,12 +575,12 @@ export default {
     }
     text {
         font-size: 26rpx;
-        color: #e15616;
+        color: #FF5B00;
     }
     .cm-btn {
         width: 136rpx;
         height: 48rpx;
-        background: #e15616;
+        background: #FF5B00;
         border-radius: 28px;
         font-size: 26rpx;
         text-align: center;
@@ -652,7 +652,7 @@ export default {
                 .cm-preview {
                     font-size: 26rpx;
                     font-weight: 400;
-                    color: #e15616;
+                    color: #FF5B00;
                 }
                 .cm-time {
                     padding: 0;

+ 1 - 1
pages/goods/components/cm-product-modal.vue

@@ -74,7 +74,7 @@ export default {
 			return map[code]
 		},
 		setModalButton(flag = '', identity = '', clubType = '', hasLogin) {
-			const customStyle = { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #E15616 100%)' }
+			const customStyle = { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' }
 			const btnMap = {
 				'22': [
 					{ text: '关闭', type: 'gray', plain: true },

+ 3 - 3
pages/goods/components/cm-unit-popup.vue

@@ -344,7 +344,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {
@@ -436,7 +436,7 @@ export default {
 		text-align: center;
 		font-size: 24rpx;
 		background: #fffaf8;
-		color: #e15616;
+		color: #FF5B00;
 	}
 }
 .tui-flex-1 {
@@ -462,7 +462,7 @@ export default {
 		box-sizing: border-box;
 		&.cancel {
 			background: #ffe6dc;
-			color: #e15616;
+			color: #FF5B00;
 			&.disabled {
 				background-color: #e1e1e1;
 				color: #ffffff;

+ 4 - 4
pages/goods/components/cm-unit-price.vue

@@ -108,7 +108,7 @@
 							{{ skuProduct.promotions.name
 							}}<text v-if="hasLogin"
 								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.promotions.touchPrice | NumFormat
+									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
 								}}</text
 							>
 						</view>
@@ -130,7 +130,7 @@
 							{{ skuProduct.promotions.name
 							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
 								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.promotions.touchPrice | NumFormat
+									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
 								}}</text
 							>
 						</view>
@@ -153,7 +153,7 @@
 							{{ skuProduct.promotions.name
 							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
 								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.promotions.touchPrice | NumFormat
+									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
 								}}</text
 							>
 						</view>
@@ -178,7 +178,7 @@
 							{{ skuProduct.promotions.name
 							}}<text v-if="hasLogin && skuProduct.priceFlag != 1"
 								>:¥{{
-									skuProduct.promotions == null ? '0.00' : skuProduct.promotions.touchPrice | NumFormat
+									skuProduct.promotions == null ? '0.00' : skuProduct.price | NumFormat
 								}}</text
 							>
 						</view>

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

@@ -206,7 +206,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {
@@ -234,7 +234,7 @@ export default {
 		text-align: center;
 		font-size: 24rpx;
 		background: #fffaf8;
-		color: #e15616;
+		color: #FF5B00;
 	}
 }
 .tui-modal-flex {
@@ -253,7 +253,7 @@ export default {
 		box-sizing: border-box;
 		&.cancel {
 			background: #ffe6dc;
-			color: #e15616;
+			color: #FF5B00;
 		}
 		&.confirm {
 			background: $btn-confirm;

+ 4 - 4
pages/goods/good-hot.vue

@@ -517,7 +517,7 @@ page {
 				position: fixed;
 				top: 0;
 				height: 80rpx;
-				background: linear-gradient(90deg, #e15616 0%, #f28f31 100%);
+				background: linear-gradient(90deg, #FF5B00 0%, #f28f31 100%);
 				z-index: 9999;
 				
 			}
@@ -649,7 +649,7 @@ page {
 			width: 40rpx;
 			height: 8rpx;
 			border-radius: 4rpx;
-			background-color: #e15616;
+			background-color: #FF5B00;
 			transition: all 0.4s;
 		}
 	}
@@ -744,7 +744,7 @@ page {
 				}
 				&.active {
 					background-color: #ffe6dc;
-					color: #e15616;
+					color: #FF5B00;
 				}
 			}
 		}
@@ -806,7 +806,7 @@ page {
 				}
 				&.active {
 					background-color: #ffe6dc;
-					color: #e15616;
+					color: #FF5B00;
 				}
 			}
 		}

+ 11 - 11
pages/goods/goods-classify.vue

@@ -22,7 +22,7 @@
 						<tui-icon
 							:name="isSearchSales ? 'turningdown' : 'turningup'"
 							:size="18"
-							:color="tabIndex == 1 ? '#e15616' : '#999'"
+							:color="tabIndex == 1 ? '#FF5B00' : '#999'"
 							tui-icon-class="tui-ml"
 						></tui-icon>
 					</template>
@@ -38,7 +38,7 @@
 						<tui-icon
 							:name="isSearchMood ? 'turningdown' : 'turningup'"
 							:size="18"
-							:color="tabIndex == 2 ? '#e15616' : '#999'"
+							:color="tabIndex == 2 ? '#FF5B00' : '#999'"
 							tui-icon-class="tui-ml"
 						></tui-icon>
 					</template>
@@ -54,7 +54,7 @@
 						<tui-icon
 							:name="isSearchPrice ? 'turningdown' : 'turningup'"
 							:size="18"
-							:color="tabIndex == 3 ? '#e15616' : '#999'"
+							:color="tabIndex == 3 ? '#FF5B00' : '#999'"
 							tui-icon-class="tui-ml"
 						></tui-icon>
 					</template>
@@ -1032,7 +1032,7 @@ page {
 	margin-left: 8rpx;
 }
 .tui-topitem-active {
-	color: #e15616;
+	color: #FF5B00;
 }
 
 .tui-screen-bottom {
@@ -1073,7 +1073,7 @@ page {
 
 .tui-btmItem-active {
 	background: #fcedea !important;
-	color: #e15616;
+	color: #FF5B00;
 	font-weight: bold;
 	position: relative;
 }
@@ -1081,7 +1081,7 @@ page {
 .tui-btmItem-active::after {
 	content: '';
 	position: absolute;
-	border: 1rpx solid #e15616;
+	border: 1rpx solid #FF5B00;
 	width: 100%;
 	height: 100%;
 	border-radius: 40rpx;
@@ -1105,7 +1105,7 @@ page {
 	top: 58rpx;
 }
 .tui-active {
-	color: #e15616;
+	color: #FF5B00;
 }
 .tui-icon-ml .tui-icon-class {
 	margin-left: 6rpx;
@@ -1149,7 +1149,7 @@ page {
 		background-color: #f7f7f7;
 		.drawer-title-h1 {
 			font-size: $font-size-26;
-			color: #e15616;
+			color: #FF5B00;
 			font-weight: bold;
 			text-align: left;
 			float: left;
@@ -1159,7 +1159,7 @@ page {
 			float: right;
 			color: #333333;
 			.text {
-				color: #e15616;
+				color: #FF5B00;
 			}
 		}
 	}
@@ -1242,7 +1242,7 @@ page {
 				-webkit-box-orient: vertical;
 				&.checked {
 					background-color: #fef6f3;
-					color: #e15616;
+					color: #FF5B00;
 				}
 				&:nth-child(3n) {
 					margin-right: 0;
@@ -1283,7 +1283,7 @@ page {
 						color: #b2b2b2;
 					}
 					&.icon-yixuanze {
-						color: #e15616;
+						color: #FF5B00;
 					}
 				}
 			}

+ 4 - 4
pages/goods/goods-doc-list.vue

@@ -22,8 +22,8 @@
                     <tui-tabs
                         :tabs="tabs"
                         :currentTab="currentTab"
-                        sliderBgColor="#E15616"
-                        selectedColor="#E15616"
+                        sliderBgColor="#FF5B00"
+                        selectedColor="#FF5B00"
                         itemWidth="50%"
                         @change="tabChange"
                     ></tui-tabs>
@@ -126,7 +126,7 @@ export default {
                 //正则表达式
                 const reg = new RegExp(this.listQuery.keyword, 'g')
                 item.productName = item.productName.replace(reg, $1 => {
-                    return `<span style="color: #E15616;">${$1}</span>`
+                    return `<span style="color: #FF5B00;">${$1}</span>`
                 })
             })
         },
@@ -230,7 +230,7 @@ page {
             -webkit-line-clamp: 2; /*文本占的行数,如果要设置2行加...则设置为2*/
             -webkit-box-orient: vertical;
             text {
-                color: #e15616;
+                color: #FF5B00;
             }
         }
         .params {

+ 3 - 3
pages/goods/goods-supporting.vue

@@ -18,7 +18,7 @@
 								<view
 									class="checkbox iconfont"
 									:class="[pros.isChecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-									:style="{ color: disabledChecked(pros) ? '#E1E1E1' : '#E15616' }"
+									:style="{ color: disabledChecked(pros) ? '#E1E1E1' : '#FF5B00' }"
 									@click="checkedSoperv(pros)"
 								>
 								</view>
@@ -1153,7 +1153,7 @@ page {
 		margin-left: 32rpx;
 		&.add {
 			background: #ffe6dc;
-			color: #e15616;
+			color: #FF5B00;
 		}
 		&.buy {
 			background: $btn-confirm;
@@ -1180,7 +1180,7 @@ page {
 			}
 			&.add {
 				background: #ffe6dc;
-				color: #e15616;
+				color: #FF5B00;
 			}
 		}
 	}

+ 4 - 5
pages/goods/product.vue

@@ -357,8 +357,8 @@
 								:currentTab="currentTab > 2 ? 0 : currentTab"
 								@change="couponChange"
 								:itemWidth="100 / navbar.length + '%'"
-								selectedColor="#e15616"
-								sliderBgColor="#e15616"
+								selectedColor="#FF5B00"
+								sliderBgColor="#FF5B00"
 							>
 							</coupon-tabs>
 						</view>
@@ -734,7 +734,7 @@ export default {
 					text: '去升级',
 					customStyle: {
 						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #E15616 100%)'
+						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
 					},
 					plain: false
 				}
@@ -1458,7 +1458,6 @@ export default {
 				// - topBar.height
 			})
 			this.sectionPropsArr = sectionPropsArr
-
 			console.log('更新tab影响区域')
 		},
 		//当滑动时也能同步激活tab
@@ -2423,7 +2422,7 @@ page {
 			color: #ffffff;
 		}
 		.btn-bay {
-			background: linear-gradient(to right, #f28f31 0%, #e15616 100%);
+			background: linear-gradient(to right, #f28f31 0%, #FF5B00 100%);
 			border-radius: 0 42rpx 42rpx 0;
 		}
 		.btn-bay.disabled {

+ 1 - 1
pages/h5/activity/activity-list.vue

@@ -102,7 +102,7 @@
 				if(item.status!=3 ){
 					if(item.crmLink){
 						this.cmsSysStatistics(6)
-						this.$api.navigateTo(`/pages/h5/activity/activity?title=${item.title}&link=${item.crmLink}`)
+						this.$api.navigateTo(`/pages/h5/activity/activity?link=${item.crmLink}&linkId=${item.linkParam.id}`)
 					}
 				}else{
 					this.$util.msg('活动已经结束',2000)

+ 1 - 1
pages/h5/activity/components/template-live/components/swiper-temp1.vue

@@ -194,7 +194,7 @@ export default {
             width: 32rpx;
             height: 8rpx;
             border-radius: 4rpx;
-            background-color: #e15616;
+            background-color: #FF5B00;
             transition: all 0.4s;
         }
     }

+ 1 - 1
pages/h5/activity/components/template-live/components/swiper-temp2.vue

@@ -189,7 +189,7 @@ export default {
             width: 32rpx;
             height: 8rpx;
             border-radius: 4rpx;
-            background-color: #e15616;
+            background-color: #FF5B00;
             transition: all 0.4s;
         }
     }

+ 1 - 1
pages/h5/activity/components/template-picture/templateA.vue

@@ -164,7 +164,7 @@ export default {
 			width: 32rpx;
 			height: 8rpx;
 			border-radius: 4rpx;
-			background-color: #e15616;
+			background-color: #FF5B00;
 			transition: all 0.4s;
 		}
 	}

+ 1 - 1
pages/h5/activity/components/template-picture/templateB.vue

@@ -178,7 +178,7 @@ export default {
 			width: 32rpx;
 			height: 8rpx;
 			border-radius: 4rpx;
-			background-color: #e15616;
+			background-color: #FF5B00;
 			transition: all 0.4s;
 		}
 	}

+ 1 - 1
pages/h5/activity/components/template-picture/templateE.vue

@@ -177,7 +177,7 @@ export default {
             width: 32rpx;
             height: 8rpx;
             border-radius: 4rpx;
-            background-color: #e15616;
+            background-color: #FF5B00;
             transition: all 0.4s;
         }
     }

+ 1 - 1
pages/login/apply-supplier.vue

@@ -101,7 +101,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-input" v-for="(item, index) in supplierList" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="item.value === shopInfo.secondShopType" color="#E15616"/>
+							<radio class="row-radio" :value="item.value" :checked="item.value === shopInfo.secondShopType" color="#FF5B00"/>
 							<view class="row-text">{{item.name}}</view>
 						</label>
 					</radio-group>

+ 3 - 3
pages/login/apply.vue

@@ -1306,8 +1306,8 @@ checkbox .wx-checkbox-input {
 }
 /* 选中后的 背景样式 */
 checkbox .wx-checkbox-input.wx-checkbox-input-checked {
-	background: #e15616;
-	border: 2rpx solid #e15616;
+	background: #FF5B00;
+	border: 2rpx solid #FF5B00;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
 	border-radius: 50%;
@@ -1354,7 +1354,7 @@ checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
 			color: #666666;
 			text-align: justify;
 			.red {
-				color: #e15616;
+				color: #FF5B00;
 			}
 		}
 		.tui-alert-btn {

+ 1 - 1
pages/login/bindOperator.vue

@@ -280,7 +280,7 @@
 			height: auto;
 			padding: 0 24rpx;
 			&.title{
-				color: #e15616;
+				color: #FF5B00;
 				font-size: 24rpx;
 				text-align: center;
 				margin-bottom: 20rpx;

+ 1 - 1
pages/login/binding.vue

@@ -574,7 +574,7 @@
 						background-color: #ffe6dc;
 						line-height: 64rpx;
 						text-align: center;
-						color: #e15616;
+						color: #FF5B00;
 						font-size: $font-size-28;
 						float: right;
 					}

+ 2 - 2
pages/login/information.vue

@@ -1370,8 +1370,8 @@ checkbox .wx-checkbox-input {
 }
 /* 选中后的 背景样式 */
 checkbox .wx-checkbox-input.wx-checkbox-input-checked {
-	background: #e15616;
-	border: 2rpx solid #e15616;
+	background: #FF5B00;
+	border: 2rpx solid #FF5B00;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
 	border-radius: 50%;

+ 8 - 4
pages/login/login.vue

@@ -92,7 +92,11 @@ export default {
 				unionId: ''
 			},
 			smsCodeParams: {
-				mobile: '' //用户登录手机号
+				mobile: '' ,//用户登录手机号
+				imgCode:'',
+				platformType:0,
+				isCheckCaptcha:1,
+				activateCodeType:7
 			},
 			loginType: 0,
 			isMobileDisabled: false, //手机验证码按钮控制
@@ -257,12 +261,12 @@ export default {
 		display: flex;
 		flex-direction: column;
 		align-items: center;
-		height: 189rpx;
+		height: 284rpx;
 		padding: 60rpx 0 40rpx 0;
 		margin-bottom: 70rpx;
 		.logo {
-			width: 467rpx;
-			height: 189rpx;
+			width: 611rpx;
+			height: 284rpx;
 			display: block;
 		}
 	}

+ 4 - 4
pages/login/logincode.vue

@@ -172,12 +172,12 @@
 			display: flex;
 			flex-direction: column;
 			align-items: center;
-			height: 189rpx;
+			height: 284rpx;
 			padding:60rpx 0 40rpx 0;
 			margin-bottom: 70rpx;
 			.logo{
-				width:467rpx;
-				height: 189rpx;
+				width:611rpx;
+				height: 284rpx;
 				display: block;
 			}
 		}
@@ -194,7 +194,7 @@
 			padding: 0 75rpx;
 			font-size: $font-size-28;
 			line-height: 40rpx;
-			color: #E15616;
+			color: #FF5B00;
 			margin-bottom: 48rpx;
 			text-align: right;
 		}

+ 1 - 1
pages/login/register-supplier.vue

@@ -227,7 +227,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-input" v-for="(item, index) in supplierList" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616" />
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00" />
 							<view class="row-text">{{ item.name }}</view>
 						</label>
 					</radio-group>

+ 3 - 3
pages/login/register.vue

@@ -375,11 +375,11 @@ export default {
 			display: flex;
 			flex-direction: column;
 			align-items: center;
-			height: 189rpx;
+			height: 284rpx;
 			padding: 60rpx 0 40rpx 0;
 			.logo {
-				width: 467rpx;
-				height: 189rpx;
+				width: 611rpx;
+				height: 284rpx;
 				display: block;
 			}
 		}

+ 3 - 3
pages/search/components/article-list.vue

@@ -162,11 +162,11 @@ export default {
                     }
 
                     &.active {
-                        color: #e15616;
+                        color: #FF5B00;
 
                         &::before {
-                            background: #e15616;
-                            border-color: #e15616;
+                            background: #FF5B00;
+                            border-color: #FF5B00;
                         }
                     }
 

+ 1 - 1
pages/search/components/encyclopedia-list.vue

@@ -123,7 +123,7 @@ export default {
                 .tag {
                     height: 40rpx;
                     padding: 0 8rpx;
-                    color: #e15616;
+                    color: #FF5B00;
                     font-size: 22rpx;
                     background: #fef6f3;
                     margin-right: 8rpx;

+ 6 - 6
pages/search/components/product-filter.vue

@@ -135,13 +135,13 @@ export default {
             background: #f7f7f7;
             .name {
                 font-size: 26rpx;
-                color: #e15616;
+                color: #FF5B00;
             }
             .number {
                 font-size: 24rpx;
                 color: #333333;
                 .enhance {
-                    color: #e15616;
+                    color: #FF5B00;
                 }
             }
         }
@@ -171,7 +171,7 @@ export default {
                     }
 
                     &.active {
-                        color: #e15616;
+                        color: #FF5B00;
                         background: #fef6f3;
                     }
                 }
@@ -216,7 +216,7 @@ export default {
 
             .icon-yixuanze {
                 font-size: 28rpx;
-                color: #e15616;
+                color: #FF5B00;
             }
         }
     }
@@ -240,12 +240,12 @@ export default {
 
             &.btn-reset {
                 background: #ffe6dc;
-                color: #e15616;
+                color: #FF5B00;
                 margin: 0 24rpx 0 112rpx;
             }
 
             &.btn-confirm {
-                background: linear-gradient(135deg, #f28f31 0%, #e15616 100%);
+                background: linear-gradient(135deg, #f28f31 0%, #FF5B00 100%);
                 color: #ffffff;
             }
         }

+ 3 - 3
pages/search/components/product-full-list.vue

@@ -154,7 +154,7 @@ export default {
             &.active .sort.desc::after,
             &.active .sort.asc::before,
             &.active .icon-shaixuan {
-                color: #e15616;
+                color: #FF5B00;
             }
 
             .icon-shaixuan {
@@ -226,7 +226,7 @@ export default {
                     display: flex;
                     align-items: flex-end;
                     .real-price {
-                        color: #e15616;
+                        color: #FF5B00;
                         font-size: 24rpx;
                     }
                     .old-price {
@@ -256,7 +256,7 @@ export default {
                         &.other {
                             border: 1rpx solid rgba(225, 86, 22, 0.2);
                             line-height: 30rpx;
-                            color: #e15616;
+                            color: #FF5B00;
                         }
                         &.svip {
                             line-height: 32rpx;

+ 3 - 3
pages/search/components/product-list.vue

@@ -154,7 +154,7 @@ export default {
             &.active .sort.desc::after,
             &.active .sort.asc::before,
             &.active .icon-shaixuan {
-                color: #e15616;
+                color: #FF5B00;
             }
 
             .icon-shaixuan {
@@ -226,7 +226,7 @@ export default {
                     display: flex;
                     align-items: flex-end;
                     .real-price {
-                        color: #e15616;
+                        color: #FF5B00;
                         font-size: 24rpx;
                     }
                     .old-price {
@@ -256,7 +256,7 @@ export default {
                         &.other {
                             border: 1rpx solid rgba(225, 86, 22, 0.2);
                             line-height: 30rpx;
-                            color: #e15616;
+                            color: #FF5B00;
                         }
                         &.svip {
                             line-height: 32rpx;

+ 1 - 1
pages/search/components/search-header.vue

@@ -158,7 +158,7 @@ export default {
     }
     .search-submit {
         font-size: 30rpx;
-        color: #e15616;
+        color: #FF5B00;
         flex-shrink: 0;
     }
 }

+ 4 - 4
pages/search/search-library.vue

@@ -26,8 +26,8 @@
                     :bold="true"
                     :unlined="true"
                     :height="60"
-                    sliderBgColor="#E15616"
-                    selectedColor="#E15616"
+                    sliderBgColor="#FF5B00"
+                    selectedColor="#FF5B00"
                     @change="onTabChange"
                 ></tui-tabs>
             </view>
@@ -473,7 +473,7 @@ export default {
                     this.libraryWordList = []
                 }
                 this.libraryWordList = res.data.map(item => {
-                    item.text = item.keyword.replace(keyword, `<span style="color:#E15616;">${keyword}</span>`)
+                    item.text = item.keyword.replace(keyword, `<span style="color:#FF5B00;">${keyword}</span>`)
                     return item
                 })
                 if (this.libraryWordList.length <= 0) return
@@ -632,7 +632,7 @@ export default {
                     color: #333;
 
                     text {
-                        color: #e15616;
+                        color: #FF5B00;
                     }
                 }
             }

+ 17 - 17
pages/search/search.vue

@@ -51,7 +51,7 @@
                             <tui-icon
                                 :name="isSearchSales ? 'turningdown' : 'turningup'"
                                 :size="18"
-                                :color="tabIndex == 1 ? '#e15616' : '#999'"
+                                :color="tabIndex == 1 ? '#FF5B00' : '#999'"
                                 tui-icon-class="tui-ml"
                             ></tui-icon>
                         </template>
@@ -68,7 +68,7 @@
                             <tui-icon
                                 :name="isSearchMood ? 'turningdown' : 'turningup'"
                                 :size="18"
-                                :color="tabIndex == 2 ? '#e15616' : '#999'"
+                                :color="tabIndex == 2 ? '#FF5B00' : '#999'"
                                 tui-icon-class="tui-ml"
                             ></tui-icon>
                         </template>
@@ -85,7 +85,7 @@
                             <tui-icon
                                 :name="isSearchPrice ? 'turningdown' : 'turningup'"
                                 :size="18"
-                                :color="tabIndex == 3 ? '#e15616' : '#999'"
+                                :color="tabIndex == 3 ? '#FF5B00' : '#999'"
                                 tui-icon-class="tui-ml"
                             ></tui-icon>
                         </template>
@@ -607,7 +607,7 @@ export default {
                     this.libraryWordList = []
                 }
                 this.libraryWordList = res.data.map(item => {
-                    item.text = item.keyword.replace(keyword, `<span style="color:#E15616;">${keyword}</span>`)
+                    item.text = item.keyword.replace(keyword, `<span style="color:#FF5B00;">${keyword}</span>`)
                     return item
                 })
                 if (this.libraryWordList.length <= 0) return
@@ -1198,7 +1198,7 @@ page {
             line-height: 70rpx;
             float: right;
             text-align: center;
-            color: #e15616;
+            color: #FF5B00;
             font-size: 30rpx;
         }
     }
@@ -1248,7 +1248,7 @@ page {
     margin-left: 8rpx;
 }
 .tui-topitem-active {
-    color: #e15616;
+    color: #FF5B00;
 }
 
 .tui-screen-bottom {
@@ -1289,7 +1289,7 @@ page {
 
 .tui-btmItem-active {
     background: #fcedea !important;
-    color: #e15616;
+    color: #FF5B00;
     font-weight: bold;
     position: relative;
 }
@@ -1297,7 +1297,7 @@ page {
 .tui-btmItem-active::after {
     content: '';
     position: absolute;
-    border: 1rpx solid #e15616;
+    border: 1rpx solid #FF5B00;
     width: 100%;
     height: 100%;
     border-radius: 40rpx;
@@ -1321,7 +1321,7 @@ page {
     top: 58rpx;
 }
 .tui-active {
-    color: #e15616;
+    color: #FF5B00;
 }
 .tui-icon-ml .tui-icon-class {
     margin-left: 6rpx;
@@ -1407,12 +1407,12 @@ page {
                 background-color: #f3f3f3;
                 .iconfont {
                     font-size: $font-size-30;
-                    color: #e15616;
+                    color: #FF5B00;
                     margin-left: 12rpx;
                 }
                 &.list-active {
                     background-color: #fef6f3;
-                    color: #e15616;
+                    color: #FF5B00;
                 }
             }
         }
@@ -1676,7 +1676,7 @@ page {
     z-index: 99;
     .drawer-title-h1 {
         font-size: $font-size-26;
-        color: #e15616;
+        color: #FF5B00;
         font-weight: bold;
         text-align: left;
         float: left;
@@ -1686,7 +1686,7 @@ page {
         float: right;
         color: #333333;
         .text {
-            color: #e15616;
+            color: #FF5B00;
         }
     }
 }
@@ -1729,7 +1729,7 @@ page {
                 -webkit-box-orient: vertical;
                 &.checked {
                     background-color: #fef6f3;
-                    color: #e15616;
+                    color: #FF5B00;
                 }
                 &:nth-child(3n) {
                     margin-right: 0;
@@ -1770,7 +1770,7 @@ page {
                         color: #b2b2b2;
                     }
                     &.icon-yixuanze {
-                        color: #e15616;
+                        color: #FF5B00;
                     }
                 }
             }
@@ -1808,7 +1808,7 @@ page {
             }
             &.clear {
                 background: #ffe6dc;
-                color: #e15616;
+                color: #FF5B00;
             }
         }
     }
@@ -1870,7 +1870,7 @@ page {
                 color: #333;
 
                 text {
-                    color: #e15616;
+                    color: #FF5B00;
                 }
             }
         }

+ 2 - 2
pages/search/search_new.vue

@@ -386,13 +386,13 @@ export default {
             .icon-resou {
                 display: none;
                 font-size: 30rpx;
-                color: #e15616;
+                color: #FF5B00;
                 margin-left: 12rpx;
             }
 
             &.light {
                 background: #fef6f3;
-                color: #e15616;
+                color: #FF5B00;
 
                 .icon-resou {
                     display: block;

+ 6 - 6
pages/second/form/form-presale.vue

@@ -611,7 +611,7 @@
 	.newsTitle {
 		line-height: 48rpx;
 		text-align: left;
-		color: #e15616;
+		color: #FF5B00;
 		padding:20rpx;
 		background-color: rgba(225, 86, 22, .1);
 		border-radius: 10rpx;
@@ -633,7 +633,7 @@
 		margin-left: 96rpx;
 	}
 	.secondradio view.active {
-		color: #e15616;
+		color: #FF5B00;
 	}
 	.placeholder{
 		color: #b2b2b2;
@@ -716,7 +716,7 @@
 				color: #333333;
 				.icon-yixuanze{
 					margin-right: 10rpx;
-					color: #E15616;
+					color: #FF5B00;
 				}
 				.icon-weixuanze{ 
 					margin-right: 10rpx;
@@ -827,7 +827,7 @@
 			.file-none-button{
 				width: 88rpx;
 				height: 44rpx;
-				background-color: #e15616;
+				background-color: #FF5B00;
 				border-radius: 8rpx;
 				line-height: 44rpx;
 				text-align: center;
@@ -856,7 +856,7 @@
 		color: #b2b2b2;
 	}
 	.icon-jiagexiangliao{
-		color: #e15616 !important;
+		color: #FF5B00 !important;
 	}
 	.pricecolor{
 		margin-left: 10rpx;
@@ -1050,7 +1050,7 @@
 				color: #999999;
 			}
 			&.confirm{
-				background-image: linear-gradient(270deg, #f28f31 0%, #e15616 100%);
+				background-image: linear-gradient(270deg, #f28f31 0%, #FF5B00 100%);
 				border-radius: 0rpx 0rpx 32rpx 0rpx;
 				color: #fff;
 			}

+ 6 - 6
pages/second/form/form-seller.vue

@@ -932,7 +932,7 @@
 	.newsTitle {
 		line-height: 48rpx;
 		text-align: left;
-		color: #e15616;
+		color: #FF5B00;
 		padding:20rpx;
 		background-color: rgba(225, 86, 22, .1);
 		border-radius: 10rpx;
@@ -954,7 +954,7 @@
 		margin-left: 96rpx;
 	}
 	.secondradio view.active {
-		color: #e15616;
+		color: #FF5B00;
 	}
 	.placeholder{
 		color: #b2b2b2;
@@ -1037,7 +1037,7 @@
 				color: #333333;
 				.icon-yixuanze{
 					margin-right: 10rpx;
-					color: #E15616;
+					color: #FF5B00;
 				}
 				.icon-weixuanze{ 
 					margin-right: 10rpx;
@@ -1148,7 +1148,7 @@
 			.file-none-button{
 				width: 88rpx;
 				height: 44rpx;
-				background-color: #e15616;
+				background-color: #FF5B00;
 				border-radius: 8rpx;
 				line-height: 44rpx;
 				text-align: center;
@@ -1177,7 +1177,7 @@
 		color: #b2b2b2;
 	}
 	.icon-jiagexiangliao{
-		color: #e15616 !important;
+		color: #FF5B00 !important;
 	}
 	.pricecolor{
 		margin-left: 10rpx;
@@ -1371,7 +1371,7 @@
 				color: #999999;
 			}
 			&.confirm{
-				background-image: linear-gradient(270deg, #f28f31 0%, #e15616 100%);
+				background-image: linear-gradient(270deg, #f28f31 0%, #FF5B00 100%);
 				border-radius: 0rpx 0rpx 32rpx 0rpx;
 				color: #fff;
 			}

+ 6 - 6
pages/second/form/form.vue

@@ -607,7 +607,7 @@
 	.newsTitle {
 		line-height: 48rpx;
 		text-align: left;
-		color: #e15616;
+		color: #FF5B00;
 		padding:20rpx;
 		background-color: rgba(225, 86, 22, .1);
 		border-radius: 10rpx;
@@ -629,7 +629,7 @@
 		margin-left: 96rpx;
 	}
 	.secondradio view.active {
-		color: #e15616;
+		color: #FF5B00;
 	}
 	.placeholder{
 		color: #b2b2b2;
@@ -712,7 +712,7 @@
 				color: #333333;
 				.icon-yixuanze{
 					margin-right: 10rpx;
-					color: #E15616;
+					color: #FF5B00;
 				}
 				.icon-weixuanze{ 
 					margin-right: 10rpx;
@@ -823,7 +823,7 @@
 			.file-none-button{
 				width: 88rpx;
 				height: 44rpx;
-				background-color: #e15616;
+				background-color: #FF5B00;
 				border-radius: 8rpx;
 				line-height: 44rpx;
 				text-align: center;
@@ -852,7 +852,7 @@
 		color: #b2b2b2;
 	}
 	.icon-jiagexiangliao{
-		color: #e15616 !important;
+		color: #FF5B00 !important;
 	}
 	.pricecolor{
 		margin-left: 10rpx;
@@ -1046,7 +1046,7 @@
 				color: #999999;
 			}
 			&.confirm{
-				background-image: linear-gradient(270deg, #f28f31 0%, #e15616 100%);
+				background-image: linear-gradient(270deg, #f28f31 0%, #FF5B00 100%);
 				border-radius: 0rpx 0rpx 32rpx 0rpx;
 				color: #fff;
 			}

+ 1 - 1
pages/second/form/introduce.vue

@@ -143,7 +143,7 @@ page {
 }
 .fleaMarket {
 	padding: 20rpx;
-	background-image: linear-gradient(#ff7676, #e15616);
+	background-image: linear-gradient(#ff7676, #FF5B00);
 }
 .second-hand-wrapper {
 	background-image: url('https://static.caimei365.com/app/img/bg/bg22.png');

+ 2 - 2
pages/second/product/product-details.vue

@@ -1133,7 +1133,7 @@
 				background-color: #E1E1E1;
 			}
 			.btn-bay{
-				background:linear-gradient(to right, #f28f31 0%, #e15616 100%);
+				background:linear-gradient(to right, #f28f31 0%, #FF5B00 100%);
 				border-radius: 0 42rpx 42rpx 0;
 			}
 			.btn-bay.disabled{
@@ -1458,7 +1458,7 @@
 	    border-radius:20rpx;
 	    padding:0 20rpx  20rpx 20rpx;
 		font-size: 20rpx;
-		color: #e15616;
+		color: #FF5B00;
 		margin-bottom: 30rpx
 	}
 	.Disclaimer span {

+ 4 - 4
pages/second/product/product-list.vue

@@ -389,7 +389,7 @@
 		    width: 10vw;
 		    margin: 0 auto;
 		    height: .48vw;
-		    background-color: #e15616;
+		    background-color: #FF5B00;
 		    display: block;
 		}
 	}
@@ -407,14 +407,14 @@
 			color: #627386;
 			cursor: pointer;
 			&.addstyle{
-				color: #e15616;
+				color: #FF5B00;
 			}
 		}
 		.line {
 			width: 75rpx;
 			margin: 0 auto;
 			height: 4rpx;
-			background-color: #e15616;
+			background-color: #FF5B00;
 			display: block;
 		}
 	}
@@ -543,7 +543,7 @@
 			font-size: 30rpx;
 			&.intro{
 				background: #ffe6dc;
-				color: #e15616;
+				color: #FF5B00;
 				&.long{
 					width: 600rpx;
 					display: block;

+ 4 - 4
pages/seller/cart/cart.vue

@@ -1132,7 +1132,7 @@ page {
 		line-height: 50rpx;
 		border-radius: 30rpx;
 		background: #ffffff;
-		border: 1px solid #e15616;
+		border: 1px solid #FF5B00;
 		color: $color-system;
 		float: right;
 		text-align: center;
@@ -1223,7 +1223,7 @@ page {
 				display: inline-block;
 				padding: 0 6rpx;
 				font-size: $font-size-20;
-				border: 1px solid #e15616;
+				border: 1px solid #FF5B00;
 				float: right;
 			}
 		}
@@ -1386,8 +1386,8 @@ page {
 				line-height: 40rpx;
 				font-size: 24rpx;
 				box-sizing: border-box;
-				border: 1px solid #e15616;
-				color: #e15616;
+				border: 1px solid #FF5B00;
+				color: #FF5B00;
 				float: left;
 				border-radius: 20rpx;
 				margin-left: 16rpx;

+ 1 - 1
pages/seller/cart/components/cm-unit-cart-popup.vue

@@ -355,7 +355,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {

+ 1 - 1
pages/seller/cart/components/cm-unit-popup.vue

@@ -376,7 +376,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {

+ 3 - 3
pages/seller/cart/components/cm-unit-suppor-popup.vue

@@ -276,7 +276,7 @@ export default {
 					background: #fff1eb;
 					color: $color-system;
 					.tips {
-						background: #e15616;
+						background: #FF5B00;
 					}
 				}
 				.tips {
@@ -304,7 +304,7 @@ export default {
 		text-align: center;
 		font-size: 24rpx;
 		background: #fffaf8;
-		color: #e15616;
+		color: #FF5B00;
 		margin-bottom: 30rpx;
 	}
 }
@@ -324,7 +324,7 @@ export default {
 		box-sizing: border-box;
 		&.cancel {
 			background: #ffe6dc;
-			color: #e15616;
+			color: #FF5B00;
 		}
 		&.confirm {
 			background: $btn-confirm;

+ 5 - 5
pages/seller/cart/components/immediatelyList.vue

@@ -760,8 +760,8 @@ export default {
 	line-height: 76rpx;
 	padding-left: 30rpx;
 	&.active {
-		color: #e15616;
-		border-bottom: 4rpx solid #e15616;
+		color: #FF5B00;
+		border-bottom: 4rpx solid #FF5B00;
 	}
 }
 .tabstyle {
@@ -796,7 +796,7 @@ export default {
 		height: 36rpx;
 		line-height: 36rpx;
 		text-align: center;
-		color: #e15616;
+		color: #FF5B00;
 		position: absolute;
 		bottom: -5rpx;
 		right: -5rpx;
@@ -1046,9 +1046,9 @@ export default {
 					border-radius: 16rpx;
 					text-align: center;
 					box-sizing: border-box;
-					border: 1px solid #e15616;
+					border: 1px solid #FF5B00;
 					font-size: 24rpx;
-					color: #e15616;
+					color: #FF5B00;
 					margin-left: 30rpx;
 				}
 			}

+ 4 - 4
pages/seller/cart/components/secondHand.vue

@@ -367,8 +367,8 @@
 		line-height: 76rpx;
 		padding-left: 30rpx;
 		&.active{
-			color: #E15616;
-			border-bottom: 4rpx solid #E15616;
+			color: #FF5B00;
+			border-bottom: 4rpx solid #FF5B00;
 		}
 	}
 	.tabstyle{
@@ -403,7 +403,7 @@
 			height: 36rpx;
 			line-height: 36rpx;
 			text-align: center;
-			color: #E15616;	
+			color: #FF5B00;	
 			position: absolute;
 			bottom: -5rpx;
 			right: -5rpx;
@@ -801,7 +801,7 @@
 			color: #333333;
 			font-size: 26rpx;
 			margin-right: 0;
-			// background:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+			// background:linear-gradient(90deg, #FF9300 0%, #FF5B00 100%);
 			background: #FFFFFF;
 			border: 2rpx solid #C9C9C9;
 		}

+ 1 - 1
pages/seller/cart/coupon-share.vue

@@ -91,7 +91,7 @@ export default {
 					text: '去升级',
 					customStyle: {
 						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #E15616 100%)'
+						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
 					},
 					plain: false
 				}

+ 1 - 1
pages/seller/cart/second.vue

@@ -240,7 +240,7 @@
 		}
 	.addbtn{
 			height: 84rpx;
-			background: linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+			background: linear-gradient(90deg, #FF9300 0%, #FF5B00 100%);
 			text-align: center;
 			font-size: 28rpx;
 			color: #fff;

+ 257 - 0
pages/seller/club/club-detail.vue

@@ -0,0 +1,257 @@
+<template>
+	<view class="container club-info">
+		<tui-skeleton
+			v-if="skeletonShow"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		></tui-skeleton>
+		<template v-else>
+			<view class="info-content clearfix">
+				<view class="info-main border">
+					<view class="info-p"
+						>机构名称:<text>{{ clubInfo.name }}</text></view
+					>
+					<view class="info-p"
+						>状态:<text
+							class="info-h1-tag"
+							:class="{
+								orange: clubInfo.status == 1,
+								grey: clubInfo.status == 90,
+								warn: clubInfo.status == 92
+							}"
+						>
+							{{ clubInfo.status | statusFilters }}
+						</text></view
+					>
+					<view class="info-p"
+						>机构级别:<text>{{ clubInfo.userIdentity === 2 ? '资质机构' : '个人机构' }}</text></view
+					>
+					<view class="info-p"
+						>机构类型:<text
+							>{{ clubInfo.firstClubType | FirstFormat }}-{{ clubInfo.secondClubType | TwoFormat }}</text
+						></view
+					>
+					<view class="info-p"
+						>联系人:<text>{{ clubInfo.linkMan }}</text></view
+					>
+					<view class="info-p"
+						>手机号:<text>{{ clubInfo.contractMobile }}</text></view
+					>
+					<view class="info-p"
+						>联系人身份:<text>{{ clubInfo.linkManIdentity | linkManFormat }}</text></view
+					>
+					<view class="info-p"
+						>注册时间:<text>{{ clubInfo.addTime }}</text></view
+					>
+					<view class="info-p"
+						>联系地址:<text>{{ clubInfo.provincialAddress }}{{ clubInfo.address }}</text></view
+					>
+					<view class="info-p"
+						v-if="clubInfo.socialCreditCode" >营业执照编号:<text>{{ clubInfo.socialCreditCode }}</text></view
+					>
+					<view class="info-p">营业执照:</view>
+					<view class="info-img"><image :src="clubInfo.businessLicense" alt=""/></view>
+					<view class="info-p" v-if="clubInfo.medicalPracticeLicense">医疗许可证:</view>
+					<view class="info-img" v-if="clubInfo.medicalPracticeLicense"
+						><image :src="clubInfo.medicalPracticeLicense" alt=""
+					/></view>
+				</view>
+				<view class="info-main">
+					<view class="info-p"
+						v-if="clubInfo.shortName">机构简称:<text>{{ clubInfo.shortName }}</text></view
+					>
+					<view class="info-p"
+						v-if="clubInfo.contractEmail">邮箱:<text>{{ clubInfo.contractEmail }}</text></view
+					>
+					<view class="info-p" v-if="clubInfo.shopPhoto">门头照:</view>
+					<view class="info-img" v-if="clubInfo.shopPhoto"><image :src="clubInfo.shopPhoto" alt=""/></view>
+					<view class="info-p"
+						>主营内容:<text>{{ clubInfo.mainProduct }}</text></view
+					>
+					<template v-if="clubInfo.contractPhone || clubInfo.fax || clubInfo.profile">
+						<view class="info-p" v-if="clubInfo.contractPhone"
+							>固定电话:<text>{{ clubInfo.contractPhone ? clubInfo.contractPhone : '无' }}</text></view
+						>
+						<view class="info-p" v-if="clubInfo.fax"
+							>传真:<text>{{ clubInfo.fax ? clubInfo.fax : '无' }}</text></view
+						>
+						<view class="info-p" v-if="clubInfo.profile"
+							>公司介绍:<text>{{ clubInfo.profile ? clubInfo.profile : '无' }}</text></view
+						>
+					</template>
+				</view>
+			</view>
+		</template>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import authorize from '@/common/config/authorize.js'
+import wxLogin from '@/common/config/wxLogin.js'
+
+export default {
+	data() {
+		return {
+			skeletonShow: true,
+			clubInfo: {},
+			isSellerpopup: false
+		}
+	},
+	onLoad(option) {
+		wxLogin.wxLoginAuthorize()
+		this.userClubRecordLinkage({ userId: option.userId })
+	},
+	filters: {
+		FirstFormat(value) {
+			//处理格式
+			const map = {
+				1: '医美',
+				2: '生美',
+				3: '项目公司',
+				4: '个人',
+				5: '其他'
+			}
+			return map[value]
+		},
+		TwoFormat(value) {
+			const map = {
+				1: '诊所',
+				2: '门诊',
+				3: '医院',
+				4: '其他',
+				5: '美容院',
+				6: '养生馆',
+				7: '其他',
+			}
+			return map[value]
+		},
+		linkManFormat(value) {
+			const map = {
+				1: '老板',
+				2: '采购',
+				3: '运营',
+				4: '其他'
+			}
+			return map[value]
+		},
+		statusFilters(value) {
+			// 状态
+			const map = {
+				1: '待审核',
+				90: '已上线',
+				92: '审核未通过'
+			}
+			return map[value]
+		}
+	},
+	computed: {
+		...mapState(['isManage'])
+	},
+	methods: {
+		async userClubRecordLinkage(param) {
+			//查询机构信息
+			const userInfo = await this.$api.getStorage()
+			this.UserService.OrganizationUpdateModifyInfo(param)
+				.then(response => {
+					this.clubInfo = response.data.club
+					setTimeout(() => {
+						this.skeletonShow = false
+					}, 1000)
+				})
+				.catch(error => {
+					this.isInvalid = true
+				})
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: auto;
+}
+.club-info {
+	width: 100%;
+	.info-content {
+		width: 100%;
+		height: auto;
+		float: left;
+		box-sizing: border-box;
+		.info-main {
+			width: 100%;
+			height: auto;
+			padding: 24rpx 0;
+			margin-bottom: 24rpx;
+			&.border{
+				border-bottom: 30rpx solid #F5F5F5;
+			}
+			.info-h1 {
+				width: 100%;
+				box-sizing: border-box;
+				padding: 0 24rpx;
+				position: relative;
+				line-height: 80rpx;
+				font-size: 30rpx;
+				color: #333333;
+				&:before {
+					content: '';
+					width: 6rpx;
+					height: 24rpx;
+					background-color: #FF5B00;
+					position: absolute;
+					left: 0;
+					top: 30rpx;
+				}
+			}
+			.info-p {
+				width: 100%;
+				box-sizing: border-box;
+				padding: 0 24rpx;
+				position: relative;
+				line-height: 66rpx;
+				font-size: 30rpx;
+				color: #999999;
+				.info-h1-tag {
+					display: inline-block;
+					padding: 0 16rpx;
+					line-height: 40rpx;
+					background-color: #fff2d5;
+					font-size: 24rpx;
+					border-radius: 20rpx;
+					color: #ffffff;
+					text-align: center;
+					margin-left: 16rpx;
+					&.orange {
+						background-color: #fff2d5;
+						color: #e4aa43;
+					}
+					&.grey {
+						background-color: #0db26d;
+					}
+					&.warn {
+						background-color: #f94b4b;
+					}
+				}
+				text {
+					color: #333333;
+				}
+			}
+			.info-img {
+				width: 200rpx;
+				height: 200rpx;
+				image {
+					width: 200rpx;
+					height: 200rpx;
+					display: block;
+					margin-left: 24rpx;
+					border: 1px dashed #e2e2e2;
+				}
+			}
+		}
+	}
+}
+</style>

+ 52 - 38
pages/seller/club/club-info.vue

@@ -8,6 +8,10 @@
 			:loadingType="5"
 		></tui-skeleton>
 		<template v-else>
+			<view class="info-header-path" @click="handlePathVisit">
+				<view class="path-text">客户访问采美商城全部记录</view>
+				<view class="path-icon"><text class="iconfont icon-xiayibu"></text></view>
+			</view>
 			<view class="info-header clearfix" v-if="clubInfo.ipAddress">
 				<view class="pp"
 					>注册地:<text>{{ clubInfo.ipAddress }}</text></view
@@ -99,7 +103,7 @@
 			</view>
 		</template>
 		<!-- 按钮 -->
-		<template v-if="clubInfo.spType === 0 && isManage">
+<!-- 	<template v-if="clubInfo.spType === 0 && isManage">
 			<tui-bottom-popup :radius="false" :mask="false" :show="true">
 				<view class="tui-popup-box clearfix">
 					<view
@@ -112,7 +116,7 @@
 					</view>
 				</view>
 			</tui-bottom-popup>
-		</template>
+		</template> -->
 		<!-- 选择弹窗 -->
 		<cm-seller-popup
 			ref="cmresellerpopup"
@@ -154,43 +158,28 @@ export default {
 		this.userClubRecordLinkage({ clubId: this.salesParams.clubId })
 	},
 	filters: {
-		FirstFormat: function(type) {
-			//处理金额
-			let name = ''
-			switch (type) {
-				case 1:
-					name = '医美'
-					break
-				case 2:
-					name = '生美'
-					break
-				case 3:
-					name = '项目公司'
-					break
-				case 4:
-					name = '个人'
-					break
-				case 5:
-					name = '其他'
-					break
+		FirstFormat(value) {
+			//处理格式
+			const map = {
+				1: '医美',
+				2: '生美',
+				3: '项目公司',
+				4: '个人',
+				5: '其他'
 			}
-			return name
+			return map[value]
 		},
-		TwoFormat: function(type) {
-			//处理金额
-			let text = ''
-			switch (type) {
-				case 1:
-					text = '诊所'
-					break
-				case 2:
-					text = '门诊'
-					break
-				case 3:
-					text = '医院'
-					break
+		TwoFormat(value) {
+			const map = {
+				1: '诊所',
+				2: '门诊',
+				3: '医院',
+				4: '其他',
+				5: '美容院',
+				6: '养生馆',
+				7: '其他',
 			}
-			return text
+			return map[value]
 		},
 		statusFilters(value) {
 			// 状态
@@ -243,6 +232,10 @@ export default {
 		handleShowSellerpopup() {
 			//显示选择协销弹窗
 			this.isSellerpopup = true
+		},
+		handlePathVisit(){
+			// 跳转商城访问记录
+			this.$api.navigateTo(`/pages/seller/club/club-visit?clubId=${this.salesParams.clubId}`)
 		}
 	},
 	onShow() {}
@@ -255,6 +248,28 @@ page {
 }
 .club-info {
 	width: 100%;
+	.info-header-path{
+		width: 100%;
+		height: 90rpx;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+		background-color: #FEF6F3;
+		line-height: 90rpx;
+		.path-text{
+			float: left;
+			font-size: 28rpx;
+			color: #FF5B00;
+			font-weight: bold;
+		}
+		.path-icon{
+			width: 90rpx;
+			height: 90rpx;
+			float: right;
+			text-align: right;
+			font-size: 30rpx;
+			color: #FF5B00;
+		}
+	}
 	.info-header {
 		width: 100%;
 		height: auto;
@@ -283,7 +298,6 @@ page {
 		box-sizing: border-box;
 		padding: 0 24rpx;
 		background-color: #ffffff;
-		padding-bottom: 240rpx;
 		.info-title {
 			width: 100%;
 			height: 68rpx;
@@ -340,7 +354,7 @@ page {
 					content: '';
 					width: 6rpx;
 					height: 24rpx;
-					background-color: #e15616;
+					background-color: #FF5B00;
 					position: absolute;
 					left: 0;
 					top: 30rpx;

+ 1 - 1
pages/seller/club/club-list.vue

@@ -550,7 +550,7 @@ page,
 					margin-right: 5rpx;
 				}
 			}
-	}
+		}
 	}
 }
 </style>

+ 451 - 0
pages/seller/club/club-portrait.vue

@@ -0,0 +1,451 @@
+<template>
+	<view class="container clearfix">
+		<tui-skeleton
+			v-if="skeletonShow"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		></tui-skeleton>
+		<template v-else>
+			<!-- <view class="charts-navbar" id="topBar">
+				<view
+					class="nav-item tui-skeleton-fillet"
+					v-for="(nav, index) in navBarList"
+					:key="index"
+					:class="{ current: tabCurrentIndex === nav.index }"
+					@click="tabChange(nav.index)"
+				>
+					<text>{{ nav.name }}</text> <text class="line"></text>
+				</view>
+			</view> -->
+			<view class="charts-content">
+				<!-- 重点资料 -->
+				<view class="charts-box charts-box0" id="charts-box0">
+					<echartInfo ref="echart-info" :clubInfo="clubInfo" :clubId="clubInfo.clubId" v-if="isRequest" />
+				</view>
+				<!-- 订单 -->
+				<view class="charts-box charts-box1" id="charts-box1">
+					<echartOrder
+						ref="echartOrder"
+						:clubId="clubInfo.clubId"
+						:totalAmount="totalData.orderTotalAmount"
+						:totalNum="totalData.orderTotal"
+						v-if="isRequest"
+					/>
+				</view>
+				<!-- 关键词 -->
+				<view class="charts-box charts-box2" id="charts-box2">
+					<echartKeyword
+						ref="echartKeyword"
+						:clubId="clubInfo.clubId"
+						:totalNum="totalData.totalKeywords"
+						v-if="isRequest"
+					/>
+				</view>
+				<!-- 咨询记录 -->
+				<view class="charts-box charts-box3" id="charts-box3">
+					<echartContact
+						ref="echartContact"
+						:clubId="clubInfo.clubId"
+						:totalNum="totalData.remarksTotal"
+						v-if="isRequest"
+					/>
+				</view>
+				<!-- 访问记录 -->
+				<view class="charts-box charts-box4" id="charts-box4">
+					<echartService ref="echartService" :clubId="clubInfo.clubId" v-if="isRequest" />
+				</view>
+			</view>
+		</template>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import { debounce } from '@/common/config/common.js'
+import echartInfo from './components/echart-info'
+import echartOrder from './components/echart-order'
+import echartKeyword from './components/echart-keyword'
+import echartContact from './components/echart-contact'
+import echartService from './components/echart-service'
+import chartMixin from './components/mixins/chart.mixin.js'
+const observers = {}
+export default {
+	mixins: [chartMixin],
+	components: {
+		echartInfo,
+		echartOrder,
+		echartKeyword,
+		echartContact,
+		echartService
+	},
+	data() {
+		return {
+			skeletonShow: true,
+			isRequest: false,
+			clubInfo: {},
+			navBarList: [
+				{ name: '重点资料', index: 0 },
+				{ name: '订单数据', index: 1 },
+				{ name: '搜索关键词', index: 2 },
+				{ name: '咨询记录', index: 3 },
+				{ name: '访问记录', index: 4 }
+			],
+			tabCurrentIndex: 0,
+			anchorList: [], // 锚点元素节点信息
+			anchorStatus: [0, 0, 0, 0, 0], // 分别代表5个锚点区域的开关 0:关  1:开
+			totalData: {
+				orderTotalAmount: 0, // 订单总金额
+				orderTotal: 0, // 订单总量
+				remarksTotal: 0, // 所有咨询记录条数
+				totalKeywords: 0 // 所有关键词条数
+			}
+		}
+	},
+	onLoad(option) {
+		this.getClubInfo(option.userId)
+	},
+	onReady() {
+		console.log('onReady')
+		setTimeout(() => {
+			this.getAnchorSection()
+		}, 2000)
+	},
+	methods: {
+		async getClubInfo(userId) {
+			//获取机构信息
+			try {
+				const clubRes = await this.UserService.OrganizationUpdateModifyInfo({ userId: userId })
+				this.clubInfo =  clubRes.data.club
+				const tialRes = await this.UserService.userClubInitial({ clubId: this.clubInfo.clubId })
+				this.totalData.orderTotal = tialRes.data.orderTotal
+				this.totalData.orderTotalAmount = tialRes.data.orderTotalAmount
+				this.totalData.remarksTotal = tialRes.data.remarksTotal
+				this.totalData.totalKeywords = tialRes.data.totalKeywords
+				setTimeout(() => {
+					this.skeletonShow = false
+					this.isRequest = true
+				}, 1000)
+			} catch (error) {
+				console.log(error)
+			}
+		},
+		tabChange(index) {
+			this.tabCurrentIndex = index
+			this.scrollToAnchor()
+		},
+		// 获取锚点元素信息
+		getAnchorSection() {
+			const query = uni.createSelectorQuery().in(this)
+			query
+				.selectAll('.charts-box')
+				.boundingClientRect(data => {
+					if (data.length > 0) {
+						this.anchorList = data
+						this.anchorList.forEach((dom, index) => {
+							uni.createSelectorQuery()
+								.select('.charts-content')
+								.boundingClientRect(data => {
+									//目标节点、也可以是最外层的父级节点
+									uni.createSelectorQuery()
+										.select(`#${dom.id}`)
+										.boundingClientRect(res => {
+											//dom
+											dom.top = res.top - data.top + 8
+										})
+										.exec()
+								})
+								.exec()
+						})
+						console.log(this.anchorList)
+						this.observerAnchor(data)
+					}
+				})
+				.exec()
+		},
+		// 滚动到锚点
+		scrollToAnchor() {
+			let scrollTop = 0
+			const query = uni.createSelectorQuery().in(this)
+			if (this.tabCurrentIndex > 0) {
+				scrollTop = this.anchorList[this.tabCurrentIndex].top
+			}
+			uni.pageScrollTo({
+				scrollTop: scrollTop
+			})
+		},
+		// 为需要观测的区域创建观测者
+		observerAnchor(selectorList = []) {
+			const height = uni.getSystemInfoSync().windowHeight - 70
+			selectorList.forEach((selector, index) => {
+				observers[selector.id] = uni.createIntersectionObserver(this)
+				observers[selector.id].relativeToViewport({ bottom: -height }).observe(`#${selector.id}`, res => {
+					if (res.intersectionRatio > 0) {
+						this.anchorStatus[index] = 1
+						// console.log(index, `当前区域为${selector.id}标签选择器的区域...`)
+					} else {
+						this.anchorStatus[index] = 0
+						// console.log(index, `离开区域为${selector.id}标签选择器的区域...`)
+					}
+				})
+			})
+		}
+	},
+	onPageScroll(e) {
+		this.scrollTop = e.scrollTop
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss">
+page {
+	background-color: #f5f5f5 !important;
+}
+.container {
+	width: 100%;
+	height: auto;
+	box-sizing: border-box;
+	padding: 24rpx;
+}
+.charts-navbar {
+	width: 100%;
+	height: 90rpx;
+	background-color: #ffffff;
+	box-sizing: border-box;
+	padding: 20rpx 0;
+	display: flex;
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 9999999;
+	.nav-item {
+		display: flex;
+		flex: 1;
+		justify-content: center;
+		align-items: center;
+		height: 50rpx;
+		font-size: $font-size-28;
+		color: $text-color;
+		position: relative;
+		float: left;
+		position: relative;
+		.line {
+			width: 60rpx;
+			height: 2px;
+			border-radius: 1px;
+			background: #ffffff;
+			position: absolute;
+			bottom: 0;
+			left: 50%;
+			margin-left: -30rpx;
+		}
+		&.current {
+			color: $color-system;
+			.line {
+				background: $color-system;
+			}
+		}
+	}
+}
+.charts-content {
+	width: 100%;
+	height: auto;
+}
+.charts-box {
+	width: 100%;
+	min-height: 350rpx;
+	box-sizing: border-box;
+	padding: 34rpx 24rpx;
+	background-color: #fff;
+	margin-bottom: 32rpx;
+	border-radius: 16rpx;
+	float: left;
+	.echart-content {
+		width: 100%;
+		.echart-title {
+			width: 100%;
+			height: 96rpx;
+			float: left;
+			box-sizing: border-box;
+			padding: 16rpx 0 24rpx 0;
+			.e-icon {
+				width: 56rpx;
+				height: 56rpx;
+				float: left;
+				text-align: center;
+				line-height: 56rpx;
+				border-radius: 50%;
+				&.e1 {
+					background-color: #1890f9;
+				}
+				&.e2 {
+					background-color: #FF5B00;
+				}
+				&.e3 {
+					background-color: #f2637b;
+				}
+				&.e4 {
+					background-color: #f99e0a;
+				}
+				&.e5 {
+					background-color: #36cbcb;
+				}
+				.iconfont {
+					font-size: 30rpx;
+					color: #fff;
+				}
+			}
+			.e-name {
+				float: left;
+				line-height: 56rpx;
+				font-size: 30rpx;
+				margin-left: 24rpx;
+				color: #333;
+			}
+			.e-start {
+				float: right;
+				line-height: 56rpx;
+				font-size: 28rpx;
+				color: #34cc8c;
+			}
+		}
+		.echart-main {
+			width: 100%;
+			min-height: 200rpx;
+			box-sizing: border-box;
+			padding: 32rpx 40rpx;
+			position: relative;
+			float: left;
+			background-color: #f7f7f7;
+			.echart-text {
+				width: 100%;
+				line-height: 40rpx;
+				margin-bottom: 20rpx;
+				font-size: 28rpx;
+				color: #333;
+				float: left;
+				.label {
+					color: #999;
+					text-align-last: justify;
+				}
+			}
+			.echart-next {
+				width: 100rpx;
+				height: 100%;
+				position: absolute;
+				right: 10rpx;
+				top: 50%;
+				font-size: 28rpx;
+				color: #1890f9;
+			}
+		}
+		.echart-search {
+			width: 100%;
+			height: auto;
+			float: left;
+			margin-bottom: 58rpx;
+			.echart-search-text {
+				width: 100%;
+				height: 34rpx;
+				margin-bottom: 20rpx;
+				.search-text {
+					float: left;
+					line-height: 34rpx;
+					font-size: 24rpx;
+					color: #333;
+					margin-right: 20rpx;
+					text {
+						color: #FF5B00;
+					}
+				}
+			}
+			.echart-search-date {
+				width: 100%;
+				height: 56rpx;
+				box-sizing: border-box;
+				.line {
+					color: #999999;
+					float: left;
+					line-height: 56rpx;
+					margin: 0 20rpx;
+				}
+				.echart-search-date-input {
+					width: 228rpx;
+					height: 56rpx;
+					border: 1px solid #e2e2e2;
+					border-radius: 8rpx;
+					box-sizing: border-box;
+					padding: 0 20rpx;
+					line-height: 56rpx;
+					float: left;
+					position: relative;
+					.input-text {
+						display: block;
+						height: 56rpx;
+						font-size: 24rpx;
+						color: #666666;
+					}
+					.icon-riqi {
+						color: #999;
+						display: block;
+						width: 40rpx;
+						height: 56rpx;
+						position: absolute;
+						right: 10rpx;
+						top: 0;
+						line-height: 56rpx;
+					}
+				}
+			}
+			.echart-search-time {
+				width: 100%;
+				height: 40rpx;
+				margin-top: 24rpx;
+				.time-tab {
+					width: 80rpx;
+					height: 40rpx;
+					float: left;
+					border-radius: 20rpx;
+					margin-right: 24rpx;
+					box-sizing: border-box;
+					border: 1px solid #b2b2b2;
+					line-height: 38rpx;
+					font-size: 24rpx;
+					text-align: center;
+					color: #999;
+					&.current {
+						background-color: #fef6f3;
+						border-color: #FF5B00;
+						color: #FF5B00;
+					}
+				}
+			}
+		}
+		.echart-mains {
+			width: 100%;
+			min-height: 300rpx;
+			float: left;
+			.echart-mains-none {
+				width: 100%;
+				height: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				flex-direction: column;
+				.none-image {
+					width: 220rpx;
+					height: 220rpx;
+					margin-bottom: 20rpx;
+				}
+				.none-text {
+					font-size: $font-size-28;
+					color: #999999;
+					line-height: 44rpx;
+				}
+			}
+		}
+	}
+}
+</style>

+ 288 - 0
pages/seller/club/club-visit-detail.vue

@@ -0,0 +1,288 @@
+<template>
+	<view class="container club-visit">
+		<tui-skeleton
+			v-if="skeletonShow"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		></tui-skeleton>
+		<template v-else>
+			<view class="visit-content clearfix">
+				<view class="info-title">{{ listQuery.accessDate }}</view>
+				<view class="info-main" v-for="(visit, index) in list" :key="index" :class="index === list.length -1 ? 'none' : ''">
+					<view class="info-p">访问时间:<text>{{ visit.accessNewTime }}</text></view>
+					<view class="info-p">页面类型:<text>{{ visit.pageType ? visit.pageType : '--' }}</text></view>
+					<view class="info-p">页面标签:<text>{{ visit.pageLabel ? visit.pageLabel : '--' }}</text></view>
+					<view class="info-p">商品名称:<text>{{ visit.productName ? visit.productName  : '--'  }}</text></view>
+					<view class="info-p">商品图片: <text v-if="!visit.productImage">--</text></view>
+					<view class="info-img" v-if="visit.productImage"><image :src="visit.productImage" alt=""/></view>
+					<view class="info-p">访问来源:<text>{{ visit.accessSource | accessSourceFilters }}</text></view>
+					<view class="info-p">访问客户端:<text>{{ visit.accessClient | accessClientFilters }}</text></view>
+					<view class="info-p">访问时长:<text>{{ visit.accessDuration }}</text></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>
+		</template>
+		<!-- 侧边 -->
+		<view class="scrollTop" :style="{bottom:'150rpx'}">
+			<view class="icon top" @click="onPageScrollTop" :class="isScrollTop ? 'show' : 'none'">
+				<text class="iconfont icon-zhiding"></text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import authorize from '@/common/config/authorize.js'
+import wxLogin from '@/common/config/wxLogin.js'
+
+export default {
+	data() {
+		return {
+			skeletonShow: true,
+			isScrollTop:false,
+			nomoreText: '上拉显示更多',
+			hasNextPage: false,
+			loadding: false,
+			pullUpOn: true,
+			pullFlag: true,
+			listQuery:{
+				clubId:0,
+				accessDate:'',
+				ip:'',
+				pageNum:1,
+				pageSize:10
+			},
+			list:[] ,
+		}
+	},
+	filters: {
+		accessClientFilters(value) {
+		  // 访问客户端
+		  const map = {
+			'0': '网站',
+			'1': '小程序'
+		  }
+		  return map[value]
+		},
+		accessSourceFilters(value) {
+		  // 访问来源
+		  if(!value) return '--'
+		  const map = {
+			'0': '直接访问',
+			'1': '百度搜索',
+			'2': '360搜索',
+			'3': '谷歌搜索',
+			'4': '神马搜索',
+			'5': '头条搜索',
+			'6': '搜狗搜索',
+			'7': '直接访问'
+		  }
+		  return map[value]
+		}
+	},
+	computed: {},
+	onLoad(option) {
+		this.listQuery.clubId = option.clubId
+		this.listQuery.accessDate = option.accessDate
+		this.listQuery.ip = option.ip
+		this.getClubRecordDetail()
+		setTimeout(() => {
+			this.skeletonShow = false
+		}, 1000)
+		this.listQuery
+	},
+	methods: {
+		getClubRecordDetail() {
+			//获取记录详情
+			this.listQuery.pageNum = 1
+			this.UserService.userClubRecordDetail(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.hasNextPage = response.data.hasNextPage
+						this.list = data.list
+						this.pullFlag = false
+						setTimeout(() => {
+							this.pullFlag = true
+						}, 500)
+						if (this.hasNextPage) {
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						} else {
+							this.pullUpOn = true
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		getOnReachBottomData() {
+			this.listQuery.pageNum += 1
+			this.UserService.userClubRecordDetail(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.hasNextPage = response.data.hasNextPage
+						this.list = this.list.concat(data.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)
+				})
+		},
+		onPageScrollTop(){
+			uni.pageScrollTo({
+			    scrollTop: 0,
+			    duration: 600
+			})
+		},
+	},
+	onPullDownRefresh() {
+		setTimeout(() => {
+			this.getClubRecordDetail()
+			uni.stopPullDownRefresh()
+		}, 200)
+	},
+	onReachBottom() {
+		if (this.hasNextPage) {
+			this.loadding = true
+			this.pullUpOn = true
+			this.getOnReachBottomData()
+		}
+	},
+	onPageScroll(e) {
+		//实时获取到滚动的值
+		if (e.scrollTop > 800) {
+			this.isScrollTop = true
+		} else {
+			this.isScrollTop = false
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: auto;
+}
+.club-visit {
+	width: 100%;
+	.visit-content {
+		width: 100%;
+		height: auto;
+		float: left;
+		box-sizing: border-box;
+		.info-title {
+			width: 100%;
+			box-sizing: border-box;
+			padding: 24rpx 24rpx 0 24rpx;
+			position: relative;
+			line-height: 48rpx;
+			font-size: 40rpx;
+			color: #333;
+			font-weight: bold;
+		}
+		.info-main {
+			width: 100%;
+			height: auto;
+			padding: 20rpx 0;
+			margin-bottom: 24rpx;
+			border-bottom: 20rpx solid #f5f5f5;
+			box-sizing: border-box;
+			.info-p {
+				width: 100%;
+				box-sizing: border-box;
+				padding: 0 24rpx;
+				position: relative;
+				line-height: 66rpx;
+				font-size: 30rpx;
+				color: #999999;
+				text-overflow: ellipsis;
+				overflow: hidden;
+				display: -webkit-box;
+				-webkit-line-clamp: 1;
+				line-clamp: 1;
+				-webkit-box-orient: vertical;
+				text {
+					color: #333333;
+				}
+			}
+			.info-img {
+				width: 200rpx;
+				height: 200rpx;
+				image {
+					width: 200rpx;
+					height: 200rpx;
+					display: block;
+					margin-left: 24rpx;
+					border: 1px dashed #e2e2e2;
+				}
+			}
+			&.none{
+				border-bottom: none;
+			}
+		}
+	}
+}
+.scrollTop{
+	width: 80rpx;
+	height: 100rpx;
+	position: fixed;
+	right: 20rpx;
+	z-index: 99;
+	.icon{
+		width: 80rpx;
+		height: 80rpx;
+		border-radius: 50%;
+		float: left;
+		margin: 10rpx 0;
+		line-height: 80rpx;
+		text-align: center;
+		.contact-btn{
+			width: 80rpx;
+			height: 80rpx;
+			background-color: rgba(0,0,0,0);
+			line-height: 80rpx;
+			.iconfont{
+				font-size: $font-size-44;
+				color: #FFFFFF;
+			}
+		}
+		&.top{
+			background-color: rgba(0,0,0,0.4);
+			&.show{
+				opacity: 1;
+			}
+			&.none{
+				opacity: 0;
+			}
+		}
+		.iconfont{
+			font-size: $font-size-44;
+			color: #FFFFFF;
+		}
+	}
+	}
+</style>

+ 216 - 0
pages/seller/club/club-visit.vue

@@ -0,0 +1,216 @@
+<template>
+	<view class="container ">
+		<tui-skeleton
+			v-if="skeletonShow"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		></tui-skeleton>
+		<template v-else>
+			<au-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></au-custom>
+			<view class="vsit-content" v-if="list.length>0">
+				<view class="list" v-for="(item,index) in list" :key="index" >
+					<view class="list-title">{{ item.year }}年</view>
+					<view class="list-main clear">
+						<view class="list-main-item" v-for="(visit,vIndex) in item.data" :key="vIndex" @click="handleVisitDeatil(visit)">
+							<view class="item-le">{{ visit.monthAndDay }}</view>
+							<view class="item-ri">
+								<view class="item-ri-i">访问记录</view>
+								<view class="item-ri-i none">{{ visit.number }}条</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="vsit-content-none" v-else>
+				<image class="none-image" src="https://static.caimei365.com/app/img/bg/bg_visit_none@2x.png" mode=""></image>
+				<view class="none-text">暂无数据</view>
+			</view>
+		</template>
+	</view>	
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				skeletonShow:true,
+				clubId:0,
+				nvabarData: {		//顶部自定义导航
+					haveHome:true,
+					haveBack:true,
+					textColor:'#ffffff',
+					showCapsule:1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '',  // 导航栏 中间的标题
+					textLeft:this.$store.state.isIphone
+				},
+				list:[]
+			}
+		},
+		filters:{
+			
+		},
+		onLoad(option) {
+			this.clubId = option.clubId
+			this.getVisitList(option.clubId)
+		},
+		methods:{
+			getVisitList(clubId){
+			    this.UserService.userClubRecordList({ clubId : clubId })
+			        .then(response => {
+			            this.list = response.data
+						setTimeout(()=>{
+							this.skeletonShow = false
+						},500)
+			        })
+			        .catch(error => {
+			            console.log(error)
+			        })
+			},
+			handleVisitDeatil(visit){
+				this.$api.navigateTo(`/pages/seller/club/club-visit-detail?clubId=${this.clubId}&accessDate=${visit.accessDate}&ip=${visit.ip}`)
+			},
+			hanldNavigateBack(){
+				uni.navigateBack({
+					delta: 1
+				})
+			}
+		},
+		onShow() {
+			
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		width: 100%;
+		height: auto;
+		background-color: #F7F7F7 !important;
+	}
+	.container{
+		width: 100%;
+		min-height: 700rpx;
+		background: url(https://static.caimei365.com/app/img/bg/bg_visit@2x.png) top center no-repeat;
+		background-size: contain;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+		padding-top: 441rpx;
+	}
+	.vsit-content-none{
+		width: 100%;
+		min-height: 1000rpx;
+		background: #FFFFFF;
+		border-radius: 24rpx;
+		padding: 52rpx 24rpx;
+		box-sizing: border-box;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+		.none-image{
+			width: 260rpx;
+			height: 260rpx;
+			margin-bottom: 20rpx;
+		}
+		.none-text{
+			font-size: $font-size-28;
+			color: #999999;
+			line-height: 44rpx;
+		}
+	}
+	.vsit-content{
+		width: 100%;
+		min-height: 1000rpx;
+		background: #FFFFFF;
+		border-radius: 24rpx;
+		padding: 52rpx 24rpx;
+		box-sizing: border-box;
+		.list{
+			width: 100%;
+			height: auto;
+			margin-bottom: 80rpx;
+			.list-title{
+				width: 100%;
+				height: 58rpx;
+				margin-bottom: 20rpx;
+				font-size: 42rpx;
+				color: #333;
+			}
+			.list-main{
+				width: 100%;
+				height: auto;
+				padding: 24rpx 16rpx 24rpx 70rpx;
+				box-sizing: border-box;
+				position: relative;
+				&::before{
+					content:'';
+					height: 100%; 
+					border-left: 2px dashed #FFA880;
+					position: absolute;
+					left: 37rpx;
+					top: 0;
+				}
+				.list-main-item{
+					width: 565rpx;
+					height: 120rpx;
+					box-sizing: border-box;
+					padding: 12rpx 35rpx;
+					background: url(https://static.caimei365.com/app/img/bg/bg_visit_list@2x.png)no-repeat;
+					background-size: cover;
+					margin-bottom: 40rpx;
+					position: relative;
+					border-radius: 16rpx;
+					&::after{
+						content:'';
+						width: 40rpx;
+						height: 40rpx;
+						background: url(https://static.caimei365.com/app/img/bg/bg_visit_radius@2x.png)no-repeat;
+						background-size: cover;
+						position: absolute;
+						left: -52rpx;
+					}
+					.item-le{
+						height: 100%;
+						box-sizing: border-box;
+						padding-right: 30rpx;
+						position: relative;
+						float: left;
+						line-height: 96rpx;
+						font-size: 30rpx;
+						text-align: center;
+						color: #333333;
+						&::before{
+							content: '';
+							width: 1px;
+							height: 48rpx;
+							background-color: #CCC;
+							position: absolute;
+							top: 24rpx;
+							right: 0;
+						}
+					}
+					.item-ri{
+						height: 96rpx;
+						padding-left: 48rpx;
+						float: left;
+						.item-ri-i{
+							padding-right: 60rpx;
+							line-height: 96rpx;
+							font-size: 28rpx;
+							text-align: center;
+							color: #999;
+							float: left;
+							&.none{
+								font-size: 30rpx;
+								color: #FF5B00;
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+</style>

+ 202 - 0
pages/seller/club/components/echart-contact.vue

@@ -0,0 +1,202 @@
+<template>
+	<view class="echart-content">
+		<view class="echart-title">
+			<view class="e-icon e4"><text class="iconfont icon-zixunjilu"></text></view>
+			<view class="e-name">咨询记录</view>
+		</view>
+		<view class="echart-search">
+			<view class="echart-search-text">
+				<view class="search-text">所有:<text>{{ remarksTotal }}条</text></view>
+				<view class="search-text">当前范围:<text>{{ contactData.remarksScopeNum }}条</text></view>
+			</view>
+			<view class="echart-search-date">
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindStartDateChange($event, 2)"
+					>
+						<text class="input-text">{{ contactData.startTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+				<view class="line">-</view>
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindEndDateChange($event, 2)"
+					>
+						<text class="input-text">{{ contactData.endTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+			</view>
+			<view class="echart-search-time">
+				<view
+					class="time-tab"
+					v-for="(time, index) in timeList"
+					:class="{ current: current === index }"
+					:key="index"
+					@click="handleTimeClick(time.current, index, 2)"
+					>{{ time.label }}</view
+				>
+			</view>
+		</view>
+		<view class="echart-mains">
+			<view class="echart-mains-none" v-if="isEmpty">
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/icon_echart_none@2x.png"
+					mode=""
+				></image>
+				<view class="none-text">暂无数据</view>
+			</view>
+			<view class="echart-mains-data" v-else>
+				<qiun-data-charts type="column" :opts="opts" :chartData="contactChartData" :animation="false" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import chartMixin from './mixins/chart.mixin.js'
+export default {
+	mixins: [chartMixin],
+	props:{
+		clubId:{
+			type:Number,
+			default:0
+		},
+		totalNum:{
+			type:Number,
+			default:0
+		}
+	},
+	data() {
+		return {
+			isEmpty:false,
+			current: 0,
+			remarksTotal:0,
+			contactChartData:null,
+			contactData:{
+			    startTime: '',
+			    endTime: '',
+			    remarksScopeNum:0
+			},
+			params:{
+			    clubId:0,//  机构id
+			    dateType:3,//   日期类别 0日 1月 2半年 3全年
+			    startTime:'',//   开始时间
+			    endTime:'',//   结束时间
+			    type:0	//  统计类别 0订单 1搜索关键词 2咨询记录 3访问记录 4初始状态
+			},
+			opts: {
+				legend: {
+					show: false
+				},
+				color: ['#81ecec'],
+				dataLabel: true,
+				padding: [15, 30, 0, 5],
+				enableScroll: false,
+				xAxis: {
+					disableGrid: true,
+					min: 0,
+					axisLine: false,
+					max: 40,
+					rotateLabel: true,
+					format: 'xAxisDemo3'
+				},
+				yAxis: {
+					fontSize: 12,
+					fontColor: '#CCCCCC',
+					axisLineColor: '#DCDCDC',
+					gridColor: '#DCDCDC',
+					boundaryGap: 'justify',
+					disabled: true,
+					axisLine: false,
+					min: 0,
+					max: 40
+				},
+				extra: {
+					column: {
+						type: 'group',
+						width: 20,
+						meterBorde: 1,
+						meterFillColor: '#FFFFFF',
+						activeBgColor: '#000000',
+						activeBgOpacity: 0.08,
+						seriesGap: 2,
+						categoryGap: 3,
+						barBorderCircle: false,
+						linearType: 'custom',
+						linearOpacity: 1,
+						customColor: ['#00cec9', '#81ecec'],
+						colorStop: 0
+					}
+				}
+			}
+		}
+	},
+	created() {
+		this.params.clubId = this.clubId
+		this.remarksTotal = this.totalNum
+		this.userClubPortrait(2)
+	},
+	methods: {
+		handleTimeClick(dateType,index,type) {
+		    //年月日点击
+		    console.log('dateType', dateType)
+		    this.current = index
+		    this.params.dateType = dateType
+			this.params.startTime = ''
+			this.params.endTime = ''
+		    this.userClubPortrait(type)
+		},
+		async userClubPortrait(type){
+			this.params.type = type
+			this.contactData.startTime = this.params.startTime
+			this.contactData.endTime = this.params.endTime
+			try {
+				const res = await this.UserService.userClubPortrait(this.params)
+				const data = res.data
+				this.contactData.remarksScopeNum = data.portrait.remarksScopeNum
+				this.contactData.startTime = this.params.startTime = data.portrait.startTime
+				this.contactData.endTime = this.params.endTime = data.portrait.endTime
+				if(data.remarks){
+					this.isEmpty = false  
+				    this.getSetContactData(data.remarks)
+				}else{
+					this.isEmpty = true  
+				}
+				console.log('contactData',this.contactData)
+			} catch (error) {
+			   this.$util.msg(error.msg, 2000)
+			}
+		},
+		getSetContactData(data) {
+			setTimeout(() => {
+				//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
+				let res = {
+					categories:data.name,
+					series: [
+						{
+							name: '',
+							data: data.value
+						}
+					]
+				}
+				this.contactChartData = JSON.parse(JSON.stringify(res))
+			}, 500)
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss"></style>

+ 104 - 0
pages/seller/club/components/echart-info.vue

@@ -0,0 +1,104 @@
+<template>
+	<view class="echart-content"> 
+		<view class="echart-title">
+			<view class="e-icon e1"><text class="iconfont icon-gongsi"></text></view>
+			<view class="e-name">{{ data.name }}</view>
+			<view class="e-start">{{ data.status | statusFilters }}</view>
+		</view>
+		<view class="echart-main clearfix" @click="handleClubInfo">
+			<view class="echart-text">
+				<text class="label">联系人:</text>{{ data.linkMan ? data.linkMan :'无' }}
+			</view>
+			<view class="echart-text">
+				<text class="label">手机号:</text>{{ data.contractMobile }}
+			</view>
+			<view class="echart-text" v-if="data.linkManIdentity">
+				<text class="label">联系人身份:</text>{{ data.linkManIdentity | linkManFormat }}
+			</view>
+			<view class="echart-text" v-if="data.firstClubType">
+				<text class="label">机构类型:</text>{{ data.firstClubType | FirstFormat }}-{{ data.secondClubType | TwoFormat }}
+			</view>
+			<view class="echart-text" v-if="data.provincialAddress">
+				<text class="label">地址:</text>{{ data.provincialAddress }}
+			</view>
+			<view class="echart-text" v-if="data.addTime">
+				<text class="label">注册时间:</text> {{ data.addTime }}
+			</view>
+			<view class="echart-next">详情></view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+export default {
+	props:{
+		clubInfo:{
+			type:Object,
+			default:{}
+		}
+	},
+	data() {
+		return {
+			data:{}
+		}
+	},
+	created() {
+		this.data = this.clubInfo
+	},
+	filters: {
+		FirstFormat(value) {
+			//处理格式
+			const map = {
+				1: '医美',
+				2: '生美',
+				3: '项目公司',
+				4: '个人',
+				5: '其他'
+			}
+			return map[value]
+		},
+		TwoFormat(value) {
+			if(!value){  return ''}
+			const map = {
+				1: '诊所',
+				2: '门诊',
+				3: '医院',
+				4: '其他',
+				5: '美容院',
+				6: '养生馆',
+				7: '其他',
+			}
+			return map[value]
+		},
+		linkManFormat(value) {
+			const map = {
+				1: '老板',
+				2: '采购',
+				3: '运营',
+				4: '其他'
+			}
+			return map[value]
+		},
+		statusFilters(value) {
+			// 状态
+			const map = {
+				1: '待审核',
+				90: '已上线',
+				92: '审核未通过'
+			}
+			return map[value]
+		}
+	},
+	methods: {
+		handleClubInfo(){
+			this.$api.navigateTo(`/pages/seller/club/club-detail?userId=${this.data.userId}`)
+		},
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss">
+
+</style>

+ 206 - 0
pages/seller/club/components/echart-keyword.vue

@@ -0,0 +1,206 @@
+<template>
+	<view class="echart-content">
+		<view class="echart-title">
+			<view class="e-icon e3"><text class="iconfont icon-sousuoguanjianci"></text></view>
+			<view class="e-name">搜索关键词</view>
+		</view>
+		<view class="echart-search">
+			<view class="echart-search-text">
+				<view class="search-text"
+					>所有:<text>{{ totalKeywords }}条</text></view
+				>
+				<view class="search-text"
+					>当前范围:<text>{{ keyWordData.keyWordsScopeNum }}条</text></view
+				>
+			</view>
+			<view class="echart-search-date">
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindStartDateChange($event, 1)"
+					>
+						<text class="input-text">{{ keyWordData.startTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+				<view class="line">-</view>
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindEndDateChange($event, 1)"
+					>
+						<text class="input-text">{{ keyWordData.endTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+			</view>
+			<view class="echart-search-time">
+				<view
+					class="time-tab"
+					v-for="(time, index) in timeList"
+					:class="{ current: current === index }"
+					:key="index"
+					@click="handleTimeClick(time.current, index, 1)"
+					>{{ time.label }}</view
+				>
+			</view>
+		</view>
+		<view class="echart-mains">
+			<view class="echart-mains-none" v-if="isEmpty">
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/icon_echart_none@2x.png"
+					mode=""
+				></image>
+				<view class="none-text">暂无数据</view>
+			</view>
+			<view class="echart-mains-data" v-else>
+				<qiun-data-charts type="column" :opts="opts" :chartData="keyWordChartData" :animation="false" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import chartMixin from './mixins/chart.mixin.js'
+export default {
+	mixins: [chartMixin],
+	props:{
+		clubId:{
+			type:Number,
+			default:0
+		},
+		totalNum:{
+			type:Number,
+			default:0
+		}
+	},
+	data() {
+		return {
+			isEmpty:false,
+			current: 0,
+			totalKeywords:0,
+			keyWordChartData: null,
+			keyWordData: {
+				startTime: '',
+				endTime: '',
+				keyWordsScopeNum: 0
+			},
+			params:{
+			    clubId:0,//  机构id
+			    dateType:3,//   日期类别 0日 1月 2半年 3全年
+			    startTime:'',//   开始时间
+			    endTime:'',//   结束时间
+			    type:0	//  统计类别 0订单 1搜索关键词 2咨询记录 3访问记录 4初始状态
+			},
+			opts: {
+				legend: {
+					show: false
+				},
+				color: ['#9370DB'],
+				dataLabel: true,
+				padding: [15, 30, 0, 5],
+				enableScroll: false,
+				xAxis: {
+					disableGrid: true,
+					min: 0,
+					axisLine: false,
+					max: 40,
+					rotateLabel: true,
+					format: 'xAxisDemo3'
+				},
+				yAxis: {
+					fontSize: 12,
+					fontColor: '#CCCCCC',
+					axisLineColor: '#DCDCDC',
+					gridColor: '#DCDCDC',
+					boundaryGap: 'justify',
+					disabled: true,
+					axisLine: false,
+					min: 0,
+					max: 40
+				},
+				extra: {
+					column: {
+						type: 'group',
+						width: 20,
+						meterBorde: 1,
+						meterFillColor: '#FFFFFF',
+						activeBgColor: '#000000',
+						activeBgOpacity: 0.08,
+						seriesGap: 2,
+						categoryGap: 3,
+						barBorderCircle: false,
+						linearType: 'custom',
+						linearOpacity: 1,
+						customColor: ['#7B68EE', '#9370DB'],
+						colorStop: 0
+					}
+				}
+			}
+		}
+	},
+	created() {
+		this.params.clubId = this.clubId
+		this.totalKeywords = this.totalNum
+		this.userClubPortrait(1)
+	},
+	methods: {
+		handleTimeClick(dateType, index,type) {
+			//年月日点击
+			console.log('dateType', dateType)
+			this.current = index
+			this.params.dateType = dateType
+			this.params.startTime = ''
+			this.params.endTime = ''
+			this.userClubPortrait(type)
+		},
+		async userClubPortrait(type){
+			this.params.type = type
+			this.keyWordData.startTime = this.params.startTime
+			this.keyWordData.endTime = this.params.endTime
+			try {
+				const res = await this.UserService.userClubPortrait(this.params)
+				const data = res.data
+				this.keyWordData.keyWordsScopeNum = data.portrait.keyWordsScopeNum
+				this.keyWordData.startTime = this.params.startTime = data.portrait.startTime
+				this.keyWordData.endTime = this.params.endTime = data.portrait.endTime
+				if (data.behavior) {
+					this.isEmpty = false
+					this.getSetKeywordData(data.behavior)
+				}else{
+					this.isEmpty = true  
+				}
+				console.log('keyWordData', this.keyWordData)
+			} catch (error) {
+			   this.$util.msg(error.msg, 2000)
+			}
+		},
+		getSetKeywordData(data) {
+			setTimeout(() => {
+				//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
+				let res = {
+					categories: data.name,
+					series: [
+						{
+							name: '',
+							data: data.value
+						}
+					]
+				}
+				this.keyWordChartData = JSON.parse(JSON.stringify(res))
+			}, 500)
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss"></style>

+ 257 - 0
pages/seller/club/components/echart-order.vue

@@ -0,0 +1,257 @@
+<template>
+	<view class="echart-content">
+		<view class="echart-title">
+			<view class="e-icon e2"><text class="iconfont icon-dingdan"></text></view> <view class="e-name">订单</view>
+		</view>
+		<view class="echart-search">
+			<view class="echart-search-text">
+				<view class="search-text">所有:<text>¥{{ orderTotalAmount }}({{ orderTotal }}个)</text></view>
+				<view class="search-text">当前范围:<text>¥{{ orderData.orderScopeTotalFee }}({{ orderData.orderScopeNum }}个)</text></view>
+			</view>
+			<view class="echart-search-date">
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindStartDateChange($event, 0)"
+					>
+						<text class="input-text">{{ orderData.startTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+				<view class="line">-</view>
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindEndDateChange($event, 0)"
+					>
+						<text class="input-text">{{ orderData.endTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+			</view>
+			<view class="echart-search-time">
+				<view
+					class="time-tab"
+					v-for="(time, index) in timeList"
+					:class="{ current: current === index }"
+					:key="index"
+					@click="handleTimeClick(time.current, index, 0)"
+					>{{ time.label }}</view
+				>
+			</view>
+		</view>
+		<view class="echart-mains">
+			<view class="echart-mains-none" v-if="isEmpty">
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/icon_echart_none@2x.png"
+					mode=""
+				></image>
+				<view class="none-text">暂无数据</view>
+			</view>
+			<view class="echart-mains-data" v-else>
+				<qiun-data-charts type="pie" :opts="opts" :chartData="orderChartData" :errorShow="false" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import chartMixin from './mixins/chart.mixin.js'
+export default {
+	mixins: [chartMixin],
+	props:{
+		clubId:{
+			type:Number,
+			default:0
+		},
+		totalAmount:{
+			type:Number,
+			default:0
+		},
+		totalNum:{
+			type:Number,
+			default:0
+		}
+	},
+	data() {
+		return {
+			isEmpty:false,
+			current: 0,
+			orderChartData:null,
+			orderTotal:0,
+			orderTotalAmount:0, 
+			orderData:{
+			    startTime: '',
+			    endTime: '',
+			    orderScopeNum:0,
+				orderScopeTotalFee:0,
+			},
+			params:{
+			    clubId:0,//  机构id
+			    dateType:3,//   日期类别 0日 1月 2半年 3全年
+			    startTime:'',//   开始时间
+			    endTime:'',//   结束时间
+			    type:0	//  统计类别 0订单 1搜索关键词 2咨询记录 3访问记录 4初始状态
+			},
+			opts: {
+				timing: 'easeOut',
+				duration: 50,
+				rotate: false,
+				rotateLock: false,
+				color: [
+					'#1890FF',
+					'#91CB74',
+					'#FAC858',
+					'#EE6666',
+					'#73C0DE',
+					'#3CA272',
+					'#FC8452',
+					'#9A60B4',
+					'#ea7ccc'
+				],
+				padding: [5, 5, 5, 5],
+				fontSize: 13,
+				fontColor: '#666666',
+				dataLabel: true,
+				dataPointShape: true,
+				dataPointShapeType: 'solid',
+				touchMoveLimit: 60,
+				enableScroll: false,
+				enableMarkLine: false,
+				legend: {
+					show: false,
+					position: 'bottom',
+					lineHeight: 25,
+					float: 'bottom',
+					padding: 5,
+					margin: 5,
+					backgroundColor: 'rgba(0,0,0,0)',
+					borderColor: 'rgba(0,0,0,0)',
+					borderWidth: 0,
+					fontSize: 12,
+					fontColor: '#666666',
+					hiddenColor: '#CECECE',
+					itemGap: 10
+				},
+				title: {
+					name: '订单总量',
+					fontSize: 12,
+					color: '#666666',
+					offsetX: 0,
+					offsetY: 0
+				},
+				subtitle: {
+					name: '70%',
+					fontSize: 12,
+					color: '#7cb5ec',
+					offsetX: 0,
+					offsetY: 0
+				},
+				extra: {
+					pie:{
+						activeOpacity: 0.5,
+						activeRadius: 10,
+						offsetAngle: 0,
+						labelWidth: 15,
+						border: true,
+						borderWidth: 3,
+						borderColor: "#FFFFFF",
+						customRadius: 60,
+						linearType: "none"
+					},
+					tooltip: {
+						showBox: true,
+						showArrow: true,
+						showCategory: false,
+						borderWidth: 0,
+						borderRadius: 0,
+						borderColor: '#000000',
+						borderOpacity: 0.7,
+						bgColor: '#000000',
+						bgOpacity: 0.7,
+						gridType: 'solid',
+						dashLength: 4,
+						gridColor: '#CCCCCC',
+						boxPadding: 3,
+						fontSize: 12,
+						lineHeight: 20,
+						fontColor: '#FFFFFF',
+						legendShow: true,
+						legendShape: 'auto',
+						splitLine: true,
+						horizentalLine: false,
+						xAxisLabel: false,
+						yAxisLabel: false,
+						labelBgColor: '#FFFFFF',
+						labelBgOpacity: 0.7,
+						labelFontColor: '#666666'
+					}
+				}
+			}
+		}
+	},
+	created() {
+		this.params.clubId = this.clubId
+		console.log('orderTotal',this.orderTotal)
+		this.orderTotal = this.totalNum
+		this.orderTotalAmount = this.totalAmount
+		this.userClubPortrait(0)
+	},
+	methods: {
+		handleTimeClick(dateType,index,type) {
+		    //年月日点击
+		    console.log('dateType', dateType)
+		    this.current = index
+		    this.params.dateType = dateType
+			this.params.startTime = ''
+			this.params.endTime = ''
+		    this.userClubPortrait(type)
+		},
+		async userClubPortrait(type){
+			this.params.type = type
+			try {
+				const res = await this.UserService.userClubPortrait(this.params)
+				const data = res.data
+				this.orderData.orderScopeNum = data.portrait.orderScopeNum
+				this.orderData.orderScopeTotalFee = data.portrait.orderScopeTotalFee
+				this.orderData.startTime = this.params.startTime = data.portrait.startTime
+				this.orderData.endTime = this.params.endTime = data.portrait.endTime
+				if(data.order){
+					this.isEmpty = false
+				    this.getSetOrderData(data.order)
+				}else{
+					this.isEmpty = true  
+				}
+			} catch (error) {
+			   this.$util.msg(error.msg, 2000)
+			}
+		},
+		getSetOrderData(data) {
+			//模拟从服务器获取数据时的延时
+			setTimeout(() => {
+				//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
+				let res = {
+					series: [
+						{
+							format: 'pieDemo1',
+							data: data.orderList
+						}
+					]
+				}
+				this.orderChartData = JSON.parse(JSON.stringify(res))
+			}, 500)
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss"></style>

+ 190 - 0
pages/seller/club/components/echart-service.vue

@@ -0,0 +1,190 @@
+<template>
+	<view class="echart-content">
+		<view class="echart-title">
+			<view class="e-icon e5"><text class="iconfont icon-fangwenjilu"></text></view>
+			<view class="e-name">访问记录</view>
+		</view>
+		<view class="echart-search">
+			<view class="echart-search-date">
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindStartDateChange($event, 3)"
+					>
+						<text class="input-text">{{ serviceData.startTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+				<view class="line">-</view>
+				<view class="echart-search-date-input">
+					<picker
+						mode="date"
+						:value="date"
+						:start="startDate"
+						:end="endDate"
+						@change="bindEndDateChange($event, 3)"
+					>
+						<text class="input-text">{{ serviceData.endTime }}</text>
+					</picker>
+					<text class="iconfont icon-riqi"></text>
+				</view>
+			</view>
+			<view class="echart-search-time">
+				<view
+					class="time-tab"
+					v-for="(time, index) in timeList"
+					:class="{ current: current === index }"
+					:key="index"
+					@click="handleTimeClick(time.current, index, 3)"
+					>{{ time.label }}</view
+				>
+			</view>
+		</view>
+		<view class="echart-mains">
+			<view class="echart-mains-none" v-if="isEmpty">
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/icon_echart_none@2x.png"
+					mode=""
+				></image>
+				<view class="none-text">暂无数据</view>
+			</view>
+			<view class="echart-mains-data" v-else>
+				<qiun-data-charts type="column" :opts="opts" :chartData="serviceChartData" :animation="false" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import chartMixin from './mixins/chart.mixin.js'
+export default {
+	mixins: [chartMixin],
+	props:{
+		clubId:{
+			type:Number,
+			default:0
+		}
+	},
+	data() {
+		return {
+			isEmpty:false,
+			current: 0,
+			serviceChartData:null,
+			serviceData:{
+			    startTime: '',
+			    endTime: ''
+			},
+			params:{
+			    clubId:0,//  机构id
+			    dateType:3,//   日期类别 0日 1月 2半年 3全年
+			    startTime:'',//   开始时间
+			    endTime:'',//   结束时间
+			    type:0	//  统计类别 0订单 1搜索关键词 2咨询记录 3访问记录 4初始状态
+			},
+			opts: {
+				legend: {
+					show: false
+				},
+				color: ['#74b9ff'],
+				dataLabel: true,
+				padding: [15, 30, 0, 5],
+				enableScroll: false,
+				xAxis: {
+					disableGrid: true,
+					min: 0,
+					axisLine: false,
+					max: 40,
+					rotateLabel: true,
+					format: 'xAxisDemo3'
+				},
+				yAxis: {
+					fontSize: 12,
+					fontColor: '#CCCCCC',
+					axisLineColor: '#DCDCDC',
+					gridColor: '#DCDCDC',
+					boundaryGap: 'justify',
+					disabled: true,
+					axisLine: false,
+					min: 0,
+					max: 40
+				},
+				extra: {
+					column: {
+						type: 'group',
+						width: 20,
+						meterBorde: 1,
+						meterFillColor: '#FFFFFF',
+						activeBgColor: '#000000',
+						activeBgOpacity: 0.08,
+						seriesGap: 2,
+						categoryGap: 3,
+						barBorderCircle: false,
+						linearType: 'custom',
+						linearOpacity: 1,
+						customColor: ['#0984e3', '#74b9ff'],
+						colorStop: 0
+					}
+				}
+			}
+		}
+	},
+	created() {
+		this.params.clubId = this.clubId
+		this.userClubPortrait(3)
+	},
+	methods: {
+		handleTimeClick(dateType,index,type) {
+		    //年月日点击
+		    console.log('dateType', dateType)
+		    this.current = index
+		    this.params.dateType = dateType
+			this.params.startTime = ''
+			this.params.endTime = ''
+		    this.userClubPortrait(type)
+		},
+		async userClubPortrait(type){
+			this.params.type = type
+			this.serviceData.startTime = this.params.startTime
+			this.serviceData.endTime = this.params.endTime
+			try {
+				const res = await this.UserService.userClubPortrait(this.params)
+				const data = res.data
+				this.serviceData.startTime = this.params.startTime = data.portrait.startTime
+				this.serviceData.endTime = this.params.endTime = data.portrait.endTime
+				if(data.pageType){
+					this.isEmpty = false  
+				    this.getSetServiceData(data.pageType)
+				}else{
+					this.isEmpty = true  
+				}
+				console.log('serviceData',this.serviceData)
+			} catch (error) {
+			   this.$util.msg(error.msg, 2000)
+			}
+		},
+		getSetServiceData(data) {
+			setTimeout(() => {
+				//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
+				let res = {
+					categories: data.name,
+					series: [
+						{
+							name: '',
+							data: data.value
+						}
+					]
+				}
+				this.serviceChartData = JSON.parse(JSON.stringify(res))
+			}, 500)
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss"></style>

+ 56 - 0
pages/seller/club/components/mixins/chart.mixin.js

@@ -0,0 +1,56 @@
+// 机构画像
+import Vue from 'vue'
+const chartMixin = {
+    data() {
+        const currentDate = this.getDate({
+            format: true
+        })
+        return {
+            date: currentDate,
+            timeList: [
+                { label: '全年', current: 3 },
+                { label: '半年', current: 2 },
+                { label: '月', current: 1 },
+                { label: '日', current: 0 }
+            ]
+        }
+    },
+    computed: {
+        startDate() {
+            return this.getDate('start')
+        },
+        endDate() {
+            return this.getDate('end')
+        }
+    },
+    methods: {
+        bindStartDateChange(event,type) {
+            //开始时间
+            console.log('开始时间==>', event.detail.value)
+            this.params.startTime = event.detail.value
+            this.userClubPortrait(type)
+        },
+        bindEndDateChange(event,type) {
+            //结束时间
+            console.log('结束时间==>', event.detail.value)
+            this.params.endTime = event.detail.value
+            this.userClubPortrait(type)
+        },
+        getDate(type) {
+            const date = new Date()
+            let year = date.getFullYear()
+            let month = date.getMonth() + 1
+            let day = date.getDate()
+            if (type === 'start') {
+                year = year - 1
+            } else if (type === 'end') {
+                year = year + 1
+            }
+            month = month > 9 ? month : '0' + month
+            day = day > 9 ? day : '0' + day
+            return `${year}-${month}-${day}`
+        }
+    }
+}
+
+export default chartMixin

+ 225 - 59
pages/seller/club/list.vue

@@ -120,6 +120,15 @@
 										"
 										>{{ club.customerValue }} <text class="iconfont icon-xiayibu"></text
 									></text>
+									<text class="tags-or" @click.stop="handleOrderHistory(club)">
+										<text class="iconfont icon-dingdan"></text> 订单列表
+										<text
+											v-if="club.orderNum > 0"
+											class="opea-badge uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+										>
+											{{ showBadge(club.orderNum) }}
+										</text>
+									</text>
 								</view>
 								<view class="list-ntel" v-if="tabSmallCurrentIndex === 1">
 									<text class="list-link">销售:{{ club.serviceName ? club.serviceName : '' }}</text>
@@ -130,26 +139,59 @@
 								</view>
 							</view>
 						</view>
-						<view class="list-cell-btn">
-							<view class="btn" @click.stop="checkData(club)">修改资料</view>
-							<view class="btn" @click.stop="orderHistory(club)">
-								历史订单
-								<text
-									v-if="club.orderNum > 0"
-									class="opea-badge uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+						<view class="club-list-bot">
+							<template v-if="tabSmallCurrentIndex === 0">
+								<view class="btn" @click.stop="handleClickOper(1, club)">
+									<text class="iconfont icon-jigouhuaxiang"></text> 机构画像</view
 								>
-									{{ showBadge(club.orderNum) }}
-								</text>
-							</view>
-							<view
-								class="btn"
-								v-if="isManage && club.serviceProviderId != 1342"
-								@click.stop="handleReplaceClub(club)"
-								>更换协销</view
-							>
-							<view class="btn" @click.stop="handleClubinfo(club)" v-if="club.recordCount === 1"
-								>注册行为记录</view
-							>
+								<view class="btn" @click.stop="handleClickOper(2, club)">
+									<text class="iconfont icon-tianxie"></text> 填写咨询记录</view
+								>
+								<view class="btn" @click.stop="handleClickOper(3, club)">
+									<text class="iconfont icon-shangcheng"></text>商城访问记录
+								</view>
+								<view
+									class="btn"
+									v-if="tabSmallCurrentIndex === 0"
+									@click.stop="handleShowBubble(club, index)"
+								>
+									<text class="iconfont icon-gengduo2"></text>
+									<view
+										class="btn-bubble"
+										:style="{
+											height: isManage ? '160rpx' : '80rpx',
+											top: isManage ? '-154rpx' : '-76rpx'
+										}"
+										v-if="currentIndex === index && club.bubble"
+									>
+										<view class="btn-view border" @click.stop="handleClickOper(4, club)">
+											<text class="iconfont icon-xiugaiziliao"></text> 修改资料
+										</view>
+										<view
+											class="btn-view"
+											v-if="isManage && club.serviceProviderId != 1342"
+											@click.stop="handleClickOper(5, club)"
+										>
+											<text class="iconfont icon-xiaoshou"></text> 更换协销
+										</view>
+									</view>
+								</view>
+							</template>
+							<template v-if="tabSmallCurrentIndex === 1">
+								<view class="btn" @click.stop="handleClickOper(1, club)">
+									<text class="iconfont icon-jigouhuaxiang"></text> 机构画像</view
+								>
+								<view class="btn" @click.stop="handleClickOper(3, club)">
+									<text class="iconfont icon-tianxie"></text>商城访问记录</view
+								>
+								<view
+									class="btn none"
+									v-if="isManage && club.serviceProviderId != 1342"
+									@click.stop="handleClickOper(5, club)"
+								>
+									<text class="iconfont icon-xiaoshou"></text>更换协销</view
+								>
+							</template>
 						</view>
 					</view>
 					<!--加载loadding-->
@@ -219,7 +261,7 @@ export default {
 	data() {
 		return {
 			listTab: [{ name: '个人机构' }, { name: '资质机构' }],
-			listItemTab: [{ name: '我的机构' }, { name: '组员机构' }, { name: '待分配机构' }],
+			listItemTab: [{ name: '我的机构' }, { name: '组员机构' }],
 			listQuery: Object.assign({}, defaultListQuery),
 			isShowClose: false,
 			isEmpty: false,
@@ -246,7 +288,8 @@ export default {
 				clubId: 0,
 				spId: 0
 			},
-			isShowIndex: false
+			isShowIndex: false,
+			currentIndex: 0
 		}
 	},
 	onLoad(option) {
@@ -272,7 +315,10 @@ export default {
 					if (data.list && data.list.length > 0) {
 						this.isEmpty = false
 						this.hasNextPage = response.data.hasNextPage
-						this.clubList = data.list
+						this.clubList = data.list.map((el, index) => {
+							el.bubble = false
+							return el
+						})
 						this.pullFlag = false
 						setTimeout(() => {
 							this.pullFlag = true
@@ -406,27 +452,49 @@ export default {
 			this.salesParams.spId = data.serviceProviderId
 			this.userClubChoseSales(this.salesParams)
 		},
-		handleReplaceClub(club) {
-			//更换协销
-			this.salesParams.clubId = club.clubId
-			this.isSellerpopup = true
-		},
 		showRightDrawer() {
 			//显示筛选抽屉
 			this.rightDrawer = true
 		},
-		checkData(club) {
-			//修改机构资料
-			switch (this.tabCurrentNum) {
-				case 0:
-					this.$api.navigateTo(`/pages/seller/login/apply?userID=${club.userId}`)
-					break
+		// 按钮操作
+		handleClickOper(type, club) {
+			/**
+			 * 1:机构画像 2:填写咨询记录 3:商城访问记录 4:修改资料 5:更换协销
+			 * */
+
+			console.log('type', type)
+			switch (type) {
 				case 1:
-					this.$api.navigateTo(`/pages/seller/login/information?userID=${club.userId}`)
+					this.$api.navigateTo(`/pages/seller/club/club-portrait?userId=${club.userId}`)
+					break
+				case 2:
+					this.$api.navigateTo(`/pages/seller/remarks/add?userId=${club.userId}`)
+					break
+				case 3:
+					this.$api.navigateTo(`/pages/seller/club/club-info?clubId=${club.clubId}`)
 					break
+				case 4:
+					this.handleReturnPath(club)
+					break
+				case 5:
+					this.handleReplaceClub(club)
+					break
+			}
+		},
+		handleReplaceClub(club) {
+			//更换协销
+			this.salesParams.clubId = club.clubId
+			this.isSellerpopup = true
+		},
+		handleReturnPath(club) {
+			//修改机构资料
+			const tabMap = {
+				0: `/pages/seller/login/apply?userID=${club.userId}`,
+				1: `/pages/seller/login/information?userID=${club.userId}`
 			}
+			this.$api.navigateTo(tabMap[this.tabCurrentNum])
 		},
-		orderHistory(club) {
+		handleOrderHistory(club) {
 			//跳转机构历史订单
 			this.$api.setStorage('orderUserInfo', club)
 			if (this.tabSmallCurrentIndex === 1 || this.tabSmallCurrentIndex === 2) {
@@ -440,10 +508,6 @@ export default {
 				this.$api.navigateTo(`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0`)
 			}
 		},
-		handleClubinfo(club) {
-			//跳转机构信息
-			this.$api.navigateTo(`/pages/seller/club/club-info?clubId=${club.clubId}`)
-		},
 		onShowClose() {
 			//输入框失去焦点时触发
 			if (this.listQuery.name != '') {
@@ -471,6 +535,10 @@ export default {
 		},
 		handleNavigateIndex() {
 			this.$api.navigateTo(`/pages/seller/index/index`)
+		},
+		handleShowBubble(club, index) {
+			this.currentIndex = index
+			club.bubble = !club.bubble
 		}
 	},
 	onReachBottom() {
@@ -629,7 +697,7 @@ page,
 .club-main {
 	.list {
 		width: 100%;
-		height: 268rpx;
+		height: 288rpx;
 		padding: 24rpx;
 		box-sizing: border-box;
 		background: #ffffff;
@@ -649,12 +717,12 @@ page,
 					height: 140rpx;
 					border-radius: 8rpx;
 				}
-				.list-id{
+				.list-id {
 					display: inline-block;
 					width: 100%;
 					height: 32rpx;
 					line-height: 32rpx;
-					background: rgba(0,0,0,0.1);
+					background: rgba(0, 0, 0, 0.1);
 					color: #333;
 					position: absolute;
 					top: 0;
@@ -667,7 +735,7 @@ page,
 				}
 			}
 			.list-content {
-				width: 498rpx;
+				width: 530rpx;
 				height: 140rpx;
 				float: left;
 				padding-left: 30rpx;
@@ -725,6 +793,25 @@ page,
 							margin-left: 10rpx;
 						}
 					}
+					.tags-or {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						font-size: $font-size-22;
+						color: #1890f9;
+						text-align: center;
+						line-height: 36rpx;
+						position: relative;
+						.opea-badge {
+							position: absolute;
+							right: -30rpx;
+							top: -15rpx;
+						}
+						.icon-xiayibu {
+							font-size: 22rpx;
+							color: #1890f9;
+						}
+					}
 				}
 				.list-ntel {
 					width: 100%;
@@ -746,31 +833,110 @@ page,
 				}
 			}
 		}
-		.list-cell-btn {
+		.club-list-bot {
 			width: 100%;
-			height: 60rpx;
-			display: flex;
-			color: #166ce1;
-			flex-direction: row;
-			align-items: center;
+			height: 80rpx;
 			float: left;
+			background-color: #f7f7f7;
+			border-radius: 8rpx;
 			margin-top: 20rpx;
 			.btn {
-				height: 60rpx;
+				height: 80rpx;
 				box-sizing: border-box;
+				line-height: 80rpx;
 				padding: 0 20rpx;
-				line-height: 60rpx;
-				border-radius: 30rpx;
 				font-size: $font-size-24;
-				color: $text-color;
+				color: #333333;
 				text-align: center;
-				margin: 0 20rpx 0 0;
+				float: left;
 				position: relative;
-				border: 1px solid #999999;
-				.opea-badge {
-					position: absolute;
-					right: -10rpx;
-					top: -20rpx;
+				
+				&:nth-child(1) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(2) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(3) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:last-child {
+					padding: 0 28rpx;
+					.iconfont {
+						font-weight: bold;
+					}
+					.btn-bubble {
+						width: 200rpx;
+						height: 160rpx;
+						background: rgba(51, 51, 51, 0.8);
+						position: absolute;
+						top: -154rpx;
+						right: 0;
+						border-radius: 8rpx;
+						&:before {
+							content: '';
+							width: 0;
+							height: 0;
+							border: 15rpx solid transparent;
+							border-top: 15rpx solid rgba(51, 51, 51, 0.8);
+							position: absolute;
+							bottom: -26rpx;
+							right: 35rpx;
+						}
+						.btn-view {
+							width: 100%;
+							height: 80rpx;
+							box-sizing: border-box;
+							line-height: 80rpx;
+							font-size: $font-size-24;
+							color: #ffffff;
+							text-align: center;
+							float: left;
+							.iconfont {
+								font-size: 28rpx;
+								color: #ffffff;
+								margin-right: 5rpx;
+								font-weight: normal;
+							}
+							&.border {
+								border-bottom: 1px solid rgba(255, 255, 255, 0.3);
+							}
+						}
+					}
+				}
+				&.none{
+					&::before{
+						background-color: #f7f7f7 !important;
+					}
+				}
+				.iconfont {
+					font-size: 30rpx;
+					color: #333333;
+					margin-right: 5rpx;
 				}
 			}
 		}

+ 2 - 2
pages/seller/components/cm-clubmodal.vue

@@ -248,7 +248,7 @@ export default {
 							color: #b2b2b2;
 						}
 						&.icon-yixuanze {
-							color: #e15616;
+							color: #FF5B00;
 						}
 					}
 				}
@@ -318,7 +318,7 @@ export default {
 				color: #333333;
 			}
 			&.confirm{
-				border-color: #E15616;
+				border-color: #FF5B00;
 				background: $btn-confirm;
 				color: #FFFFFF;
 			}

+ 2 - 2
pages/seller/components/cm-clubpopup.vue

@@ -14,7 +14,7 @@
 							v-model="listQuery.name"
 							@input="onShowClose"
 							@confirm="initclubList()"
-							placeholder="机构名称/联系人"
+							placeholder="机构名称/联系人/手机号"
 							maxlength="16"
 						/>
 						<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
@@ -350,7 +350,7 @@ export default {
 							color: #b2b2b2;
 						}
 						&.icon-yixuanze {
-							color: #e15616;
+							color: #FF5B00;
 						}
 					}
 				}

+ 1 - 1
pages/seller/components/cm-goods-popup.vue

@@ -318,7 +318,7 @@ export default {
 							color: #b2b2b2;
 						}
 						&.icon-yixuanze {
-							color: #e15616;
+							color: #FF5B00;
 						}
 					}
 				}

+ 1 - 1
pages/seller/components/cm-refereepopup.vue

@@ -274,7 +274,7 @@ export default {
 							color: #b2b2b2;
 						}
 						&.icon-yixuanze {
-							color: #e15616;
+							color: #FF5B00;
 						}
 					}
 				}

+ 3 - 3
pages/seller/components/cm-report-popup.vue

@@ -15,7 +15,7 @@
 								v-model="listQuery.keyWord"
 								@input="onShowClose"
 								@confirm="userClubReportList()"
-								placeholder="搜索商品名称 / 报备关键词"
+								placeholder="搜索商品名称 / 报备关键词"
 								maxlength="16"
 							/>
 							<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
@@ -487,7 +487,7 @@ export default {
 								color: #b2b2b2;
 							}
 							&.icon-yixuanze {
-								color: #e15616;
+								color: #FF5B00;
 							}
 						}
 					}
@@ -515,7 +515,7 @@ export default {
 			height: 48rpx;
 			line-height: 48rpx;
 			text-align: center;
-			color: #e15616;
+			color: #FF5B00;
 			font-size: $font-size-26;
 			margin: 0 auto;
 			margin-top: 15rpx;

+ 2 - 2
pages/seller/components/cm-screen-drawer.vue

@@ -459,7 +459,7 @@ export default {
 					color: #666666;
 				}
 				.icon-riqi{
-					color: #E15616;
+					color: #FF5B00;
 					display: block;
 					width: 40rpx;
 					height: 56rpx;
@@ -497,7 +497,7 @@ export default {
 				-webkit-box-orient: vertical;
 				&.checked {
 					background-color: #fef6f3;
-					color: #e15616;
+					color: #FF5B00;
 				}
 				&:nth-child(3n) {
 					margin-right: 0;

+ 2 - 2
pages/seller/components/cm-seller-popup.vue

@@ -168,7 +168,7 @@ export default {
 		box-sizing: border-box;
 		float: left;
 		font-size: 26rpx;
-		color: #e15616;
+		color: #FF5B00;
 	}
 	.tui-popup-main {
 		width: 100%;
@@ -211,7 +211,7 @@ export default {
 							color: #b2b2b2;
 						}
 						&.icon-yixuanze {
-							color: #e15616;
+							color: #FF5B00;
 						}
 					}
 				}

+ 2 - 2
pages/seller/login/apply.vue

@@ -211,7 +211,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-label-input" v-for="(item, index) in beautyList" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616" />
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00" />
 							<view class="row-text">{{ item.name }}</view>
 						</label>
 					</radio-group>
@@ -221,7 +221,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-label-input" v-for="(item, index) in beautyLists" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616" />
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00" />
 							<view class="row-text">{{ item.name }}</view>
 						</label>
 					</radio-group>

+ 2 - 2
pages/seller/login/information.vue

@@ -168,7 +168,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-label-input" v-for="(item, index) in beautyList" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00"/>
 							<view class="row-text">{{item.name}}</view>
 						</label>
 					</radio-group>
@@ -178,7 +178,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-label-input" v-for="(item, index) in beautyLists" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00"/>
 							<view class="row-text">{{item.name}}</view>
 						</label>
 					</radio-group>

+ 8 - 15
pages/seller/login/login.vue

@@ -2,8 +2,7 @@
 	<view class="container login" :style="{paddingTop:CustomBar+'px'}" v-if="isSeller">
 		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
 		<view class="login-main">
-			<image class="logo" src="https://static.caimei365.com/app/img/icon/login-logo@3x.png" mode=""></image>
-			<text class="logo-text">生美/医美采购服务平台</text>
+			<image class="logo" src="https://static.caimei365.com/app/img/icon/logo@2x.png" mode=""></image>
 		</view>
 		<view class="login-form">
 			<view class="login-input">
@@ -145,25 +144,19 @@
 		.model-warp.show{
 			display: block;
 		}
-		.login-main{
+		.login-main {
 			width: 100%;
 			display: flex;
 			flex-direction: column;
 			align-items: center;
-			height: 198rpx;
-			padding: 170rpx 0 60rpx 0;
-			.logo{
-				width: 138rpx;
-				height: 118rpx;
+			height: 284rpx;
+			padding: 60rpx 0 40rpx 0;
+			margin-bottom: 70rpx;
+			.logo {
+				width: 611rpx;
+				height: 284rpx;
 				display: block;
 			}
-			.logo-text{
-				font-size: 30rpx;
-				line-height: 44rpx;
-				color: $color-system;
-				font-weight: 600;
-				margin-top: 20rpx;
-			}
 		}
 		.login-input{
 			width: 600rpx;

+ 4 - 4
pages/seller/login/register-member.vue

@@ -144,7 +144,7 @@
 			<view class="main-form-item picker">
 				<radio-group @change="bindPickerChange">
 					<label class="label-radio" v-for="(item, index) in radioGroup1" :key="item.value">
-						<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616" />
+						<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00" />
 						<view class="row-text">{{ item.name }}</view>
 					</label>
 				</radio-group>
@@ -220,7 +220,7 @@
 							<checkbox
 								class="item-checkbox"
 								:value="item.value"
-								color="#E15616"
+								color="#FF5B00"
 								style="transform:scale(0.7)"
 								:checked="item.checked"
 							></checkbox>
@@ -252,7 +252,7 @@
 							<checkbox
 								class="item-checkbox"
 								:value="item.value"
-								color="#E15616"
+								color="#FF5B00"
 								style="transform:scale(0.7)"
 								:checked="item.checked"
 							></checkbox>
@@ -1138,7 +1138,7 @@ page {
 					background-color: #ffe6dc;
 					line-height: 64rpx;
 					text-align: center;
-					color: #e15616;
+					color: #FF5B00;
 					font-size: $font-size-28;
 					float: right;
 				}

+ 1 - 1
pages/seller/login/register.vue

@@ -135,7 +135,7 @@
 				<view class="register-from radio">
 					<radio-group @change="radioChange">
 						<label class="row-input" v-for="(item, index) in beautyList" :key="item.value">
-							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00"/>
 							<view class="row-text">{{item.name}}</view>
 						</label>
 					</radio-group>

+ 1 - 1
pages/seller/order/components/sellerClubVisible.vue

@@ -18,7 +18,7 @@
 								<radio
 									:value="item.value"
 									:checked="index === current"
-									color="#E15616"
+									color="#FF5B00"
 									style="transform:scale(0.7)"
 								/>
 							</view>

+ 2 - 2
pages/seller/order/components/sellerDetaileButton.vue

@@ -229,7 +229,7 @@
 					width: 160rpx;
 					height: 34rpx;
 					padding: 10rpx 10rpx;
-					background:#E15616;
+					background:#FF5B00;
 					border-radius: 8rpx;
 					position: absolute;
 					color: #FFFFFF;
@@ -242,7 +242,7 @@
 						content: "";
 						width: 25rpx;
 						height: 25rpx;
-						background:#E15616;
+						background:#FF5B00;
 						position: absolute;
 						bottom: -8rpx;
 						left: 30rpx;

+ 1 - 1
pages/seller/order/components/sellerFreight.vue

@@ -19,7 +19,7 @@
 					<view class="freight-radio">
 						<radio-group class="row-group" @change="radioChange">
 							<label class="row-input" v-for="(item, index) in freightList" :key="item.value">
-								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+								<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00"/>
 								<view class="row-text">{{item.name}}</view>
 							</label>
 						</radio-group>

+ 3 - 3
pages/seller/order/components/sellerInvoice.vue

@@ -21,7 +21,7 @@
 					<view class="invoice-radio">
 						<radio-group class="row-group" @change="radioChange">
 							<label class="row-input" v-for="(item, index) in invoiceTypeList" :key="item.value">
-								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+								<radio class="row-radio" :value="item.value" :checked="index === current" color="#FF5B00"/>
 								<view class="row-text">{{item.name}}</view>
 							</label>
 						</radio-group>
@@ -62,14 +62,14 @@
 						<view class="invoice-group tit">
 							<checkbox-group class="row-group" @change="checkboxChange">
 								<view class="text">商品明细</view>
-								<checkbox class="row-radio" value="明细"  :checked="inventoryChecked" color="#E15616"></checkbox>
+								<checkbox class="row-radio" value="明细"  :checked="inventoryChecked" color="#FF5B00"></checkbox>
 							</checkbox-group>
 						</view>
 						<view class="invoice-ltitle">发票抬头</view>
 						<view class="invoice-group tit">
 							<radio-group class="row-group radio" @change="radioChangeTitle">
 								<label class="row-input" v-for="(item, index) in invoiceTitleList" :key="item.value">
-									<radio class="row-radio" :value="item.value" :checked="index === titleCurrent" color="#E15616"/>
+									<radio class="row-radio" :value="item.value" :checked="index === titleCurrent" color="#FF5B00"/>
 									<view class="row-text">{{item.name}}</view>
 								</label>
 							</radio-group>

+ 2 - 2
pages/seller/order/components/sellerOrderButton.vue

@@ -191,7 +191,7 @@
 					width: 160rpx;
 					height: 34rpx;
 					padding: 10rpx 10rpx;
-					background:#E15616;
+					background:#FF5B00;
 					border-radius: 8rpx;
 					position: absolute;
 					color: #FFFFFF;
@@ -204,7 +204,7 @@
 						content: "";
 						width: 25rpx;
 						height: 25rpx;
-						background:#E15616;
+						background:#FF5B00;
 						position: absolute;
 						bottom: -8rpx;
 						left: 30rpx;

部分文件因为文件数量过多而无法显示