Parcourir la source

Signed-off-by: 李妹妹 <1639016684@qq.com>

李妹妹 il y a 3 mois
Parent
commit
cd1318d37e
100 fichiers modifiés avec 4672 ajouts et 14002 suppressions
  1. 1 1
      assets/css/common.less
  2. 5 3
      common/request.js
  3. 1 1
      components/Menu.vue
  4. 1 1
      components/chengpeng-audio/free-audio.vue
  5. 1 1
      components/evan-switch/evan-switch.vue
  6. 1 1
      components/im/tui-chat/message-input/index.css
  7. 1 1
      components/tabbar/tabbar.vue
  8. 45 196
      pages.json
  9. 8 8
      pages/auth/login.vue
  10. 2 1
      pages/common/launch.vue
  11. 2 2
      pages/healthy/detail.vue
  12. 1 1
      pages/healthy/idea.vue
  13. 4 4
      pages/healthy/index.vue
  14. 0 2677
      pages/home/backuphoneindex.vue
  15. 44 39
      pages/home/components/CategoryTags.vue
  16. 55 30
      pages/home/components/GoodsCard.vue
  17. 1 1
      pages/home/components/GoodsList.vue
  18. 12 10
      pages/home/components/GoodsNav.vue
  19. 75 47
      pages/home/components/RecommendSection.vue
  20. 20 11
      pages/home/components/SearchBar.vue
  21. 1 1
      pages/home/doctorCase.vue
  22. 2625 426
      pages/home/index.vue
  23. 0 239
      pages/home/new/articleDetails.vue
  24. 0 317
      pages/home/new/articleList.vue
  25. 0 220
      pages/home/new/chineseMedicineDetails.vue
  26. 0 310
      pages/home/new/chineseMedicineList.vue
  27. 0 126
      pages/home/new/diseaseDetails.vue
  28. 0 254
      pages/home/new/diseaseList.vue
  29. 0 220
      pages/home/new/famousPrescribeDetails.vue
  30. 0 337
      pages/home/new/famousPrescribeList.vue
  31. 0 195
      pages/home/new/medicatedFoodDetails.vue
  32. 0 285
      pages/home/new/medicatedFoodList.vue
  33. 0 235
      pages/home/new/questionsDetails.vue
  34. 0 304
      pages/home/new/questionsList.vue
  35. 0 584
      pages/home/new/test.vue
  36. 0 227
      pages/home/new/testDetails.vue
  37. 0 213
      pages/home/new/testList.vue
  38. 0 353
      pages/home/new/testResult.vue
  39. 0 196
      pages/home/new/testResultImg.vue
  40. 0 197
      pages/home/new/vesselDetails.vue
  41. 0 312
      pages/home/new/vesselList.vue
  42. 520 0
      pages/home/newindex.vue
  43. 49 243
      pages/home/productList.vue
  44. 168 69
      pages/home/recommendList.vue
  45. 2 2
      pages/shopping/cart.vue
  46. 12 3
      pages/shopping/confirmOrder.vue
  47. 2 2
      pages/shopping/index.vue
  48. 1 1
      pages/shopping/payOrder.vue
  49. 3 4
      pages/shopping/paymentOrder.vue
  50. 7 7
      pages/shopping/prescribe.vue
  51. 8 6
      pages/shopping/productDetails.vue
  52. 1 1
      pages_company/alipayImg.vue
  53. 1 1
      pages_company/auth/login.vue
  54. 1 1
      pages_company/card.vue
  55. 3 3
      pages_company/coupon.vue
  56. 1 1
      pages_company/index.vue
  57. 2 2
      pages_company/order/cart.vue
  58. 2 2
      pages_company/order/confirmCompanyOrder.vue
  59. 4 4
      pages_company/order/confirmOrder.vue
  60. 3 3
      pages_company/order/coupon.vue
  61. 6 6
      pages_company/order/productDetails.vue
  62. 1 1
      pages_company/order/productList.vue
  63. 3 3
      pages_company/order/productShowDetails.vue
  64. 1 1
      pages_company/shareLive.vue
  65. 3 3
      pages_company/storeOrder.vue
  66. 3 3
      pages_company/storeOrderDetail.vue
  67. 6 6
      pages_company/storeProductPackage.vue
  68. 9 9
      pages_company/storeProductPackageDetails.vue
  69. 1 1
      pages_company/wechatcode.vue
  70. 1 1
      pages_course/components/goodsList.vue
  71. 1 1
      pages_course/components/ques.vue
  72. 5 6
      pages_course/living.vue
  73. 3 0
      pages_course/reward.vue
  74. 10 9
      pages_course/videovip.vue
  75. 5 5
      pages_doctor/doctorDetail.vue
  76. 2 2
      pages_doctor/doctorIm.vue
  77. 3 3
      pages_doctor/doctorList.vue
  78. 1 1
      pages_doctor/index.vue
  79. 1 1
      pages_doctor/paymentOrder.vue
  80. 2 2
      pages_doctor/submitOrder.vue
  81. 434 0
      pages_index/course.vue
  82. 475 0
      pages_index/index.vue
  83. 0 239
      pages_index/index/articleDetails.vue
  84. 0 317
      pages_index/index/articleList.vue
  85. 0 220
      pages_index/index/chineseMedicineDetails.vue
  86. 0 310
      pages_index/index/chineseMedicineList.vue
  87. 0 126
      pages_index/index/diseaseDetails.vue
  88. 0 254
      pages_index/index/diseaseList.vue
  89. 0 243
      pages_index/index/doctorArticleDetails.vue
  90. 0 319
      pages_index/index/doctorArticleList.vue
  91. 0 220
      pages_index/index/famousPrescribeDetails.vue
  92. 0 337
      pages_index/index/famousPrescribeList.vue
  93. 0 195
      pages_index/index/medicatedFoodDetails.vue
  94. 0 285
      pages_index/index/medicatedFoodList.vue
  95. 0 235
      pages_index/index/questionsDetails.vue
  96. 0 304
      pages_index/index/questionsList.vue
  97. 0 584
      pages_index/index/test.vue
  98. 0 227
      pages_index/index/testDetails.vue
  99. 0 215
      pages_index/index/testList.vue
  100. 0 366
      pages_index/index/testResult.vue

+ 1 - 1
assets/css/common.less

@@ -197,7 +197,7 @@ checkbox .wx-checkbox-input{
 	border-radius: 50%;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked {
-	background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
+	background: linear-gradient(135deg, #66b2ef  0%, #2BC7B9 100%);
 	border: 1px solid #2BC7B9;
 	border-radius: 50%;
 }

+ 5 - 3
common/request.js

@@ -11,8 +11,8 @@ export default class Request {
 		let path = 'https://userapp.klbycp.com/store'; //百域承品
 		let path2 = 'https://userapp.klbycp.com'; //百域承品
 
-		//let path = 'http://e895a54d.natappfree.cc/store'; //百域承品 夏伟
-		//let path2 = 'http://e895a54d.natappfree.cc'; //百域承品 夏伟
+		// let path = 'http://aa846dff.natappfree.cc/store'; //百域承品 夏伟
+		// let path2 = 'http://aa846dff.natappfree.cc'; //百域承品 夏伟
 
 		// let path = 'http://jc5cb469.natappfree.cc/store'; //本地
 		// let path2 = 'http://jc5cb469.natappfree.cc'; //本地
@@ -22,7 +22,9 @@ export default class Request {
 		// uni.showLoading({
 		// 	title: '加载中'
 		// });
-
+  //      if (router.indexOf("/app/course/wx/h5/isAddKf") != -1) {
+		// 	path2 = 'https://userapp.klbycp.com';
+		// }
 		if (router.indexOf("/live/liveData/like") != -1) {
 			path = 'https://im.fhhx.runtzh.com';
 		}

+ 1 - 1
components/Menu.vue

@@ -139,7 +139,7 @@ export default {
 		.dot-active {
 			width: 40rpx;
 			height: 3rpx;
-			background: #2BC7B9;
+			background: #FF233C;
 			margin-right: 10rpx;
 		}
 	}

+ 1 - 1
components/chengpeng-audio/free-audio.vue

@@ -15,7 +15,7 @@
 				:step='0.1'
 				backgroundColor="#E9F0F0"
 				:block-size='14'
-				block-color='#2BC7B9'>
+				block-color='#FF233C'>
 			</slider>
 		</view>
 		<view class='ml-3'>{{getTime(Math.round(currentTime))}}</view>

+ 1 - 1
components/evan-switch/evan-switch.vue

@@ -112,7 +112,7 @@
 		transition: background-color 0.3s;
 		width: 100upx;
 		height: 36upx;
-		background: #2BC7B9;
+		background: #FF233C;
 		border-radius: 18upx;
 		/* #ifndef APP-NVUE */
 		box-sizing: content-box;

+ 1 - 1
components/im/tui-chat/message-input/index.css

@@ -29,7 +29,7 @@
 	height: 48rpx;
 	margin-left: 16rpx;
 	border-radius: 24rpx;
-	background-color: #2BC7B9;
+	background-color: #FF233C;
 }
 
 .TUI-commom-function-item:first-child {

+ 1 - 1
components/tabbar/tabbar.vue

@@ -137,7 +137,7 @@
 		color: #626468;
 	}
 	.actcolor{
-		color: #2BC7B9;
+		color: #FF233C;
 	}
 	.tabbar-list{
 		display: flex;

+ 45 - 196
pages.json

@@ -29,7 +29,7 @@
 
 		},
 		{
-			"path": "pages/home/index",
+			"path": "pages/home/newindex",
 			"style": {
 				//"navigationBarTitleText": "云联精选",
 				"navigationBarTitleText": "云联精选",
@@ -41,6 +41,18 @@
 			}
 		},
 		// {
+		// 	"path": "pages_index/index",
+		// 	"style": {
+		// 		//"navigationBarTitleText": "云联精选",
+		// 		"navigationBarTitleText": "云联精选",
+		// 		"enablePullDownRefresh": false,
+		// 		"navigationStyle": "custom",
+		// 		"app-plus": {
+		// 			"titleNView": false
+		// 		}
+		// 	}
+		// },
+		// {
 		//           "path" : "pages/home/doctorCase",
 		//           "style" :                                                                                    
 		//           {
@@ -86,7 +98,16 @@
 		{
 			"path": "pages/home/productList",
 			"style": {
-				"navigationBarTitleText": "产品列表",
+				"navigationBarTitleText": "商品列表",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/home/recommendList",
+			"style": {
+				"navigationBarTitleText": "商品列表",
 				"app-plus": {
 					"titleNView": false
 				}
@@ -369,198 +390,25 @@
 		// 		}
 		// 	]
 		// },
-		{
-			"root": "pages_index",
-			"pages": [{
-					"path": "index/medicatedFoodList",
-					"style": {
-						"navigationBarTitleText": "药膳食疗",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/medicatedFoodDetails",
-					"style": {
-						"navigationBarTitleText": "药膳食疗",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-
-				{
-					"path": "index/vesselList",
-					"style": {
-						"navigationBarTitleText": "经络穴位",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/vesselDetails",
-					"style": {
-						"navigationBarTitleText": "经络穴位",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/questionsList",
-					"style": {
-						"navigationBarTitleText": "问答专区",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/questionsDetails",
-					"style": {
-						"navigationBarTitleText": "问答专区",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/diseaseList",
-					"style": {
-						"navigationBarTitleText": "疾病列表",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/diseaseDetails",
-					"style": {
-						"navigationBarTitleText": "疾病",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-
-				{
-					"path": "index/chineseMedicineList",
-					"style": {
-						"navigationBarTitleText": "中药图解",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/chineseMedicineDetails",
-					"style": {
-						"navigationBarTitleText": "中药图解",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-
-				{
-					"path": "index/famousPrescribeList",
-					"style": {
-						"navigationBarTitleText": "名方今用",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/famousPrescribeDetails",
-					"style": {
-						"navigationBarTitleText": "名方今用",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-
-
-				{
-					"path": "index/test",
-					"style": {
-						"navigationBarTitleText": "测一测",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/testList",
-					"style": {
-						"navigationBarTitleText": "测一测",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/testDetails",
-					"style": {
-						"navigationBarTitleText": "测一测",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/testResult",
-					"style": {
-						"navigationBarTitleText": "测试结果",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/articleList",
-					"style": {
-						"navigationBarTitleText": "百域知识",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/articleDetails",
-					"style": {
-						"navigationBarTitleText": "文章详情",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-
-				{
-					"path": "index/doctorArticleList",
-					"style": {
-						"navigationBarTitleText": "康复医案",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				},
-				{
-					"path": "index/doctorArticleDetails",
-					"style": {
-						"navigationBarTitleText": "康复医案",
-						"app-plus": {
-							"titleNView": false
-						}
-					}
-				}
-			]
-		},
-
-
+		// {
+		// 	"root": "pages_index",
+		// 	"pages": [{
+		// 			"path": "index",
+		// 			"style": {
+		// 				"navigationBarTitleText": "云联精选",
+		// 				"enablePullDownRefresh": false,
+		// 				"navigationStyle": "custom"
+		// 			}
+		// 		},
+		// 		{
+		// 					"path": "course",
+		// 					"style": {
+		// 						"navigationBarTitleText": "课程",
+		// 						"enablePullDownRefresh": false
+		// 					}
+		// 				}
+		// 		]
+		// },
 		{
 			"root": "pages_user",
 			"pages": [{
@@ -1556,7 +1404,7 @@
 	},
 	"tabBar": {
 		"color": "#666666",
-		"selectedColor": "#2BC7B9",
+		"selectedColor": "#FF233C",
 		// "custom": true, 
 		"borderStyle": "white",
 		"backgroundColor": "#ffffff",
@@ -1565,7 +1413,8 @@
 		"iconWidth": "18px",
 		"spacing": "4px",
 		"list": [{
-				"pagePath": "pages/home/index",
+				"pagePath": "pages/home/newindex",
+				// "pagePath": "pages_index/index",
 				"iconPath": "/static/tabbar/home.png",
 				"selectedIconPath": "/static/tabbar/home_sel.png",
 				"text": "首页"

+ 8 - 8
pages/auth/login.vue

@@ -314,8 +314,8 @@ export default {
     .author-btn {
       width: 630rpx;
       height: 80rpx;
-      background: linear-gradient(to right, #66b2ef  0%, #2BC7B9 100%);
-      background: -moz-linear-gradient(to right, #66b2ef 0%, #2BC7B9 100%);
+      background: linear-gradient(to right, #66b2ef  0%, #66b2ef 100%);
+      background: -moz-linear-gradient(to right, #66b2ef 0%, #66b2ef 100%);
       // box-shadow: 0px 7rpx 6rpx 0px rgba(229, 138, 0, 0.22);
       border-radius: 40rpx;
       font-size: 30rpx;
@@ -329,12 +329,12 @@ export default {
       height: 80rpx;
       margin-top: 30rpx;
       border-radius: 40rpx;
-      border: 2rpx solid #2BC7B9;
+      border: 2rpx solid #66b2ef;
       background: none;
       font-size: 30rpx;
       font-family: PingFang SC;
       font-weight: 500;
-      color: #2BC7B9;
+      color: #66b2ef;
     }
   }
 }
@@ -348,7 +348,7 @@ export default {
 	checkbox{
 	}
 	.btn{
-		color: #2BC7B9;
+		color: #66b2ef;
 	}
 }
 
@@ -397,7 +397,7 @@ export default {
 				width: 50%;
 				height: 80rpx;
 				border-radius: 5rpx;
-				background-color: #2BC7B9;
+				background-color: #66b2ef;
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: 500;
@@ -409,12 +409,12 @@ export default {
 				width: 50%;
 				height: 80rpx;
 				border-radius: 5rpx;
-				border: 2rpx solid #2BC7B9;
+				border: 2rpx solid #66b2ef;
 				background: none;
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: 500;
-				color: #2BC7B9;
+				color: #66b2ef;
 			}
 		}
 	}

+ 2 - 1
pages/common/launch.vue

@@ -37,7 +37,8 @@
 			},
 			navigatHandler: function() {
 				uni.reLaunch({
-					url: '../home/index',
+					url: '../home/newindex',
+					//url:"/pages_index/index",
 					animationType: 'pop-in',
 					animationDuration: 100
 				})

+ 2 - 2
pages/healthy/detail.vue

@@ -228,7 +228,7 @@
 			font-family: PingFang SC;
 			font-weight: 500;
 			color: #FFFFFF;
-			background: #2BC7B9;
+			background: #FF233C;
 			border-radius: 40upx;
 			display: flex;
 			align-items: center;
@@ -273,7 +273,7 @@
 				font-size: 22upx;
 				font-family: PingFang SC;
 				font-weight: bold;
-				color: #2BC7B9;
+				color: #FF233C;
 				line-height: 1;
 			}
 			 

+ 1 - 1
pages/healthy/idea.vue

@@ -230,7 +230,7 @@
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 4 - 4
pages/healthy/index.vue

@@ -246,15 +246,15 @@
 			font-size: 28upx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #2BC7B9;
+			color: #FF233C;
 			background: #F5FFFE;
-			border: 1px solid #2BC7B9;
+			border: 1px solid #FF233C;
 			border-radius: 32upx;
 			margin: 0 20upx 20upx 0;
 			&.active{
 				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
+				background: #FF233C;
+				border: 1px solid #FF233C;
 			}
 		}
 	}

+ 0 - 2677
pages/home/backuphoneindex.vue

@@ -1,2677 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 背景图片 -->
-		<image class="bg" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/hp_top_bg.png"
-			mode=""></image>
-		<view>
-			<view class="top-inner">
-				<view class="fixed-top-box" :style="{ background: bgColor }">
-					<!-- 这里是状态栏 -->
-					<view class="status_bar" :style="{height: statusBarHeight}"></view>
-					<view class="top-title">
-						<!-- <view class="name" >云联精选</view> -->
-						<view class="name" >云联精选</view>
-						<!-- <view class="dot">•</view><view class="sub-name">七彩互联网医院</view> -->
-					</view>
-					<!-- 搜索框、购物车、客服 -->
-					<view class="func-cont">
-						<view class="search-cont" :style="{width:userinfoa.isShow==0 || isuser==true?'633rpx':''}">
-							<image class="icon-search"
-								src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png"
-								mode="">
-							</image>
-							<input type="text" value="" placeholder="请输入产品名称"
-								placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;"
-								@click="toSearch" />
-						</view>
-						<!-- 购物车 -->
-						<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error"
-							v-show="userinfoa.isShow==1&&isuser==false">
-							<view class="img-item" @click="goAuthUrl('/pages/shopping/cart')">
-								<image
-									src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/cart_wihte.png"
-									mode=""></image>
-							</view>
-						</uni-badge>
-						<view class="img-item" style="position: relative;">
-							<image
-								src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/customer.png"
-								mode="">
-							</image>
-							<button class="contact-btn" open-type="contact"></button>
-						</view>
-					</view>
-				</view>
-			</view>
-			<!-- 头部间距 -->
-			<view style="padding-bottom:220rpx">
-				<view class="status_bar" :style="{height: statusBarHeight}"></view>
-			</view>
-			<!-- 轮播图 -->
-			<view class="banner-box">
-				<view class="inner">
-					<swiper class="swiper" :indicator-dots="true" :circular="true" :autoplay="true" :interval="3000"
-						:duration="1000" indicator-color="rgba(255, 255, 255, 0.6)" indicator-active-color="#ffffff">
-						<swiper-item class="swiper-item" v-for="(item,index) in advList" :key="index"
-							@click="handleAdvClick(item)">
-							<image :src="item.imageUrl" mode=""></image>
-						</swiper-item>
-					</swiper>
-				</view>
-			</view>
-
-			<!-- 菜单 -->
-			<view class="menu-content">
-				<view class="menu-box">
-					<Menu :list="menus" @menuClick="menuClick" v-if="menus.length>0" style="width:100%;"></Menu>
-				</view>
-			</view>
-
-		</view>
-		<view class="online-inquiry" v-if="isuser==false">
-			<view class="item" @click="navTo('../home/productList')">
-				<image class="bg-img"
-					src="https://bjzmky-1323137866.cos.ap-chongqing.myqcloud.com/userapp/images/banner.png"
-					mode=""></image>
-			</view>
-		</view>
-		<!-- <view class="open-class bgf radius12">
-			<view class="title-box">
-				<text class="title">百域大讲堂</text>
-				<view class="more" @click="goClassList(1)">
-					<text>查看全部</text>
-					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/toright.png"></image>
-				</view>
-			</view>
-			<view class="justify-start">
-				<view class="class-item" @click="goClass(item.courseId,1)" v-for="(item, index) in classList"
-					:key="index">
-					<view class="img-box">
-						<image :src="item.imgUrl || 'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/no-img.png'"  ></image>
-					</view>
-					<view>{{item.courseName}}</view>
-				</view>
-			</view>
-		</view> -->
-		<view class="modules">
-			<view class="module">
-				<!--养生有道-->
-				<!-- <view class="depts">
-						<view class="title">养生有道</view>
-						<view class="dept-box">
-							<view  @click="yangshengClick(item)"  class="dept" :key="index" v-for="(item,index) in yangshengs"  >
-								<image class="icon" :src="item.icon"></image>
-								<view class="title" >{{item.title}} </view>
-							</view>
-						</view>
-				</view>
-				 -->
-				<!-- <view class="doctor-articles" >
-					<view class="title-box">
-						<view class="title">养生讲堂</view>
-						<view class="more"  @click="navTo('/pages_index/index/doctorArticleList')" >
-							<view class="text">更多</view>
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
-						</view>
-					</view>
-					<scroll-view :scroll-x="true" style="white-space: nowrap;">
-					<view class="article-box"  >
-						<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId='+item.articleId)"  v-for="(item,index) in doctocArticles" :key="index">
-							<view class="image-box">
-								<image mode="aspectFill" :src="item.imageUrl"></image>
-								<view class="views">
-									{{item.views}}人观看
-								</view>
-								<view class="doctor">
-									<image mode="aspectFill" :src="item.avatar"></image>
-									<view class="right">
-										<view class="doc-name ellipsis">{{item.doctorName}}</view>
-										<view class="doc-position ellipsis">{{item.position}}</view>
-									</view>
-								</view>
-							</view>
-							<view class="article-title-box">
-								<view class="article-title ellipsis">{{item.title}}</view>
-							</view>
-						</view>
-					</view>
-					</scroll-view>
-				</view> -->
-
-				<!--养生干货-->
-				<!-- <view class="articles" >
-			    	<view class="title-box">
-			    		<view class="title">养生干货</view>
-			    		<view class="more" @click="navTo('/pages_index/index/articleList')">
-			    			<view class="text">更多</view>
-			    			<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
-			    		</view>
-			    	</view>
-			    	<view class="article-box" v-if="articles.length>0">
-			    		<view class="item" :key="index" @click="navTo('/pages_index/index/articleDetails?articleId='+item.articleId)" v-for="(item,index) in articles">
-			    			<view class="left">
-			    				<view class="title">
-			    					{{item.title}}
-			    				</view>
-			    				<view class="views">
-			    					浏览量 {{item.views}}
-			    				</view>
-			    			</view>
-			    			<view class="right">
-			    				<image :src="item.imageUrl"></image>
-			    			</view>
-			    		</view>
-			    	</view>
-			    </view> -->
-
-			</view>
-		</view>
-
-		<view class="index-cont">
-
-			<!-- 热门榜单 -->
-			<!-- <NewProduct :detail="newProductList" /> -->
-			<HotProduct :detail="hotProductList" />
-			<!-- 百域百科 -->
-			<!-- <view class="pub-item" style="margin-top: 20rpx;" >
-				<view class="pub-title-box">
-					<text class="left">百域百科</text>
-					<view class="right" @click="switchTo('../healthy/index')">
-						<text class="text">更多</text>
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-				<view class="inner">
-					<view class="pub-tab-box">
-						<view class="tab-inner">
-							<view
-								v-for="(item,index) in articleCateList"
-								:key="index"
-								:class="item.cateId == cateId?'item active':'item'"
-								@click="articleCateChange(item)">
-								<view class="text">
-									{{ item.cateName }}
-									<image v-show="item.cateId == cateId" class="tab-bg" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png" mode=""></image>
-								</view>
-							</view>
-						</view>
-						<image class="right-mask" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/mask.png" mode=""></image>
-					</view>
-
-					<view class="know-list">
-						<view class="item" v-for="(item,index) in articleList" :key="index" @click="showArticle(item)">
-							<view class="left">
-								<view class="title ellipsis2">{{ item.title }}</view>
-								<view class="info-box">
-									<view class="readers">
-										<view class="head-box" v-if="item.viewsList!=null&&item.viewsList.length>0">
-											<view class="head" v-for="(subitem,j) in item.viewsList" :key="j" v-if="subitem!=null" >
-												<image :src="subitem.avatar==null?'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/detault_head.jpg':subitem.avatar" mode=""></image>
-											</view>
-										</view>
-										<view class="readings">
-											<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" mode=""></image>
-											<text class="num">{{item.views}}</text>
-										</view>
-									</view>
-									<view class="time">{{item.publishTime}}</view>
-								</view>
-							</view>
-							<view class="right">
-								<image :src="item.imageUrl"  mode="aspectFill"></image>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view> -->
-			<!-- 精选产品 -->
-			<TuiProduct ref="tuiProduct" />
-
-		</view>
-
-
-		<!-- 限时消息 -->
-		<!-- <view class="message-box" >
-			<view class="left">
-				<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/close24.png" mode="" @click="closeMsg"></image>
-				<view class="text ellipsis">关注公众号了解更新</view>
-			</view>
-			<view class="btn">查看</view>
-
-		</view> -->
-		<!-- #ifdef MP-WEIXIN -->
-		<view class="official-account">
-			<official-account @load="bindload" @error="binderror"></official-account>
-		</view>
-		<!-- #endif -->
-		<view class="popup-box" v-if="activityShow">
-			<view class="info-mask" @tap="closeActivity()"></view>
-			<view class="info-form">
-				<image :src="activity.logoUrl" @tap="showActivity()" />
-			</view>
-		</view>
-		<z-modal :show="tuiModalControl" placeholderText="请输入邀请码" :btnGroup="btnGroup" :contentType="2"
-			titleText="填写邀请码" @cancle="cancleTui" @sure="submitTui"></z-modal>
-
-
-			<Server/>
-		<!-- <tabbar :actindex="0"></tabbar> -->
-	</view>
-</template>
-
-<script>
-	import {
-		courseList,
-		courseListB
-	} from '@/api/class.js'
-	import zModal from '@/components/z-modal/z-modal.vue'
-	import {
-		getStoreActivity
-	} from '@/api/activity.js'
-	import {
-		getDepartmentList
-	} from '@/api/doctorOrder.js'
-	import {
-		getMenu,
-		getCanvas,
-		getIndexData,
-		getTuiDoctor,
-		getTuiArticle,
-		getTuiDoctorOrder,
-		getCartCount,
-		// getpro
-	} from '@/api/index'
-	import {
-		getDoctorArticleList
-	} from '@/api/doctorArticle.js'
-	import {
-		getArticleList
-	} from '@/api/article.js'
-	import {
-		getStoreConfig
-	} from '@/api/common'
-	// import tabBg from "https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png"
-	import freeAudio from '@/components/chengpeng-audio/free-audio.vue'
-	import Menu from '@/components/Menu.vue'
-	import HotProduct from './components/HotProduct.vue'
-	import NewProduct from './components/NewProduct.vue'
-	import TuiProduct from '@/components/tuiProduct.vue'
-
-	import Server from '@/components/Server.vue'
-	import {
-		getUserInfo,
-		bindPromoter
-	} from '@/api/user'
-	export default {
-		components: {
-			zModal,
-			freeAudio,
-			Menu,
-			HotProduct,
-			NewProduct,
-			TuiProduct,
-			Server
-		},
-		data() {
-			return {
-				classList: [],
-				btnGroup: [{
-					text: '取消',
-					color: '#FFFFFF',
-					bgColor: '#999999',
-					width: '150rpx',
-					height: '80rpx',
-					shape: 'fillet',
-					eventName: 'cancle'
-				}, {
-					text: '确定',
-					color: '#FFFFFF',
-					bgColor: '#2BC7B9',
-					width: '150rpx',
-					height: '80rpx',
-					shape: 'fillet',
-					eventName: 'sure'
-				}],
-				tuiModalControl: false,
-				activity: null,
-				activityShow: false,
-				newProductList: [],
-				hotProductList: [],
-				tuiProductList: [],
-				menus: [],
-				canvas: [],
-				allDoctorTitle: "全部医生",
-				topLen: 0,
-				deptId: 0,
-				depts: [],
-				docTab: 1,
-				top: 0,
-				cartCount: 0,
-				doctorOrderList: [],
-				orderType: 0,
-				cateId: null,
-				articleList: [],
-				advList: [],
-				doctorList: [],
-				articleCateList: [],
-				doctocArticles: [], //养生讲堂
-				articles: [], //养生干货
-				// 状态栏的高度
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				tabBg: "https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png", // tab切换背景
-				// 问诊案例类型
-				orderTypes: [{
-					name: '全部',
-					id: 0,
-				}, {
-					name: '图文',
-					id: 1,
-				}, {
-					name: '语音',
-					id: 2,
-				}],
-				// 限时消息是否显示
-				messageShow: true,
-				yangshengs: [{
-						id: "1",
-						title: "药膳食疗",
-						page: "/pages_index/index/medicatedFoodList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/3cfbd47911cf4753aa9497eac500728d.png"
-					},
-					{
-						id: "2",
-						title: "经络穴位",
-						page: "/pages_index/index/vesselList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e93536a9dc1a4f8ca09545097b12fdea.png"
-					},
-					{
-						id: "3",
-						title: "问答专区",
-						page: "/pages_index/index/questionsList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e896972bd56f4e358188af36f2c5af42.png"
-					},
-					{
-						id: "4",
-						title: "疾病",
-						page: "/pages_index/index/diseaseList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/d6f1851cccae414b8baf2ba07782f91b.png"
-					},
-					{
-						id: "5",
-						title: "中药图解",
-						page: "/pages_index/index/chineseMedicineList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/ff43572d0d004285b5a3b0ef2663c471.png"
-					},
-					{
-						id: "6",
-						title: "名方今用",
-						page: "/pages_index/index/famousPrescribeList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/45db770e58c34963b0d2ba24a958b617.png"
-					},
-					{
-						id: "7",
-						title: "康复医案",
-						page: "/pages_index/index/doctorArticleList",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e793942797b24035b51f94d894bdfa0b.png"
-					},
-					{
-						id: "8",
-						title: "更多",
-						page: "",
-						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/3ee6160289914ee4a8126573fe4dc0ae.png"
-					}
-				],
-				userinfoa: [],
-				isuser: false,
-				menvKey: [],
-				classListb: {}
-			}
-			// this.getStoreActivity();
-		},
-		onLoad(option) {
-			if (option.userCode != null) {
-				uni.setStorageSync('userCode', option.userCode);
-				if (this.utils.checkLoginState()) {
-					this.getUserInfo();
-				}
-			}
-			if (option.hasOwnProperty('q') && option.q) {
-				// 通过下面这步解码,可以拿到url的值
-				const url = decodeURIComponent(option.q)
-				this.url = url;
-				// // 对url中携带的参数提取处理
-				const obj = this.utils.urlToObj(url)
-				uni.setStorageSync('userCode', obj.userCode);
-				if (this.utils.checkLoginState()) {
-					this.getUserInfo();
-				}
-			}
-			// this.getStoreActivity()
-		},
-		// 暂停所有音频(一般用于页面切换时停止正在播放的音频)
-		onUnload() { //普通页面在 onUnload 生命周期中执行
-			uni.$emit('stop')
-		},
-		onHide() { //tabBar页面在onHide生命周期中执行
-			uni.$emit('stop')
-		},
-		onPageScroll(e) {
-			//console.log(e)
-			this.top = e.scrollTop;
-		},
-		mounted() {
-			this.getCourseList()
-			//this.getDepartmentList();
-		},
-		onShareAppMessage(res) {
-			return {
-				title: '云联精选-您的专属解决方案',
-				path: `/pages/common/launch`,
-				// imageUrl: this.$store.state.imgpath +'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			imageUrl: '/static/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-		},
-		onReachBottom() {
-			// console.log("onReachBottom")
-			this.$refs.tuiProduct.getTuiProducts();
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title: '云联精选-您的专属解决方案',
-				query: '', //页面参数
-				imageUrl: '/static/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				// imageUrl: this.$store.state.imgpath +'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-		},
-		computed: {
-			// 计算属性的 getter
-			bgColor: function() {
-				var top = this.top / 30;
-				return 'rgba(43,199,185, ' + top + ')';
-			},
-			imgPath() {
-				return this.$store.state.imgpath
-			},
-		},
-		onShow() {
-			this.getMenu();
-			this.getIndexData()
-			//this.getTuiDoctorOrder();
-			// console.log(uni.getStorageSync('isLocation'))
-			// if(uni.getStorageSync('isLocation')==""){
-			// 	this.getLocation();
-			// }
-			if (uni.getStorageSync('AppToken')) {
-				this.getUserInfo()
-			} else {
-				this.isuser = true
-			}
-			if (this.utils.checkLoginState()) {
-				this.getCartCount();
-			}
-			this.getStoreConfig();
-			//this.getTuiDoctor()
-			this.getCanvas();
-			this.getDoctorArticleList();
-			this.getArticleList();
-			// this.getshowmanv()
-		},
-		methods: {
-			toLive() {
-				uni.showToast({
-					icon: 'none',
-					title: '暂未开放,敬请期待'
-				})
-			},
-			getCourseList() {
-				courseList().then(res => {
-					if (res.code == 200) {
-						console.log('公域', res.data)
-						this.classList = res.data.slice(0, 3)
-					} else {
-						uni.hideLoading();
-						uni.showToast({
-							title: res.msg,
-							icon: 'none'
-						});
-					}
-				})
-			},
-			goClass(id, type) {
-				// console.log(id)
-				uni.navigateTo({
-					url: '/pages_course/learn?courseId=' + id + '&type=' + type
-				})
-			},
-			goClassList(type) {
-				uni.navigateTo({
-					url: '/pages_course/teacherClassroom?type=' + type
-				})
-			},
-			// getshowmanv() {
-			// 	const data = {
-			// 		key: "store.appShow"
-			// 	}
-			// 	getpro(data).then(res => {
-			// 		this.menvKey = JSON.parse(res.data)
-			// 		// console.log('排序', this.menvKey[0])
-			// 	})
-			// },
-			getUserInfo() {
-				getUserInfo().then(
-					res => {
-						if (res.code == 200) {
-							if (res.user != null) {
-								this.userinfoa = res.user
-								// if(res.user.isPromoter==null||res.user.isPromoter==0){
-								// 	this.tuiModalControl=true
-								// }
-							}
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			cancleTui(e) {
-				this.tuiModalControl = false
-			},
-			submitTui(e) {
-				// console.log(e)
-				if (e.inputText == null || e.inputText == "") {
-					uni.showToast({
-						icon: 'none',
-						title: "请输入邀请码",
-					});
-					return;
-				}
-				var data = {
-					userCode: e.inputText
-				};
-				bindPromoter(data).then(
-					res => {
-						if (res.code == 200) {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-							this.tuiModalControl = false
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-
-			},
-			bindload: function(detail) {},
-			binderror: function(detail) {},
-			closeActivity() {
-				this.activityShow = false;
-				// uni.setStorageSync(this.activity.activityId,null);
-			},
-			getStoreActivity() {
-				let data = {}
-				getStoreActivity(data).then(res => {
-					this.activity = res.activity;
-					if (this.activity != null) {
-						// if(uni.getStorageSync(this.activity.activityId)!=null)
-						// {
-						// 	uni.setStorageSync(this.activity.activityId,1);
-						// 	this.activityShow=true;
-						// }
-						// else{
-						// 	this.activityShow=false;
-						// }
-						this.activityShow = true;
-					} else {
-						this.activityShow = false;
-					}
-				})
-			},
-			showActivity() {
-				this.activityShow = false;
-				uni.navigateTo({
-					url: '/pages_shopping/shopping/activityDetails?activityId=' + this.activity.activityId
-				})
-			},
-			menuClick(item) {
-				if (item.linkType == 1) {
-					if (item.linkUrl == "/pages/shopping/index") {
-						uni.switchTab({
-							url: item.linkUrl
-						})
-					} else if (item.linkUrl == "/pages/healthy/index") {
-						uni.switchTab({
-							url: item.linkUrl
-						})
-					} else {
-
-						uni.navigateTo({
-							url: item.linkUrl
-						})
-					}
-
-				} else if (item.linkType == 0) {
-					uni.showToast({
-						icon: 'none',
-						title: "开发中...",
-					});
-				}
-			},
-			goDev() {
-				uni.showToast({
-					icon: 'none',
-					title: "开发中...",
-				});
-			},
-			handleAdvClick(item) {
-				console.log(item);
-				if (item.showType == 1) {
-					uni.setStorageSync('url', item.advUrl);
-					uni.navigateTo({
-						url: "h5"
-					})
-				} else if (item.showType == 2) {
-					uni.navigateTo({
-						url: item.advUrl
-					})
-				} else if (item.showType == 3) {
-					uni.setStorageSync('content', item.content);
-					uni.navigateTo({
-						url: "content"
-					})
-				}
-			},
-			deptChange(item) {
-				this.deptId = item.departmentId;
-				this.getTuiDoctor();
-			},
-			getMenu() {
-				this.menus = [];
-				getMenu().then(res => {
-					if (res.code == 200) {
-						// for (var i = 0; i < res.data.length; i++) {
-						// 	const item=res.data[i];
-						// if(item.menuName.indexOf('百域百科')>=0 || item.menuName.indexOf('百域自测')>=0
-						// || item.menuName.indexOf('百域档案')>=0 ||item.menuName.indexOf('用药咨询')>=0){
-						// 	this.menus.push(item);
-						// }
-						// }
-						// console.log('图标', res.data)
-						// const menuNames = ['百域百科', '百域自测', '百域档案', '产品商城', '领券中心', '会员'];
-						this.menus = res.data
-						// this.menus = res.data.filter(item => menuNames.some(menuName => item.menuName.includes(menuName)) );
-					} else {
-
-					}
-				});
-			},
-			getCanvas() {
-				getCanvas().then(res => {
-					if (res.code == 200) {
-						if (res.data && res.data.json) {
-							this.canvas = JSON.parse(res.data.json)
-						}
-					}
-				});
-			},
-			getDepartmentList() {
-				this.depts = [];
-				getDepartmentList().then(res => {
-					if (res.code == 200) {
-						var allDept = {
-							departmentId: 0,
-							departmentName: "全部"
-						}
-						this.depts.push(allDept);
-						this.depts = this.depts.concat(res.data);
-					} else {
-						uni.showToast({
-							icon: 'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-			getTuiDoctor() {
-				let data = {
-					departmentId: this.deptId,
-					doctorType: this.docTab
-				};
-				getTuiDoctor(data).then(
-					res => {
-						if (res.code == 200) {
-							this.doctorList = res.data;
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			docTabChange(val) {
-				if (val == 1) {
-					this.allDoctorTitle = "全部医师"
-				}
-				if (val == 2) {
-					this.allDoctorTitle = "全部药师"
-				}
-				if (val == 3) {
-					this.allDoctorTitle = "全部营养师"
-				}
-				this.docTab = val;
-				this.getTuiDoctor();
-			},
-			showImg(urls) {
-				var imgArr = urls.split(',');
-				//预览图片
-				uni.previewImage({
-					urls: imgArr,
-					current: imgArr[0]
-				});
-			},
-			getStoreConfig() {
-				getStoreConfig().then(
-					res => {
-						if (res.code == 200) {
-							uni.setStorageSync('config', JSON.stringify(res.data));
-						}
-					},
-					rej => {}
-				);
-
-			},
-			goAuthUrl(url) {
-				this.utils.isLogin().then(res => {
-					if (res) {
-						uni.switchTab({
-							url: url
-						})
-					}
-				})
-			},
-			// 跳转页面
-			navTo(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			getLocation() {
-				var that = this;
-				uni.authorize({
-					scope: 'scope.userLocation',
-					success() {
-						uni.getLocation({
-							type: 'gcj02', //腾讯地图使用gcj02获取位置坐标
-							success: function(res) {
-								uni.setStorageSync('isLocation', 1);
-								uni.setStorageSync('lng', res.longitude);
-								uni.setStorageSync('lat', res.latitude);
-							},
-						})
-					},
-					fail(err) {
-						console.log(err)
-					}
-				})
-			},
-			getIndexData() {
-				let data = {};
-				getIndexData(data).then(
-					res => {
-						if (res.code == 200) {
-							this.advList = res.data.advList;
-							this.articleCateList = res.data.articleCateList;
-							if (this.articleCateList != null && this.articleCateList.length > 0) {
-								this.cateId = this.articleCateList[0].cateId;
-								this.getTuiArticle()
-							}
-							this.tuiProductList = res.data.tuiProductList
-							this.newProductList = res.data.newProductList
-							this.hotProductList = res.data.hotProductList
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getCartCount() {
-				this.utils.isLogin().then(res => {
-					if (res) {
-						getCartCount().then(
-							cartRes => {
-								if (cartRes.code == 200) {
-									this.cartCount = cartRes.data;
-								}
-							},
-							rej => {}
-						);
-					}
-				})
-			},
-			getTuiArticle() {
-				let data = {
-					cateId: this.cateId
-				};
-				getTuiArticle(data).then(
-					res => {
-						if (res.code == 200) {
-							this.articleList = res.data;
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getTuiDoctorOrder() {
-				let data = {
-					orderType: this.orderType
-				};
-				getTuiDoctorOrder(data).then(
-					res => {
-						if (res.code == 200) {
-							this.doctorOrderList = res.data;
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			showArticle(item) {
-				uni.navigateTo({
-					url: '../healthy/detail?articleId=' + item.articleId
-				})
-			},
-			showProduct(item) {
-				uni.navigateTo({
-					url: '../shopping/productDetails?productId=' + item.productId
-				})
-			},
-			// 顶部搜索
-			toSearch() {
-				uni.navigateTo({
-					url: './productSearch'
-				})
-			},
-			// 健康知识选中
-			articleCateChange(item) {
-				this.cateId = item.cateId;
-				this.getTuiArticle();
-			},
-			// 问诊案例选中
-			orderTypeChange(item) {
-				this.orderType = item.id;
-				console.log(this.orderType)
-				this.getTuiDoctorOrder();
-			},
-			// 关闭限时消息
-			closeMsg() {
-				this.messageShow = false
-			},
-			// 查看全部
-			viewAll(url) {
-				uni.navigateTo({
-					url: '/pages/home/' + url,
-				});
-			},
-			shopDoctor(item) {
-				console.log(item);
-				uni.navigateTo({
-					url: "/pages_doctor/doctorDetail?doctorId=" + item.doctorId
-				})
-			},
-			switchTo(url) {
-				uni.switchTab({
-					url: url
-				})
-				return
-			},
-			yangshengClick(item) {
-				if (item.page == "") {
-					uni.showToast({
-						icon: "none",
-						title: '暂无更多'
-					})
-					return;
-				}
-				uni.navigateTo({
-					url: item.page
-				})
-			},
-			// 在线问诊
-			openIm() {
-				uni.navigateTo({
-					url: '/pages_doctor/doctorOrderIM?orderId=10'
-				})
-			},
-			getDoctorArticleList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					pageNum: 1,
-					pageSize: 10
-				};
-				getDoctorArticleList(data).then(res => {
-					if (res.code == 200) {
-						this.doctocArticles = res.data.list;
-					}
-				});
-			},
-			getArticleList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					isTui: 1,
-					pageNum: 1,
-					pageSize: 10,
-				};
-				getArticleList(data).then(res => {
-					if (res.code == 200) {
-						this.articles = res.data.list;
-					} else {
-						uni.showToast({
-							icon: 'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.fixed-top-box {
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 1000;
-		transition: all 0.5s;
-		background-color: #2BC7B9;
-
-		&.show-back {
-			// background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
-		}
-
-		.status_bar {
-
-			width: 100%;
-		}
-	}
-
-	.content {
-		width: 100%;
-		position: relative;
-
-		.bg {
-			width: 100%;
-			height: 380rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-		}
-
-		.top-inner {
-			width: 100%;
-			position: absolute;
-			top: 0;
-			left: 0;
-			z-index: 5;
-
-			.top-title {
-				height: 88upx;
-				line-height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-start;
-
-				.name {
-					font-size: 42upx;
-					font-family: Source Han Sans CN;
-					font-weight: bold;
-					color: #FFFFFF;
-					padding-left: 41upx;
-				}
-
-				.dot {
-					margin: 0upx 10upx;
-					font-size: 28upx;
-					color: #FFFFFF;
-					opacity: 0.5;
-				}
-
-				.sub-name {
-					font-size: 30upx;
-					font-family: Source Han Sans CN;
-					color: #FFFFFF;
-				}
-
-
-			}
-
-			.func-cont {
-				box-sizing: border-box;
-				display: flex;
-				align-items: center;
-				padding: 30upx 20upx 30upx 20upx;
-
-				.search-cont {
-					box-sizing: border-box;
-					display: flex;
-					align-items: center;
-					width: 552upx;
-					height: 72upx;
-					background: #FFFFFF;
-					border-radius: 36upx;
-					padding: 0 30upx;
-
-					.icon-search {
-						width: 28upx;
-						height: 28upx;
-						margin-right: 20upx;
-					}
-
-					input {
-						height: 60upx;
-						line-height: 60upx;
-						flex: 1;
-					}
-				}
-
-				:deep(.uni-badge) {
-					border: none;
-					background-color: #FF3636;
-					font-family: Roboto;
-				}
-
-				.img-item {
-					width: 44upx;
-					height: 44upx;
-					margin-left: 30upx;
-
-					image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-			}
-
-			.tips {
-				margin: 0upx 20rpx 30rpx;
-				height: 40upx;
-				line-height: 40upx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-
-				.left {
-					font-size: 30upx;
-					color: #FFFFFF;
-				}
-
-				.right {
-					padding: 5upx 20rpx;
-					font-size: 24upx;
-					color: #FFFFFF;
-					background-color: #2BC7B9;
-					border-radius: 50rpx;
-				}
-			}
-		}
-
-		.banner-box {
-			padding: 0 20upx;
-
-			.inner {
-				width: 100%;
-				height: 236upx;
-				border-radius: 10upx;
-				overflow: hidden;
-
-				.swiper,
-				.swiper-item,
-				.swiper-item image {
-					width: 100%;
-					height: 100%;
-				}
-
-			}
-		}
-
-		.menu-content {
-			// width: 100%;
-			background-color: #fff;
-			overflow: hidden;
-			padding: 20upx 20upx 0;
-		}
-
-		.menu-box {
-			display: flex;
-			align-items: center;
-			background-color: #FFFFFF;
-		}
-
-		.online-inquiry {
-			box-sizing: border-box;
-			width: 100%;
-			height: 300upx;
-			padding: 20upx;
-			background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 62%, rgba(255, 255, 255, 0) 100%);
-			display: flex;
-			justify-content: space-between;
-
-			.item {
-				// width: 46.13%;
-				width: 100%;
-				height: 100%;
-				position: relative;
-
-				.bg-img,
-				.inner {
-					width: 100%;
-					height: 100%;
-					position: absolute;
-					top: 0;
-					left: 0;
-					z-index: 1;
-					border-radius: 15rpx;
-				}
-
-				.inner {
-					box-sizing: border-box;
-					z-index: 2;
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-					padding-left: 32upx;
-
-					.title {
-						font-size: 30upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						margin-bottom: 20upx;
-					}
-
-					.sub-title {
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-					}
-
-					image {
-						width: 80upx;
-						height: 90upx;
-						position: absolute;
-						right: 7upx;
-						bottom: 7upx;
-					}
-				}
-			}
-		}
-
-		.index-cont {
-			box-sizing: border-box;
-			padding: 0 20upx 120rpx;
-
-			.pub-item {
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-
-				.tabs {
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					height: 110rpx;
-					background-color: #F0F3F4;
-
-					.tab {
-						height: 110rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						position: relative;
-						flex: 1;
-
-						.img {
-							z-index: 1;
-							position: absolute;
-							top: 0rpx;
-							left: 0rpx;
-							width: 100%;
-							height: 100%;
-						}
-
-						.inner {
-							z-index: 2;
-
-							.title {
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #666666;
-							}
-
-							.active {
-								color: #2BC7B9;
-							}
-						}
-
-					}
-
-
-				}
-
-				.pub-title-box {
-					box-sizing: border-box;
-					padding: 36upx 30upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-
-					.left {
-						font-size: 32upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-					}
-
-					.right {
-						display: flex;
-						align-items: center;
-						justify-content: center;
-
-						.text {
-							font-size: 24rpx;
-							line-height: 1;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							margin-right: 10upx;
-						}
-
-						image {
-							width: 14upx;
-							height: 24upx;
-						}
-					}
-
-				}
-
-				.doc-tab-box {
-					padding: 14rpx 30rpx 0rpx 30rpx;
-					position: relative;
-
-					.tab-inner {
-						padding: 14upx 0 30upx;
-						display: flex;
-						overflow-x: auto;
-					}
-
-					.item {
-						font-size: 28upx;
-						white-space: nowrap;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						margin-right: 40upx;
-						position: relative;
-
-						&:last-child {
-							margin-right: 0;
-						}
-
-						&.active {
-							font-weight: bold;
-							color: #333333;
-						}
-
-						&.cases {
-							margin-right: 60upx;
-						}
-
-						.text {
-							position: relative;
-							z-index: 1;
-						}
-
-						.tab-bg {
-							width: 72upx;
-							height: 28upx;
-							position: absolute;
-							top: 17upx;
-							left: 50%;
-							transform: translateX(-36upx);
-							z-index: -1;
-						}
-					}
-
-					.right-mask {
-						width: 56upx;
-						height: 34upx;
-						position: absolute;
-						top: 25upx;
-						right: 0upx;
-						z-index: 1;
-					}
-				}
-
-				.doc-list {
-					padding: 20upx;
-
-					.item {
-						box-sizing: border-box;
-						background: #FFFFFF;
-						// border-radius: 16upx;
-						display: flex;
-						border-bottom: 1px solid #F0F0F0;
-						margin-bottom: 30rpx;
-
-						.head-box {
-							width: 120upx;
-							height: 120upx;
-							background: #EDF1F4;
-							border-radius: 50%;
-							overflow: hidden;
-							margin-right: 30upx;
-
-							image {
-								width: 100%;
-								height: 100%;
-							}
-						}
-
-						.info {
-							width: calc(100% - 150upx);
-
-							.top {
-								display: flex;
-								align-items: center;
-								font-family: PingFang SC;
-								line-height: 1;
-
-								.name {
-									font-size: 34upx;
-									font-weight: bold;
-									color: #111111;
-								}
-
-								.line {
-									width: 1px;
-									height: 26upx;
-									background: #DDDDDD;
-									margin: 0 20upx;
-								}
-
-								.other {
-									font-size: 28upx;
-									font-weight: 500;
-									color: #333333;
-								}
-							}
-
-							.unit-box {
-								display: flex;
-								margin-top: 24upx;
-
-								.level {
-									padding: 0 10upx;
-									height: 30upx;
-									line-height: 30upx;
-									font-size: 22upx;
-									font-family: PingFang SC;
-									font-weight: 500;
-									color: #FFFFFF;
-									background: #2BC7B9;
-									border-radius: 10upx 4upx 10upx 4upx;
-									margin-right: 12upx;
-								}
-
-								.name {
-									font-size: 28upx;
-									font-family: PingFang SC;
-									font-weight: 500;
-									color: #333333;
-									line-height: 30upx;
-								}
-							}
-
-							.expertise {
-								font-size: 26upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #666666;
-								line-height: 42upx;
-								margin: 22upx 0 26upx;
-							}
-
-							.rate-box {
-								display: flex;
-								align-items: center;
-
-								.star {
-									display: flex;
-									align-items: center;
-
-									image {
-										width: 22upx;
-										height: 22upx;
-										margin-right: 10upx;
-									}
-
-									text {
-										font-size: 26upx;
-										font-family: PingFang SC;
-										font-weight: bold;
-										color: #CEA764;
-										line-height: 1;
-									}
-								}
-
-								.line {
-									width: 1px;
-									height: 20upx;
-									background: #DDDDDD;
-									margin: 0 20upx;
-								}
-
-								.num-box {
-									display: flex;
-									align-items: center;
-									font-family: PingFang SC;
-
-									.label {
-										font-size: 24upx;
-										font-weight: 500;
-										color: #999999;
-										line-height: 1;
-										margin-right: 7px;
-									}
-
-									.num {
-										font-size: 26upx;
-										font-weight: bold;
-										color: #CEA764;
-										line-height: 1;
-									}
-								}
-							}
-
-							.price-box {
-								display: flex;
-								align-items: center;
-								margin-top: 38upx;
-
-								.btn-item {
-									display: flex;
-									align-items: center;
-									justify-content: center;
-									width: 164upx;
-									height: 56upx;
-									line-height: 56upx;
-									border: 1px solid rgba(43, 199, 185, 0.5);
-									border-radius: 28upx;
-									font-family: PingFang SC;
-									margin-right: 30upx;
-
-									&:last-child {
-										margin-right: 0;
-									}
-
-									.label {
-										font-size: 26upx;
-										font-weight: 500;
-										color: #2BC7B9;
-										margin-right: 5upx;
-									}
-
-									.num {
-										font-size: 28upx;
-										font-weight: bold;
-										color: #2BC7B9;
-									}
-								}
-							}
-						}
-					}
-
-					.item:last-child {
-						border-bottom: none;
-						margin-bottom: 0rpx;
-					}
-
-					.bottom-title {
-						height: 50rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						font-size: 26rpx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #2BC7B9;
-
-						image {
-							margin-left: 8rpx;
-							width: 14rpx;
-							height: 24rpx;
-						}
-					}
-				}
-
-				// 医师团队
-				.doc-cont {
-					box-sizing: border-box;
-					padding: 0 30upx;
-
-					.inner {
-						padding: 4upx 0 40upx;
-						display: flex;
-						overflow-x: auto;
-					}
-
-					.item {
-						display: flex;
-						align-items: center;
-						flex-direction: column;
-						margin-right: 40upx;
-
-						&:last-child {
-							margin-right: 0;
-						}
-
-						.head-box {
-							width: 120upx;
-							height: 120upx;
-							background: #F2F5F9;
-							border-radius: 50%;
-							margin-bottom: 20upx;
-							overflow: hidden;
-
-							image {
-								width: 100%;
-								height: 100%;
-							}
-						}
-
-						.name {
-							max-width: 120upx;
-							font-size: 28upx;
-							line-height: 1;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							margin-bottom: 16upx;
-							text-align: center;
-						}
-
-						.position {
-							max-width: 120upx;
-							font-size: 24upx;
-							line-height: 1;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							text-align: center;
-						}
-					}
-				}
-
-				.inner {
-					padding: 0 30upx;
-				}
-
-				// 健康知识
-				.pub-tab-box {
-					position: relative;
-
-					.tab-inner {
-						padding: 14upx 0 30upx;
-						display: flex;
-						overflow-x: auto;
-					}
-
-					.item {
-						font-size: 28upx;
-						white-space: nowrap;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						margin-right: 40upx;
-						position: relative;
-
-						&:last-child {
-							margin-right: 0;
-						}
-
-						&.active {
-							font-weight: bold;
-							color: #333333;
-						}
-
-						&.cases {
-							margin-right: 60upx;
-						}
-
-						.text {
-							position: relative;
-							z-index: 1;
-						}
-
-						.tab-bg {
-							width: 72upx;
-							height: 28upx;
-							position: absolute;
-							top: 17upx;
-							left: 50%;
-							transform: translateX(-36upx);
-							z-index: -1;
-						}
-					}
-
-					.right-mask {
-						width: 56upx;
-						height: 34upx;
-						position: absolute;
-						top: 14upx;
-						right: -30upx;
-						z-index: 1;
-					}
-				}
-
-				.know-list {
-					padding-right: 10upx;
-
-					.item {
-						padding: 30upx 0;
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						border-bottom: 1px solid #F0F0F0;
-
-						&:last-child {
-							border-bottom: none;
-						}
-
-						.left {
-							flex: 1;
-							padding-right: 40upx;
-							height: 190upx;
-							display: flex;
-							flex-direction: column;
-							justify-content: space-between;
-
-							.title {
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 48upx;
-							}
-
-							.info-box {
-								width: 100%;
-								display: flex;
-								align-items: center;
-								justify-content: space-between;
-
-								.readers {
-									display: flex;
-									align-items: center;
-
-									.head-box {
-										margin-right: 27upx;
-										display: flex;
-										align-items: center;
-
-										.head {
-											width: 48upx;
-											height: 48upx;
-											border-radius: 50%;
-											overflow: hidden;
-											box-shadow: 0 0 0 1px #fff;
-											margin-right: -10upx;
-
-											image {
-												width: 100%;
-												height: 100%;
-											}
-										}
-									}
-
-									.readings {
-										display: flex;
-										align-items: center;
-
-										.eye {
-											width: 26upx;
-											height: 20upx;
-											margin-right: 9upx;
-										}
-
-										.num {
-											font-size: 24upx;
-											font-family: PingFang SC;
-											font-weight: 500;
-											color: #999999;
-											line-height: 1;
-										}
-									}
-								}
-
-								.time {
-									font-size: 24upx;
-									line-height: 1;
-									font-family: PingFang SC;
-									font-weight: 500;
-									color: #999999;
-								}
-							}
-						}
-
-						.right {
-							width: 250upx;
-							height: 190upx;
-							border-radius: 8upx;
-							overflow: hidden;
-
-							image {
-								width: 100%;
-								height: 100%;
-							}
-						}
-					}
-				}
-
-				// 问诊案例
-				.cases-list {
-					padding-bottom: 10upx;
-
-					.item {
-						padding: 30upx 0;
-						border-bottom: 1px solid #F0F0F0;
-
-						&:last-child {
-							border-bottom: none;
-						}
-
-						.dec-text {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-							line-height: 48upx;
-						}
-
-						.images-box {
-							margin-top: 10upx;
-							display: flex;
-							flex-wrap: wrap;
-
-							.img-item {
-								width: 155upx;
-								height: 155upx;
-								background: #F5F5F5;
-								border-radius: 8upx;
-								margin: 0 10upx 10upx 0;
-								overflow: hidden;
-
-								image {
-									width: 100%;
-									height: 100%;
-								}
-
-								&:nth-child(4n) {
-									margin-right: 0;
-								}
-							}
-						}
-
-						.doc-info {
-							display: flex;
-							align-items: center;
-							margin: 30upx 0 20upx;
-
-							.head {
-								width: 60upx;
-								height: 60upx;
-								background: #F2F5F9;
-								border-radius: 50%;
-								margin-right: 20upx;
-								overflow: hidden;
-
-								image {
-									width: 100%;
-									height: 100%;
-								}
-							}
-
-							.name {
-								font-size: 28upx;
-								line-height: 1;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-							}
-
-							.line {
-								width: 1px;
-								height: 22upx;
-								background: #DDDDDD;
-								margin: 0 16upx;
-							}
-
-							.posit,
-							.address {
-								font-size: 26upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-							}
-						}
-
-						.answer-box {
-							width: 100%;
-							background: #F5F7F7;
-							border-radius: 10upx;
-							display: flex;
-							flex-direction: column;
-							justify-content: center;
-
-							.text-inner {
-								// height: 84upx;
-								font-size: 28upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #666666;
-								line-height: 42upx;
-								padding: 15upx;
-							}
-						}
-
-						.read-box {
-							margin-top: 30upx;
-							display: flex;
-							align-items: center;
-							justify-content: flex-end;
-
-							image {
-								width: 24upx;
-								height: 19upx;
-								margin-right: 10upx;
-							}
-
-							.text {
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-							}
-						}
-					}
-				}
-			}
-
-			// 精选产品
-			.feat-title {
-				margin-top: 30upx;
-				padding: 10upx 0 33upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-
-				image {
-					width: 37upx;
-					height: 37upx;
-					margin: 0upx 20upx;
-				}
-
-				text {
-					font-size: 36upx;
-					line-height: 1;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #111111;
-				}
-			}
-
-			.drug-list {
-				display: flex;
-				flex-wrap: wrap;
-
-				.item {
-					margin-right: 20rpx;
-					margin-bottom: 20rpx;
-					width: 345rpx;
-					background: #FFFFFF;
-					box-shadow: 0px 0px 10rpx 4rpx rgba(199, 199, 199, 0.22);
-					border-radius: 20rpx;
-					overflow: hidden;
-
-					&:nth-child(2n) {
-						margin-right: 0;
-					}
-
-					.img-box {
-						width: 100%;
-						height: 334upx;
-
-						image {
-							width: 100%;
-							height: 100%;
-						}
-					}
-
-					.info-box {
-						box-sizing: border-box;
-						height: 182upx;
-						padding: 20upx;
-
-						.title {
-							height: 80upx;
-							font-size: 26upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							line-height: 40upx;
-						}
-
-						.price-box {
-							display: flex;
-							align-items: center;
-							margin-top: 20upx;
-
-							.now {
-								color: #FF6633;
-								display: flex;
-								align-items: flex-end;
-								margin-right: 20upx;
-								font-family: PingFang SC;
-
-								.unit {
-									font-size: 24upx;
-									line-height: 1.4;
-									margin-right: 4upx;
-								}
-
-								.num {
-									font-size: 36upx;
-									font-weight: bold;
-									line-height: 1;
-								}
-							}
-
-							.old {
-								font-size: 26upx;
-								font-family: PingFang SC;
-								text-decoration: line-through;
-								color: #BBBBBB;
-								line-height: 1;
-							}
-						}
-					}
-				}
-			}
-		}
-
-		// 生活大讲堂
-		.open-class {
-			padding: 20rpx;
-			margin: 20rpx 15rpx 0rpx;
-			// background-color: #f0f4f7;
-
-			.title-box {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-
-				.title {
-					font-size: 32rpx;
-					font-weight: bold;
-				}
-
-				.more {
-					font-size: 24rpx;
-					padding-left: 30rpx;
-					color: #999999;
-					display: flex;
-					align-items: center;
-
-					image {
-						width: 24rpx;
-						height: 24rpx;
-					}
-				}
-			}
-
-
-			.class-item {
-				font-size: 24rpx;
-				margin-top: 24rpx;
-				background-color: #fff;
-				border-radius: 16rpx;
-				padding: 0 16rpx;
-				margin-right: 14rpx;
-				width: 250rpx;
-				height: 280rpx;
-				font-size: 26rpx;
-				font-weight: 500;
-
-				.img-box {
-					height: 220rpx;
-					border-radius: 16rpx;
-					overflow: hidden;
-					margin-bottom: 12rpx;
-
-					image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-
-
-				&:last-child {
-					margin-right: 0rpx;
-				}
-			}
-		}
-
-		.modules {
-			.module {
-				.depts {
-					z-index: 101;
-					margin: 20rpx 15rpx 0rpx;
-					padding: 20rpx;
-					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 15rpx;
-
-					.title {
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #2A2B2E;
-					}
-
-					.dept-box {
-						margin-top: 15rpx;
-						display: flex;
-						align-items: center;
-						justify-content: flex-start;
-						flex-wrap: wrap;
-
-						.dept {
-							padding: 15rpx 5rpx;
-							width: 25%;
-							display: flex;
-							flex-direction: column;
-							align-items: center;
-							justify-content: center;
-							padding: 14rpx 0;
-
-							.icon {
-								width: 58rpx;
-								height: 58rpx;
-							}
-
-							.title {
-								margin-top: 10rpx;
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-							}
-						}
-					}
-
-				}
-
-				.doctor-articles {
-					z-index: 101;
-					margin: 20rpx 15rpx 0rpx;
-					padding: 20rpx;
-					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 15rpx;
-
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
-
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-
-						.more {
-							display: flex;
-							align-items: center;
-							justify-content: flex-end;
-
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #9B9B9B;
-							}
-
-							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
-							}
-
-						}
-					}
-
-					.article-box {
-						padding: 20rpx 0rpx;
-						overflow-x: auto;
-						box-sizing: border-box;
-						display: flex;
-						align-items: center;
-						justify-content: flex-start;
-
-						.article {
-							width: 300rpx;
-							margin-right: 20rpx;
-							background: #f9f8fe;
-							display: flex;
-							flex-direction: column;
-							align-items: flex-start;
-							justify-content: flex-start;
-
-							&:last-child {
-								margin-right: 0rpx;
-							}
-
-							.image-box {
-								width: 300rpx;
-								height: 400rpx;
-								position: relative;
-								border-radius: 20rpx;
-
-								image {
-									border-radius: 20rpx;
-									width: 300rpx;
-									height: 400rpx;
-								}
-
-								.views {
-									position: absolute;
-									top: 0rpx;
-									left: 0rpx;
-									padding: 5rpx 10rpx;
-									background: rgba(0, 0, 0, 0.25);
-									border-radius: 12rpx 0px 12rpx 0px;
-									opacity: 1;
-									font-size: 20rpx;
-									font-family: PingFang SC-Bold, PingFang SC;
-									font-weight: bold;
-									color: #FFFFFF;
-								}
-
-								.doctor {
-									margin: 10rpx;
-									display: flex;
-									align-items: center;
-									justify-content: flex-start;
-									position: absolute;
-									bottom: 0rpx;
-									left: 0rpx;
-
-									image {
-										border-radius: 50%;
-										width: 64rpx;
-										height: 64rpx;
-									}
-
-									.right {
-										width: 200rpx;
-										margin-left: 10rpx;
-										display: flex;
-										flex-direction: column;
-										align-items: flex-start;
-										justify-content: space-between;
-
-										.doc-name {
-											width: 200rpx;
-											font-size: 30rpx;
-											font-weight: bold;
-											font-family: PingFang SC;
-											color: #fff;
-										}
-
-										.doc-position {
-											width: 100%;
-											font-size: 28rpx;
-											font-family: PingFang SC;
-											color: #fff;
-											font-weight: bold;
-											opacity: 0.8;
-										}
-									}
-								}
-							}
-
-							.article-title-box {
-								width: 100%;
-								margin-top: 10rpx;
-								display: flex;
-								align-items: center;
-								justify-content: flex-start;
-
-								.article-title {
-									font-size: 30rpx;
-									font-weight: bold;
-									font-family: PingFang SC;
-									color: #2A2B2E;
-								}
-
-							}
-
-						}
-
-					}
-				}
-
-				.doctors {
-					z-index: 101;
-					margin: 20rpx 15rpx;
-					padding: 20rpx;
-					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 15rpx;
-
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
-
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-
-						.more {
-							display: flex;
-							align-items: center;
-							justify-content: flex-end;
-
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #9B9B9B;
-							}
-
-							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
-							}
-
-						}
-					}
-
-				}
-
-				.articles {
-					z-index: 101;
-					margin: 20rpx 15rpx;
-					padding: 20rpx;
-					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 15rpx;
-
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
-
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-
-						.more {
-							display: flex;
-							align-items: center;
-							justify-content: flex-end;
-
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #9B9B9B;
-							}
-
-							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
-							}
-
-						}
-					}
-
-					.article-box {
-						margin-top: 15rpx;
-						padding: 20rpx 0rpx 0rpx;
-						display: flex;
-						flex-direction: column;
-						align-items: flex-start;
-						justify-content: flex-start;
-
-						.item {
-							width: 100%;
-							margin-bottom: 20rpx;
-							display: flex;
-							align-items: flex-start;
-							justify-content: flex-start;
-
-							&:last-child {
-								margin-bottom: 0rpx;
-							}
-
-							.left {
-								flex: 1;
-								height: 160rpx;
-								margin-right: 15rpx;
-								display: flex;
-								flex-direction: column;
-								align-items: flex-start;
-								justify-content: space-between;
-
-								.title {
-									font-size: 28upx;
-									font-family: PingFang SC;
-									font-weight: bold;
-									color: #111111;
-								}
-
-								.views {
-									font-size: 24upx;
-									font-family: PingFang SC;
-									color: #9a9a9c;
-								}
-							}
-
-							.right {
-								image {
-									border-radius: 10rpx;
-									width: 220rpx;
-									height: 160rpx;
-									border: 1px solid #eeeeee;
-								}
-							}
-						}
-					}
-				}
-
-				.packages {
-					z-index: 101;
-					margin: 20rpx 15rpx;
-					padding: 20rpx;
-					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 15rpx;
-
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
-
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-
-						.more {
-							display: flex;
-							align-items: center;
-							justify-content: flex-end;
-
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #9B9B9B;
-							}
-
-							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
-							}
-
-						}
-					}
-
-					.package-box {
-						padding: 20rpx 0rpx 0rpx;
-						display: flex;
-						align-items: flex-start;
-						justify-content: flex-start;
-						flex-wrap: wrap;
-
-						.item {
-							width: calc(50% - 20rpx);
-							border-radius: 15rpx;
-							margin: 10rpx;
-							display: flex;
-							flex-direction: column;
-							align-items: flex-start;
-							justify-content: flex-start;
-
-							&:last-child {}
-
-							.top {
-								width: 100%;
-								height: 300rpx;
-
-								image {
-									border-radius: 15rpx 15rpx 0rpx 0rpx;
-									width: 100%;
-									height: 300rpx;
-								}
-
-							}
-
-							.bottom {
-								width: 100%;
-								margin-top: 15rpx;
-
-								.title {
-									font-weight: bold;
-									font-size: 28upx;
-									font-family: PingFang SC;
-									color: #111111;
-								}
-
-								.price-box {
-									margin-top: 10rpx;
-									display: flex;
-									align-items: center;
-									justify-content: space-between;
-									width: 100%;
-
-									.price {
-										padding: 5rpx 10rpx;
-										background-color: #2BC7B9;
-										border-radius: 30rpx;
-										font-size: 20upx;
-										font-family: PingFang SC;
-										color: #ffffff;
-									}
-
-									.count {
-										font-size: 24upx;
-										font-family: PingFang SC;
-										color: #333333;
-									}
-
-								}
-							}
-						}
-					}
-
-
-				}
-			}
-
-		}
-	}
-
-	.official-account {
-		box-sizing: border-box;
-		width: 100%;
-		height: 100upx;
-		position: fixed;
-		bottom: 30upx;
-		z-index: 99;
-		padding: 0 20upx 180rpx 20upx;
-	}
-
-	// 消息
-	.message-box {
-		box-sizing: border-box;
-		width: 100%;
-		height: 84upx;
-		background: #F3FFFD;
-		border: 1px solid #C7E9E5;
-		box-shadow: 0px 4upx 12upx 0px rgba(90, 203, 138, 0.16);
-		border-radius: 16upx;
-		position: fixed;
-		left: 50%;
-		transform: translateX(-50%);
-		bottom: 30upx;
-		z-index: 99;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding: 0 20upx 0 30upx;
-
-		.left {
-			flex: 1;
-			display: flex;
-			align-items: center;
-
-			image {
-				width: 24upx;
-				height: 24upx;
-				margin-right: 18upx;
-			}
-
-			.text {
-				width: 90%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #2BC7B9;
-			}
-		}
-
-		.btn {
-			width: 100upx;
-			height: 48upx;
-			line-height: 48upx;
-			text-align: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			border: 1px solid #D2E6FF;
-			background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
-			border-radius: 24upx;
-			margin-left: 30upx;
-		}
-
-	}
-
-	.contact-btn {
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-	}
-
-	.popup-box {
-		position: fixed;
-		top: 0;
-		right: 0;
-		left: 0;
-		bottom: 0;
-		z-index: 999;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-
-		.info-mask {
-			position: fixed;
-			top: 0;
-			right: 0;
-			bottom: 0;
-			left: 0;
-			background-color: rgba($color: #000000, $alpha: 0.5);
-			z-index: 999;
-		}
-
-		.info-form {
-			z-index: 1000;
-			width: 450rpx;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			align-items: center;
-			position: relative;
-
-			image {
-				width: 100%;
-			}
-		}
-	}
-</style>

+ 44 - 39
pages/home/components/CategoryTags.vue

@@ -4,31 +4,31 @@
 		<view v-if="tags.length === 1" class="layout-single">
 			<view class="tag-item" @tap="onSelect(tags[0])">
 				<image v-if="tags[0].icon" class="tag-icon" :src="tags[0].icon" mode="aspectFill" />
-				<text class="tag-name">{{ tags[0].name || tags[0].categoryName || tags[0].cateName || tags[0].title }}</text>
+				<text class="tag-name">{{ tags[0].categoryName|| '-' }}</text>
 			</view>
 		</view>
 		<!-- 2~4个:一行平分 -->
 		<view v-else-if="tags.length >= 2 && tags.length <= 4" class="layout-row" :style="{ '--cols': tags.length }">
 			<view
 				v-for="(item, index) in tags"
-				:key="item.id || index"
+				:key="item.id"
 				class="tag-item"
 				@tap="onSelect(item)"
 			>
 				<image v-if="item.icon" class="tag-icon" :src="item.icon" mode="aspectFill" />
-				<text class="tag-name">{{ item.name || item.categoryName || item.cateName || item.title }}</text>
+				<text class="tag-name">{{ item.categoryName|| '-' }}</text>
 			</view>
 		</view>
 		<!-- 5~8个:两行,每行最多4个,按四等分 -->
 		<view v-else class="layout-grid">
 			<view
 				v-for="(item, index) in tags"
-				:key="item.id || index"
+				:key="item.id"
 				class="tag-item"
 				@tap="onSelect(item)"
 			>
 				<image v-if="item.icon" class="tag-icon" :src="item.icon" mode="aspectFill" />
-				<text class="tag-name">{{ item.name || item.categoryName || item.cateName || item.title }}</text>
+				<text class="tag-name">{{ item.categoryName|| '-' }}</text>
 			</view>
 		</view>
 	</view>
@@ -41,11 +41,14 @@ export default {
 		tags: { type: Array, default: () => [] }
 	},
   onload(val){
-    console.log(this.tags)
+    //console.log('-----',this.tags)
   },
 	methods: {
 		onSelect(item) {
-			this.$emit('select', item);
+			//console.log(item,'item')
+			if (item != null && typeof item === 'object') {
+				this.$emit('selectClick', item);
+			}
 		}
 	}
 };
@@ -54,7 +57,9 @@ export default {
 <style lang="scss" scoped>
 .category-tags {
 	background: #fff;
-	padding: 24rpx;
+	margin:0 24rpx;
+	padding-top:30rpx;
+	border-radius: 30rpx;
 }
 
 /* 1个:整行占据 */
@@ -65,20 +70,24 @@ export default {
 		display: flex;
 		align-items: center;
 		justify-content: center;
-		padding: 24rpx;
-		background: #f5f5f5;
+		margin-bottom: 30rpx;
+		// padding: 24rpx;
+		//background: #f5f5f5;
 		border-radius: 16rpx;
 	}
 	.tag-icon {
-		width: 64rpx;
-		height: 64rpx;
-		border-radius: 12rpx;
-		margin-right: 16rpx;
+		width: 100rpx;
+		height: 100rpx;
+		border-radius:50%;
+		// margin-right: 12rpx;
 		flex-shrink: 0;
 	}
 	.tag-name {
+		font-family: PingFangSC, PingFang SC;
+		font-weight: 400;
 		font-size: 28rpx;
-		color: #333;
+		color: rgba(0,0,0,0.65);
+		text-align: center;
 	}
 }
 
@@ -86,7 +95,7 @@ export default {
 .layout-row {
 	display: flex;
 	flex-wrap: wrap;
-	gap: 24rpx;
+	// gap: 24rpx;
 	.tag-item {
 		flex: 1;
 		min-width: 0;
@@ -94,25 +103,23 @@ export default {
 		flex-direction: column;
 		align-items: center;
 		justify-content: center;
-		padding: 20rpx 12rpx;
-		background: #f5f5f5;
+		margin-bottom: 30rpx;
+		// padding: 20rpx 12rpx;
 		border-radius: 16rpx;
 	}
 	.tag-icon {
-		width: 72rpx;
-		height: 72rpx;
-		border-radius: 12rpx;
+		width: 100rpx;
+		height: 100rpx;
+		border-radius:50%;
 		margin-bottom: 12rpx;
 		flex-shrink: 0;
 	}
 	.tag-name {
-		font-size: 24rpx;
-		color: #333;
+		font-family: PingFangSC, PingFang SC;
+		font-weight: 400;
+		font-size: 28rpx;
+		color: rgba(0,0,0,0.65);
 		text-align: center;
-		overflow: hidden;
-		text-overflow: ellipsis;
-		white-space: nowrap;
-		width: 100%;
 	}
 }
 
@@ -120,31 +127,29 @@ export default {
 .layout-grid {
 	display: grid;
 	grid-template-columns: repeat(4, 1fr);
-	gap: 24rpx;
+	// gap: 24rpx;
 	.tag-item {
 		display: flex;
 		flex-direction: column;
 		align-items: center;
 		justify-content: center;
-		padding: 20rpx 8rpx;
-		background: #f5f5f5;
+		margin-bottom: 30rpx;
+		// padding: 20rpx 8rpx;
 		border-radius: 16rpx;
 	}
 	.tag-icon {
-		width: 72rpx;
-		height: 72rpx;
-		border-radius: 12rpx;
+		width: 100rpx;
+		height: 100rpx;
+		border-radius:50%;
 		margin-bottom: 12rpx;
 		flex-shrink: 0;
 	}
 	.tag-name {
-		font-size: 22rpx;
-		color: #333;
+		font-family: PingFangSC, PingFang SC;
+		font-weight: 400;
+		font-size: 28rpx;
+		color: rgba(0,0,0,0.65);
 		text-align: center;
-		overflow: hidden;
-		text-overflow: ellipsis;
-		white-space: nowrap;
-		width: 100%;
 	}
 }
 </style>

+ 55 - 30
pages/home/components/GoodsCard.vue

@@ -1,20 +1,23 @@
 <template>
-	<view class="goods-card" @click="$emit('click', item)">
+	<view class="goods-card" @click="showProduct(item)">
 		<view class="img-wrap">
 			<image class="img" :src="item.image || item.imageUrl || defaultImg" mode="aspectFill"></image>
-		</view>
-		<view class="info">
 			<view class="tag-row" v-if="tagList && tagList.length > 0">
 				<text class="tag-chip" v-for="(t, i) in tagList" :key="i">{{ t }}</text>
 			</view>
+		</view>
+		<view class="info">
 			<view class="title line2">{{ item.productName || item.title || item.name }}</view>
-			<view class="price-row">
-				<text class="price" v-if="showPrice">¥{{ (item.price != null ? item.price : item.payPrice || 0).toFixed(2) }}</text>
-				<text class="ot-price" v-if="item.otPrice != null">原价¥{{ Number(item.otPrice).toFixed(2) }}</text>
-			</view>
-			<view class="meta-row" v-if="item.sales != null || item.goodRate != null">
-				<text class="sales" v-if="item.sales != null">已售{{ item.sales }}</text>
-				<text class="good-rate" v-if="item.goodRate != null">好评{{ item.goodRate }}%</text>
+			<view class="x-bc">
+				<view class="price-row">
+					<text class="unit"v-if="showPrice">¥</text>
+					<text class="price" v-if="showPrice">{{item.price != null ? item.price : item.payPrice || 0 }}</text>
+					<text class="ot-price" v-if="item.otPrice != null">原价¥{{item.otPrice }}</text>
+				</view>
+				<view class="meta-row" v-if="item.sales != null || item.positiveRating != null">
+					<text class="sales" v-if="item.sales != null">已售{{ item.sales }}</text>
+					<text class="good-rate" v-if="item.positiveRating != null">好评{{ item.positiveRating }}%</text>
+				</view>
 			</view>
 		</view>
 	</view>
@@ -41,6 +44,11 @@ export default {
 			if (item.tag) return [item.tag]
 			return []
 		}
+	},
+	methods:{
+		showProduct(item) {
+			uni.navigateTo({ url: '../shopping/productDetails?productId=' + item.productId })
+		}
 	}
 };
 </script>
@@ -53,14 +61,15 @@ export default {
 	overflow: hidden;
 	box-sizing: border-box;
 	display: flex;
-	flex-direction: row;
+	flex-direction:column;
 	align-items: stretch;
 }
 .img-wrap {
-	width: 260rpx;
-	height: 260rpx;
+	width: 100%;
+	height: 394rpx;
 	flex-shrink: 0;
 	background: #f5f5f5;
+	position: relative;
 }
 .img {
 	width: 100%;
@@ -68,62 +77,78 @@ export default {
 }
 .info {
 	flex: 1;
-	padding: 20rpx 24rpx;
+	padding: 20rpx;
 	display: flex;
 	flex-direction: column;
 	justify-content: space-between;
 	min-width: 0;
 }
 .tag-row {
+	position: absolute;
+	bottom:0;
 	display: flex;
 	flex-wrap: wrap;
-	gap: 8rpx;
-	margin-bottom: 8rpx;
+	gap: 12rpx;
+	padding: 0 12rpx;
+	margin-bottom: 12rpx;
 }
 .tag-chip {
-	font-size: 20rpx;
-	color: #8B6914;
-	background: linear-gradient(132deg, rgba(243, 223, 177, 0.9), rgba(236, 190, 96, 0.9));
+	font-family: PingFangSC, PingFang SC;
+	font-weight: 400;
+	font-size: 30rpx;
+	color: #AA4726;
+	line-height: 42rpx;
+	background: #FFF4F1;
 	padding: 4rpx 12rpx;
 	border-radius: 6rpx;
 }
 .title {
-	font-size: 28rpx;
-	color: #333;
-	line-height: 1.4;
-	flex: 1;
+	font-family: PingFangSC, PingFang SC;
+	font-weight: 500;
+	font-size: 36rpx;
+	color: rgba(0,0,0,0.85);
+	line-height: 50rpx;
 }
 .line2 {
 	display: -webkit-box;
-	-webkit-line-clamp: 2;
+	-webkit-line-clamp: 1;
 	-webkit-box-orient: vertical;
 	overflow: hidden;
 }
 .price-row {
 	display: flex;
 	align-items: baseline;
-	gap: 16rpx;
+	gap: 12rpx;
 	margin-top: 8rpx;
 }
+.unit{
+	font-weight: 600;
+	font-size: 28rpx;
+	color: #FF233C;
+}
 .price {
-	font-size: 34rpx;
+	font-size: 44rpx;
 	font-weight: 600;
-	color: #E5212B;
+	color: #FF233C;
 }
 .ot-price {
-	font-size: 24rpx;
+	font-size: 28rpx;
 	color: #999;
 	text-decoration: line-through;
 }
 .meta-row {
 	display: flex;
 	align-items: center;
-	gap: 24rpx;
+	gap: 25rpx;
 	margin-top: 8rpx;
 }
 .sales,
 .good-rate {
-	font-size: 22rpx;
+	font-size: 28rpx;
 	color: #999;
 }
+.sales{
+	border-right: 1rpx solid #e5e5e5; /* 右侧竖线 */
+	padding-right: 14rpx; /* 竖线与文字的间距 */
+}
 </style>

+ 1 - 1
pages/home/components/GoodsList.vue

@@ -62,6 +62,6 @@ export default {
 }
 .load-more text {
 	font-size: 28rpx;
-	color: #2BC7B9;
+	color: #FF233C;
 }
 </style>

+ 12 - 10
pages/home/components/GoodsNav.vue

@@ -39,29 +39,31 @@ export default {
 
 <style lang="scss" scoped>
 .goods-nav {
-	background: #fff;
-	border-bottom: 1rpx solid #eee;
+	// background: #fff;
+	// border-bottom: 1rpx solid #eee;
 }
 .nav-scroll {
 	width: 100%;
 }
 .nav-inner {
 	display: inline-flex;
-	padding: 24rpx;
-	gap: 16rpx;
+	padding:0 24rpx;
+	gap: 30rpx;
 }
 .nav-item {
 	flex-shrink: 0;
-	padding: 12rpx 28rpx;
-	font-size: 28rpx;
-	color: #666;
+	font-family: PingFangSC, PingFang SC;
+	font-weight: 400;
+	font-size: 40rpx;
+	color: rgba(0,0,0,0.85);
+	line-height: 56rpx;
 }
 .nav-item.active {
-	color: #E5212B;
+	color: #FF233C;
 	font-weight: 600;
 }
 .nav-item.active text {
-	border-bottom: 2rpx solid #E5212B;
-	padding-bottom: 4rpx;
+	// border-bottom: 2rpx solid #E5212B;
+	// padding-bottom: 4rpx;
 }
 </style>

+ 75 - 47
pages/home/components/RecommendSection.vue

@@ -12,20 +12,24 @@
 				<swiper
 					class="live-swiper"
 					:current="liveCurrent"
-					:autoplay="true"
-					:interval="4000"
-					:circular="true"
-					:duration="300"
+					circular :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
+					indicator-color="rgba(255, 255, 255, 0.6)" indicator-active-color="#ffffff"
 					@change="onLiveSwiperChange"
 				>
-					<swiper-item v-for="(item, idx) in liveList" :key="item.liveId || idx">
-						<view class="block-left" @click="onLiveClick(item)">
-							<view :class="['block-label', isLiving(item) ? 'live' : 'replay']">
+					<!-- <swiper-item v-for="(item, idx) in liveList" :key="idx" @click="onLiveClick(item)">
+						<view class="block-left">
+							<view class="x-c" :class="['block-label', isLiving(item) ? 'live' : 'replay']">
+								<image class="w24 h24" :src="isLiving(item)?'/static/images/live.gif':'/static/images/replay.png'" mode="aspectFill"></image>
 								{{ isLiving(item) ? '直播中' : '回放中' }}
 							</view>
-							<view class="live-index-badge">{{ liveCurrentDisplay }} / {{ liveList.length }}</view>
 							<image class="block-img" :src="item.liveImgUrl" mode="aspectFill"></image>
-							<view class="block-title">{{ item.liveName }}</view>
+							<view class="block-title one-t">{{ item.liveName }}</view>
+						</view>
+					</swiper-item> -->
+					<swiper-item>
+						<view class="block-left">
+							<image class="block-img" src="https://bjzmky-1323137866.cos.ap-chongqing.myqcloud.com/app/image/yuanxiangxing.png" mode="aspectFill"></image>
+							<view class="block-title one-t">央广会客厅</view>
 						</view>
 					</swiper-item>
 				</swiper>
@@ -35,10 +39,10 @@
 			<view class="block-right">
 				<view class="block-small">
 					<view class="block-small-head">
-						<text class="block-small-title green">绿色有机</text>
+						<image class="w140" src="@/static/images/new.png" mode="widthFix"></image>
 						<view class="more" @click.stop="goMore('green')">
-							<text>更多</text>
-							<text class="arrow">›</text>
+							<text class="green">更多</text>
+							<u-icon name="play-right-fill" color="#FF5B25" size="24rpx"></u-icon>
 						</view>
 					</view>
 					<view class="block-small-body">
@@ -49,16 +53,19 @@
 							@click.stop="onItemClick(item, 'green')"
 						>
 							<image class="small-thumb" :src="item.image || item.imageUrl" mode="aspectFill"></image>
-							<text class="small-price" v-if="item.price != null">¥{{ Number(item.price).toFixed(2) }}</text>
+							<view>
+								<text class="unit">¥</text>
+								<text class="small-price" v-if="item.price != null">{{ Number(item.price).toFixed(2) }}</text>
+							</view>
 						</view>
 					</view>
 				</view>
 				<view class="block-small">
 					<view class="block-small-head">
-						<text class="block-small-title hot">上新推荐</text>
+						<image class="w140" src="@/static/images/hot.png" mode="widthFix"></image>
 						<view class="more" @click.stop="goMore('hot')">
-							<text>更多</text>
-							<text class="arrow">›</text>
+							<text class="hot">更多</text>
+							<u-icon name="play-right-fill" color="#FF485D" size="24rpx"></u-icon>
 						</view>
 					</view>
 					<view class="block-small-body">
@@ -69,7 +76,11 @@
 							@click.stop="onItemClick(item, 'hot')"
 						>
 							<image class="small-thumb" :src="item.image || item.imageUrl" mode="aspectFill"></image>
-							<text class="small-price" v-if="item.price != null">¥{{ Number(item.price).toFixed(2) }}</text>
+							<view>
+								<text class="unit">¥</text>
+								<text class="small-price" v-if="item.price != null">{{ Number(item.price).toFixed(2) }}</text>
+							</view>
+							
 						</view>
 					</view>
 				</view>
@@ -115,13 +126,15 @@ export default {
 			return false
 		},
 		onLiveClick(item) {
+			//console.log(item)
 			this.$emit('liveClick', item)
 		},
 		goMore(type) {
 			this.$emit('more', { type })
 		},
 		onItemClick(item, type) {
-			this.$emit('itemClick', { item, section: { type } })
+			//this.$emit('itemClick', { item, section: { type } })
+			this.$emit('itemClick', item)
 		}
 	}
 }
@@ -129,8 +142,7 @@ export default {
 
 <style lang="scss" scoped>
 .recommend-section {
-	background: #fff;
-	padding: 24rpx;
+	margin: 24rpx;
 }
 .score-row {
 	display: flex;
@@ -151,9 +163,10 @@ export default {
 	gap: 20rpx;
 }
 .block-left-wrap {
-	width: 340rpx;
+	flex:1;
+	// width: 340rpx;
 	flex-shrink: 0;
-	height: 420rpx;
+	// height: 420rpx;
 	border-radius: 16rpx;
 	overflow: hidden;
 }
@@ -182,20 +195,24 @@ export default {
 }
 .block-label {
 	position: absolute;
-	top: 0;
+	top: 20rpx;
 	left: 0;
 	z-index: 2;
 	color: #fff;
 	font-size: 24rpx;
 	padding: 8rpx 20rpx;
-	border-radius: 0 0 12rpx 0;
-}
-.block-label.live {
-	background: #E5212B;
-}
-.block-label.replay {
-	background: #666;
+	background: linear-gradient( 135deg, #FF5267 0%, #FF233C 100%);
+	border-radius: 0rpx 8rpx 8rpx 0rpx;
+	image{
+		margin-right: 4rpx;
+	}
 }
+// .block-label.live {
+// 	background: #E5212B;
+// }
+// .block-label.replay {
+// 	background: #666;
+// }
 .block-img {
 	width: 100%;
 	height: 100%;
@@ -206,10 +223,10 @@ export default {
 	bottom: 0;
 	left: 0;
 	right: 0;
-	background: linear-gradient(transparent, rgba(0,0,0,0.5));
+	background: rgba(0,0,0,0.45);
 	color: #fff;
 	font-size: 26rpx;
-	padding: 40rpx 16rpx 16rpx;
+	padding: 16rpx 16rpx 50rpx;
 }
 .block-right {
 	flex: 1;
@@ -220,32 +237,38 @@ export default {
 }
 .block-small {
 	flex: 1;
-	background: #f9f9f9;
+	background: linear-gradient( 180deg, #FFC7A7 0%, #FFF8F3 36.36%, #FFFFFF 100%);
 	border-radius: 16rpx;
 	overflow: hidden;
 	padding: 16rpx;
+	&:last-child{
+		background: linear-gradient( 180deg, #FFC5C5 0%, #FFF5F5 36.36%, #FFFFFF 100%);
+	}
 }
 .block-small-head {
 	display: flex;
 	align-items: center;
 	justify-content: space-between;
-	margin-bottom: 12rpx;
+	margin-bottom: 18rpx;
 }
 .block-small-title {
 	font-size: 28rpx;
 	font-weight: 600;
 }
-.block-small-title.green {
-	color: #07c160;
+.green {
+	color: #FF5B25;
 }
-.block-small-title.hot {
-	color: #E5212B;
+.hot {
+	color: #FF485D;
 }
 .more {
 	display: flex;
 	align-items: center;
-	font-size: 24rpx;
-	color: #999;
+	font-size: 28rpx;
+	text{
+		margin-right: 5rpx;
+	}
+	// color: #999;
 }
 .arrow {
 	margin-left: 4rpx;
@@ -253,7 +276,7 @@ export default {
 }
 .block-small-body {
 	display: flex;
-	gap: 16rpx;
+	// gap: 16rpx;
 }
 .small-item {
 	flex: 1;
@@ -262,14 +285,19 @@ export default {
 	align-items: center;
 }
 .small-thumb {
-	width: 100%;
-	height: 160rpx;
-	border-radius: 12rpx;
-	background: #eee;
+	width: 110rpx;
+	height: 110rpx;
+	border-radius: 10rpx;
+}
+.unit {
+	font-size: 20rpx;
+	color: #FF233C;
+	margin-top: 8rpx;
 }
 .small-price {
-	font-size: 26rpx;
-	color: #E5212B;
+	font-size: 32rpx;
+	font-weight: 600;
+	color: #FF233C;
 	margin-top: 8rpx;
 }
 </style>

+ 20 - 11
pages/home/components/SearchBar.vue

@@ -1,16 +1,16 @@
 <template>
-	<view class="search-bar" :style="{ background: bgColor }">
+	<view class="search-bar" :style="{ background:`url(${bgColor})` }">
 		<view class="status_bar" :style="{ height: statusBarHeight + 'px' }"></view>
-		<view class="top-title">
+		<!-- <view class="top-title">
 			<view class="name">{{ title }}</view>
-		</view>
-		<view class="func-cont">
+		</view> -->
+		<view class="func-cont" :style="{marginTop: marginTop}">
 			<view class="search-cont" :style="{ width: searchWidth }" @click="$emit('searchClick')">
 				<image class="icon-search" :src="searchIcon" mode=""></image>
 				<input type="text" :value="keyword" :placeholder="placeholder" placeholder-class="placeholder"
 					disabled />
 			</view>
-			<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error" v-show="cartCount > 0">
+			<!-- <uni-badge size="small" :text="cartCount" absolute="rightTop" type="error" v-show="cartCount > 0">
 				<view class="img-item" @click="$emit('cartClick')">
 					<image :src="cartIcon" mode=""></image>
 				</view>
@@ -21,7 +21,7 @@
 			<view class="img-item" style="position: relative;">
 				<image :src="serviceIcon" mode=""></image>
 				<button class="contact-btn" open-type="contact"></button>
-			</view>
+			</view> -->
 		</view>
 	</view>
 </template>
@@ -37,6 +37,7 @@ export default {
 		statusBarHeight: { type: Number, default: 20 },
 		cartCount: { type: Number, default: 0 },
 		searchWidth: { type: String, default: '' },
+		marginTop:{ type: String, default: '' },
 		searchIcon: {
 			type: String,
 			default: 'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png'
@@ -52,7 +53,11 @@ export default {
 	}
 };
 </script>
-
+<style lang="stylus">
+	.placeholder{
+		color: rgba(0,0,0,0.25) !important;
+	}
+</style>
 <style lang="scss" scoped>
 .search-bar {
 	position: fixed;
@@ -76,10 +81,10 @@ export default {
 	display: flex;
 	align-items: center;
 	height: 64rpx;
-	background: rgba(255, 255, 255, 0.9);
-	border-radius: 32rpx;
+	background: rgba(255,255,255,0.5);
+	border-radius: 38rpx;
 	padding: 0 24rpx;
-	flex: 1;
+	// flex: 1;
 	margin-right: 20rpx;
 }
 .icon-search {
@@ -89,7 +94,11 @@ export default {
 }
 .search-cont input {
 	flex: 1;
-	font-size: 28rpx;
+	font-family: PingFangSC, PingFang SC;
+	font-weight: 400;
+	font-size: 32rpx;
+	color: rgba(0,0,0,0.25);
+	line-height: 44rpx;
 }
 .img-item {
 	width: 48rpx;

+ 1 - 1
pages/home/doctorCase.vue

@@ -58,7 +58,7 @@
 							<free-audio 
 								startPic='https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/play.png' 
 								endPic='https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/pause.png'
-								activeColor="#2BC7B9"
+								activeColor="#FF233C"
 								:audioId="'audio'+index"
 								:url='item.replyAudioUrl'
 							></free-audio>

+ 2625 - 426
pages/home/index.vue

@@ -1,59 +1,249 @@
 <template>
 	<view class="content">
-		<image class="bg" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/hp_top_bg.png" mode="aspectFill"></image>
-		<view class="header-wrap">
-			<SearchBar
-				:bg-color="bgColor"
-				:status-bar-height="statusBarHeight"
-				:cart-count="cartCount"
-				:search-width="userinfoa.isShow==0 || isuser==true ? '633rpx' : ''"
-				placeholder="搜索商品"
-				@searchClick="toSearch"
-				@cartClick="goAuthUrl('/pages/shopping/cart')"
-			/>
+		<!-- 背景图片 -->
+		<image class="bg" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/hp_top_bg.png"
+			mode=""></image>
+		<view>
+			<view class="top-inner">
+				<view class="fixed-top-box" :style="{ background: bgColor }">
+					<!-- 这里是状态栏 -->
+					<view class="status_bar" :style="{height: statusBarHeight}"></view>
+					<view class="top-title">
+						<!-- <view class="name" >云联精选</view> -->
+						<view class="name" >云联精选</view>
+						<!-- <view class="dot">•</view><view class="sub-name">七彩互联网医院</view> -->
+					</view>
+					<!-- 搜索框、购物车、客服 -->
+					<view class="func-cont">
+						<view class="search-cont" :style="{width:userinfoa.isShow==0 || isuser==true?'633rpx':''}">
+							<image class="icon-search"
+								src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png"
+								mode="">
+							</image>
+							<input type="text" value="" placeholder="请输入产品名称"
+								placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;"
+								@click="toSearch" />
+						</view>
+						<!-- 购物车 -->
+						<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error"
+							v-show="userinfoa.isShow==1&&isuser==false">
+							<view class="img-item" @click="goAuthUrl('/pages/shopping/cart')">
+								<image
+									src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/cart_wihte.png"
+									mode=""></image>
+							</view>
+						</uni-badge>
+						<view class="img-item" style="position: relative;">
+							<image
+								src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/customer.png"
+								mode="">
+							</image>
+							<button class="contact-btn" open-type="contact"></button>
+						</view>
+					</view>
+				</view>
+			</view>
+			<!-- 头部间距 -->
+			<view style="padding-bottom:220rpx">
+				<view class="status_bar" :style="{height: statusBarHeight}"></view>
+			</view>
+			<!-- 轮播图 -->
+			<view class="banner-box">
+				<view class="inner">
+					<swiper class="swiper" :indicator-dots="true" :circular="true" :autoplay="true" :interval="3000"
+						:duration="1000" indicator-color="rgba(255, 255, 255, 0.6)" indicator-active-color="#ffffff">
+						<swiper-item class="swiper-item" v-for="(item,index) in advList" :key="index"
+							@click="handleAdvClick(item)">
+							<image :src="item.imageUrl" mode=""></image>
+						</swiper-item>
+					</swiper>
+				</view>
+			</view>
+
+			<!-- 菜单 -->
+			<view class="menu-content">
+				<view class="menu-box">
+					<Menu :list="menus" @menuClick="menuClick" v-if="menus.length>0" style="width:100%;"></Menu>
+				</view>
+			</view>
+
+		</view>
+		<view class="online-inquiry" v-if="isuser==false">
+			<view class="item" @click="navTo('../home/productList')">
+				<image class="bg-img"
+					src="https://bjzmky-1323137866.cos.ap-chongqing.myqcloud.com/userapp/images/banner.png"
+					mode=""></image>
+			</view>
 		</view>
+		<!-- <view class="open-class bgf radius12">
+			<view class="title-box">
+				<text class="title">百域大讲堂</text>
+				<view class="more" @click="goClassList(1)">
+					<text>查看全部</text>
+					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/toright.png"></image>
+				</view>
+			</view>
+			<view class="justify-start">
+				<view class="class-item" @click="goClass(item.courseId,1)" v-for="(item, index) in classList"
+					:key="index">
+					<view class="img-box">
+						<image :src="item.imgUrl || 'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/no-img.png'"  ></image>
+					</view>
+					<view>{{item.courseName}}</view>
+				</view>
+			</view>
+		</view> -->
+		<view class="modules">
+			<view class="module">
+				<!--养生有道-->
+				<!-- <view class="depts">
+						<view class="title">养生有道</view>
+						<view class="dept-box">
+							<view  @click="yangshengClick(item)"  class="dept" :key="index" v-for="(item,index) in yangshengs"  >
+								<image class="icon" :src="item.icon"></image>
+								<view class="title" >{{item.title}} </view>
+							</view>
+						</view>
+				</view>
+				 -->
+				<!-- <view class="doctor-articles" >
+					<view class="title-box">
+						<view class="title">养生讲堂</view>
+						<view class="more"  @click="navTo('/pages_index/index/doctorArticleList')" >
+							<view class="text">更多</view>
+							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
+						</view>
+					</view>
+					<scroll-view :scroll-x="true" style="white-space: nowrap;">
+					<view class="article-box"  >
+						<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId='+item.articleId)"  v-for="(item,index) in doctocArticles" :key="index">
+							<view class="image-box">
+								<image mode="aspectFill" :src="item.imageUrl"></image>
+								<view class="views">
+									{{item.views}}人观看
+								</view>
+								<view class="doctor">
+									<image mode="aspectFill" :src="item.avatar"></image>
+									<view class="right">
+										<view class="doc-name ellipsis">{{item.doctorName}}</view>
+										<view class="doc-position ellipsis">{{item.position}}</view>
+									</view>
+								</view>
+							</view>
+							<view class="article-title-box">
+								<view class="article-title ellipsis">{{item.title}}</view>
+							</view>
+						</view>
+					</view>
+					</scroll-view>
+				</view> -->
+
+				<!--养生干货-->
+				<!-- <view class="articles" >
+			    	<view class="title-box">
+			    		<view class="title">养生干货</view>
+			    		<view class="more" @click="navTo('/pages_index/index/articleList')">
+			    			<view class="text">更多</view>
+			    			<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
+			    		</view>
+			    	</view>
+			    	<view class="article-box" v-if="articles.length>0">
+			    		<view class="item" :key="index" @click="navTo('/pages_index/index/articleDetails?articleId='+item.articleId)" v-for="(item,index) in articles">
+			    			<view class="left">
+			    				<view class="title">
+			    					{{item.title}}
+			    				</view>
+			    				<view class="views">
+			    					浏览量 {{item.views}}
+			    				</view>
+			    			</view>
+			    			<view class="right">
+			    				<image :src="item.imageUrl"></image>
+			    			</view>
+			    		</view>
+			    	</view>
+			    </view> -->
 
-		<!-- 主横幅:两图横向 -->
-		<view class="banner-row" v-if="advList && advList.length > 0">
-			<view class="banner-item" v-for="(item, i) in advList.slice(0, 2)" :key="i" @tap="handleAdvClick(item)">
-				<image class="banner-img" :src="item.advImg || item.imageUrl" mode="aspectFill"></image>
 			</view>
 		</view>
 
-    <!-- 推荐频道 -->
-    <ChannelEntry :list="channelList" :per-row="4" :rows="2" @click="onChannelClick" />
+		<view class="index-cont">
 
-		<!-- 金刚区:分类图标 2 行 4 列,仅展示 -->
-		<CategoryTags :tags="categoryTags" @select="onCategoryTagsSelect" />
+			<!-- 热门榜单 -->
+			<!-- <NewProduct :detail="newProductList" /> -->
+			<HotProduct :detail="hotProductList" />
+			<!-- 百域百科 -->
+			<!-- <view class="pub-item" style="margin-top: 20rpx;" >
+				<view class="pub-title-box">
+					<text class="left">百域百科</text>
+					<view class="right" @click="switchTo('../healthy/index')">
+						<text class="text">更多</text>
+						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
+					</view>
+				</view>
+				<view class="inner">
+					<view class="pub-tab-box">
+						<view class="tab-inner">
+							<view
+								v-for="(item,index) in articleCateList"
+								:key="index"
+								:class="item.cateId == cateId?'item active':'item'"
+								@click="articleCateChange(item)">
+								<view class="text">
+									{{ item.cateName }}
+									<image v-show="item.cateId == cateId" class="tab-bg" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png" mode=""></image>
+								</view>
+							</view>
+						</view>
+						<image class="right-mask" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/mask.png" mode=""></image>
+					</view>
 
+					<view class="know-list">
+						<view class="item" v-for="(item,index) in articleList" :key="index" @click="showArticle(item)">
+							<view class="left">
+								<view class="title ellipsis2">{{ item.title }}</view>
+								<view class="info-box">
+									<view class="readers">
+										<view class="head-box" v-if="item.viewsList!=null&&item.viewsList.length>0">
+											<view class="head" v-for="(subitem,j) in item.viewsList" :key="j" v-if="subitem!=null" >
+												<image :src="subitem.avatar==null?'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/detault_head.jpg':subitem.avatar" mode=""></image>
+											</view>
+										</view>
+										<view class="readings">
+											<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" mode=""></image>
+											<text class="num">{{item.views}}</text>
+										</view>
+									</view>
+									<view class="time">{{item.publishTime}}</view>
+								</view>
+							</view>
+							<view class="right">
+								<image :src="item.imageUrl"  mode="aspectFill"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view> -->
+			<!-- 精选产品 -->
+			<TuiProduct ref="tuiProduct" />
 
-		<!-- 推荐区块:左侧直播卡(直播中/回放中)+ 右上绿色有机 + 右下上新推荐 -->
-		<RecommendSection
-			:live="recommendData.live"
-			:green="recommendData.green"
-			:hot="recommendData.hot"
-			@liveClick="onLiveClick"
-			@more="onRecommendMore"
-			@itemClick="onRecommendItemClick"
-		/>
+		</view>
 
-		<!-- 瀑布流:全部 + 分类标签横向滚动 -->
-		<GoodsNav :nav-list="goodsNavList" :active-id="activeGoodsNavId" @select="onGoodsNavSelect" />
 
-		<GoodsList
-			:list="goodsList"
-			:loading="goodsLoading"
-			:has-more="goodsHasMore"
-			@itemClick="showProduct"
-			@loadMore="loadMoreGoods"
-		/>
+		<!-- 限时消息 -->
+		<!-- <view class="message-box" >
+			<view class="left">
+				<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/close24.png" mode="" @click="closeMsg"></image>
+				<view class="text ellipsis">关注公众号了解更新</view>
+			</view>
+			<view class="btn">查看</view>
 
-		<!--#ifdef MP-WEIXIN-->
+		</view> -->
+		<!-- #ifdef MP-WEIXIN -->
 		<view class="official-account">
 			<official-account @load="bindload" @error="binderror"></official-account>
 		</view>
-		<!--#endif-->
-
+		<!-- #endif -->
 		<view class="popup-box" v-if="activityShow">
 			<view class="info-mask" @tap="closeActivity()"></view>
 			<view class="info-form">
@@ -62,417 +252,2426 @@
 		</view>
 		<z-modal :show="tuiModalControl" placeholderText="请输入邀请码" :btnGroup="btnGroup" :contentType="2"
 			titleText="填写邀请码" @cancle="cancleTui" @sure="submitTui"></z-modal>
-		<Server />
+
+
+			<Server/>
+		<!-- <tabbar :actindex="0"></tabbar> -->
 	</view>
 </template>
 
 <script>
-import zModal from '@/components/z-modal/z-modal.vue'
-import { getMenu, getIndexData, getCartCount } from '@/api/index'
-import { getStoreConfig } from '@/api/common'
-import { getHomeInit, getHomeRecommend, getHomeGoods } from '@/api/home.js'
-import HotProduct from './components/HotProduct.vue'
-import TuiProduct from '@/components/tuiProduct.vue'
-import SearchBar from './components/SearchBar.vue'
-import CategoryTags from './components/CategoryTags.vue'
-import ChannelEntry from './components/ChannelEntry.vue'
-import RecommendSection from './components/RecommendSection.vue'
-import GoodsNav from './components/GoodsNav.vue'
-import GoodsList from './components/GoodsList.vue'
-import { getUserInfo, bindPromoter } from '@/api/user'
-
-export default {
-	components: {
-		zModal,
-		HotProduct,
-		TuiProduct,
-		SearchBar,
-		CategoryTags,
-		ChannelEntry,
-		RecommendSection,
-		GoodsNav,
-		GoodsList
-	},
-	data() {
-		return {
-			btnGroup: [
-				{ text: '取消', color: '#FFFFFF', bgColor: '#999999', width: '150rpx', height: '80rpx', shape: 'fillet', eventName: 'cancle' },
-				{ text: '确定', color: '#FFFFFF', bgColor: '#2BC7B9', width: '150rpx', height: '80rpx', shape: 'fillet', eventName: 'sure' }
-			],
-			tuiModalControl: false,
-			activity: null,
-			activityShow: false,
-			hotProductList: [],
-			menus: [],
-			channelList: [],
-			categoryTags: [],
-			goodsNav: [],
-			recommendData: { live: [], green: [], hot: [] },
-			activeGoodsNavId: 'all',
-			goodsList: [],
-			goodsLoading: false,
-			goodsHasMore: true,
-			goodsPageNum: 1,
-			cartCount: 0,
-			advList: [],
-			top: 0,
-			statusBarHeight: (uni.getStorageSync('menuInfo') && uni.getStorageSync('menuInfo').statusBarHeight) || 20,
-			userinfoa: [],
-			isuser: false
-		}
-	},
-	computed: {
-		bgColor() {
-			const t = this.top / 30
-			return 'rgba(43,199,185, ' + t + ')'
-		},
-		// 瀑布流标签:全部 + 后端 categoryTags
-		goodsNavList() {
-			const all = [{ id: 'all', name: '全部', categoryName: '全部' }]
-			const tags = (this.goodsNav || []).map(t => ({
-				id: t.id || t.cateId,
-				name: t.categoryName || t.cateName || t.name,
-				categoryName: t.categoryName || t.cateName || t.name
-			}))
-			return all.concat(tags)
-		}
-	},
-	onLoad(option) {
-		if (option.userCode != null) {
-			uni.setStorageSync('userCode', option.userCode)
-			if (this.utils.checkLoginState()) this.getUserInfo()
-		}
-		if (option.hasOwnProperty('q') && option.q) {
-			const url = decodeURIComponent(option.q)
-			const obj = this.utils.urlToObj(url)
-			uni.setStorageSync('userCode', obj.userCode)
-			if (this.utils.checkLoginState()) this.getUserInfo()
-		}
-	},
-	onUnload() {
-		uni.$emit('stop')
-	},
-	onHide() {
-		uni.$emit('stop')
-	},
-	onPageScroll(e) {
-		this.top = e.scrollTop
-	},
-	onShow() {
-		this.getHomeInit()
-    this.getHomeRecommend()
-		this.getMenu()
-		this.getIndexData()
-		if (uni.getStorageSync('AppToken')) {
-			this.getUserInfo()
-		} else {
-			this.isuser = true
-		}
-		if (this.utils.checkLoginState()) this.getCartCount()
-		this.getStoreConfig()
-	},
-	onShareAppMessage() {
-		return { title: '云联精选-您的专属解决方案', path: '/pages/common/launch', imageUrl: '/static/logo.png' }
-	},
-	onShareTimeline() {
-		return { title: '云联精选-您的专属解决方案', query: '', imageUrl: '/static/logo.png' }
-	},
-	onReachBottom() {
-		this.loadMoreGoods()
-		this.$refs.tuiProduct && this.$refs.tuiProduct.getTuiProducts()
-	},
-	methods: {
-		getHomeInit() {
-			getHomeInit().then(res => {
-				if (res.code == 200 && res.data) {
-					this.channelList = res.data.channelList || []
-					this.categoryTags = res.data.categoryTags || []
-					this.goodsNav = res.data.goodsNav || []
-					if (this.activeGoodsNavId === null || this.activeGoodsNavId === undefined) {
-						this.activeGoodsNavId = 'all'
-					}
-					this.fetchGoodsList(true)
-				}
-			}).catch(() => {})
+	import {
+		courseList,
+		courseListB
+	} from '@/api/class.js'
+	import zModal from '@/components/z-modal/z-modal.vue'
+	import {
+		getStoreActivity
+	} from '@/api/activity.js'
+	import {
+		getDepartmentList
+	} from '@/api/doctorOrder.js'
+	import {
+		getMenu,
+		getCanvas,
+		getIndexData,
+		getTuiDoctor,
+		getTuiArticle,
+		getTuiDoctorOrder,
+		getCartCount,
+		// getpro
+	} from '@/api/index'
+	import {
+		getDoctorArticleList
+	} from '@/api/doctorArticle.js'
+	import {
+		getArticleList
+	} from '@/api/article.js'
+	import {
+		getStoreConfig
+	} from '@/api/common'
+	// import tabBg from "https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png"
+	import freeAudio from '@/components/chengpeng-audio/free-audio.vue'
+	import Menu from '@/components/Menu.vue'
+	import HotProduct from './components/HotProduct.vue'
+	import NewProduct from './components/NewProduct.vue'
+	import TuiProduct from '@/components/tuiProduct.vue'
+
+	import Server from '@/components/Server.vue'
+	import {
+		getUserInfo,
+		bindPromoter
+	} from '@/api/user'
+	export default {
+		components: {
+			zModal,
+			freeAudio,
+			Menu,
+			HotProduct,
+			NewProduct,
+			TuiProduct,
+			Server
 		},
-		getHomeRecommend() {
-			getHomeRecommend().then(res => {
-				if (res.code != 200) return
-				this.recommendData = {
-					live: res.live && Array.isArray(res.live) ? res.live : [],
-					green: res.green && Array.isArray(res.green) ? res.green : [],
-					hot: res.hot && Array.isArray(res.hot) ? res.hot : []
-				}
-			}).catch(() => {})
+		data() {
+			return {
+				classList: [],
+				btnGroup: [{
+					text: '取消',
+					color: '#FFFFFF',
+					bgColor: '#999999',
+					width: '150rpx',
+					height: '80rpx',
+					shape: 'fillet',
+					eventName: 'cancle'
+				}, {
+					text: '确定',
+					color: '#FFFFFF',
+					bgColor: '#FF233C',
+					width: '150rpx',
+					height: '80rpx',
+					shape: 'fillet',
+					eventName: 'sure'
+				}],
+				tuiModalControl: false,
+				activity: null,
+				activityShow: false,
+				newProductList: [],
+				hotProductList: [],
+				tuiProductList: [],
+				menus: [],
+				canvas: [],
+				allDoctorTitle: "全部医生",
+				topLen: 0,
+				deptId: 0,
+				depts: [],
+				docTab: 1,
+				top: 0,
+				cartCount: 0,
+				doctorOrderList: [],
+				orderType: 0,
+				cateId: null,
+				articleList: [],
+				advList: [],
+				doctorList: [],
+				articleCateList: [],
+				doctocArticles: [], //养生讲堂
+				articles: [], //养生干货
+				// 状态栏的高度
+				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
+				tabBg: "https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/tab_bg.png", // tab切换背景
+				// 问诊案例类型
+				orderTypes: [{
+					name: '全部',
+					id: 0,
+				}, {
+					name: '图文',
+					id: 1,
+				}, {
+					name: '语音',
+					id: 2,
+				}],
+				// 限时消息是否显示
+				messageShow: true,
+				yangshengs: [{
+						id: "1",
+						title: "药膳食疗",
+						page: "/pages_index/index/medicatedFoodList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/3cfbd47911cf4753aa9497eac500728d.png"
+					},
+					{
+						id: "2",
+						title: "经络穴位",
+						page: "/pages_index/index/vesselList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e93536a9dc1a4f8ca09545097b12fdea.png"
+					},
+					{
+						id: "3",
+						title: "问答专区",
+						page: "/pages_index/index/questionsList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e896972bd56f4e358188af36f2c5af42.png"
+					},
+					{
+						id: "4",
+						title: "疾病",
+						page: "/pages_index/index/diseaseList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/d6f1851cccae414b8baf2ba07782f91b.png"
+					},
+					{
+						id: "5",
+						title: "中药图解",
+						page: "/pages_index/index/chineseMedicineList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/ff43572d0d004285b5a3b0ef2663c471.png"
+					},
+					{
+						id: "6",
+						title: "名方今用",
+						page: "/pages_index/index/famousPrescribeList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/45db770e58c34963b0d2ba24a958b617.png"
+					},
+					{
+						id: "7",
+						title: "康复医案",
+						page: "/pages_index/index/doctorArticleList",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/e793942797b24035b51f94d894bdfa0b.png"
+					},
+					{
+						id: "8",
+						title: "更多",
+						page: "",
+						icon: "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/3ee6160289914ee4a8126573fe4dc0ae.png"
+					}
+				],
+				userinfoa: [],
+				isuser: false,
+				menvKey: [],
+				classListb: {}
+			}
+			// this.getStoreActivity();
 		},
-		fetchGoodsList(reset) {
-			if (reset) {
-				this.goodsPageNum = 1
-				this.goodsList = []
-				this.goodsHasMore = true
+		onLoad(option) {
+			if (option.userCode != null) {
+				uni.setStorageSync('userCode', option.userCode);
+				if (this.utils.checkLoginState()) {
+					this.getUserInfo();
+				}
+			}
+			if (option.hasOwnProperty('q') && option.q) {
+				// 通过下面这步解码,可以拿到url的值
+				const url = decodeURIComponent(option.q)
+				this.url = url;
+				// // 对url中携带的参数提取处理
+				const obj = this.utils.urlToObj(url)
+				uni.setStorageSync('userCode', obj.userCode);
+				if (this.utils.checkLoginState()) {
+					this.getUserInfo();
+				}
 			}
-			if (this.goodsLoading || !this.goodsHasMore) return
-			this.goodsLoading = true
-			const id = this.activeGoodsNavId === 'all' || this.activeGoodsNavId === '' ? 0 : this.activeGoodsNavId
-			getHomeGoods({ id, pageNum: this.goodsPageNum, pageSize: 20 }).then(res => {
-				this.goodsLoading = false
-				if (res.code == 200 && res.data) {
-					const list = Array.isArray(res.data.list) ? res.data.list : []
-					const total = res.data.total != null ? Number(res.data.total) : 0
-					if (reset) this.goodsList = list
-					else this.goodsList = this.goodsList.concat(list)
-					this.goodsHasMore = list.length >= 20 && (this.goodsList.length < total || total === 0)
-					this.goodsPageNum++
-				}
-			}).catch(() => { this.goodsLoading = false })
+			// this.getStoreActivity()
 		},
-		loadMoreGoods() {
-			this.fetchGoodsList(false)
+		// 暂停所有音频(一般用于页面切换时停止正在播放的音频)
+		onUnload() { //普通页面在 onUnload 生命周期中执行
+			uni.$emit('stop')
 		},
-		onGoodsNavSelect(item) {
-      console.log("2222")
-      console.log(item.id)
-			this.activeGoodsNavId = item.id
-			this.fetchGoodsList(true)
+		onHide() { //tabBar页面在onHide生命周期中执行
+			uni.$emit('stop')
 		},
-		onCategoryTagsSelect(item) {
-			// 金刚区点击仅展示用,可按需跳转
+		onPageScroll(e) {
+			//console.log(e)
+			this.top = e.scrollTop;
 		},
-		onChannelClick(item) {
-			// 推荐频道点击,可跳转或筛选,按需扩展
+		mounted() {
+			this.getCourseList()
+			//this.getDepartmentList();
 		},
-		onRecommendMore(section) {
-			if (section && section.moreUrl) {
-				uni.navigateTo({ url: section.moreUrl })
-				return
-			}
-			if (section && (section.type === 'green' || section.type === 'hot')) {
-				uni.navigateTo({ url: '/pages/home/recommendList?type=' + section.type })
+		onShareAppMessage(res) {
+			return {
+				title: '云联精选-您的专属解决方案',
+				path: `/pages/common/launch`,
+				// imageUrl: this.$store.state.imgpath +'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
+			imageUrl: '/static/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
 			}
 		},
-		onLiveClick(item) {
-			if (item && item.liveId) uni.navigateTo({ url: '/pages/live/liveRoom?liveId=' + item.liveId })
+		onReachBottom() {
+			// console.log("onReachBottom")
+			this.$refs.tuiProduct.getTuiProducts();
 		},
-		onRecommendItemClick({ item }) {
-			if (item.productId) this.showProduct(item)
-		},
-		getMenu() {
-			getMenu().then(res => {
-				if (res.code == 200) this.menus = res.data || []
-			})
+		//分享到朋友圈
+		onShareTimeline(res) {
+			return {
+				title: '云联精选-您的专属解决方案',
+				query: '', //页面参数
+				imageUrl: '/static/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
+				// imageUrl: this.$store.state.imgpath +'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
+			}
 		},
-		getIndexData() {
-			getIndexData({}).then(res => {
-				if (res.code == 200) {
-					this.advList = res.data.advList || []
-					this.hotProductList = res.data.hotProductList || []
-				} else {
-					uni.showToast({ icon: 'none', title: '请求失败' })
-				}
-			})
+		computed: {
+			// 计算属性的 getter
+			bgColor: function() {
+				var top = this.top / 30;
+				return 'rgba(43,199,185, ' + top + ')';
+			},
+			imgPath() {
+				return this.$store.state.imgpath
+			},
 		},
-		getUserInfo() {
-			getUserInfo().then(res => {
-				if (res.code == 200 && res.user != null) this.userinfoa = res.user
-				else uni.showToast({ icon: 'none', title: '请求失败' })
-			})
+		onShow() {
+			this.getMenu();
+			this.getIndexData()
+			//this.getTuiDoctorOrder();
+			// console.log(uni.getStorageSync('isLocation'))
+			// if(uni.getStorageSync('isLocation')==""){
+			// 	this.getLocation();
+			// }
+			if (uni.getStorageSync('AppToken')) {
+				this.getUserInfo()
+			} else {
+				this.isuser = true
+			}
+			if (this.utils.checkLoginState()) {
+				this.getCartCount();
+			}
+			this.getStoreConfig();
+			//this.getTuiDoctor()
+			this.getCanvas();
+			this.getDoctorArticleList();
+			this.getArticleList();
+			// this.getshowmanv()
 		},
-		getCartCount() {
-			this.utils.isLogin().then(res => {
-				if (res) getCartCount().then(cartRes => {
-					if (cartRes.code == 200) this.cartCount = cartRes.data
+		methods: {
+			toLive() {
+				uni.showToast({
+					icon: 'none',
+					title: '暂未开放,敬请期待'
+				})
+			},
+			getCourseList() {
+				courseList().then(res => {
+					if (res.code == 200) {
+						console.log('公域', res.data)
+						this.classList = res.data.slice(0, 3)
+					} else {
+						uni.hideLoading();
+						uni.showToast({
+							title: res.msg,
+							icon: 'none'
+						});
+					}
+				})
+			},
+			goClass(id, type) {
+				// console.log(id)
+				uni.navigateTo({
+					url: '/pages_course/learn?courseId=' + id + '&type=' + type
+				})
+			},
+			goClassList(type) {
+				uni.navigateTo({
+					url: '/pages_course/teacherClassroom?type=' + type
+				})
+			},
+			// getshowmanv() {
+			// 	const data = {
+			// 		key: "store.appShow"
+			// 	}
+			// 	getpro(data).then(res => {
+			// 		this.menvKey = JSON.parse(res.data)
+			// 		// console.log('排序', this.menvKey[0])
+			// 	})
+			// },
+			getUserInfo() {
+				getUserInfo().then(
+					res => {
+						if (res.code == 200) {
+							if (res.user != null) {
+								this.userinfoa = res.user
+								// if(res.user.isPromoter==null||res.user.isPromoter==0){
+								// 	this.tuiModalControl=true
+								// }
+							}
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: "请求失败",
+							});
+						}
+					},
+					rej => {}
+				);
+			},
+			cancleTui(e) {
+				this.tuiModalControl = false
+			},
+			submitTui(e) {
+				// console.log(e)
+				if (e.inputText == null || e.inputText == "") {
+					uni.showToast({
+						icon: 'none',
+						title: "请输入邀请码",
+					});
+					return;
+				}
+				var data = {
+					userCode: e.inputText
+				};
+				bindPromoter(data).then(
+					res => {
+						if (res.code == 200) {
+							uni.showToast({
+								icon: 'none',
+								title: res.msg,
+							});
+							this.tuiModalControl = false
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: res.msg,
+							});
+						}
+					},
+					rej => {}
+				);
+
+			},
+			bindload: function(detail) {},
+			binderror: function(detail) {},
+			closeActivity() {
+				this.activityShow = false;
+				// uni.setStorageSync(this.activity.activityId,null);
+			},
+			getStoreActivity() {
+				let data = {}
+				getStoreActivity(data).then(res => {
+					this.activity = res.activity;
+					if (this.activity != null) {
+						// if(uni.getStorageSync(this.activity.activityId)!=null)
+						// {
+						// 	uni.setStorageSync(this.activity.activityId,1);
+						// 	this.activityShow=true;
+						// }
+						// else{
+						// 	this.activityShow=false;
+						// }
+						this.activityShow = true;
+					} else {
+						this.activityShow = false;
+					}
+				})
+			},
+			showActivity() {
+				this.activityShow = false;
+				uni.navigateTo({
+					url: '/pages_shopping/shopping/activityDetails?activityId=' + this.activity.activityId
+				})
+			},
+			menuClick(item) {
+				if (item.linkType == 1) {
+					if (item.linkUrl == "/pages/shopping/index") {
+						uni.switchTab({
+							url: item.linkUrl
+						})
+					} else if (item.linkUrl == "/pages/healthy/index") {
+						uni.switchTab({
+							url: item.linkUrl
+						})
+					} else {
+
+						uni.navigateTo({
+							url: item.linkUrl
+						})
+					}
+
+				} else if (item.linkType == 0) {
+					uni.showToast({
+						icon: 'none',
+						title: "开发中...",
+					});
+				}
+			},
+			goDev() {
+				uni.showToast({
+					icon: 'none',
+					title: "开发中...",
+				});
+			},
+			handleAdvClick(item) {
+				console.log(item);
+				if (item.showType == 1) {
+					uni.setStorageSync('url', item.advUrl);
+					uni.navigateTo({
+						url: "h5"
+					})
+				} else if (item.showType == 2) {
+					uni.navigateTo({
+						url: item.advUrl
+					})
+				} else if (item.showType == 3) {
+					uni.setStorageSync('content', item.content);
+					uni.navigateTo({
+						url: "content"
+					})
+				}
+			},
+			deptChange(item) {
+				this.deptId = item.departmentId;
+				this.getTuiDoctor();
+			},
+			getMenu() {
+				this.menus = [];
+				getMenu().then(res => {
+					if (res.code == 200) {
+						// for (var i = 0; i < res.data.length; i++) {
+						// 	const item=res.data[i];
+						// if(item.menuName.indexOf('百域百科')>=0 || item.menuName.indexOf('百域自测')>=0
+						// || item.menuName.indexOf('百域档案')>=0 ||item.menuName.indexOf('用药咨询')>=0){
+						// 	this.menus.push(item);
+						// }
+						// }
+						// console.log('图标', res.data)
+						// const menuNames = ['百域百科', '百域自测', '百域档案', '产品商城', '领券中心', '会员'];
+						this.menus = res.data
+						// this.menus = res.data.filter(item => menuNames.some(menuName => item.menuName.includes(menuName)) );
+					} else {
+
+					}
+				});
+			},
+			getCanvas() {
+				getCanvas().then(res => {
+					if (res.code == 200) {
+						if (res.data && res.data.json) {
+							this.canvas = JSON.parse(res.data.json)
+						}
+					}
+				});
+			},
+			getDepartmentList() {
+				this.depts = [];
+				getDepartmentList().then(res => {
+					if (res.code == 200) {
+						var allDept = {
+							departmentId: 0,
+							departmentName: "全部"
+						}
+						this.depts.push(allDept);
+						this.depts = this.depts.concat(res.data);
+					} else {
+						uni.showToast({
+							icon: 'none',
+							title: "请求失败",
+						});
+					}
+				});
+			},
+			getTuiDoctor() {
+				let data = {
+					departmentId: this.deptId,
+					doctorType: this.docTab
+				};
+				getTuiDoctor(data).then(
+					res => {
+						if (res.code == 200) {
+							this.doctorList = res.data;
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: "请求失败",
+							});
+						}
+					},
+					rej => {}
+				);
+			},
+			docTabChange(val) {
+				if (val == 1) {
+					this.allDoctorTitle = "全部医师"
+				}
+				if (val == 2) {
+					this.allDoctorTitle = "全部药师"
+				}
+				if (val == 3) {
+					this.allDoctorTitle = "全部营养师"
+				}
+				this.docTab = val;
+				this.getTuiDoctor();
+			},
+			showImg(urls) {
+				var imgArr = urls.split(',');
+				//预览图片
+				uni.previewImage({
+					urls: imgArr,
+					current: imgArr[0]
+				});
+			},
+			getStoreConfig() {
+				getStoreConfig().then(
+					res => {
+						if (res.code == 200) {
+							uni.setStorageSync('config', JSON.stringify(res.data));
+						}
+					},
+					rej => {}
+				);
+
+			},
+			goAuthUrl(url) {
+				this.utils.isLogin().then(res => {
+					if (res) {
+						uni.switchTab({
+							url: url
+						})
+					}
+				})
+			},
+			// 跳转页面
+			navTo(url) {
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getLocation() {
+				var that = this;
+				uni.authorize({
+					scope: 'scope.userLocation',
+					success() {
+						uni.getLocation({
+							type: 'gcj02', //腾讯地图使用gcj02获取位置坐标
+							success: function(res) {
+								uni.setStorageSync('isLocation', 1);
+								uni.setStorageSync('lng', res.longitude);
+								uni.setStorageSync('lat', res.latitude);
+							},
+						})
+					},
+					fail(err) {
+						console.log(err)
+					}
+				})
+			},
+			getIndexData() {
+				let data = {};
+				getIndexData(data).then(
+					res => {
+						if (res.code == 200) {
+							this.advList = res.data.advList;
+							this.articleCateList = res.data.articleCateList;
+							if (this.articleCateList != null && this.articleCateList.length > 0) {
+								this.cateId = this.articleCateList[0].cateId;
+								this.getTuiArticle()
+							}
+							this.tuiProductList = res.data.tuiProductList
+							this.newProductList = res.data.newProductList
+							this.hotProductList = res.data.hotProductList
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: "请求失败",
+							});
+						}
+					},
+					rej => {}
+				);
+			},
+			getCartCount() {
+				this.utils.isLogin().then(res => {
+					if (res) {
+						getCartCount().then(
+							cartRes => {
+								if (cartRes.code == 200) {
+									this.cartCount = cartRes.data;
+								}
+							},
+							rej => {}
+						);
+					}
+				})
+			},
+			getTuiArticle() {
+				let data = {
+					cateId: this.cateId
+				};
+				getTuiArticle(data).then(
+					res => {
+						if (res.code == 200) {
+							this.articleList = res.data;
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: "请求失败",
+							});
+						}
+					},
+					rej => {}
+				);
+			},
+			getTuiDoctorOrder() {
+				let data = {
+					orderType: this.orderType
+				};
+				getTuiDoctorOrder(data).then(
+					res => {
+						if (res.code == 200) {
+							this.doctorOrderList = res.data;
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: "请求失败",
+							});
+						}
+					},
+					rej => {}
+				);
+			},
+			showArticle(item) {
+				uni.navigateTo({
+					url: '../healthy/detail?articleId=' + item.articleId
+				})
+			},
+			showProduct(item) {
+				uni.navigateTo({
+					url: '../shopping/productDetails?productId=' + item.productId
+				})
+			},
+			// 顶部搜索
+			toSearch() {
+				uni.navigateTo({
+					url: './productSearch'
+				})
+			},
+			// 健康知识选中
+			articleCateChange(item) {
+				this.cateId = item.cateId;
+				this.getTuiArticle();
+			},
+			// 问诊案例选中
+			orderTypeChange(item) {
+				this.orderType = item.id;
+				console.log(this.orderType)
+				this.getTuiDoctorOrder();
+			},
+			// 关闭限时消息
+			closeMsg() {
+				this.messageShow = false
+			},
+			// 查看全部
+			viewAll(url) {
+				uni.navigateTo({
+					url: '/pages/home/' + url,
+				});
+			},
+			shopDoctor(item) {
+				console.log(item);
+				uni.navigateTo({
+					url: "/pages_doctor/doctorDetail?doctorId=" + item.doctorId
+				})
+			},
+			switchTo(url) {
+				uni.switchTab({
+					url: url
 				})
-			})
-		},
-		getStoreConfig() {
-			getStoreConfig().then(res => {
-				if (res.code == 200) uni.setStorageSync('config', JSON.stringify(res.data))
-			})
-		},
-		cancleTui() {
-			this.tuiModalControl = false
-		},
-		submitTui(e) {
-			if (!e.inputText) {
-				uni.showToast({ icon: 'none', title: '请输入邀请码' })
 				return
+			},
+			yangshengClick(item) {
+				if (item.page == "") {
+					uni.showToast({
+						icon: "none",
+						title: '暂无更多'
+					})
+					return;
+				}
+				uni.navigateTo({
+					url: item.page
+				})
+			},
+			// 在线问诊
+			openIm() {
+				uni.navigateTo({
+					url: '/pages_doctor/doctorOrderIM?orderId=10'
+				})
+			},
+			getDoctorArticleList() {
+				//联网加载数据
+				var that = this;
+				var data = {
+					pageNum: 1,
+					pageSize: 10
+				};
+				getDoctorArticleList(data).then(res => {
+					if (res.code == 200) {
+						this.doctocArticles = res.data.list;
+					}
+				});
+			},
+			getArticleList() {
+				//联网加载数据
+				var that = this;
+				var data = {
+					isTui: 1,
+					pageNum: 1,
+					pageSize: 10,
+				};
+				getArticleList(data).then(res => {
+					if (res.code == 200) {
+						this.articles = res.data.list;
+					} else {
+						uni.showToast({
+							icon: 'none',
+							title: "请求失败",
+						});
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.fixed-top-box {
+		width: 100%;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 1000;
+		transition: all 0.5s;
+		background-color: #FF233C;
+
+		&.show-back {
+			// background: linear-gradient(135deg, #66b2ef 0%, #FF233C 100%);
+		}
+
+		.status_bar {
+
+			width: 100%;
+		}
+	}
+
+	.content {
+		width: 100%;
+		position: relative;
+
+		.bg {
+			width: 100%;
+			height: 380rpx;
+			position: absolute;
+			top: 0;
+			left: 0;
+		}
+
+		.top-inner {
+			width: 100%;
+			position: absolute;
+			top: 0;
+			left: 0;
+			z-index: 5;
+
+			.top-title {
+				height: 88upx;
+				line-height: 88upx;
+				display: flex;
+				align-items: center;
+				justify-content: flex-start;
+
+				.name {
+					font-size: 42upx;
+					font-family: Source Han Sans CN;
+					font-weight: bold;
+					color: #FFFFFF;
+					padding-left: 41upx;
+				}
+
+				.dot {
+					margin: 0upx 10upx;
+					font-size: 28upx;
+					color: #FFFFFF;
+					opacity: 0.5;
+				}
+
+				.sub-name {
+					font-size: 30upx;
+					font-family: Source Han Sans CN;
+					color: #FFFFFF;
+				}
+
+
 			}
-			bindPromoter({ userCode: e.inputText }).then(res => {
-				uni.showToast({ icon: 'none', title: res.msg })
-				if (res.code == 200) this.tuiModalControl = false
-			})
-		},
-		bindload() {},
-		binderror() {},
-		closeActivity() {
-			this.activityShow = false
-		},
-		showActivity() {
-			this.activityShow = false
-			if (this.activity && this.activity.activityId) {
-				uni.navigateTo({ url: '/pages_shopping/shopping/activityDetails?activityId=' + this.activity.activityId })
+
+			.func-cont {
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				padding: 30upx 20upx 30upx 20upx;
+
+				.search-cont {
+					box-sizing: border-box;
+					display: flex;
+					align-items: center;
+					width: 552upx;
+					height: 72upx;
+					background: #FFFFFF;
+					border-radius: 36upx;
+					padding: 0 30upx;
+
+					.icon-search {
+						width: 28upx;
+						height: 28upx;
+						margin-right: 20upx;
+					}
+
+					input {
+						height: 60upx;
+						line-height: 60upx;
+						flex: 1;
+					}
+				}
+
+				:deep(.uni-badge) {
+					border: none;
+					background-color: #FF3636;
+					font-family: Roboto;
+				}
+
+				.img-item {
+					width: 44upx;
+					height: 44upx;
+					margin-left: 30upx;
+
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
 			}
-		},
-		menuClick(item) {
-			const linkUrl = item.linkUrl || item.url
-			const linkType = item.linkType != null ? item.linkType : (linkUrl ? 1 : 0)
-			if (linkType == 1 && linkUrl) {
-				if (linkUrl == '/pages/shopping/index' || linkUrl == '/pages/healthy/index') {
-					uni.switchTab({ url: linkUrl })
-				} else {
-					uni.navigateTo({ url: linkUrl })
-				}
-			} else if (linkType == 0) {
-				uni.showToast({ icon: 'none', title: '开发中...' })
+
+			.tips {
+				margin: 0upx 20rpx 30rpx;
+				height: 40upx;
+				line-height: 40upx;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+
+				.left {
+					font-size: 30upx;
+					color: #FFFFFF;
+				}
+
+				.right {
+					padding: 5upx 20rpx;
+					font-size: 24upx;
+					color: #FFFFFF;
+					background-color: #FF233C;
+					border-radius: 50rpx;
+				}
 			}
-		},
-		handleAdvClick(item) {
-			if (item.showType == 1) {
-				uni.setStorageSync('url', item.advUrl)
-				uni.navigateTo({ url: 'h5' })
-			} else if (item.showType == 2) {
-				uni.navigateTo({ url: item.advUrl })
-			} else if (item.showType == 3) {
-				uni.setStorageSync('content', item.content)
-				uni.navigateTo({ url: 'content' })
+		}
+
+		.banner-box {
+			padding: 0 20upx;
+
+			.inner {
+				width: 100%;
+				height: 236upx;
+				border-radius: 10upx;
+				overflow: hidden;
+
+				.swiper,
+				.swiper-item,
+				.swiper-item image {
+					width: 100%;
+					height: 100%;
+				}
+
 			}
-		},
-		goAuthUrl(url) {
-			this.utils.isLogin().then(res => {
-				if (res) uni.switchTab({ url })
-			})
-		},
-		navTo(url) {
-			uni.navigateTo({ url })
-		},
-		toSearch() {
-			uni.navigateTo({ url: './productSearch' })
-		},
-		showProduct(item) {
-			uni.navigateTo({ url: '../shopping/productDetails?productId=' + item.productId })
+		}
+
+		.menu-content {
+			// width: 100%;
+			background-color: #fff;
+			overflow: hidden;
+			padding: 20upx 20upx 0;
+		}
+
+		.menu-box {
+			display: flex;
+			align-items: center;
+			background-color: #FFFFFF;
+		}
+
+		.online-inquiry {
+			box-sizing: border-box;
+			width: 100%;
+			height: 300upx;
+			padding: 20upx;
+			background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 62%, rgba(255, 255, 255, 0) 100%);
+			display: flex;
+			justify-content: space-between;
+
+			.item {
+				// width: 46.13%;
+				width: 100%;
+				height: 100%;
+				position: relative;
+
+				.bg-img,
+				.inner {
+					width: 100%;
+					height: 100%;
+					position: absolute;
+					top: 0;
+					left: 0;
+					z-index: 1;
+					border-radius: 15rpx;
+				}
+
+				.inner {
+					box-sizing: border-box;
+					z-index: 2;
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					padding-left: 32upx;
+
+					.title {
+						font-size: 30upx;
+						line-height: 1;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #111111;
+						margin-bottom: 20upx;
+					}
+
+					.sub-title {
+						font-size: 24upx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #666666;
+					}
+
+					image {
+						width: 80upx;
+						height: 90upx;
+						position: absolute;
+						right: 7upx;
+						bottom: 7upx;
+					}
+				}
+			}
+		}
+
+		.index-cont {
+			box-sizing: border-box;
+			padding: 0 20upx 120rpx;
+
+			.pub-item {
+				background: #FFFFFF;
+				border-radius: 16upx;
+				margin-bottom: 20upx;
+
+				.tabs {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					justify-content: flex-start;
+					height: 110rpx;
+					background-color: #F0F3F4;
+
+					.tab {
+						height: 110rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						position: relative;
+						flex: 1;
+
+						.img {
+							z-index: 1;
+							position: absolute;
+							top: 0rpx;
+							left: 0rpx;
+							width: 100%;
+							height: 100%;
+						}
+
+						.inner {
+							z-index: 2;
+
+							.title {
+								font-size: 32upx;
+								font-family: PingFang SC;
+								font-weight: bold;
+								color: #666666;
+							}
+
+							.active {
+								color: #FF233C;
+							}
+						}
+
+					}
+
+
+				}
+
+				.pub-title-box {
+					box-sizing: border-box;
+					padding: 36upx 30upx;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					.left {
+						font-size: 32upx;
+						line-height: 1;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #111111;
+					}
+
+					.right {
+						display: flex;
+						align-items: center;
+						justify-content: center;
+
+						.text {
+							font-size: 24rpx;
+							line-height: 1;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							margin-right: 10upx;
+						}
+
+						image {
+							width: 14upx;
+							height: 24upx;
+						}
+					}
+
+				}
+
+				.doc-tab-box {
+					padding: 14rpx 30rpx 0rpx 30rpx;
+					position: relative;
+
+					.tab-inner {
+						padding: 14upx 0 30upx;
+						display: flex;
+						overflow-x: auto;
+					}
+
+					.item {
+						font-size: 28upx;
+						white-space: nowrap;
+						line-height: 1;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #666666;
+						margin-right: 40upx;
+						position: relative;
+
+						&:last-child {
+							margin-right: 0;
+						}
+
+						&.active {
+							font-weight: bold;
+							color: #333333;
+						}
+
+						&.cases {
+							margin-right: 60upx;
+						}
+
+						.text {
+							position: relative;
+							z-index: 1;
+						}
+
+						.tab-bg {
+							width: 72upx;
+							height: 28upx;
+							position: absolute;
+							top: 17upx;
+							left: 50%;
+							transform: translateX(-36upx);
+							z-index: -1;
+						}
+					}
+
+					.right-mask {
+						width: 56upx;
+						height: 34upx;
+						position: absolute;
+						top: 25upx;
+						right: 0upx;
+						z-index: 1;
+					}
+				}
+
+				.doc-list {
+					padding: 20upx;
+
+					.item {
+						box-sizing: border-box;
+						background: #FFFFFF;
+						// border-radius: 16upx;
+						display: flex;
+						border-bottom: 1px solid #F0F0F0;
+						margin-bottom: 30rpx;
+
+						.head-box {
+							width: 120upx;
+							height: 120upx;
+							background: #EDF1F4;
+							border-radius: 50%;
+							overflow: hidden;
+							margin-right: 30upx;
+
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+
+						.info {
+							width: calc(100% - 150upx);
+
+							.top {
+								display: flex;
+								align-items: center;
+								font-family: PingFang SC;
+								line-height: 1;
+
+								.name {
+									font-size: 34upx;
+									font-weight: bold;
+									color: #111111;
+								}
+
+								.line {
+									width: 1px;
+									height: 26upx;
+									background: #DDDDDD;
+									margin: 0 20upx;
+								}
+
+								.other {
+									font-size: 28upx;
+									font-weight: 500;
+									color: #333333;
+								}
+							}
+
+							.unit-box {
+								display: flex;
+								margin-top: 24upx;
+
+								.level {
+									padding: 0 10upx;
+									height: 30upx;
+									line-height: 30upx;
+									font-size: 22upx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #FFFFFF;
+									background: #FF233C;
+									border-radius: 10upx 4upx 10upx 4upx;
+									margin-right: 12upx;
+								}
+
+								.name {
+									font-size: 28upx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #333333;
+									line-height: 30upx;
+								}
+							}
+
+							.expertise {
+								font-size: 26upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #666666;
+								line-height: 42upx;
+								margin: 22upx 0 26upx;
+							}
+
+							.rate-box {
+								display: flex;
+								align-items: center;
+
+								.star {
+									display: flex;
+									align-items: center;
+
+									image {
+										width: 22upx;
+										height: 22upx;
+										margin-right: 10upx;
+									}
+
+									text {
+										font-size: 26upx;
+										font-family: PingFang SC;
+										font-weight: bold;
+										color: #CEA764;
+										line-height: 1;
+									}
+								}
+
+								.line {
+									width: 1px;
+									height: 20upx;
+									background: #DDDDDD;
+									margin: 0 20upx;
+								}
+
+								.num-box {
+									display: flex;
+									align-items: center;
+									font-family: PingFang SC;
+
+									.label {
+										font-size: 24upx;
+										font-weight: 500;
+										color: #999999;
+										line-height: 1;
+										margin-right: 7px;
+									}
+
+									.num {
+										font-size: 26upx;
+										font-weight: bold;
+										color: #CEA764;
+										line-height: 1;
+									}
+								}
+							}
+
+							.price-box {
+								display: flex;
+								align-items: center;
+								margin-top: 38upx;
+
+								.btn-item {
+									display: flex;
+									align-items: center;
+									justify-content: center;
+									width: 164upx;
+									height: 56upx;
+									line-height: 56upx;
+									border: 1px solid rgba(43, 199, 185, 0.5);
+									border-radius: 28upx;
+									font-family: PingFang SC;
+									margin-right: 30upx;
+
+									&:last-child {
+										margin-right: 0;
+									}
+
+									.label {
+										font-size: 26upx;
+										font-weight: 500;
+										color: #FF233C;
+										margin-right: 5upx;
+									}
+
+									.num {
+										font-size: 28upx;
+										font-weight: bold;
+										color: #FF233C;
+									}
+								}
+							}
+						}
+					}
+
+					.item:last-child {
+						border-bottom: none;
+						margin-bottom: 0rpx;
+					}
+
+					.bottom-title {
+						height: 50rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						font-size: 26rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #FF233C;
+
+						image {
+							margin-left: 8rpx;
+							width: 14rpx;
+							height: 24rpx;
+						}
+					}
+				}
+
+				// 医师团队
+				.doc-cont {
+					box-sizing: border-box;
+					padding: 0 30upx;
+
+					.inner {
+						padding: 4upx 0 40upx;
+						display: flex;
+						overflow-x: auto;
+					}
+
+					.item {
+						display: flex;
+						align-items: center;
+						flex-direction: column;
+						margin-right: 40upx;
+
+						&:last-child {
+							margin-right: 0;
+						}
+
+						.head-box {
+							width: 120upx;
+							height: 120upx;
+							background: #F2F5F9;
+							border-radius: 50%;
+							margin-bottom: 20upx;
+							overflow: hidden;
+
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+
+						.name {
+							max-width: 120upx;
+							font-size: 28upx;
+							line-height: 1;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #111111;
+							margin-bottom: 16upx;
+							text-align: center;
+						}
+
+						.position {
+							max-width: 120upx;
+							font-size: 24upx;
+							line-height: 1;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							text-align: center;
+						}
+					}
+				}
+
+				.inner {
+					padding: 0 30upx;
+				}
+
+				// 健康知识
+				.pub-tab-box {
+					position: relative;
+
+					.tab-inner {
+						padding: 14upx 0 30upx;
+						display: flex;
+						overflow-x: auto;
+					}
+
+					.item {
+						font-size: 28upx;
+						white-space: nowrap;
+						line-height: 1;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #666666;
+						margin-right: 40upx;
+						position: relative;
+
+						&:last-child {
+							margin-right: 0;
+						}
+
+						&.active {
+							font-weight: bold;
+							color: #333333;
+						}
+
+						&.cases {
+							margin-right: 60upx;
+						}
+
+						.text {
+							position: relative;
+							z-index: 1;
+						}
+
+						.tab-bg {
+							width: 72upx;
+							height: 28upx;
+							position: absolute;
+							top: 17upx;
+							left: 50%;
+							transform: translateX(-36upx);
+							z-index: -1;
+						}
+					}
+
+					.right-mask {
+						width: 56upx;
+						height: 34upx;
+						position: absolute;
+						top: 14upx;
+						right: -30upx;
+						z-index: 1;
+					}
+				}
+
+				.know-list {
+					padding-right: 10upx;
+
+					.item {
+						padding: 30upx 0;
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						border-bottom: 1px solid #F0F0F0;
+
+						&:last-child {
+							border-bottom: none;
+						}
+
+						.left {
+							flex: 1;
+							padding-right: 40upx;
+							height: 190upx;
+							display: flex;
+							flex-direction: column;
+							justify-content: space-between;
+
+							.title {
+								font-size: 32upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #111111;
+								line-height: 48upx;
+							}
+
+							.info-box {
+								width: 100%;
+								display: flex;
+								align-items: center;
+								justify-content: space-between;
+
+								.readers {
+									display: flex;
+									align-items: center;
+
+									.head-box {
+										margin-right: 27upx;
+										display: flex;
+										align-items: center;
+
+										.head {
+											width: 48upx;
+											height: 48upx;
+											border-radius: 50%;
+											overflow: hidden;
+											box-shadow: 0 0 0 1px #fff;
+											margin-right: -10upx;
+
+											image {
+												width: 100%;
+												height: 100%;
+											}
+										}
+									}
+
+									.readings {
+										display: flex;
+										align-items: center;
+
+										.eye {
+											width: 26upx;
+											height: 20upx;
+											margin-right: 9upx;
+										}
+
+										.num {
+											font-size: 24upx;
+											font-family: PingFang SC;
+											font-weight: 500;
+											color: #999999;
+											line-height: 1;
+										}
+									}
+								}
+
+								.time {
+									font-size: 24upx;
+									line-height: 1;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #999999;
+								}
+							}
+						}
+
+						.right {
+							width: 250upx;
+							height: 190upx;
+							border-radius: 8upx;
+							overflow: hidden;
+
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+					}
+				}
+
+				// 问诊案例
+				.cases-list {
+					padding-bottom: 10upx;
+
+					.item {
+						padding: 30upx 0;
+						border-bottom: 1px solid #F0F0F0;
+
+						&:last-child {
+							border-bottom: none;
+						}
+
+						.dec-text {
+							font-size: 32upx;
+							font-family: PingFang SC;
+							font-weight: bold;
+							color: #111111;
+							line-height: 48upx;
+						}
+
+						.images-box {
+							margin-top: 10upx;
+							display: flex;
+							flex-wrap: wrap;
+
+							.img-item {
+								width: 155upx;
+								height: 155upx;
+								background: #F5F5F5;
+								border-radius: 8upx;
+								margin: 0 10upx 10upx 0;
+								overflow: hidden;
+
+								image {
+									width: 100%;
+									height: 100%;
+								}
+
+								&:nth-child(4n) {
+									margin-right: 0;
+								}
+							}
+						}
+
+						.doc-info {
+							display: flex;
+							align-items: center;
+							margin: 30upx 0 20upx;
+
+							.head {
+								width: 60upx;
+								height: 60upx;
+								background: #F2F5F9;
+								border-radius: 50%;
+								margin-right: 20upx;
+								overflow: hidden;
+
+								image {
+									width: 100%;
+									height: 100%;
+								}
+							}
+
+							.name {
+								font-size: 28upx;
+								line-height: 1;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #111111;
+							}
+
+							.line {
+								width: 1px;
+								height: 22upx;
+								background: #DDDDDD;
+								margin: 0 16upx;
+							}
+
+							.posit,
+							.address {
+								font-size: 26upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+							}
+						}
+
+						.answer-box {
+							width: 100%;
+							background: #F5F7F7;
+							border-radius: 10upx;
+							display: flex;
+							flex-direction: column;
+							justify-content: center;
+
+							.text-inner {
+								// height: 84upx;
+								font-size: 28upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #666666;
+								line-height: 42upx;
+								padding: 15upx;
+							}
+						}
+
+						.read-box {
+							margin-top: 30upx;
+							display: flex;
+							align-items: center;
+							justify-content: flex-end;
+
+							image {
+								width: 24upx;
+								height: 19upx;
+								margin-right: 10upx;
+							}
+
+							.text {
+								font-size: 24upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+							}
+						}
+					}
+				}
+			}
+
+			// 精选产品
+			.feat-title {
+				margin-top: 30upx;
+				padding: 10upx 0 33upx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				image {
+					width: 37upx;
+					height: 37upx;
+					margin: 0upx 20upx;
+				}
+
+				text {
+					font-size: 36upx;
+					line-height: 1;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #111111;
+				}
+			}
+
+			.drug-list {
+				display: flex;
+				flex-wrap: wrap;
+
+				.item {
+					margin-right: 20rpx;
+					margin-bottom: 20rpx;
+					width: 345rpx;
+					background: #FFFFFF;
+					box-shadow: 0px 0px 10rpx 4rpx rgba(199, 199, 199, 0.22);
+					border-radius: 20rpx;
+					overflow: hidden;
+
+					&:nth-child(2n) {
+						margin-right: 0;
+					}
+
+					.img-box {
+						width: 100%;
+						height: 334upx;
+
+						image {
+							width: 100%;
+							height: 100%;
+						}
+					}
+
+					.info-box {
+						box-sizing: border-box;
+						height: 182upx;
+						padding: 20upx;
+
+						.title {
+							height: 80upx;
+							font-size: 26upx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #111111;
+							line-height: 40upx;
+						}
+
+						.price-box {
+							display: flex;
+							align-items: center;
+							margin-top: 20upx;
+
+							.now {
+								color: #FF6633;
+								display: flex;
+								align-items: flex-end;
+								margin-right: 20upx;
+								font-family: PingFang SC;
+
+								.unit {
+									font-size: 24upx;
+									line-height: 1.4;
+									margin-right: 4upx;
+								}
+
+								.num {
+									font-size: 36upx;
+									font-weight: bold;
+									line-height: 1;
+								}
+							}
+
+							.old {
+								font-size: 26upx;
+								font-family: PingFang SC;
+								text-decoration: line-through;
+								color: #BBBBBB;
+								line-height: 1;
+							}
+						}
+					}
+				}
+			}
+		}
+
+		// 生活大讲堂
+		.open-class {
+			padding: 20rpx;
+			margin: 20rpx 15rpx 0rpx;
+			// background-color: #f0f4f7;
+
+			.title-box {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+
+				.title {
+					font-size: 32rpx;
+					font-weight: bold;
+				}
+
+				.more {
+					font-size: 24rpx;
+					padding-left: 30rpx;
+					color: #999999;
+					display: flex;
+					align-items: center;
+
+					image {
+						width: 24rpx;
+						height: 24rpx;
+					}
+				}
+			}
+
+
+			.class-item {
+				font-size: 24rpx;
+				margin-top: 24rpx;
+				background-color: #fff;
+				border-radius: 16rpx;
+				padding: 0 16rpx;
+				margin-right: 14rpx;
+				width: 250rpx;
+				height: 280rpx;
+				font-size: 26rpx;
+				font-weight: 500;
+
+				.img-box {
+					height: 220rpx;
+					border-radius: 16rpx;
+					overflow: hidden;
+					margin-bottom: 12rpx;
+
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+
+
+				&:last-child {
+					margin-right: 0rpx;
+				}
+			}
+		}
+
+		.modules {
+			.module {
+				.depts {
+					z-index: 101;
+					margin: 20rpx 15rpx 0rpx;
+					padding: 20rpx;
+					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
+					background-color: #fff;
+					border-radius: 15rpx;
+
+					.title {
+						font-size: 32upx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #2A2B2E;
+					}
+
+					.dept-box {
+						margin-top: 15rpx;
+						display: flex;
+						align-items: center;
+						justify-content: flex-start;
+						flex-wrap: wrap;
+
+						.dept {
+							padding: 15rpx 5rpx;
+							width: 25%;
+							display: flex;
+							flex-direction: column;
+							align-items: center;
+							justify-content: center;
+							padding: 14rpx 0;
+
+							.icon {
+								width: 58rpx;
+								height: 58rpx;
+							}
+
+							.title {
+								margin-top: 10rpx;
+								font-size: 24upx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #111111;
+							}
+						}
+					}
+
+				}
+
+				.doctor-articles {
+					z-index: 101;
+					margin: 20rpx 15rpx 0rpx;
+					padding: 20rpx;
+					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
+					background-color: #fff;
+					border-radius: 15rpx;
+
+					.title-box {
+						display: flex;
+						flex-direction: row;
+						align-items: center;
+						justify-content: space-between;
+
+						.title {
+							font-size: 32upx;
+							font-family: PingFang SC;
+							font-weight: bold;
+							color: #111111;
+						}
+
+						.more {
+							display: flex;
+							align-items: center;
+							justify-content: flex-end;
+
+							.text {
+								font-size: 24rpx;
+								font-family: PingFang SC;
+								color: #9B9B9B;
+							}
+
+							image {
+								margin-left: 10rpx;
+								width: 15rpx;
+								height: 20rpx;
+							}
+
+						}
+					}
+
+					.article-box {
+						padding: 20rpx 0rpx;
+						overflow-x: auto;
+						box-sizing: border-box;
+						display: flex;
+						align-items: center;
+						justify-content: flex-start;
+
+						.article {
+							width: 300rpx;
+							margin-right: 20rpx;
+							background: #f9f8fe;
+							display: flex;
+							flex-direction: column;
+							align-items: flex-start;
+							justify-content: flex-start;
+
+							&:last-child {
+								margin-right: 0rpx;
+							}
+
+							.image-box {
+								width: 300rpx;
+								height: 400rpx;
+								position: relative;
+								border-radius: 20rpx;
+
+								image {
+									border-radius: 20rpx;
+									width: 300rpx;
+									height: 400rpx;
+								}
+
+								.views {
+									position: absolute;
+									top: 0rpx;
+									left: 0rpx;
+									padding: 5rpx 10rpx;
+									background: rgba(0, 0, 0, 0.25);
+									border-radius: 12rpx 0px 12rpx 0px;
+									opacity: 1;
+									font-size: 20rpx;
+									font-family: PingFang SC-Bold, PingFang SC;
+									font-weight: bold;
+									color: #FFFFFF;
+								}
+
+								.doctor {
+									margin: 10rpx;
+									display: flex;
+									align-items: center;
+									justify-content: flex-start;
+									position: absolute;
+									bottom: 0rpx;
+									left: 0rpx;
+
+									image {
+										border-radius: 50%;
+										width: 64rpx;
+										height: 64rpx;
+									}
+
+									.right {
+										width: 200rpx;
+										margin-left: 10rpx;
+										display: flex;
+										flex-direction: column;
+										align-items: flex-start;
+										justify-content: space-between;
+
+										.doc-name {
+											width: 200rpx;
+											font-size: 30rpx;
+											font-weight: bold;
+											font-family: PingFang SC;
+											color: #fff;
+										}
+
+										.doc-position {
+											width: 100%;
+											font-size: 28rpx;
+											font-family: PingFang SC;
+											color: #fff;
+											font-weight: bold;
+											opacity: 0.8;
+										}
+									}
+								}
+							}
+
+							.article-title-box {
+								width: 100%;
+								margin-top: 10rpx;
+								display: flex;
+								align-items: center;
+								justify-content: flex-start;
+
+								.article-title {
+									font-size: 30rpx;
+									font-weight: bold;
+									font-family: PingFang SC;
+									color: #2A2B2E;
+								}
+
+							}
+
+						}
+
+					}
+				}
+
+				.doctors {
+					z-index: 101;
+					margin: 20rpx 15rpx;
+					padding: 20rpx;
+					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
+					background-color: #fff;
+					border-radius: 15rpx;
+
+					.title-box {
+						display: flex;
+						flex-direction: row;
+						align-items: center;
+						justify-content: space-between;
+
+						.title {
+							font-size: 32upx;
+							font-family: PingFang SC;
+							font-weight: bold;
+							color: #111111;
+						}
+
+						.more {
+							display: flex;
+							align-items: center;
+							justify-content: flex-end;
+
+							.text {
+								font-size: 24rpx;
+								font-family: PingFang SC;
+								color: #9B9B9B;
+							}
+
+							image {
+								margin-left: 10rpx;
+								width: 15rpx;
+								height: 20rpx;
+							}
+
+						}
+					}
+
+				}
+
+				.articles {
+					z-index: 101;
+					margin: 20rpx 15rpx;
+					padding: 20rpx;
+					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
+					background-color: #fff;
+					border-radius: 15rpx;
+
+					.title-box {
+						display: flex;
+						flex-direction: row;
+						align-items: center;
+						justify-content: space-between;
+
+						.title {
+							font-size: 32upx;
+							font-family: PingFang SC;
+							font-weight: bold;
+							color: #111111;
+						}
+
+						.more {
+							display: flex;
+							align-items: center;
+							justify-content: flex-end;
+
+							.text {
+								font-size: 24rpx;
+								font-family: PingFang SC;
+								color: #9B9B9B;
+							}
+
+							image {
+								margin-left: 10rpx;
+								width: 15rpx;
+								height: 20rpx;
+							}
+
+						}
+					}
+
+					.article-box {
+						margin-top: 15rpx;
+						padding: 20rpx 0rpx 0rpx;
+						display: flex;
+						flex-direction: column;
+						align-items: flex-start;
+						justify-content: flex-start;
+
+						.item {
+							width: 100%;
+							margin-bottom: 20rpx;
+							display: flex;
+							align-items: flex-start;
+							justify-content: flex-start;
+
+							&:last-child {
+								margin-bottom: 0rpx;
+							}
+
+							.left {
+								flex: 1;
+								height: 160rpx;
+								margin-right: 15rpx;
+								display: flex;
+								flex-direction: column;
+								align-items: flex-start;
+								justify-content: space-between;
+
+								.title {
+									font-size: 28upx;
+									font-family: PingFang SC;
+									font-weight: bold;
+									color: #111111;
+								}
+
+								.views {
+									font-size: 24upx;
+									font-family: PingFang SC;
+									color: #9a9a9c;
+								}
+							}
+
+							.right {
+								image {
+									border-radius: 10rpx;
+									width: 220rpx;
+									height: 160rpx;
+									border: 1px solid #eeeeee;
+								}
+							}
+						}
+					}
+				}
+
+				.packages {
+					z-index: 101;
+					margin: 20rpx 15rpx;
+					padding: 20rpx;
+					box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
+					background-color: #fff;
+					border-radius: 15rpx;
+
+					.title-box {
+						display: flex;
+						flex-direction: row;
+						align-items: center;
+						justify-content: space-between;
+
+						.title {
+							font-size: 32upx;
+							font-family: PingFang SC;
+							font-weight: bold;
+							color: #111111;
+						}
+
+						.more {
+							display: flex;
+							align-items: center;
+							justify-content: flex-end;
+
+							.text {
+								font-size: 24rpx;
+								font-family: PingFang SC;
+								color: #9B9B9B;
+							}
+
+							image {
+								margin-left: 10rpx;
+								width: 15rpx;
+								height: 20rpx;
+							}
+
+						}
+					}
+
+					.package-box {
+						padding: 20rpx 0rpx 0rpx;
+						display: flex;
+						align-items: flex-start;
+						justify-content: flex-start;
+						flex-wrap: wrap;
+
+						.item {
+							width: calc(50% - 20rpx);
+							border-radius: 15rpx;
+							margin: 10rpx;
+							display: flex;
+							flex-direction: column;
+							align-items: flex-start;
+							justify-content: flex-start;
+
+							&:last-child {}
+
+							.top {
+								width: 100%;
+								height: 300rpx;
+
+								image {
+									border-radius: 15rpx 15rpx 0rpx 0rpx;
+									width: 100%;
+									height: 300rpx;
+								}
+
+							}
+
+							.bottom {
+								width: 100%;
+								margin-top: 15rpx;
+
+								.title {
+									font-weight: bold;
+									font-size: 28upx;
+									font-family: PingFang SC;
+									color: #111111;
+								}
+
+								.price-box {
+									margin-top: 10rpx;
+									display: flex;
+									align-items: center;
+									justify-content: space-between;
+									width: 100%;
+
+									.price {
+										padding: 5rpx 10rpx;
+										background-color: #FF233C;
+										border-radius: 30rpx;
+										font-size: 20upx;
+										font-family: PingFang SC;
+										color: #ffffff;
+									}
+
+									.count {
+										font-size: 24upx;
+										font-family: PingFang SC;
+										color: #333333;
+									}
+
+								}
+							}
+						}
+					}
+
+
+				}
+			}
+
 		}
 	}
-}
-</script>
 
-<style lang="scss" scoped>
-.content {
-	width: 100%;
-	position: relative;
-	min-height: 100vh;
-	padding-top: 1rpx;
-}
-.header-wrap {
-	position: relative;
-	z-index: 10;
-}
-.banner-row {
-	display: flex;
-	gap: 20rpx;
-	padding: 20rpx 24rpx;
-	background: #fff;
-}
-.banner-item {
-	flex: 1;
-	height: 220rpx;
-	border-radius: 16rpx;
-	overflow: hidden;
-	background: #f5f5f5;
-}
-.banner-img {
-	width: 100%;
-	height: 100%;
-}
-.bg {
-	width: 100%;
-	height: 380rpx;
-	position: absolute;
-	top: 0;
-	left: 0;
-}
-.status_bar {
-	width: 100%;
-}
-.banner-box {
-	padding: 0 20upx;
-}
-.banner-box .inner {
-	width: 100%;
-	height: 236upx;
-	border-radius: 10upx;
-	overflow: hidden;
-}
-.banner-box .swiper,
-.banner-box .swiper-item,
-.banner-box .swiper-item image {
-	width: 100%;
-	height: 100%;
-}
-.menu-content {
-	background-color: #fff;
-	overflow: hidden;
-	padding: 20upx 20upx 0;
-}
-.menu-box {
-	display: flex;
-	align-items: center;
-	background-color: #fff;
-}
-.online-inquiry {
-	box-sizing: border-box;
-	width: 100%;
-	height: 300upx;
-	padding: 20upx;
-	background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 62%, rgba(255, 255, 255, 0) 100%);
-}
-.online-inquiry .item {
-	width: 100%;
-	height: 100%;
-	position: relative;
-}
-.online-inquiry .bg-img {
-	width: 100%;
-	height: 100%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	border-radius: 15rpx;
-}
-.index-cont {
-	box-sizing: border-box;
-	padding: 0 20upx 120rpx;
-}
-.official-account {
-	width: 100%;
-}
-.popup-box {
-	position: fixed;
-	top: 0;
-	right: 0;
-	left: 0;
-	bottom: 0;
-	z-index: 999;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-}
-.popup-box .info-mask {
-	position: fixed;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	left: 0;
-	background-color: rgba(0, 0, 0, 0.5);
-	z-index: 999;
-}
-.popup-box .info-form {
-	z-index: 1000;
-	width: 450rpx;
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-}
-.popup-box .info-form image {
-	width: 100%;
-}
+	.official-account {
+		box-sizing: border-box;
+		width: 100%;
+		height: 100upx;
+		position: fixed;
+		bottom: 30upx;
+		z-index: 99;
+		padding: 0 20upx 180rpx 20upx;
+	}
+
+	// 消息
+	.message-box {
+		box-sizing: border-box;
+		width: 100%;
+		height: 84upx;
+		background: #F3FFFD;
+		border: 1px solid #C7E9E5;
+		box-shadow: 0px 4upx 12upx 0px rgba(90, 203, 138, 0.16);
+		border-radius: 16upx;
+		position: fixed;
+		left: 50%;
+		transform: translateX(-50%);
+		bottom: 30upx;
+		z-index: 99;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding: 0 20upx 0 30upx;
+
+		.left {
+			flex: 1;
+			display: flex;
+			align-items: center;
+
+			image {
+				width: 24upx;
+				height: 24upx;
+				margin-right: 18upx;
+			}
+
+			.text {
+				width: 90%;
+				font-size: 28upx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #FF233C;
+			}
+		}
+
+		.btn {
+			width: 100upx;
+			height: 48upx;
+			line-height: 48upx;
+			text-align: center;
+			font-size: 24upx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #FFFFFF;
+			border: 1px solid #D2E6FF;
+			background: linear-gradient(135deg, #66b2ef 0%, #FF233C 100%);
+			border-radius: 24upx;
+			margin-left: 30upx;
+		}
+
+	}
+
+	.contact-btn {
+		display: inline-block;
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		opacity: 0;
+	}
+
+	.popup-box {
+		position: fixed;
+		top: 0;
+		right: 0;
+		left: 0;
+		bottom: 0;
+		z-index: 999;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.info-mask {
+			position: fixed;
+			top: 0;
+			right: 0;
+			bottom: 0;
+			left: 0;
+			background-color: rgba($color: #000000, $alpha: 0.5);
+			z-index: 999;
+		}
+
+		.info-form {
+			z-index: 1000;
+			width: 450rpx;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			position: relative;
+
+			image {
+				width: 100%;
+			}
+		}
+	}
 </style>

+ 0 - 239
pages/home/new/articleDetails.vue

@@ -1,239 +0,0 @@
-<template>
-	<view class="content">
-		<view class="detail-cont">
-			<view class="title">{{item.title}}</view>
-			<view class="info">
-				<view class="reads">阅读数:{{item.views}}</view>
-				<view class="time">{{item.publishTime}}</view>
-			</view>
-			<!-- 正文 -->
-			<view class="full-text">
-				<view v-html="item.contents"></view>
-			</view>
-		</view>
-		
-		<!-- 咨询按钮 -->
-		<view class="inquiry">
-			<view class="content">
-				<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/consult.png" mode=""></image>
-				<text class="text">咨询</text>
-				<button class="contact-btn" open-type="contact"></button>
-			</view>
-			
-		</view>
-	</view> 
-</template>
-
-<script>
-	import { getArticleByArticleId } from '@/api/article'
-	export default {
-		data() {
-			return {
-				articleId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.articleId=option.articleId;
-		},
-		onShow() {
-			this.getArticleById();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			return {
-				title: this.item.title,
-				path: '/pages_index/articleDetails?articleId='+this.articleId,
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title: this.item.title,
-				query:'articleId='+this.articleId,//页面参数
-			}
-			
-		},
-		methods:{
-			getArticleById(){
-				let data = {articleId:this.articleId};
-				getArticleByArticleId(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-	}
-	.detail-cont{
-		flex: 1;
-		padding: 40upx;
-		overflow-y: auto;
-		.title{
-			font-size: 40upx;
-			font-family: PingFang SC;
-			// font-weight: bold;
-			color: #222222;
-			line-height: 70upx;
-		}
-		.info{
-			display: flex;
-			align-items: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 48upx;
-			margin: 23upx 0;
-			.reads{
-				margin-right: 30upx;
-			}
-		}
-		.full-text{
-			font-size: 36upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #222222;
-			line-height: 60upx;
-		}
-	}
-	.recent-reads{
-		flex-shrink: 0;
-		box-sizing: border-box;
-		height: 121upx;
-		background: #FFFFFF;
-		border-top: 1px solid #F0F0F0;
-		padding: 0 40upx 0 37upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			display: flex;
-			align-items: center;
-			.label{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-				margin-right: 20upx;
-			}
-			.peop-box{
-				display: flex;
-				align-items: center;
-				.head-box{
-					margin-right: 28upx;
-					display: flex;
-					align-items: center;
-					.head{
-						width: 48upx;
-						height: 48upx;
-						border-radius: 50%;
-						overflow: hidden;
-						box-shadow: 0 0 0 1px #fff;
-						margin-right: -10upx;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-				}
-				.arrow{
-					width: 13upx;
-					height: 23upx;
-				}
-			}
-		}
-		.share-btn{
-			position: relative;
-			width: 240upx;
-			height: 80upx;
-			line-height: 80upx;
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: #2BC7B9;
-			border-radius: 40upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 32upx;
-				height: 32upx;
-				margin-right: 15upx;
-			}
-			.share{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-				opacity: 0;
-			}
-		}
-	}
-	.inquiry{
-		width: 131upx;
-		height: 131upx;
-		position: fixed;
-		right: 22upx;
-		bottom: 193upx;
-		z-index: 99;
-		
-		.content{
-			position: relative;
-			image{
-				width: 100%;
-				height: 100%;
-				position: absolute;
-				top: 0;
-				left: 0;
-				z-index: 9;
-			}
-			.text{
-				position: absolute;
-				top: 70upx;
-				left: 50%;
-				transform: translateX(-50%);
-				z-index: 10;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 1;
-			}
-			 
-		}
-		
-		
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-</style>

+ 0 - 317
pages/home/new/articleList.vue

@@ -1,317 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in cates" :key="index" :class="cateId == item.cateId?'item active':'item'" @click="choseCate(item)">
-							{{ item.cateName }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="readers">
-								<view class="readings">
-									<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" ></image>
-									<text class="num">{{item.views}}</text>
-								</view>
-							</view>
-							<view class="time">{{item.publishTime}}</view>
-						</view>
-					</view>
-					<view class="right">
-						<image :src="item.imageUrl" mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getArticleList,getArticleCateList} from '@/api/article.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				cates:[],
-				cateId:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getArticleCateList();
-		},
-		methods:{
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			getArticleCateList(){
-				var that=this;
-				let data = {};
-				getArticleCateList(data).then(
-					res => {
-						if(res.code==200){
-							this.cates=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					cateId:this.cateId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getArticleList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 关键词选择
-			choseCate(item) {
-				this.cateId = item.cateId;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './articleDetails?articleId=' + item.articleId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			height: 271upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				height: 190upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 48upx;
-				}
-				.info-box{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.readers{
-						display: flex;
-						align-items: center;
-						.head-box{
-							margin-right: 27upx;
-							display: flex;
-							align-items: center;
-							.head{
-								width: 48upx;
-								height: 48upx;
-								border-radius: 50%;
-								overflow: hidden;
-								box-shadow: 0 0 0 1px #fff;
-								margin-right: -10upx;
-								image{
-									width: 100%;
-									height: 100%;
-								}
-							}
-						}
-						.readings{
-							display: flex;
-							align-items: center;
-							.eye{
-								width: 26upx;
-								height: 20upx;
-								margin-right: 9upx;
-							}
-							.num{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-					.time{
-						font-size: 24upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-			.right{
-				width: 250upx;
-				height: 190upx;
-				border-radius: 8upx;
-				overflow: hidden;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 220
pages/home/new/chineseMedicineDetails.vue

@@ -1,220 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.medicineName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="tabs">
-				<view @click="tabClick(1)" :class="tabIndex==1?'tab1 active':'tab1'">
-					基本用法
-				</view>
-				<view @click="tabClick(2)"  :class="tabIndex==2?'tab2 active':'tab2'">
-					药物作用
-				</view>
-				<view @click="tabClick(3)"  :class="tabIndex==3?'tab3 active':'tab3'">
-					用药方法
-				</view>
-				<view @click="tabClick(4)"  :class="tabIndex==4?'tab4 active':'tab4'">
-					注意事项
-				</view>
-			</view>
-			<view class="content" v-if="tabIndex==1" v-html="item.descs">
-			</view>
-			<view class="content" v-if="tabIndex==2"  v-html="item.action">
-			</view>
-			<view class="content" v-if="tabIndex==3" v-html="item.usageMethod">
-			</view>
-			<view class="content" v-if="tabIndex==4" v-html="item.msg">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getChineseMedicineById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				articleId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getChineseMedicineById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.medicineName,
-					path: '/pages_index/chineseMedicineDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			tabClick(index){
-				this.tabIndex=index;
-			},
-			getChineseMedicineById(){
-				let data = {id:this.id};
-				getChineseMedicineById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 310
pages/home/new/chineseMedicineList.vue

@@ -1,310 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="tabs">
-				 <u-tabs
-				  :scrollable="false"
-				  :list="tabs"  
-				  lineColor="#2BC7B9"
-				 @change="tabChange">
-				 </u-tabs>
-			</view>
-		</view>
-		<view class="cont-box">
-			<view class="left">
-				<view class="items">
-					<view v-if="tabIndex==1" @click="flavorClick(item)" v-for="item in flavorOptions" :class="item.dictValue==flavor?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictValue==flavor"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==2" @click="indicationClick(item)" v-for="item in indicationOptions" :class="item.dictLabel==indication?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==indication"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					 
-				</view>
-			</view>
-			<view class="right" >
-				<view class="title">{{title}}</view>
-				<scroll-view @scrolltolower="scrolltolower" scroll-y="true"  style="height: calc(100vh - 180rpx);">
-				<view class="items">
-					<view class="r-item" @click="showDetail(item)" v-for="item in dataList">
-						<view class="r-left">{{item.medicineName}}</view>
-						<view class="r-right">
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/fire.png"></image>
-						</view>
-					</view>
-				</view>
-				</scroll-view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getChineseMedicineList} from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				indication:"",
-				flavor:"",
-				vessel:"",
-				title:"",
-				pageNum:1,
-				pageSize:20,
-				flavorOptions:[],
-				indicationOptions:[],
-				tabs: [
-					{name:"按五味",id:"1"},
-					{name:"按疾病",id:"2"},
-				],
-				keyword: '',
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDictByKey("sys_chinese_medicine_flavor");
-			this.getDictByKey("sys_indication");
-			this.getChineseMedicineList()
-		},
-		methods:{
-			scrolltolower(e){
-				this.pageNum++;
-				this.getChineseMedicineList()
-				console.log(e)
-			},
-			indicationClick(item){
-				this.flavor="";
-				this.indication=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			flavorClick(item){
-				console.log(item)
-				this.indication=""
-				this.flavor=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_indication"){
-								this.indicationOptions=res.data;
-							}
-							if(key=="sys_chinese_medicine_flavor"){
-								this.flavorOptions=res.data;
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			tabChange(item) {
-				this.tabIndex = item.id
-				this.getChineseMedicineList()
-			},
-			doSearch(){
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			getChineseMedicineList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					indication:this.indication,
-					flavor:this.flavor,
-					vessel:this.vessel,
-					keyword:this.keyword,
-					pageNum: this.pageNum,
-					pageSize: this.pageSize
-				};
-				uni.showLoading({
-					title:"加载中..."
-				})
-				getChineseMedicineList(data).then(res => {
-					uni.hideLoading()
-					if(res.code==200){
-						//设置列表数据
-						if (this.pageNum == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = [];
-					}
-				});
-			},
-			 
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './chineseMedicineDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		overflow: hidden;
-	}
-	.top-box{
-		width: 100%;
-		height: 180rpx;
-		background-color: #FFFFFF;
-		.search-cont{
-			padding: 16upx 30upx;
-			.inner{
-				box-sizing: border-box;
-				width: 100%;
-				height: 72upx;
-				background: #F7F7F7;
-				border-radius: 36upx;
-				display: flex;
-				align-items: center;
-				padding: 0 30upx;
-				.icon-search{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				input{
-					height: 60upx;
-					line-height: 60upx;
-					flex: 1;
-				}
-			}
-		}
-		.tabs{
-		}
-	}
-	.cont-box{
-		height: calc(100% - 180rpx);
-		display: flex;
-		align-items: flex-start;
-		justify-content: flex-start;
-		.left{
-			padding: 30rpx 0rpx;
-			width: 240rpx;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.items{
-				width: 240rpx;
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: flex-start;
-				.item{
-					width: 240rpx;
-					padding: 0rpx 20rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: normal;
-					color: #111111;
-					font-weight: 500;
-					line-height: 80upx;
-					.line{
-						margin-right: 15rpx;
-						border-radius: 5rpx;
-						width: 8rpx;
-						height:30rpx;
-						background-color: #2BC7B9;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #2BC7B9;
-				}
-			}
-			
-		}
-		.right{
-			padding: 30rpx 15rpx;
-			background-color: #fff;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			width: calc(100% - 240rpx);
-			.title{
-				font-size: 40upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 80upx;
-			}
-			.items{
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				.r-item{
-					line-height: 80rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.r-left{
-						flex: 1;
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #080808;
-					}
-					.r-right{
-						padding: 0rpx 20rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						image{
-							width: 22rpx;
-							height:30rpx;
-						}
-					}
-					
-				}
-				 
-			}
-		}
-	}
-	 
-</style>

+ 0 - 126
pages/home/new/diseaseDetails.vue

@@ -1,126 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">疾病名称</view>
-			</view>
-			<view class="desc" v-html="item.diseaseName"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">病情症状</view>
-			</view>
-			<view class="desc" v-html="item.symptom"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">病情诊断</view>
-			</view>
-			<view class="desc" v-html="item.diagnose"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">相关检验</view>
-			</view>
-			<view class="desc" v-html="item.inspect"></view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getDiseaseById} from '@/api/disease'
-	export default {
-		data() {
-			return {
-				diseaseId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.diseaseId=option.diseaseId;
-		},
-		onShow() {
-			this.getDiseaseById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.diseaseName,
-					path: '/pages_index/diseaseDetails?id='+this.diseaseId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.diseaseName,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getDiseaseById(){
-				let data = {diseaseId:this.diseaseId};
-				getDiseaseById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
- 
-	.content{
-	}
-	.detail-cont{
-		margin: 20rpx;
-		padding: 15rpx;
-		box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
-		background-color: #fff;
-		border-radius: 15rpx;
-		.title-box{
-			width: 100%;
-			display: flex;
-			justify-content: flex-start;
-			align-items: center;
-			.line{
-				width: 6rpx;
-				height:30rpx;
-				background-color: #2BC7B9;
-				 
-			}
-			.title{
-				margin-left: 15rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #333;
-			}
-			 
-		}
-		.desc{
-			margin-top: 15rpx;
-			margin-bottom: 15rpx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			color: #9a9a9c;
-		}
-	}
-	 
-</style>

+ 0 - 254
pages/home/new/diseaseList.vue

@@ -1,254 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			
-			<!-- 关键字列表 -->
-			<view class="dept-list">  
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in depts" :key="index" :class="deptId == item.deptId?'item active':'item'" @click="choseDept(item)">
-							{{ item.deptName }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="disease-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis1">{{ item.diseaseName }}</view>
-					</view>
-					<view class="right">
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getDiseaseList} from '@/api/disease.js'
-	import {getDepartmentList} from '@/api/department.js'
-	//import {getDepartmentList} from '@/api/doctorOrder.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				depts:[],
-				deptId:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDepartmentList();
-		},
-		methods:{
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			getDepartmentList(){
-				var that=this;
-				let data = {};
-				getDepartmentList(data).then(
-					res => {
-						if(res.code==200){
-							// var allDept={departmentId:0,departmentName:"全部"}
-							// this.depts.push(allDept);
-							// this.depts=this.depts.concat(res.data);
-							this.depts=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					deptId:this.deptId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getDiseaseList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			choseDept(item) {
-				this.deptId = item.deptId;
-				this.mescroll.resetUpScroll()
-			},
-			showDetail(item) {
-				uni.navigateTo({
-					url: './diseaseDetails?diseaseId=' + item.diseaseId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.dept-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.disease-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #111111;
-					line-height: 48upx;
-				}
-			}
-			.right{
-				image{
-					width: 30upx;
-					height: 30upx;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 220
pages/home/new/famousPrescribeDetails.vue

@@ -1,220 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.prescribeName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="tabs">
-				<view @click="tabClick(1)" :class="tabIndex==1?'tab1 active':'tab1'">
-					基本用法
-				</view>
-				<view @click="tabClick(2)"  :class="tabIndex==2?'tab2 active':'tab2'">
-					药物作用
-				</view>
-				<view @click="tabClick(3)"  :class="tabIndex==3?'tab3 active':'tab3'">
-					用药方法
-				</view>
-				<view @click="tabClick(4)"  :class="tabIndex==4?'tab4 active':'tab4'">
-					注意事项
-				</view>
-			</view>
-			<view class="content" v-if="tabIndex==1" v-html="item.descs">
-			</view>
-			<view class="content" v-if="tabIndex==2"  v-html="item.action">
-			</view>
-			<view class="content" v-if="tabIndex==3" v-html="item.usageMethod">
-			</view>
-			<view class="content" v-if="tabIndex==4" v-html="item.msg">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getFamousPrescribeById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				id:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getFamousPrescribeById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.prescribeName,
-					path: '/pages_index/famousPrescribeDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			tabClick(index){
-				this.tabIndex=index;
-			},
-			getFamousPrescribeById(){
-				let data = {id:this.id};
-				getFamousPrescribeById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 337
pages/home/new/famousPrescribeList.vue

@@ -1,337 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="tabs">
-				 <u-tabs
-				  :scrollable="false"
-				  :list="tabs"  
-				  lineColor="#2BC7B9"
-				 @change="tabChange">
-				 </u-tabs>
-			</view>
-		</view>
-		<view class="cont-box">
-			<view class="left">
-				<view class="items">
-					<view v-if="tabIndex==1" @click="typeClick(item)" v-for="item in typeOptions" :class="item.dictValue==prescribeType?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictValue==prescribeType"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==2" @click="indicationClick(item)" v-for="item in indicationOptions" :class="item.dictLabel==indication?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==indication"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==3" @click="bookClick(item)" v-for="item in bookOptions" :class="item.dictLabel==belongBook?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==belongBook"></text>
-						{{  utils.subString(item.dictLabel)  }}
-					</view>
-				</view>
-			</view>
-			<view class="right" >
-				<view class="title">{{title}}</view>
-				<scroll-view @scrolltolower="scrolltolower" scroll-y="true"  style="height: calc(100vh - 180rpx);">
-				<view class="items">
-					<view class="r-item" @click="showDetail(item)" v-for="item in dataList">
-						<view class="r-left">{{item.prescribeName}}</view>
-						<view class="r-right">
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/fire.png"></image>
-						</view>
-					</view>
-				</view>
-				</scroll-view>
-			</view>
-		</view>
-		 
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getFamousPrescribeList} from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				indication:"",
-				belongBook:"",
-				title:"",
-				prescribeType:0,
-				pageNum:1,
-				pageSize:20,
-				typeOptions:[],
-				bookOptions:[],
-				indicationOptions:[],
-				tabs: [
-					{name:"按类型",id:"1"},
-					{name:"按疾病",id:"2"},
-					{name:"按书籍",id:"3"}
-				],
-				keyword: '',
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDictByKey("sys_famous_prescribe_type");
-			this.getDictByKey("sys_famous_prescribe_indication");
-			this.getDictByKey("sys_famous_prescribe_book");
-			
-		},
-		methods:{
-			scrolltolower(e){
-				this.pageNum++;
-				this.getFamousPrescribeList()
-				console.log(e)
-			},
-			typeClick(item){
-				this.indication=""
-				this.belongBook="";
-				this.prescribeType=parseInt(item.dictValue);
-				console.log(this.prescribeType)
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			bookClick(item){
-				this.indication=""
-				this.prescribeType=0;
-				this.belongBook=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			indicationClick(item){
-				console.log(item)
-				this.belongBook=""
-				this.prescribeType=0;
-				this.indication=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_famous_prescribe_type"){
-								this.typeOptions=res.data;
-								if(this.typeOptions!=null&&this.typeOptions.length>0){
-									this.typeClick(this.typeOptions[0])
-								}
-							}
-							if(key=="sys_famous_prescribe_indication"){
-								this.indicationOptions=res.data;
-								 
-							}
-							if(key=="sys_famous_prescribe_book"){
-								this.bookOptions=res.data;
-								 
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			tabChange(item) {
-				this.tabIndex = item.id
-				this.getFamousPrescribeList()
-			},
-			doSearch(){
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			getFamousPrescribeList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					indication:this.indication,
-					belongBook:this.belongBook,
-					prescribeType:this.prescribeType,
-					keyword:this.keyword,
-					pageNum: this.pageNum,
-					pageSize: this.pageSize
-				};
-				uni.showLoading({
-					title:"加载中..."
-				})
-				getFamousPrescribeList(data).then(res => {
-					uni.hideLoading()
-					if(res.code==200){
-						//设置列表数据
-						if (this.pageNum == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = [];
-					}
-				});
-			},
-			 
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './famousPrescribeDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		overflow: hidden;
-	}
-	.top-box{
-		width: 100%;
-		height: 180rpx;
-		background-color: #FFFFFF;
-		.search-cont{
-			padding: 16upx 30upx;
-			.inner{
-				box-sizing: border-box;
-				width: 100%;
-				height: 72upx;
-				background: #F7F7F7;
-				border-radius: 36upx;
-				display: flex;
-				align-items: center;
-				padding: 0 30upx;
-				.icon-search{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				input{
-					height: 60upx;
-					line-height: 60upx;
-					flex: 1;
-				}
-			}
-		}
-		.tabs{
-		}
-	}
-	.cont-box{
-		height: calc(100% - 180rpx);
-		display: flex;
-		align-items: flex-start;
-		justify-content: flex-start;
-		.left{
-			padding: 30rpx 0rpx;
-			width: 240rpx;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.items{
-				width: 240rpx;
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: flex-start;
-				.item{
-					width: 240rpx;
-					padding: 0rpx 20rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: normal;
-					color: #111111;
-					font-weight: 500;
-					line-height: 80upx;
-					.line{
-						margin-right: 15rpx;
-						border-radius: 5rpx;
-						width: 8rpx;
-						height:30rpx;
-						background-color: #2BC7B9;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #2BC7B9;
-				}
-			}
-			
-		}
-		.right{
-			padding: 30rpx 15rpx;
-			background-color: #fff;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			width: calc(100% - 240rpx);
-			.title{
-				font-size: 40upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 80upx;
-			}
-			.items{
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				.r-item{
-					line-height: 80rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.r-left{
-						flex: 1;
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #080808;
-					}
-					.r-right{
-						padding: 0rpx 20rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						image{
-							width: 22rpx;
-							height:30rpx;
-						}
-					}
-					
-				}
-				 
-			}
-		}
-	}
-	 
-</style>

+ 0 - 195
pages/home/new/medicatedFoodDetails.vue

@@ -1,195 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.foodName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="content"   v-html="item.descs">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getMedicatedFoodById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getMedicatedFoodById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.foodName,
-					path: '/pages_index/medicatedFoodDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getMedicatedFoodById(){
-				let data = {id:this.id};
-				getMedicatedFoodById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 285
pages/home/new/medicatedFoodList.vue

@@ -1,285 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in foodOptions" :key="index" :class="food == item.dictLabel?'item active':'item'" @click="choseFood(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in actionOptions" :key="index" :class="action == item.dictLabel?'item active':'item'" @click="choseAction(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in indicationOptions" :key="index" :class="indication == item.dictLabel?'item active':'item'" @click="choseIndications(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="376rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="top">
-						<image :src="item.imgUrl" mode="aspectFill"></image>
-					</view>
-					<view class="title ellipsis">{{ item.foodName }}</view>
-					<view class="desc ellipsis">{{ item.actionTitle }}</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getMedicatedFoodList} from '@/api/index.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				foodOptions:[],
-				actionOptions:[],
-				indicationOptions:[],
-				action:"",
-				food:"",
-				indications:"",
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDictByKey("sys_medicated_food");
-			this.getDictByKey("sys_medicated_food_action");
-			this.getDictByKey("sys_indication");
-			
-		},
-		methods:{
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_medicated_food"){
-								this.foodOptions=res.data;
-							}
-							if(key=="sys_medicated_food_action"){
-								this.actionOptions=res.data;
-							}
-							if(key=="sys_indication"){
-								this.indicationOptions=res.data;
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					food:this.food,
-					action:this.action,
-					indications:this.indications,
-					keyword:this.keyword,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getMedicatedFoodList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			choseAction(item) {
-				this.action = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			choseFood(item) {
-				this.food = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			choseIndications(item) {
-				this.indications = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './medicatedFoodDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		padding: 0 10upx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-wrap: wrap;
-		.item{
-			width: 50%;
-			box-sizing: border-box;
-			padding: 15upx;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.top{
-				width: 100%;
-				height: 240upx;
-				image{
-					border-radius: 20upx;
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.title{
-				text-align: center;
-				width: 100%;
-				margin-top: 15rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #111111;
-			}
-			.desc{
-				text-align: center;
-				width: 100%;
-				margin-top: 15rpx;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-			
-		}
-	}
-</style>

+ 0 - 235
pages/home/new/questionsDetails.vue

@@ -1,235 +0,0 @@
-<template>
-	<view class="content">
-		<view class="detail-cont">
-			<view class="title">{{item.title}}</view>
-			<view class="info">
-				<view class="reads">阅读数:{{item.views}}</view>
-				<view class="time">{{item.createTime}}</view>
-			</view>
-			<!-- 正文 -->
-			<view class="full-text">
-				<view v-html="item.answers"></view>
-			</view>
-		</view>
-		 
-	</view> 
-</template>
-
-<script>
-	import {getQuestionsById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				id:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getQuestionsById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.vesselName,
-					path: '/pages_index/questionsDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getQuestionsById(){
-				let data = {id:this.id};
-				getQuestionsById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-	}
-	.detail-cont{
-		flex: 1;
-		padding: 40upx;
-		overflow-y: auto;
-		.title{
-			font-size: 40upx;
-			font-family: PingFang SC;
-			// font-weight: bold;
-			color: #222222;
-			line-height: 70upx;
-		}
-		.info{
-			display: flex;
-			align-items: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 48upx;
-			margin: 23upx 0;
-			.reads{
-				margin-right: 30upx;
-			}
-		}
-		.full-text{
-			font-size: 36upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #222222;
-			line-height: 60upx;
-		}
-	}
-	.recent-reads{
-		flex-shrink: 0;
-		box-sizing: border-box;
-		height: 121upx;
-		background: #FFFFFF;
-		border-top: 1px solid #F0F0F0;
-		padding: 0 40upx 0 37upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			display: flex;
-			align-items: center;
-			.label{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-				margin-right: 20upx;
-			}
-			.peop-box{
-				display: flex;
-				align-items: center;
-				.head-box{
-					margin-right: 28upx;
-					display: flex;
-					align-items: center;
-					.head{
-						width: 48upx;
-						height: 48upx;
-						border-radius: 50%;
-						overflow: hidden;
-						box-shadow: 0 0 0 1px #fff;
-						margin-right: -10upx;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-				}
-				.arrow{
-					width: 13upx;
-					height: 23upx;
-				}
-			}
-		}
-		.share-btn{
-			position: relative;
-			width: 240upx;
-			height: 80upx;
-			line-height: 80upx;
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: #2BC7B9;
-			border-radius: 40upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 32upx;
-				height: 32upx;
-				margin-right: 15upx;
-			}
-			.share{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-				opacity: 0;
-			}
-		}
-	}
-	.inquiry{
-		width: 131upx;
-		height: 131upx;
-		position: fixed;
-		right: 22upx;
-		bottom: 193upx;
-		z-index: 99;
-		
-		.content{
-			position: relative;
-			image{
-				width: 100%;
-				height: 100%;
-				position: absolute;
-				top: 0;
-				left: 0;
-				z-index: 9;
-			}
-			.text{
-				position: absolute;
-				top: 70upx;
-				left: 50%;
-				transform: translateX(-50%);
-				z-index: 10;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 1;
-			}
-			 
-		}
-		
-		
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-</style>

+ 0 - 304
pages/home/new/questionsList.vue

@@ -1,304 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入服务包搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in typeOptions" :key="index" :class="questionsType == item.dictValue?'item active':'item'" @click="choseType(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="readers">
-								<view class="readings">
-									<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" ></image>
-									<text class="num">{{item.views}}</text>
-								</view>
-							</view>
-							<view class="time">{{item.createTime}}</view>
-						</view>
-					</view>
-					 
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getQuestionsList} from '@/api/index.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				typeOptions:[],
-				questionsType:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDictByKey("sys_questions_type");
-		},
-		methods:{
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_questions_type"){
-								this.typeOptions=res.data;
-							}
-						 
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					questionsType:this.questionsType,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getQuestionsList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 关键词选择
-			choseType(item) {
-				this.questionsType = item.dictValue;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './questionsDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #66b2ef   ;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9   ;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 48upx;
-				}
-				.info-box{
-					margin-top: 20rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.readers{
-						display: flex;
-						align-items: center;
-						.head-box{
-							margin-right: 27upx;
-							display: flex;
-							align-items: center;
-							.head{
-								width: 48upx;
-								height: 48upx;
-								border-radius: 50%;
-								overflow: hidden;
-								box-shadow: 0 0 0 1px #fff;
-								margin-right: -10upx;
-								image{
-									width: 100%;
-									height: 100%;
-								}
-							}
-						}
-						.readings{
-							display: flex;
-							align-items: center;
-							.eye{
-								width: 26upx;
-								height: 20upx;
-								margin-right: 9upx;
-							}
-							.num{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-					.time{
-						font-size: 24upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-			 
-		}
-	}
-</style>

+ 0 - 584
pages/home/new/test.vue

@@ -1,584 +0,0 @@
-<template>
-	<view class="content">
-		<view class="patient-cont">
-			<view class="chose-patient">
-				<view class="patient-box" @click="addPatient()" v-if="patient==null">
-					<text class="patient-title">选择体验者</text>
-					<view class="right" >
-						<text class="value">请点击添加</text>
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-				<view class="patient" @click="addPatient()" v-if="patient!=null">
-					<view  class="left">
-						<view class="name">{{patient.patientName}}</view>
-						<view class="info">
-							<text class="text" v-if="patient.sex==1">男</text>
-							<text class="text" v-if="patient.sex==2">女</text>
-							<text class="text">{{utils.getAge(patient.birthday)}}岁</text>
-							<text class="text">{{utils.parseIdCard(patient.idCard)}}</text>
-						</view>
-					</view>
-					<view class="right" >
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="msg-cont">
-			<scroll-view
-				class="msg-scroll"
-				:scroll-top="scrollTop"
-				scroll-y="true"
-				:scroll-with-animation="true">
-			<view class="msgs">
-				<view class="msg-item" v-for="(item,index) in msgs" >
-					<view class="left" v-if="item.type==1">
-						<image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/5fd36547a3ca4d0b9935e623d3d8e1c5.png"></image>
-						<view class="msg-content">{{item.content}}</view>
-					</view>
-					<view class="right" v-if="item.type==2">
-						<view class="msg-content">{{item.content}}</view>
-						<image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/d7d49263e2e04f56a7a86fa7bfd35687.jpg"></image>
-					</view>
-				</view>
-			</view>
-			</scroll-view>
-		</view>
-		<view class="option-cont" v-if="item!=null">
-			<view class="option-title" >{{item.title}}</view>
-			<view class="options" >
-				<view class="option-item" @click="optionClick(item,option)" v-for="(option) in JSON.parse(item.scoreJson)" >{{option.name}}</view>
-			</view>
-		</view>
-		
-		<!-- <view class="title">
-			体质测试以当下感受为准作答,人的体质有可能会随季节变化。 
-		</view>
-		<view class="chose-patient">
-			<view class="patient-box" @click="addPatient()" v-if="patient==null">
-				<text class="patient-title">选择体验者</text>
-				<view class="right" >
-					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="patient" @click="addPatient()" v-if="patient!=null">
-				<view  class="left">
-					<view class="name">{{patient.patientName}}</view>
-					<view class="info">
-						<text class="text" v-if="patient.sex==1">男</text>
-						<text class="text" v-if="patient.sex==2">女</text>
-						<text class="text">{{$getAge(patient.birthday)}}岁</text>
-						<text class="text">{{$parseIdCard(patient.idCard)}}</text>
-					</view>
-				</view>
-				<view class="right" >
-					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-		</view>
-		<view class="items">
-			<view class="item" v-for="(item,index) in items">
-				<view class="name">{{index+1}}{{item.title}}?</view>
-				<view class="options">
-					<view :class="item.option!=null&&item.option==option.name?'option active':'option'" @click="optionClick(item,option)"   v-for="(option) in JSON.parse(item.scoreJson)">
-						{{option.name}}
-					</view>
-				</view>
-			</view>
-			 
-		</view>
-		<view class="btns">
-			<view class="btn" @click="submit()">提交</view>
-		</view>
-		<view class="tips">
-			<view class="tip-title">提交代表你已接受以下声明</view>
-			<view class="desc">
-			  本测试不作为诊断和治疗的依据,对于已经医生确诊的疾病,应按照医嘱积极治疗。所提及的内容仅作为生活保健的咨询建议。如遇不适请及时就医。
-			</view>
-		</view> -->
-	</view> 
-</template>
-
-<script>
-	import {getTestTempDetails,getTestDetails ,doReport} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				scrollTop:0,//滚动条位置
-				formJson:null,
-				tempId:null,
-				patient:null,
-				items:{},
-				msgs:[],
-				index:0,
-				item:null,
-			};
-		},
-		onLoad(option) {
-			this.tempId=option.tempId;
-			var that=this;
-			uni.$on('refreshOrderPatient', (res) => {
-				console.log("qxj data:"+JSON.stringify(res))
-				that.patient=res;
-			})
-			
-		},
-		onShow() {
-			this.getTestTempDetails();
-			this.getTestDetails();
-			
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康体质检测",
-					path: '/pages_index/test?tempId='+this.tempId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康体质检测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getTestDetails(){
-				let data = {tempId:this.tempId};
-				getTestDetails(data).then(
-					res => {
-						if(res.code==200){
-							uni.setNavigationBarTitle({
-							      title: res.data.name+"自测"
-							});
-							 
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			addMsg(type,content){
-				var msg={type:type,content:content}
-				this.msgs.push(msg)
-				var that=this;
-				uni
-				  .createSelectorQuery()
-				  .select(".msgs")
-				  .boundingClientRect((res) => {
-				    const scrollH = res.height;
-					that.scrollTop = scrollH;
-					console.log(that.scrollTop)
-				    
-				  })
-				  .exec();
-				 
-				
-			},
-			optionClick(item,option){
-				if(this.patient==null){
-					uni.showToast({
-						icon:'none',
-						title: "请选择体验者",
-					});
-					return;
-				}
-				item.option=option.name;
-				console.log(item.option);
-				this.addMsg(2,option.name);
-				this.index++;
-				if(this.index<=this.items.length-1){
-					this.item=this.items[this.index];
-					this.addMsg(1,this.item.title)
-				}
-				else{
-					//提交
-					this.submit();
-				}
-				
-			},
-			getTestTempDetails(){
-				var data={tempId:this.tempId}
-				getTestTempDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.items=res.items;
-							if(this.items.length>0){
-								this.item=this.items[0];
-								this.addMsg(1,this.item.title)
-							}
-						}
-					},
-					err => {
-					}
-				);
-			},
-			addPatient(){
-				uni.navigateTo({
-					url: '/pages_user/user/patient?isFromTest=true'
-				})
-			},
-			submit(){
-				var data={
-					tempId:this.tempId,
-					patientId:this.patient.patientId,
-					formJson:JSON.stringify(this.items),
-				}
-				var that=this;
-				doReport(data).then(res => {
-					if(res.code==200){
-						uni.redirectTo({
-							url:"./testResult?reportId="+res.reportId
-						})
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: res.msg,
-						});
-					}
-				});
-				// uni.showModal({
-				//     title: '提示',
-				//     content: '确定提交吗',
-				//     success: function (res) {
-				//         if (res.confirm) {
-				// 			doReport(data).then(res => {
-				// 				if(res.code==200){
-				// 					uni.navigateTo({
-				// 						url:"./testResult?reportId="+res.reportId
-				// 					})
-				// 				}else{
-				// 					uni.showToast({
-				// 						icon:'none',
-				// 						title: res.msg,
-				// 					});
-				// 				}
-				// 			});
-				//         } 
-				// 		else if (res.cancel) {
-				//         }
-				//     }
-				// });
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100vh;
-		.msg-cont{
-			padding-bottom: 550rpx;
-			width: 100%;
-			height: calc(100vh - 760rpx);
-			.msg-scroll{
-				height: calc(100vh - 760rpx);
-				.msgs{
-					overflow: hidden;
-					width: 100%;
-					.msg-item{
-						padding: 10rpx 15rpx;
-						display: flex;
-						flex-direction: column;
-						justify-content: center;
-						align-items: flex-start;
-						width: 100%;
-						.left{
-							width: 100%;
-							display: flex;
-							justify-content: flex-start;
-							align-items: flex-start;
-							.img{
-								min-width: 100rpx;
-								width: 100rpx;
-								height:100rpx;
-								border-radius: 50%;
-								image{
-									width: 100%;
-									height:100%;
-								}
-							}
-							.msg-content{
-								margin-top: 15rpx;
-								margin-left: 10rpx;
-								border-radius: 15rpx;
-								padding: 15rpx;
-								background-color: #fff;
-								color: #111;
-								font-size: 28upx;
-								font-family: PingFang SC;
-							}
-						}
-						.right{
-							width: 100%;
-							display: flex;
-							justify-content: flex-end;
-							align-items: flex-start;
-							.msg-content{
-								margin-top: 15rpx;
-								margin-right: 10rpx;
-								border-radius: 15rpx;
-								padding: 15rpx;
-								background-color: #d3ad58;
-								color: #fff;
-								font-size: 28upx;
-								font-family: PingFang SC;
-							}
-							.img{
-								min-width: 100rpx;
-								width: 100rpx;
-								height:100rpx;
-								border-radius: 50%;
-								image{
-									width: 100%;
-									height:100%;
-								}
-							}
-						}
-					}
-				}
-			}
-			
-			
-		}
-		.option-cont{
-			position: fixed;
-			bottom: 0rpx;
-			height: 550rpx;
-			width: 100%;
-			box-sizing: border-box;
-			background-color: #fff;
-			border-radius: 60rpx 60rpx 0rpx 0rpx;
-			padding: 30rpx;
-			.option-title{
-				width: 100%;
-				padding-bottom: 15rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #111;
-			}
-			.options{
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items: center;
-				.option-item{
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 100%;
-					border: 1rpx solid #eee;
-					margin-bottom: 10rpx;
-					padding: 15rpx;
-					border-radius: 5rpx;
-				}
-			}
-		}
-		.title{
-			padding: 15rpx 30rpx;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			width: 100%;
-			background-color: #d3ad58;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fff;
-		}
-		.patient-cont{
-			padding: 15rpx;
-			.chose-patient{
-				padding: 30rpx;
-				box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
-				background-color: #fff;
-				border-radius: 15rpx;
-				.patient-box{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.patient-title{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-					}
-					.right{
-						height: 100%;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						.value{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							color: #999;
-							margin-right: 10rpx;
-						}
-						image{
-							width: 15upx;
-							height: 30upx;
-						}
-						 
-					}
-				}
-				.patient{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					height: 110upx;
-					.left{
-						.name{
-							font-size: 30upx;
-							line-height: 1;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-						.info{
-							margin-top: 30rpx;
-							display: flex;
-							align-items: center;
-							.text{
-								font-size: 26upx;
-								font-family: PingFang SC;
-								line-height: 1;
-								font-weight: 500;
-								color: #999;
-								margin-right: 19upx;
-							}
-							 
-						}
-					}
-					.right{
-						display: flex;
-						align-items: center;
-						image{
-							width: 15upx;
-							height: 30upx;
-						}
-					}
-				}
-			}
-		}
-		
-		.items{
-			padding: 15rpx;
-			width: 100%;
-			padding: 30rpx;
-			border-radius: 15rpx;
-			background-color: #fff;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.item{
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				width: 100%;
-				background-color: #f8f8f8;
-				margin-bottom: 15rpx;
-				.name{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #2a2b2e;
-					font-weight: bold;
-					margin-bottom: 15rpx;
-				}
-				.options{
-					margin: 15rpx 0rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.option{
-						margin-right: 10rpx;
-						margin-bottom: 10rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						border-radius: 10rpx;
-						width:20%;
-						height:80rpx;
-						border: 1rpx solid #9b9b9b;
-						font-size: 28upx;
-						font-family: PingFang SC;
-						color: #2a2b2e;
-						background-color: #fff;
-						
-						&:last-child{
-							margin-right: 0rpx;
-							margin-bottom: 0rpx;
-						}
-					}
-					.active{
-						border: 1rpx solid #d3ad58;
-						background-color: #d3ad58;
-						color: #fff;
-					}
-				}
-			}
-			
-		}
-		.btns{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			width: 100%;
-			padding: 30rpx;
-			.btn{
-				height:80rpx;
-				margin: 0rpx 30rpx;
-				border-radius: 60rpx;
-				width: 100%;
-				border: 1rpx solid #d3ad58;
-				font-size: 32supx;				font-family: PingFang SC;				color: #fff;
-				font-weight: bold;
-				background-color: #d3ad58;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-		}
-		.tips{
-			flex-direction: column;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 100%;
-			padding: 30rpx;
-			.tip-title{
-				font-size: 26supx;
-				font-family: PingFang SC;
-				color: #888;
-				font-weight: bold;
-			}
-			.desc{
-				margin-top: 15rpx;
-				font-size: 24rpx;
-				font-family: PingFang SC;
-				color: #b8bdb5;
-			}
-		}
-	}
-	 
-</style>

+ 0 - 227
pages/home/new/testDetails.vue

@@ -1,227 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg-box">
-			<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/71014b69fdcc4b56ae2a84bdc28f11c3.png"></image>
-			<view class="title-box">
-				<view class="title">
-					{{item.name}}
-				</view>
-			</view>
-		</view>
-		<view class="cont">
-			<view class="msg-box">
-				<view class="msg">{{item.msg}}</view>
-			</view>
-			<view class="line"></view>
-			<view class="desc-box">
-				<view class="desc" v-html="item.descs"> </view>
-			</view>
-			<view class="btn-box">
-				<view class="btn" @click="navTo('./test?tempId='+item.tempId)">立即开始测试</view>
-			</view>
-		<!-- <view class="logo">
-				<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/b95950e4208c493d8b74ce0de220c65c.png"></image>
-			</view> -->
-		</view>
-		
-	</view> 
-</template>
-
-<script>
-	import {getTestDetails} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				tempId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.tempId=option.tempId;
-			 
-		},
-		onShow() {
-			this.getTestDetails();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.$isLogin()){
-				return {
-					title: "健康自测",
-					path: '/pages_index/testDetails?tempId='+this.tempId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			navTo(url) {
-				if(this.utils.isLogin()){
-					uni.navigateTo({
-						url: url
-					})
-				}else{
-					uni.navigateTo({
-						url:'/pages/auth/login'
-					})
-				}
-				// this.$isLogin().then(
-				// 	res => {
-				// 		console.log(res)
-				// 		if(res){
-				// 			uni.navigateTo({
-				// 				url: url
-				// 			})
-				// 		}
-				// 		else{
-				// 			uni.navigateTo({
-				// 				url:'/pages/auth/login'
-				// 			})
-				// 		}
-				// 	}
-				// );
-				
-			},
-			getTestDetails(){
-				let data = {tempId:this.tempId};
-				getTestDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-							uni.setNavigationBarTitle({
-							      title: this.item.name+"自测"
-							});
-							 
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		position: relative;
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		.bg-box{
-			position: absolute;
-			width: 100%;
-			height: 600rpx;
-			.title-box{
-				top: 50rpx;
-				left:50rpx;
-				position: absolute;
-				
-				.title{
-					border-radius: 5rpx;
-					border: 1rpx solid #fff;
-					padding: 20rpx 30rpx;
-					font-size: 36rpx;
-					font-family: Source Han Sans CN;
-					font-weight: bold;
-					color: #fff;
-				}
-				
-				
-				
-			}
-			image{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-			}
-			
-		}
-		.cont{
-			position: relative;
-			margin-top: 550rpx;
-			z-index: 9999;
-			padding: 30rpx;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-			padding: 30rpx;
-			background-color: #fff;
-			border-radius: 30rpx 30rpx 0rpx 0rpx;
-			.msg-box{
-				.msg{
-					font-size: 36rpx;
-					font-family: Source Han Sans CN;
-					font-weight: bold;
-					color: #111;
-				}
-			}
-			.line{
-				margin: 15rpx 0rpx;
-				background-color: #F6F6F6;
-				height:5rpx;
-				width: 100%;
-			}
-			.desc-box{
-				margin-top: 20rpx;
-				background: #FFFFFF;
-				.desc{
-					color: #814E1B;
-				}
-			}
-			.logo{
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				margin: 60rpx 0rpx;
-				width: 100%;
-				image{
-					width: 200rpx;
-					height:100rpx;
-				}
-			}
-			.btn-box{
-				margin-top: 60rpx;
-			 	height: 140upx;
-			 	width: 100%;
-			 	box-sizing: border-box;
-			 	display: flex;
-			 	align-items: center;
-			 	justify-content: center;
-				
-			 	.btn{
-			 		width: 100%;
-			 		height: 88upx;
-			 		line-height: 88upx;
-			 		text-align: center;
-			 		font-size: 34upx;
-			 		font-family: PingFang SC;
-			 		font-weight: bold;
-			 		color: #FFFFFF;
-			 		background: #2BC7B9;
-			 		border-radius: 50upx;
-			 	}
-			 }
-		}
-		
-		
-	}
-	 
-</style>

+ 0 - 213
pages/home/new/testList.vue

@@ -1,213 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg">
-			<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/8e52ab17eabc4534b3ce56026fd5c624.jpg"></image>
-		</view>
-		<mescroll-body  top="0rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="test-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.name }}</view>
-						<view class="subtitle ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="people-num"><text class="num">{{item.peopleNum}}W</text>人测过</view>  
-							<view class="time">{{item.num}}题 | {{item.time}}分钟</view>
-						</view>
-					</view>
-					<view class="right">
-						<image :src="item.img" mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getTestList,getTestDetails} from '@/api/test.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-		 
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-		 
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					path: '/pages_index/testList',
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			  
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getTestList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './testDetails?tempId=' + item.tempId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	 
-	.content{
-		position: relative;
-		.bg{
-			position: absolute;
-			width: 100%;
-			height: 100%;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-	.test-list{
-		margin-top: 20upx;
-		padding: 0 20upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			height: 271upx;
-			background: #FFFFFF;
-			border: 2px solid rgba(195,154,88,0.35);
-			box-shadow: -1px 4px 5px 0px rgba(153,102,51,0.25);
-			border-radius: 12px;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 40rpx;
-					font-family: PingFang SC;
-					line-height: 48upx;
-					font-weight: bold;
-					color: #814E1B;
-				}
-				.subtitle{
-					color: #814E1B;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					margin: 10rpx 0rpx;
-				}
-				.info-box{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.people-num{
-						font-size: 24upx;
-						font-family: PingFang SC;
-						color: #2BC7B9;
-						.num{
-							font-weight: bold;
-							color: #814E1B;
-						}
-					}
-					.time{
-						margin-left: 25upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #2BC7B9;
-					}
-				}
-			}
-			.right{
-				width: 250upx;
-				height: 190upx;
-				border-radius: 8upx;
-				overflow: hidden;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 353
pages/home/new/testResult.vue

@@ -1,353 +0,0 @@
-<template>
-	<view class="content">
-		<view class="cont">
-			<view class="bg">
-				<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/8e52ab17eabc4534b3ce56026fd5c624.jpg" ></image>
-			</view>
-			<view class="cont-box" v-if="report!=null">
-				<view class="user">
-					<image :src="JSON.parse(report.patientJson).avatar==null?'https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/22cb9518a55040dea74d8f730551a7a2.jpg':JSON.parse(report.patientJson).avatar"></image>
-					<view class="user-box">
-						<view class="sex">性别 {{JSON.parse(report.patientJson).sex==1?"男":"女"}}</view>
-						<view class="username">年龄 {{JSON.parse(report.patientJson).age}}岁</view>
-					</view>
-				</view>
-				<view class="items">
-					<view class="result-box">
-						<view class="time">检测时间 {{report.createTime}}</view>
-						<view class="title">您属于{{report.testResult}}</view>
-						<view class="name">{{report.testResult}}</view>
-						
-					</view>
-				<!-- 	<view class="item-box" :key="index" v-for="(item,index) in JSON.parse(report.conditioningPlanJson) ">
-						<view class="item">
-							<view class="title-box">
-								<view class="title">{{item.name}}</view>
-							</view>
-							<view class="descs" >{{item.value.replace(/\\n/g, '<br>')}}</view>
-						</view>
-						<view v-if="index<JSON.parse(report.conditioningPlanJson).length-2" class="line"></view>
-					</view>
-				 -->
-				</view>
-				<view class="tips">注:报告内容仅供参考,具体情况以医生建议为准</view>
-				<view class="banner" v-if="advImgs.length>0">
-					<u-swiper
-							:list="advImgs"
-							circular
-							@click="handleAdvClick">
-					</u-swiper>
-				</view>
-			</view>
-		</view>
-		<view class="share" @click="shareImg()">
-			<text>分享</text>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getAdvList} from '@/api/adv.js'
-	import {getTestReport,getTestReportImg} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				advImgs:[],
-				advs:[],
-				reportId:null,
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				report:null,
-			};
-		},
-		onLoad(option) {
-			this.reportId=option.reportId;
-			this.getTestReport();
-		},
-		onShow() {
-			this.getAdvList();
-		},
-		methods:{
-			shareImg(){
-				var data={reportId:this.reportId}
-				getTestReportImg(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res)
-							wx.downloadFile({
-								url: res.img,
-								success: (res1) => {
-								   console.log(res1)
-							     wx.showShareImageMenu({
-							       path: res1.tempFilePath
-							     })
-							   },
-							   fail:(res2)=>{
-								   console.log(res2)
-							   }
-							})
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			handleAdvClick(item){
-				console.log(item);
-				if(item.showType==1){
-					uni.setStorageSync('url',item.advUrl);
-					uni.navigateTo({
-						url:"h5"
-					})
-				}
-				else if(item.showType==2){
-					uni.navigateTo({
-						url:item.advUrl
-					})
-				}
-				else if(item.showType==3){
-					 uni.setStorageSync('content',item.content);
-					 uni.navigateTo({
-					 	url:"content"
-					 })
-				}
-				
-			},
-			getAdvList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					advType:3
-				};
-				getAdvList(data).then(res => {
-					if(res.code==200){
-						that.advImgs=[];
-						that.advs=res.data;
-						that.advs.forEach(function(element) {
-							if(element.imageUrl!=null&&element.imageUrl!=""){
-								that.advImgs.push(element.imageUrl);
-							}
-						});
-						console.log(that.advImgs)
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-			getTestReport(){
-				var data={reportId:this.reportId}
-				getTestReport(data).then(
-					res => {
-						if(res.code==200){
-							this.report=res.report;
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			goBack(){
-				uni.navigateBack()
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FDF7F0;
-		height: 100%;
-	}
-	.content{
-		.cont{
-			position: relative;
-			width: 100%;
-			display: flex;
-			flex-direction: column;
-			.bg{
-				width: 100%;
-				height:100%;
-				// background-color: #2BC7B9;
-				// background: linear-gradient(#66b2ef, #2BC7B9);
-				position: fixed;
-				image{
-					width: 100%;
-					height:100%;
-				}
-				z-index: 1;
-			}
-			.cont-box{
-				
-				z-index: 1000;
-				margin-top: 88rpx;
-				.user{
-					box-sizing: border-box;
-					width: 100%;
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					justify-content: center;
-					padding: 30rpx;
-					image{
-						border-radius: 50%;
-						border: 2rpx solid #ffffff;
-						width:120rpx;
-						height:120rpx;
-					}
-					.user-box{
-						padding: 30rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						.sex{
-							font-weight: bold;
-							font-size: 40supx;
-							font-family: PingFang SC;
-							color: #925924;
-						}
-						.username{
-							margin-left: 15rpx;
-							font-size: 40supx;
-							font-family: PingFang SC;
-							color: #925924;
-						}
-						
-					}
-				}
-				.items{
-					width: 100%;
-					box-sizing: border-box;
-					display: flex;
-					flex-direction: column;
-					align-items: flex-start;
-					justify-content: flex-start;
-					padding: 20rpx;
-					.result-box{
-						width: 100%;
-						box-sizing: border-box;
-						display: flex;
-						flex-direction: column;
-						align-items:center;
-						justify-content: center;
-						padding: 30rpx;
-						background-color: #fff;
-						border-radius: 15rpx;
-						margin-bottom: 15rpx;
-						.time{
-							margin-top: 15rpx;
-							font-family: PingFang SC;
-							font-size: 24rpx;
-							color: #9B9B9B;
-						}
-						.title{
-							margin-top: 15rpx;
-							font-family: PingFang SC;
-							font-size: 28rpx;
-							color: #626468;
-							
-						}
-						.name{
-							margin-top: 30rpx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							font-size: 60rpx;
-							color: #925924;
-						}
-						.descs{
-							font-family: PingFang SC;
-							font-size: 28rpx;
-							color: #2A2B2E;
-							padding: 30rpx;
-							margin-top: 30rpx;
-							background-color: #F5F6F6;
-							border-radius: 10rpx;
-						}
-					}
-					.item-box{
-						width: 100%;
-						.item{
-							width: 100%;
-							padding: 30rpx;
-							background-color: #fff;
-							border-radius:30rpx;
-							.title-box{
-								display: flex;
-								align-items:center;
-								justify-content: flex-start;
-								.title{
-									margin-left: 10rpx;
-									font-size: 32supx;
-									font-family: PingFang SC;
-									color: #925924;
-									font-weight: bold;
-								}
-								.title-line{
-									width: 8rpx;
-									height: 28rpx;
-									background: #2BC7B9;
-									border-radius: 2px 2px 2px 2px;
-									opacity: 1;
-								}
-								
-							}
-							.descs{
-								white-space: pre-line; 
-								margin-top: 10rpx;
-								font-size: 28supx;
-								font-family: PingFang SC;
-								color: #2A2B2E;
-							}
-							
-						}
-						.line{
-							margin: 0rpx 30rpx;
-							border-bottom: #b5b5b5 3rpx dashed;
-						}
-						
-					}
-				
-					
-					
-				}
-				.tips{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					margin: 15rpx 0rpx;
-					color: #9B9B9B;
-					font-size: 24rpx;
-				}
-				.banner{
-					height:250rpx;
-					width: 100%;
-					padding: 15rpx 20upx;
-				 
-				}
-			}
-		}
-		
-	}
-	.share{
-		width: 100rpx;
-		height:100rpx;
-		z-index: 9999;
-		border-radius: 50%;
-		position: fixed;
-		bottom: 100rpx;
-		right:50rpx;
-		background-color: #925924;
-		color: #fff;
-		font-weight: bold;
-		font-size: 28rpx;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-	}
-</style>

+ 0 - 196
pages/home/new/testResultImg.vue

@@ -1,196 +0,0 @@
-<template>
-  <view class="content">
-    <view class="banenr">
-       <image class="slide-image" :src="url" mode="widthFix" show-menu-by-longpress />
-    </view>
-	<view class="btn-box">
-		<view class="btn" @click="shareImg()">分享好友</view>
-	</view>
-  </view>
-</template>
-<script>
- 
-import {getTestReportImg} from '@/api/test.js'
-export default {
-  name: 'Poster',
-  components: {
-  },
-  props: {},
-  data: function() {
-    return {
-       url:null,
-    }
-  },
-  mounted: function() {
-    this.getTestReportImg()
-  },
-  methods: {
-	shareImg:function(){
-		wx.downloadFile({
-		  url: this.url,
-		  success: (res) => {
-		    wx.showShareImageMenu({
-		      path: res.tempFilePath
-		    })
-		  }
-		})
-	},
-    getTestReportImg: function() {
-      let that = this
-	  var data={
-		  reportId:this.reportId
-	  }
-      getTestReportImg(data).then(
-        res => {
-			that.url =res.url
-        },
-        err => {
-          uni.showToast({
-            title: err.msg,
-            icon: 'none',
-            duration: 2000,
-          })
-        }
-      )
-    },
-    downloadIamge(imgsrc, name) {
-      var that = this
-      this.isDown = true
-      var downloadUrl = imgsrc
-      // if (!wx.saveImageToPhotosAlbum) {
-      //   uni.showModal({
-      //     title: '提示',
-      //     content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
-      //   })
-      //   that.openDialogVisible = true
-
-      //   return
-      // }
-
-      that.downloadFile(downloadUrl)
-
-      //可以通过 uni.getSetting 先查询一下用户是否授权了 "scope.writePhotosAlbum" 这个 scope
-      // uni.getSetting({
-      //   success(res) {
-      //     if (!res.authSetting["scope.writePhotosAlbum"]) {
-      //       that.openDialogVisible = true;
-
-      //       // 接口调用询问
-      //       uni.authorize({
-      //         scope: "scope.writePhotosAlbum",
-      //         success() {
-      //           that.downloadFile(downloadUrl);
-      //         },
-      //         fail() {
-      //           // 用户拒绝了授权
-      //           // 打开设置页面
-      //           uni.openSetting({
-      //             success: function (data) {},
-      //             fail: function (data) {}
-      //           });
-      //         }
-      //       });
-      //     } else {
-      //       that.downloadFile(downloadUrl);
-      //     }
-      //   },
-      //   fail(res) {
-      //     that.openDialogVisible = true;
-      //   }
-      // });
-    },
-    saveImg: function() {
-      this.downloadIamge(this.url, 'poster')
-    },
-    downloadFile(url) {
-		console.log(url);
-		uni.showLoading({
-			title: "图片保存中..."
-		})
-		uni.downloadFile({
-			url,
-			fail: function(res) {
-			  uni.showModal({
-				title: '提示',
-				content: '保存失败',
-			  })
-			},
-			success: function(res) {
-				console.log(res)
-				var tempFilePath = res.tempFilePath;
-				uni.saveImageToPhotosAlbum({
-					filePath: tempFilePath,
-					success:()=> {
-					  // 5 提示保存成功
-					  uni.showToast({
-						title: "保存成功",
-						duration: 2000
-					  })
-					},
-					fail:()=>{
-					  //  6 失败关闭提示信息!!!
-					  console.log("saveImageToPhotosAlbum 失败");
-					  uni.hideLoading();
-					},
-					complete: function() {
-					  // 7 隐藏提示
-					  uni.hideLoading();
-					}
-				})
-			},
-		})
-    },
-  },
-}
-</script>
-
-<style lang="less">
-page {
-	height: 100%;
-}
-
-.content {
-	height: 100%;
-  
-}
-
-.banenr {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	padding-bottom:140upx ;
-	height: 100%;
-}
-
-.banner .slide-image {
-	width: 100%;
-	height: auto;
-	
-}
-.btn-box{
- 	height: 140upx;
- 	z-index: 9999;
- 	width: 100%;
- 	padding: 0rpx 30upx;
- 	position: fixed;
- 	bottom: 0;
- 	left: 0;
- 	box-sizing: border-box;
- 	background-color: #ffffff;
- 	display: flex;
- 	align-items: center;
- 	justify-content: center;
- 	.btn{
- 		width: 100%;
- 		height: 88upx;
- 		line-height: 88upx;
- 		text-align: center;
- 		font-size: 34upx;
- 		font-family: PingFang SC;
- 		font-weight: 400;
- 		color: #ffffff;
- 		background:#2BC7B9 !important;
- 		border-radius: 44upx;
- 	}
- }
-</style>

+ 0 - 197
pages/home/new/vesselDetails.vue

@@ -1,197 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.vesselName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="content"   v-html="item.descs">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getVesselById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getVesselById();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.vesselName,
-					path: '/pages_index/vesselDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.vesselName,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getVesselById(){
-				let data = {id:this.id};
-				getVesselById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 312
pages/home/new/vesselList.vue

@@ -1,312 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="tabs">
-				 <u-tabs
-				  :scrollable="false"
-				  :list="tabs"  
-				  lineColor="#2BC7B9"
-				 @change="tabChange">
-				 </u-tabs>
-			</view>
-		</view>
-		<view class="cont-box">
-			<view class="left">
-				<view class="items">
-					<view v-if="tabIndex==1" @click="vesselClick(item)" v-for="item in vesselOptions" :class="item.dictValue==vessel?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictValue==vessel"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==2" @click="regionClick(item)" v-for="item in regionOptions" :class="item.dictLabel==region?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==region"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-				</view>
-			</view>
-			<view class="right" >
-				<view class="title">{{title}}</view>
-				<scroll-view @scrolltolower="scrolltolower" scroll-y="true"  style="height: calc(100vh - 180rpx);">
-				<view class="items">
-					<view class="r-item" @click="showDetail(item)" v-for="item in dataList">
-						<view class="r-left">{{item.vesselName}}</view>
-						<view class="r-right">
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/fire.png"></image>
-						</view>
-					</view>
-				</view>
-				</scroll-view>
-			</view>
-		</view>
-		
-	</view>
-</template>
-
-<script>
-	
-	import {getDictByKey} from '@/api/common.js'
-	import {getVesselList} from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				vessel:"",
-				region:"",
-				title:"",
-				pageNum:1,
-				pageSize:20,
-				vesselOptions:[],
-				regionOptions:[],
-				tabs: [
-					{name:"按经络查询",id:"1"},
-					{name:"按部位查询",id:"2"}
-				],
-				keyword: '',
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDictByKey("sys_vessel");
-			this.getDictByKey("sys_vessel_region");
-			this.getVesselList()
-			
-		},
-		methods:{
-			scrolltolower(e){
-				this.pageNum++;
-				this.getVesselList()
-				console.log(e)
-			},
-			regionClick(item){
-				this.vessel=""
-				this.region=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getVesselList()
-			},
-			vesselClick(item){
-				this.region=""
-				this.vessel=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getVesselList()
-			},
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_vessel"){
-								this.vesselOptions=res.data;
-							}
-							if(key=="sys_vessel_region"){
-								this.regionOptions=res.data;
-								 
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			tabChange(item) {
-				this.tabIndex = item.id
-				this.getVesselList();
-			},
-			doSearch(){
-				this.pageNum=1;
-				this.getVesselList()
-			},
-			getVesselList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					vessel:this.vessel,
-					region:this.region,
-					keyword:this.keyword,
-					pageNum: this.pageNum,
-					pageSize: this.pageSize
-				};
-				uni.showLoading({
-					title:"加载中..."
-				})
-				getVesselList(data).then(res => {
-					uni.hideLoading()
-					if(res.code==200){
-						//设置列表数据
-						if (this.pageNum == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = [];
-					}
-				});
-			},
-			 
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './vesselDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		overflow: hidden;
-	}
-	.top-box{
-		width: 100%;
-		height: 180rpx;
-		background-color: #FFFFFF;
-		.search-cont{
-			padding: 16upx 30upx;
-			.inner{
-				box-sizing: border-box;
-				width: 100%;
-				height: 72upx;
-				background: #F7F7F7;
-				border-radius: 36upx;
-				display: flex;
-				align-items: center;
-				padding: 0 30upx;
-				.icon-search{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				input{
-					height: 60upx;
-					line-height: 60upx;
-					flex: 1;
-				}
-			}
-		}
-		.tabs{
-		}
-	}
-	.cont-box{
-		height: calc(100% - 180rpx);
-		display: flex;
-		align-items: flex-start;
-		justify-content: flex-start;
-		.left{
-			padding: 30rpx 0rpx;
-			width: 240rpx;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.items{
-				width: 240rpx;
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: flex-start;
-				.item{
-					width: calc(100% - 10rpx);
-					padding: 0rpx 0rpx 0 10rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: normal;
-					color: #111111;
-					font-weight: 500;
-					line-height: 80upx;
-					.line{
-						margin-right: 15rpx;
-						border-radius: 5rpx;
-						width: 8rpx;
-						height:30rpx;
-						background-color: #2BC7B9;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #2BC7B9;
-					padding-left: 0;
-					width: 100%;
-				}
-			}
-			
-		}
-		.right{
-			padding: 30rpx 15rpx;
-			background-color: #fff;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			width: calc(100% - 240rpx);
-			.title{
-				font-size: 40upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 80upx;
-			}
-			.items{
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				.r-item{
-					line-height: 80rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.r-left{
-						flex: 1;
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #080808;
-					}
-					.r-right{
-						padding: 0rpx 20rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						image{
-							width: 22rpx;
-							height:30rpx;
-						}
-					}
-					
-				}
-				 
-			}
-		}
-	}
-	 
-</style>

+ 520 - 0
pages/home/newindex.vue

@@ -0,0 +1,520 @@
+<template>
+	<view class="content">
+		<image class="bg" src="@/static/images/bg.png" mode="aspectFill"></image>
+		<view class="header-wrap">
+			<SearchBar
+			    :margin-top="menuButtonInfo.top"
+				:bg-color="bgColor"
+				:status-bar-height="statusBarHeight"
+				:cart-count="cartCount"
+				:search-width="'500rpx'"
+				placeholder="搜索商品"
+				@searchClick="toSearch"
+				@cartClick="goAuthUrl('/pages/shopping/cart')"
+			/>
+		</view>
+         <view style="padding-bottom:100rpx">
+         	<view class="status_bar" :style="{height: statusBarHeight}"></view>
+         </view>
+		<!-- 主横幅:两图横向 -->
+		<!-- <view class="banner-row" v-if="advList && advList.length > 0">
+			<view class="banner-item" v-for="(item, i) in advList.slice(0, 2)" :key="i" @tap="handleAdvClick(item)">
+				<image class="banner-img" :src="item.advImg || item.imageUrl" mode="aspectFill"></image>
+			</view>
+			<view class="banner-item" v-for="(item, i) in advList.slice(0, 2)" :key="i" @tap="handleAdvClick(item)">
+				<image class="banner-img" :src="item.advImg || item.imageUrl" mode="aspectFill"></image>
+			</view>
+		</view> -->
+
+    <!-- 推荐频道 -->
+    <ChannelEntry :list="channelList" :per-row="4" :rows="2" @click="onChannelClick" />
+
+		<!-- 金刚区:分类图标 2 行 4 列,仅展示 -->
+		<CategoryTags :tags="categoryTagsData" @selectClick="onCategoryTagsSelect" />
+
+
+		<!-- 推荐区块:左侧直播卡(直播中/回放中)+ 右上绿色有机 + 右下上新推荐 -->
+		<RecommendSection
+			:live="recommendData.live"
+			:green="recommendData.green"
+			:hot="recommendData.hot"
+			@liveClick="onLiveClick"
+			@more="onRecommendMore"
+			@itemClick="onRecommendItemClick"
+		/>
+
+		<!-- 瀑布流:全部 + 分类标签横向滚动 -->
+		<GoodsNav :nav-list="goodsNavList" :active-id="activeGoodsNavId" @select="onGoodsNavSelect" />
+
+		<GoodsList
+			:list="goodsList"
+			:loading="goodsLoading"
+			:has-more="goodsHasMore"
+			@itemClick="showProduct"
+			@loadMore="loadMoreGoods"
+		/>
+
+		<!--#ifdef MP-WEIXIN-->
+		<view class="official-account">
+			<official-account @load="bindload" @error="binderror"></official-account>
+		</view>
+		<!--#endif-->
+
+		<view class="popup-box" v-if="activityShow">
+			<view class="info-mask" @tap="closeActivity()"></view>
+			<view class="info-form">
+				<image :src="activity.logoUrl" @tap="showActivity()" />
+			</view>
+		</view>
+		<z-modal :show="tuiModalControl" placeholderText="请输入邀请码" :btnGroup="btnGroup" :contentType="2"
+			titleText="填写邀请码" @cancle="cancleTui" @sure="submitTui"></z-modal>
+		<Server />
+	</view>
+</template>
+
+<script>
+import zModal from '@/components/z-modal/z-modal.vue'
+import { getMenu, getIndexData, getCartCount } from '@/api/index'
+import { getStoreConfig } from '@/api/common'
+import { getHomeInit, getHomeRecommend, getHomeGoods } from '@/api/home.js'
+import HotProduct from './components/HotProduct.vue'
+import TuiProduct from '@/components/tuiProduct.vue'
+import SearchBar from './components/SearchBar.vue'
+import CategoryTags from './components/CategoryTags.vue'
+import ChannelEntry from './components/ChannelEntry.vue'
+import RecommendSection from './components/RecommendSection.vue'
+import GoodsNav from './components/GoodsNav.vue'
+import GoodsList from './components/GoodsList.vue'
+import { getUserInfo, bindPromoter } from '@/api/user'
+
+export default {
+	components: {
+		zModal,
+		HotProduct,
+		TuiProduct,
+		SearchBar,
+		CategoryTags,
+		ChannelEntry,
+		RecommendSection,
+		GoodsNav,
+		GoodsList
+	},
+	data() {
+		return {
+			btnGroup: [
+				{ text: '取消', color: '#FFFFFF', bgColor: '#999999', width: '150rpx', height: '80rpx', shape: 'fillet', eventName: 'cancle' },
+				{ text: '确定', color: '#FFFFFF', bgColor: '#FF233C', width: '150rpx', height: '80rpx', shape: 'fillet', eventName: 'sure' }
+			],
+			menuButtonInfo: {}, // 胶囊按钮布局信息
+			tuiModalControl: false,
+			activity: null,
+			activityShow: false,
+			hotProductList: [],
+			menus: [],
+			channelList: [],
+			categoryTagsData: [],
+			goodsNav: [],
+			recommendData: { live: [], green: [], hot: [] },
+			activeGoodsNavId: 'all',
+			goodsList: [],
+			goodsLoading: false,
+			goodsHasMore: true,
+			goodsPageNum: 1,
+			cartCount: 0,
+			advList: [],
+			top: 0,
+			statusBarHeight: (uni.getStorageSync('menuInfo') && uni.getStorageSync('menuInfo').statusBarHeight) || 20,
+			userinfoa: [],
+			isuser: false
+		}
+	},
+	computed: {
+		bgColor() {
+			const t = this.top / 30
+			if(t>0){
+				return '/static/images/bg.png'
+			}else{
+				return ''
+			}
+		},
+		// 瀑布流标签:全部 + 后端 categoryTags
+		goodsNavList() {
+			const all = [{ id: 'all', name: '全部', categoryName: '全部' }]
+			const tags = (this.goodsNav || []).map(t => ({
+				id: t.id || t.cateId,
+				name: t.categoryName || t.cateName || t.name,
+				categoryName: t.categoryName || t.cateName || t.name
+			}))
+			return all.concat(tags)
+		}
+	},
+	onLoad(option) {
+		this.getMenuButtonInfo(); // 初始化获取胶囊信息
+		if (option.userCode != null) {
+			uni.setStorageSync('userCode', option.userCode)
+			if (this.utils.checkLoginState()) this.getUserInfo()
+		}
+		if (option.hasOwnProperty('q') && option.q) {
+			const url = decodeURIComponent(option.q)
+			const obj = this.utils.urlToObj(url)
+			uni.setStorageSync('userCode', obj.userCode)
+			if (this.utils.checkLoginState()) this.getUserInfo()
+		}
+	},
+	onUnload() {
+		uni.$emit('stop')
+	},
+	onHide() {
+		uni.$emit('stop')
+	},
+	onPageScroll(e) {
+		this.top = e.scrollTop
+	},
+	onShow() {
+		this.getHomeInit()
+    this.getHomeRecommend()
+		this.getMenu()
+		this.getIndexData()
+		if (uni.getStorageSync('AppToken')) {
+			this.getUserInfo()
+		} else {
+			this.isuser = true
+		}
+		if (this.utils.checkLoginState()) this.getCartCount()
+		this.getStoreConfig()
+	},
+	onShareAppMessage() {
+		return { title: '云联精选-您的专属解决方案', path: '/pages/common/launch', imageUrl: '/static/logo.png' }
+	},
+	onShareTimeline() {
+		return { title: '云联精选-您的专属解决方案', query: '', imageUrl: '/static/logo.png' }
+	},
+	onReachBottom() {
+		this.loadMoreGoods()
+		this.$refs.tuiProduct && this.$refs.tuiProduct.getTuiProducts()
+	},
+	methods: {
+		// 获取胶囊按钮布局参数
+		getMenuButtonInfo() {
+			// 微信小程序API(Uniapp可直接用uni.getMenuButtonBoundingClientRect)
+			const menuBtn = uni.getMenuButtonBoundingClientRect();
+			if (menuBtn) {
+		
+				this.menuButtonInfo = {
+					top: menuBtn.top + 'px', // 胶囊顶部距离
+					height: menuBtn.height + 'px', // 胶囊高度
+					centerY: (menuBtn.top + menuBtn.height / 2) + 'px', // 胶囊垂直居中Y坐标
+					right: menuBtn.right + 'px' // 胶囊右侧距离
+				};
+			}
+		},
+		getHomeInit() {
+			getHomeInit().then(res => {
+				if (res.code == 200 && res.data) {
+					this.channelList = res.data.channelList || []
+					this.categoryTagsData = res.data.categoryTags || []
+					this.goodsNav = res.data.goodsNav || []
+					if (this.activeGoodsNavId === null || this.activeGoodsNavId === undefined) {
+						this.activeGoodsNavId = 'all'
+					}
+					this.fetchGoodsList(true)
+				}
+			}).catch(() => {})
+		},
+		getHomeRecommend() {
+			getHomeRecommend().then(res => {
+				if (res.code != 200) return
+				this.recommendData = {
+					live: res.live && Array.isArray(res.live) ? res.live.slice(0, 3) : [],
+					green: res.green && Array.isArray(res.green) ? res.green : [],
+					hot: res.hot && Array.isArray(res.hot) ? res.hot : []
+				}
+			}).catch(() => {})
+		},
+		fetchGoodsList(reset) {
+			if (reset) {
+				this.goodsPageNum = 1
+				this.goodsList = []
+				this.goodsHasMore = true
+			}
+			if (this.goodsLoading || !this.goodsHasMore) return
+			this.goodsLoading = true
+			const id = this.activeGoodsNavId === 'all' || this.activeGoodsNavId === '' ? 0 : this.activeGoodsNavId
+			getHomeGoods({ id, pageNum: this.goodsPageNum, pageSize: 10 }).then(res => {
+				this.goodsLoading = false
+				if (res.code == 200 && res.data) {
+					const list = Array.isArray(res.data.list) ? res.data.list : []
+					const total = res.data.total != null ? Number(res.data.total) : 0
+					if (reset) this.goodsList = list
+					else this.goodsList = this.goodsList.concat(list)
+					this.goodsHasMore = list.length >= 20 && (this.goodsList.length < total || total === 0)
+					this.goodsPageNum++
+				}
+			}).catch(() => { this.goodsLoading = false })
+		},
+		loadMoreGoods() {
+			this.fetchGoodsList(false)
+		},
+		onGoodsNavSelect(item) {
+      //console.log("2222")
+      //console.log(item.id)
+			this.activeGoodsNavId = item.id
+			this.fetchGoodsList(true)
+		},
+		onCategoryTagsSelect(item) {
+			//console.log(this.categoryTagsData,'item')
+			// 金刚区点击:带分类 id 跳转商品列表页筛选(防护 item 为空)
+			if (!item || typeof item !== 'object') {
+				uni.navigateTo({ url: '/pages/home/productList' })
+				return
+			}
+			const id = item.id ?? item.cateId ?? item.categoryId
+			if (id != null && id !== '') {
+				uni.navigateTo({ url: '/pages/home/productList?id=' + id })
+			} else {
+				uni.navigateTo({ url: '/pages/home/productList' })
+			}
+		},
+		onChannelClick(item) {
+			// 推荐频道点击,可跳转或筛选,按需扩展
+		},
+		onRecommendMore(section) {
+			if (section && section.moreUrl) {
+				uni.navigateTo({ url: '/pages/home/recommendList' })
+				return
+			}
+			if (section && (section.type === 'green' || section.type === 'hot')) {
+				uni.navigateTo({ url: '/pages/home/recommendList?type='+section.type})
+			}
+		},
+		onLiveClick(item) {
+			//console.log(item)
+			if (item && item.liveId) uni.navigateTo({ url: '/pages_course/living?liveId=' + item.liveId })
+		},
+		onRecommendItemClick(item) {
+			if (item.productId) this.showProduct(item)
+		},
+		getMenu() {
+			getMenu().then(res => {
+				if (res.code == 200) this.menus = res.data || []
+			})
+		},
+		getIndexData() {
+			getIndexData({}).then(res => {
+				if (res.code == 200) {
+					this.advList = res.data.advList || []
+					this.hotProductList = res.data.hotProductList || []
+				} else {
+					uni.showToast({ icon: 'none', title: '请求失败' })
+				}
+			})
+		},
+		getUserInfo() {
+			getUserInfo().then(res => {
+				if (res.code == 200 && res.user != null) this.userinfoa = res.user
+				else uni.showToast({ icon: 'none', title: '请求失败' })
+			})
+		},
+		getCartCount() {
+			this.utils.isLogin().then(res => {
+				if (res) getCartCount().then(cartRes => {
+					if (cartRes.code == 200) this.cartCount = cartRes.data
+				})
+			})
+		},
+		getStoreConfig() {
+			getStoreConfig().then(res => {
+				if (res.code == 200) uni.setStorageSync('config', JSON.stringify(res.data))
+			})
+		},
+		cancleTui() {
+			this.tuiModalControl = false
+		},
+		submitTui(e) {
+			if (!e.inputText) {
+				uni.showToast({ icon: 'none', title: '请输入邀请码' })
+				return
+			}
+			bindPromoter({ userCode: e.inputText }).then(res => {
+				uni.showToast({ icon: 'none', title: res.msg })
+				if (res.code == 200) this.tuiModalControl = false
+			})
+		},
+		bindload() {},
+		binderror() {},
+		closeActivity() {
+			this.activityShow = false
+		},
+		showActivity() {
+			this.activityShow = false
+			if (this.activity && this.activity.activityId) {
+				uni.navigateTo({ url: '/pages_shopping/shopping/activityDetails?activityId=' + this.activity.activityId })
+			}
+		},
+		menuClick(item) {
+			const linkUrl = item.linkUrl || item.url
+			const linkType = item.linkType != null ? item.linkType : (linkUrl ? 1 : 0)
+			if (linkType == 1 && linkUrl) {
+				if (linkUrl == '/pages/shopping/index' || linkUrl == '/pages/healthy/index') {
+					uni.switchTab({ url: linkUrl })
+				} else {
+					uni.navigateTo({ url: linkUrl })
+				}
+			} else if (linkType == 0) {
+				uni.showToast({ icon: 'none', title: '开发中...' })
+			}
+		},
+		handleAdvClick(item) {
+			if (item.showType == 1) {
+				uni.setStorageSync('url', item.advUrl)
+				uni.navigateTo({ url: 'h5' })
+			} else if (item.showType == 2) {
+				uni.navigateTo({ url: item.advUrl })
+			} else if (item.showType == 3) {
+				uni.setStorageSync('content', item.content)
+				uni.navigateTo({ url: 'content' })
+			}
+		},
+		goAuthUrl(url) {
+			this.utils.isLogin().then(res => {
+				if (res) uni.switchTab({ url })
+			})
+		},
+		navTo(url) {
+			uni.navigateTo({ url })
+		},
+		toSearch() {
+			//uni.navigateTo({ url: './productSearch' })
+			uni.navigateTo({ url: '../home/productList' })
+		},
+		showProduct(item) {
+			console.log('item',item)
+			uni.navigateTo({ url: '../shopping/productDetails?productId=' + item.productId })
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.content {
+	width: 100%;
+	position: relative;
+	min-height: 100vh;
+	padding-top: 1rpx;
+}
+.header-wrap {
+	position: relative;
+	z-index: 10;
+}
+.banner-row {
+	position: relative;
+	display: flex;
+	gap: 20rpx;
+	padding: 20rpx 24rpx;
+	// background: #fff;
+}
+.banner-item {
+	flex: 1;
+	height: 220rpx;
+	border-radius: 16rpx;
+	overflow: hidden;
+	background: #f5f5f5;
+}
+.banner-img {
+	width: 100%;
+	height: 100%;
+}
+.bg {
+	width: 100%;
+	height: 380rpx;
+	position: absolute;
+	top: 0;
+	left: 0;
+	z-index: -1;
+}
+.status_bar {
+	width: 100%;
+}
+.banner-box {
+	padding: 0 20upx;
+}
+.banner-box .inner {
+	width: 100%;
+	height: 236upx;
+	border-radius: 10upx;
+	overflow: hidden;
+}
+.banner-box .swiper,
+.banner-box .swiper-item,
+.banner-box .swiper-item image {
+	width: 100%;
+	height: 100%;
+}
+.menu-content {
+	background-color: #fff;
+	overflow: hidden;
+	padding: 20upx 20upx 0;
+}
+.menu-box {
+	display: flex;
+	align-items: center;
+	background-color: #fff;
+}
+.online-inquiry {
+	box-sizing: border-box;
+	width: 100%;
+	height: 300upx;
+	padding: 20upx;
+	background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 62%, rgba(255, 255, 255, 0) 100%);
+}
+.online-inquiry .item {
+	width: 100%;
+	height: 100%;
+	position: relative;
+}
+.online-inquiry .bg-img {
+	width: 100%;
+	height: 100%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border-radius: 15rpx;
+}
+.index-cont {
+	box-sizing: border-box;
+	padding: 0 20upx 120rpx;
+}
+.official-account {
+	width: 100%;
+}
+.popup-box {
+	position: fixed;
+	top: 0;
+	right: 0;
+	left: 0;
+	bottom: 0;
+	z-index: 999;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+}
+.popup-box .info-mask {
+	position: fixed;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	left: 0;
+	background-color: rgba(0, 0, 0, 0.5);
+	z-index: 999;
+}
+.popup-box .info-form {
+	z-index: 1000;
+	width: 450rpx;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+}
+.popup-box .info-form image {
+	width: 100%;
+}
+</style>

+ 49 - 243
pages/home/productList.vue

@@ -5,15 +5,21 @@
 			<view class="search-cont">
 				<view class="inner">
 					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" @confirm="goSearch"   :value="form.productName" placeholder="输入产品名称" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
+					<input type="text" @confirm="goSearch"   :value="form.keyword" placeholder="输入产品名称" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
 				</view>
-				<view class="icon-search">
+				<!-- <view class="icon-search">
 					<image @click="showChange(2)" v-if="showType==1"  src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search1.png" mode=""></image>
 					<image @click="showChange(1)" v-if="showType==2"  src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search2.png" mode=""></image>
-				</view>
+				</view> -->
 			</view>
 			<!-- 排序框 -->
-			<view class="sort-box">
+		<!-- 	<view class="sort-box">
+				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
+					<text class="label">默认</text>
+				</view>
+				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
+					<text class="label">新品</text>
+				</view>
 				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
 					<text class="label">默认</text>
 				</view>
@@ -38,46 +44,14 @@
 				<view class="item" :class="form.newOrder=='desc'?'active':''" @click="searchChange('4')">
 					<text class="label">新品</text>
 				</view>
-			</view>
+			</view> -->
 		</view>
 	 
 		<!-- 数据列表 -->
-		<mescroll-body top="190rpx" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="medic-list" v-if="showType==1">
-				<view v-for="(item,index) in dataList" :key="index" class="item" @click="showDetail(item)">
-					<view class="img-box">
-						<image :src="item.image" mode="aspectFit"></image>
-					</view>
-					<view class="info-box">
-						<view class="title ellipsis2">{{item.productName}}</view>
-						<!-- <view class="intro ellipsis">{{item.productInfo}}</view> -->
-						<view class="prce-num">
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="num">{{item.price.toFixed(2)}} </text>
-							</view>
-							<view class="cart-img" @click="navgetTo('../shopping/cart')">
-								<view class="sale">已售 {{item.sales||'0'}} {{item.unitName||''}}</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="goods-list" v-if="showType==2">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="img-box">
-						<image :src="item.image" mode="aspectFill"></image>
-					</view>
-					<view class="info-box">
-						<view class="title ellipsis2">{{item.productName}}</view>
-						<view class="price-box">
-							<view class="now">
-								<text class="unit">¥</text>
-								<text class="num">{{item.price.toFixed(2)}}</text>
-							</view>
-							<view class="old">¥{{item.otPrice.toFixed(2)}}</view>
-						</view>
-					</view>
+		<mescroll-body top="100rpx" bottom="40rpx" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
+			<view class="goods-grid">
+				<view class="grid-item" v-for="(item, index) in dataList" :key="index">
+					<GoodsCard :item="item" />
 				</view>
 			</view>
 		</mescroll-body>
@@ -85,19 +59,20 @@
 </template>
 
 <script>
-	import {getProducts} from '@/api/product'
+	import { getHomeGoods } from '@/api/home.js'
 	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	import GoodsCard from './components/GoodsCard.vue';
 	export default {
+		components: { GoodsCard },
 		mixins: [MescrollMixin], 
 		data() {
 			return {
-				showType:1,
 				form:{
-					defaultOrder:'desc',
-					newOrder:null,
-					priceOrder:null,
-					salesOrder:null,
-					productName:"",
+					// defaultOrder:'desc',
+					// newOrder:null,
+					// priceOrder:null,
+					// salesOrder:null,
+					keyword:"",
 				},
 				mescroll:null,
 				// 上拉加载的配置
@@ -121,59 +96,22 @@
 		},
 		onLoad(option) {
 			if(option.key!=undefined){
-				this.form.productName = option.key
+				this.form.keyword = option.key
+			}
+			if(option.id != undefined){
+				this.form.id= option.id
+			}
+			if(option.type!=undefined){
+				this.searchChange(option.type)
 			}
 		},
 		methods:{
 			goSearch(e) {
-				this.form.productName=e.detail.value;
+				this.form.keyword=e.detail.value;
 				this.mescroll.resetUpScroll();
 			},
 			searchChange(type){
-				if(type==1){
-					this.form.defaultOrder="desc";
-					this.form.priceOrder=null;
-					this.form.salesOrder=null;
-					this.form.newOrder=null;
-					
-				}
-				else if(type==2){
-					this.form.defaultOrder=null;
-					if(this.form.priceOrder==null){
-						this.form.priceOrder="asc"
-					}
-					else if(this.form.priceOrder=="asc"){
-						this.form.priceOrder="desc"
-					}
-					else if(this.form.priceOrder=="desc"){
-						this.form.priceOrder=null;
-					}
-					this.form.salesOrder=null;
-					this.form.newOrder=null;
-				}
-				else if(type==3){
-					this.form.defaultOrder=null;
-					this.form.priceOrder=null;
-					if(this.form.salesOrder==null){
-						this.form.salesOrder="asc"
-					}
-					else if(this.form.salesOrder=="asc"){
-						this.form.salesOrder="desc"
-					}
-					else if(this.form.salesOrder=="desc"){
-						this.form.salesOrder=null;
-					}
-					this.form.newOrder=null;
-					
-				}
-				else if(type==4){
-					this.form.newOrder="desc";
-					this.form.defaultOrder=null;
-					this.form.priceOrder=null;
-					this.form.salesOrder=null;
-					
-					
-				}
+				
 				this.mescroll.resetUpScroll();
 			},
 			showChange(type){
@@ -187,11 +125,12 @@
 				mescroll.resetUpScroll()
 			},
 			upCallback(page) {
+				// 与 newindex 瀑布流使用同一接口:getHomeGoods,id 为分类(0=全部)
 				//联网加载数据
 				var that = this;
 				this.form.page=page.num;
 				this.form.pageSize=page.size;
-				getProducts(this.form).then(res => {
+				getHomeGoods(this.form).then(res => {
 					if(res.code==200){
 						//设置列表数据
 						if (page.num == 1) {
@@ -211,7 +150,10 @@
 						that.dataList = null;
 						that.mescroll.endErr();
 					}
-				});
+				}).catch(() => {
+				that.dataList = page.num == 1 ? [] : that.dataList
+				that.mescroll.endErr()
+			})
 			},
 			// 价格升序是否选中
 			priceUp(value) {
@@ -301,7 +243,7 @@
 			align-items: center;
 			justify-content: center;
 			&.active .label{
-				color: #2BC7B9;
+				color: #FF233C;
 			}
 			.label{
 				font-size: 26upx;
@@ -323,152 +265,16 @@
 			}
 		}
 	}
-	.medic-list{
-		padding: 20upx;
-		.item{
-			box-sizing: border-box;
-			min-height: 285upx;
-			background: #FFFFFF;
-			border: 4upx solid #FFFFFF;
-			border-radius: 16upx;
-			margin-bottom: 20upx;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			.img-box{
-				width: 200upx;
-				height: 200upx;
-				margin-right: 30upx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.info-box{
-				width: calc(100% - 210upx);
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 40rpx;
-					height: 80rpx;
-				}
-				.intro{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-					margin-top: 26upx;
-				}
-			 
-				.prce-num{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					margin-top: 30upx;
-					.price{
-						display: flex;
-						align-items: flex-end;
-						.unit{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #FF6633;
-							line-height: 1.2;
-							margin-right: 4upx;
-						}
-						.num{
-							font-size: 36upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1;
-						}
-					}
-					.cart-img{
-						.sale{
-							font-size: 20upx;
-							font-family: PingFang SC;
-							color: #999999;
-						}
-						 
-					}
-				}
-			}
-		}
-	}
-	.goods-list{
-		padding: 20upx;
+	.goods-grid {
+		padding: 20rpx;
 		display: flex;
-		flex-wrap: wrap;
-		.item{
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			width: 345rpx;
-			background: #FFFFFF;
-			box-shadow: 0px 0px 10rpx 4rpx rgba(199, 199, 199, 0.22);
-			border-radius: 20rpx;
-			overflow: hidden;
-			&:nth-child(2n) {
-				margin-right: 0;
-			}
-			.img-box{
-				width: 100%;
-				height: 334upx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.info-box{
-				box-sizing: border-box;
-				height: 182upx;
-				padding: 20upx 20upx 30upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 40upx;
-				}
-				.price-box{
-					display: flex;
-					align-items: flex-end;
-					.now{
-						display: flex;
-						align-items: flex-end;
-						margin-right: 20upx;
-						.unit{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #FF6633;
-							line-height: 1.2;
-							margin-right: 4upx;
-						}
-						.num{
-							font-size: 36upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1;
-						}
-					}
-					.old{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						text-decoration: line-through;
-						color: #BBBBBB;
-						line-height: 1.1;
-					}
-				}
-			}
-		}
+		flex-direction: column;
+		gap: 20rpx;
+		// display: flex;
+		// flex-wrap: wrap;
+		// gap: 20rpx;
+	}
+	.goods-grid .grid-item {
+		width: 100%;
 	}
 </style>

+ 168 - 69
pages/home/recommendList.vue

@@ -1,78 +1,151 @@
 <template>
 	<view class="page">
-		<view class="list-wrap">
-			<view class="list-column" v-if="list.length > 0">
-				<view class="list-item" v-for="(item, index) in list" :key="item.productId || index">
-					<GoodsCard :item="item" :show-price="true" @click="showProduct(item)" />
+		<view class="top-fixed">
+			<!-- 搜索框 -->
+			<view class="search-cont">
+				<view class="inner">
+					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
+					<input type="text" @confirm="goSearch"   :value="keyword" placeholder="输入商品名称" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
 				</view>
+				<!-- <view class="icon-search">
+					<image @click="showChange(2)" v-if="showType==1"  src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search1.png" mode=""></image>
+					<image @click="showChange(1)" v-if="showType==2"  src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search2.png" mode=""></image>
+				</view> -->
 			</view>
-			<view class="empty" v-else-if="!loading">
-				<text class="empty-text">暂无商品</text>
-			</view>
-			<view class="loading" v-if="loading">
-				<text class="loading-text">加载中...</text>
-			</view>
-			<view class="load-more" v-if="hasMore && !loading && list.length > 0" @click="loadMore">
-				<text>加载更多</text>
-			</view>
+			<!-- 排序框 -->
+		<!-- 	<view class="sort-box">
+				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
+					<text class="label">默认</text>
+				</view>
+				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
+					<text class="label">新品</text>
+				</view>
+				<view class="item" :class="form.defaultOrder=='desc'?'active':''" @click="searchChange('1')">
+					<text class="label">默认</text>
+				</view>
+				<view class="item" @click="searchChange('2')">
+					<text class="label">价格</text>
+					<view class="sort-img">
+						<image v-if="form.priceOrder==null||form.priceOrder=='desc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_up.png" mode="" @click="priceUp(true)"></image>
+						<image v-if="form.priceOrder=='asc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_up2.png" mode="" @click="priceUp(false)"></image>
+						<image v-if="form.priceOrder==null||form.priceOrder=='asc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_down.png" mode="" @click="priceDown(true)"></image>
+						<image v-if="form.priceOrder=='desc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_down2.png" mode="" @click="priceDown(false)"></image>
+					</view>
+				</view>
+				<view class="item" @click="searchChange('3')">
+					<text class="label">销量</text>
+					<view class="sort-img">
+						<image v-if="form.salesOrder==null||form.salesOrder=='desc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_up.png" mode="" @click="saleUp(true)"></image>
+						<image v-if="form.salesOrder=='asc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_up2.png" mode="" @click="saleUp(false)"></image>
+						<image v-if="form.salesOrder==null||form.salesOrder=='asc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_down.png" mode="" @click="saleDown(true)"></image>
+						<image v-if="form.salesOrder=='desc'" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/price_arrow_down2.png" mode="" @click="saleDown(false)"></image>
+					</view>
+				</view>
+				<view class="item" :class="form.newOrder=='desc'?'active':''" @click="searchChange('4')">
+					<text class="label">新品</text>
+				</view>
+			</view> -->
 		</view>
+		<mescroll-body
+			top="100rpx" bottom="40rpx"
+			ref="mescrollRef"
+			@init="mescrollInit"
+			@down="downCallback"
+			@up="upCallback"
+			:down="downOption"
+			:up="upOption"
+		>
+			<view class="list-wrap">
+				<view class="goods-grid">
+					<view class="grid-item" v-for="(item, index) in dataList" :key="item.productId">
+						<GoodsCard :item="item" :show-price="true" @click="showProduct(item)" />
+					</view>
+				</view>
+			</view>
+		</mescroll-body>
 	</view>
 </template>
 
 <script>
 import { getHomeGoodsRecommend } from '@/api/home.js'
+import MescrollMixin from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js'
 import GoodsCard from './components/GoodsCard.vue'
 
 export default {
 	name: 'RecommendList',
 	components: { GoodsCard },
+	mixins: [MescrollMixin],
 	data() {
 		return {
 			type: 'green',
-			titleMap: { green: '绿色有机', hot: '上新推荐' },
-			list: [],
-			loading: false,
-			hasMore: true,
-			pageNum: 1,
-			pageSize: 10
+			titleMap: { green: '热卖有机', hot: '上新推荐' },
+			mescroll: null,
+			keyword:'',
+			downOption: {},
+			upOption: {
+				onScroll: true,
+				use: true,
+				page: {
+					num: 0,
+					size: 10
+				},
+				noMoreSize: 10,
+				empty: {
+					icon: 'https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/no_data.png',
+					tip: '暂无商品'
+				},
+				textNoMore: '已经到底了'
+			},
+			dataList: []
 		}
 	},
 	onLoad(options) {
 		this.type = (options.type || 'green').toLowerCase()
 		if (this.type !== 'green' && this.type !== 'hot') this.type = 'green'
-		uni.setNavigationBarTitle({ title: this.titleMap[this.type] || '更多' })
-		this.pageNum = 1
-		this.list = []
-		this.hasMore = true
-		this.fetchList(true)
+		uni.setNavigationBarTitle({ title: this.titleMap[this.type]})
 	},
 	methods: {
-		fetchList(reset) {
-			if (reset) {
-				this.pageNum = 1
-				this.list = []
-				this.hasMore = true
-			}
-			if (this.loading || !this.hasMore) return
-			this.loading = true
+		goSearch(e) {
+			this.keyword=e.detail.value;
+			this.mescroll.resetUpScroll();
+		},
+		mescrollInit(mescroll) {
+			this.mescroll = mescroll
+		},
+		downCallback(mescroll) {
+			mescroll.resetUpScroll()
+		},
+		upCallback(page) {
+			const that = this
 			getHomeGoodsRecommend({
-				type: this.type,
-				pageNum: this.pageNum,
-				pageSize: this.pageSize
+				keyword:this.keyword,
+				type: that.type,
+				pageNum: page.num,
+				pageSize: page.size
 			}).then(res => {
-				this.loading = false
-				if (res.code != 200 || !res.data) return
-				const data = res.data
-				const rows = data.list || data.rows || []
-				const total = data.total != null ? Number(data.total) : 0
-				if (reset) this.list = rows
-				else this.list = this.list.concat(rows)
-				this.hasMore = rows.length >= this.pageSize && (this.list.length < total || total === 0)
-				this.pageNum++
-			}).catch(() => { this.loading = false })
-		},
-		loadMore() {
-			this.fetchList(false)
+				if(res.code==200){
+					//设置列表数据
+					if (page.num == 1) {
+						that.dataList = res.data.list; 
+						
+					} else {
+						that.dataList = that.dataList.concat(res.data.list);
+						 
+					}
+					that.mescroll.endBySize(res.data.list.length, res.data.total);
+					
+				}else{
+					uni.showToast({
+						icon:'none',
+						title: "请求失败",
+					});
+					that.dataList = null;
+					that.mescroll.endErr();
+				}
+			}).catch(() => {
+				that.dataList = page.num == 1 ? [] : that.dataList
+				that.mescroll.endErr()
+			})
 		},
 		showProduct(item) {
 			if (item && item.productId) {
@@ -84,38 +157,64 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+	.top-fixed{
+		width: 100%;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 10;
+	}
+	.search-cont{
+		padding: 16upx 30upx;
+		background-color: #FFFFFF;
+		display:flex;
+		align-items: center;
+		justify-content: space-between;
+		.inner{
+			box-sizing: border-box;
+			width: 100%;
+			height: 72upx;
+			background: #F7F7F7;
+			border-radius: 36upx;
+			display: flex;
+			align-items: center;
+			padding: 0 30upx;
+			.icon-search{
+				width: 28upx;
+				height: 28upx;
+				margin-right: 20upx;
+			}
+			input{
+				height: 60upx;
+				line-height: 60upx;
+				flex: 1;
+			}
+			
+		}
+		.icon-search{
+			margin-left: 10upx;
+			width: 40upx;
+			height: 40upx;
+			image{
+				width: 40upx;
+				height: 40upx;
+			}
+			
+		}
+	}
 .page {
 	min-height: 100vh;
 	background: #f5f5f5;
-	padding-bottom: 120rpx;
 }
 .list-wrap {
 	padding: 24rpx;
 }
-.list-column {
+.goods-grid {
 	display: flex;
 	flex-direction: column;
 	gap: 20rpx;
 }
-.list-item {
+.goods-grid .grid-item {
 	width: 100%;
 }
-.empty,
-.loading {
-	padding: 80rpx 0;
-	text-align: center;
-}
-.empty-text,
-.loading-text {
-	font-size: 28rpx;
-	color: #999;
-}
-.load-more {
-	padding: 32rpx 0;
-	text-align: center;
-}
-.load-more text {
-	font-size: 28rpx;
-	color: #2BC7B9;
-}
 </style>

+ 2 - 2
pages/shopping/cart.vue

@@ -436,7 +436,7 @@
 							font-family: PingFang SC;
 							font-weight: bold;
 							color: #FFFFFF;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							flex-shrink: 0;
@@ -587,7 +587,7 @@
 					font-family: PingFang SC;
 					font-weight: bold;
 					color: #FFFFFF;
-					background: #2BC7B9;
+					background: #FF233C;
 					border-radius: 44upx;
 				}
 			}

+ 12 - 3
pages/shopping/confirmOrder.vue

@@ -70,7 +70,7 @@
 				</view>
 				<view class="right">
 					<text class="text">{{price.usedIntegral}}积分</text>
-					<evan-switch @change="integralChange" v-model="checked" activeColor="#2BC7B9"
+					<evan-switch @change="integralChange" v-model="checked" activeColor="#FF233C"
 						inactiveColor="rgba(0, 0, 0, 0.1)"></evan-switch>
 				</view>
 			</view>
@@ -359,6 +359,7 @@
 				if (tuiUserId != null && tuiUserId != undefined && tuiUserId > 0) {
 					data = {
 						orderCreateType: 1,
+						orderType:3,
 						tuiUserId: tuiUserId,
 						companyId: this.form.companyId,
 						companyUserId: this.form.companyUserId,
@@ -372,6 +373,7 @@
 				} else {
 					data = {
 						orderCreateType: 1,
+						orderType:3,
 						companyId: this.form.companyId,
 						companyUserId: this.form.companyUserId,
 						couponUserId: this.couponUserId,
@@ -385,6 +387,13 @@
 				if (this.storeId != null && this.storeId > 0) {
 					data.storeId = this.storeId;
 				}
+				var urlInfo = uni.getStorageSync('urlInfo')
+				if(urlInfo){
+					data.courseId=urlInfo.projectId
+					data.videoId=urlInfo.videoId
+					data.companyUserId=urlInfo.companyUserId
+					data.companyId=urlInfo.companyId
+				}
 				uni.hideLoading()
 				create(data).then(
 					res => {
@@ -541,7 +550,7 @@
 							display: inline-block;
 							padding: 0 6upx;
 							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							font-size: 22upx;
@@ -776,7 +785,7 @@
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 2 - 2
pages/shopping/index.vue

@@ -265,12 +265,12 @@
 					color: #333333;
 					position: relative;
 					&.active{
-						color: #2BC7B9;
+						color: #FF233C;
 						&::after{
 							content: "";
 							width: 8upx;
 							height: 50upx;
-							background: #2BC7B9;
+							background: #FF233C;
 							position: absolute;
 							top: 25upx;
 							left: 0;

+ 1 - 1
pages/shopping/payOrder.vue

@@ -334,7 +334,7 @@
 				font-weight: bold;
 				color: #FFFFFF;
 				text-align: center;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 3 - 4
pages/shopping/paymentOrder.vue

@@ -386,7 +386,6 @@
 			payOrder() {
 				// 1. 安全地获取用户信息
 				this.getSafeUserInfo();
-
 				// 2. 检查 maOpenId,但不要直接修改字符串
 				// 3. 检查用户信息是否有效
 				if (!this.userinfo || Object.keys(this.userinfo).length === 0) {
@@ -717,7 +716,7 @@
 				font-weight: bold;
 				color: #FFFFFF;
 				text-align: center;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 				margin-bottom: 10rpx;
 			}
@@ -729,8 +728,8 @@
 				font-size: 30upx;
 				font-family: PingFang SC;
 				font-weight: bold;
-				color: #2BC7B9;
-				border: 1rpx solid #2BC7B9;
+				color: #FF233C;
+				border: 1rpx solid #FF233C;
 				text-align: center;
 				background: #FFFFFF;
 				border-radius: 44upx;

+ 7 - 7
pages/shopping/prescribe.vue

@@ -439,7 +439,7 @@
 		justify-content: space-between;
 		.fixed-top-box{
 			width: 100%;
-			background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
+			background: linear-gradient(135deg, #66b2ef 0%, #FF233C 100%);
 			position: fixed;
 			top: 0;
 			left: 0;
@@ -479,7 +479,7 @@
 					color: #666666;
 					&.active{
 						font-weight: bold;
-						color: #2BC7B9;
+						color: #FF233C;
 					}
 				}
 				.arrow{
@@ -574,7 +574,7 @@
 							}
 							&.active{
 								background: rgba(230, 250, 247, 0);
-								border: 2upx solid #2BC7B9;
+								border: 2upx solid #FF233C;
 								position: relative;
 							}
 							.active-img{
@@ -647,15 +647,15 @@
 							font-size: 28upx;
 							font-family: PingFang SC;
 							font-weight: 500;
-							color: #2BC7B9;
+							color: #FF233C;
 							background: #F5FFFE;
 							border: 1px solid #8AD5CE;
 							padding: 0 20upx;
 							border-radius: 32upx;
 							margin: 0 20upx 20upx 0;
 							&.active{
-								background: #2BC7B9;
-								border: 1px solid #2BC7B9;
+								background: #FF233C;
+								border: 1px solid #FF233C;
 								color: #FFFFFF;
 							}
 						}
@@ -821,7 +821,7 @@
 				font-weight: bold;
 				color: #FFFFFF;
 				text-align: center;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 8 - 6
pages/shopping/productDetails.vue

@@ -261,6 +261,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 		},
 		onLoad(options) {
 			console.log("qxj options:" + JSON.stringify(options));
+			uni.setStorageSync('urlInfo', options);
 			if (options.userId != null) {
 				uni.setStorageSync('tuiUserId', options.userId);
 			} else if (options.hasOwnProperty('q') && options.q) {
@@ -321,6 +322,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 							if (res.user != null) {
 								this.userinfo = res.user;
 								console.log(this.userinfo)
+								uni.setStorageSync('userInfo', JSON.stringify(res.user));
 							}
 						} else {
 							uni.showToast({
@@ -806,7 +808,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 			.share-box {
 				width: 120upx;
 				height: 46upx;
-				border: 1px solid #2BC7B9;
+				border: 1px solid #FF233C;
 				border-radius: 23upx;
 				display: flex;
 				align-items: center;
@@ -817,7 +819,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 					font-size: 26upx;
 					font-family: PingFang SC;
 					font-weight: 500;
-					color: #2BC7B9;
+					color: #FF233C;
 				}
 
 				image {
@@ -858,7 +860,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 				display: inline-block;
 				padding: 0 6upx;
 				height: 30upx;
-				background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+				background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 				border-radius: 4upx;
 				margin-right: 10upx;
 				font-size: 22upx;
@@ -1101,7 +1103,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 				}
 
 				&.buy {
-					background: #2BC7B9;
+					background: #FF233C;
 				}
 			}
 		}
@@ -1209,7 +1211,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 					&.active {
 						background: #F1FFFE;
 						border: 1px solid #8AD5CE;
-						color: #2BC7B9;
+						color: #FF233C;
 					}
 				}
 			}
@@ -1273,7 +1275,7 @@ import {CustomToast} from '@/components/custom-toast.vue';
 			font-family: PingFang SC;
 			font-weight: bold;
 			color: #FFFFFF;
-			background: #2BC7B9;
+			background: #FF233C;
 			border-radius: 44upx;
 			margin-top: 30upx;
 			// margin-bottom: 30upx;

+ 1 - 1
pages_company/alipayImg.vue

@@ -97,7 +97,7 @@ page {
  		font-family: PingFang SC;
  		font-weight: 400;
  		color: #FFFFFF;
- 		background:#2BC7B9 !important;
+ 		background:#FF233C !important;
  		border-radius: 44upx;
  	}
  }

+ 1 - 1
pages_company/auth/login.vue

@@ -137,7 +137,7 @@ export default {
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 1 - 1
pages_company/card.vue

@@ -99,7 +99,7 @@ page {
  		font-family: PingFang SC;
  		font-weight: 400;
  		color: #FFFFFF;
- 		background:#2BC7B9 !important;
+ 		background:#FF233C !important;
  		border-radius: 44upx;
  	}
  }

+ 3 - 3
pages_company/coupon.vue

@@ -149,15 +149,15 @@ page {
 			font-size: 28upx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #2BC7B9;
+			color: #FF233C;
 			background: #F5FFFE;
 			border: 1px solid #8AD5CE;
 			border-radius: 32upx;
 			margin: 0 20upx 20upx 0;
 			&.active{
 				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
+				background: #FF233C;
+				border: 1px solid #FF233C;
 			}
 		}
 	}

+ 1 - 1
pages_company/index.vue

@@ -286,7 +286,7 @@
 				font-weight: 500;
 				color: #FFFFFF;
 				border-radius: 8rpx;
-				background-color: #2BC7B9;
+				background-color: #FF233C;
 			}
 		}
 

+ 2 - 2
pages_company/order/cart.vue

@@ -296,7 +296,7 @@
 							font-family: PingFang SC;
 							font-weight: bold;
 							color: #FFFFFF;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							flex-shrink: 0;
@@ -444,7 +444,7 @@
 					font-family: PingFang SC;
 					font-weight: bold;
 					color: #FFFFFF;
-					background: #2BC7B9;
+					background: #FF233C;
 					border-radius: 44upx;
 				}
 			}

+ 2 - 2
pages_company/order/confirmCompanyOrder.vue

@@ -221,7 +221,7 @@
 							display: inline-block;
 							padding: 0 6upx;
 							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							font-size: 22upx;
@@ -427,7 +427,7 @@
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 				position: relative;
 				.share{

+ 4 - 4
pages_company/order/confirmOrder.vue

@@ -205,7 +205,7 @@
 							display: inline-block;
 							padding: 0 6upx;
 							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							font-size: 22upx;
@@ -411,7 +411,7 @@
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}
@@ -532,7 +532,7 @@
 				font-size: 28upx;
 				font-family: PingFang SC;
 				font-weight: 500;
-				color: #2BC7B9;
+				color: #FF233C;
 			}
 		}
 		.btn{
@@ -545,7 +545,7 @@
 			font-weight: 500;
 			color: #FFFFFF;
 			border: 1px solid #D2E6FF;
-			background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
+			background: linear-gradient(135deg, #66b2ef 0%, #FF233C 100%);
 			border-radius: 24upx;
 			margin-left: 30upx;
 		}

+ 3 - 3
pages_company/order/coupon.vue

@@ -123,15 +123,15 @@ page {
 			font-size: 28upx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #2BC7B9;
+			color: #FF233C;
 			background: #F5FFFE;
 			border: 1px solid #8AD5CE;
 			border-radius: 32upx;
 			margin: 0 20upx 20upx 0;
 			&.active{
 				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
+				background: #FF233C;
+				border: 1px solid #FF233C;
 			}
 		}
 	}

+ 6 - 6
pages_company/order/productDetails.vue

@@ -562,7 +562,7 @@
 				.share-box {
 					width: 120upx;
 					height: 46upx;
-					border: 1px solid #2BC7B9;
+					border: 1px solid #FF233C;
 					border-radius: 23upx;
 					display: flex;
 					align-items: center;
@@ -573,7 +573,7 @@
 						font-size: 26upx;
 						font-family: PingFang SC;
 						font-weight: 500;
-						color: #2BC7B9;
+						color: #FF233C;
 					}
 
 					image {
@@ -614,7 +614,7 @@
 					display: inline-block;
 					padding: 0 6upx;
 					height: 30upx;
-					background: linear-gradient(90deg, #2BC7B9 0%, #2BC7A4 100%);
+					background: linear-gradient(90deg, #FF233C 0%, #2BC7A4 100%);
 					border-radius: 4upx;
 					margin-right: 10upx;
 					font-size: 22upx;
@@ -849,7 +849,7 @@
 					}
 
 					&.buy {
-						background: #2BC7B9;
+						background: #FF233C;
 					}
 				}
 			}
@@ -957,7 +957,7 @@
 						&.active {
 							background: #F1FFFE;
 							border: 1px solid #8AD5CE;
-							color: #2BC7B9;
+							color: #FF233C;
 						}
 					}
 				}
@@ -1021,7 +1021,7 @@
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #FFFFFF;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 				margin-top: 30upx;
 				// margin-bottom: 30upx;

+ 1 - 1
pages_company/order/productList.vue

@@ -311,7 +311,7 @@
 			align-items: center;
 			justify-content: center;
 			&.active .label{
-				color: #2BC7B9;
+				color: #FF233C;
 			}
 			.label{
 				font-size: 26upx;

+ 3 - 3
pages_company/order/productShowDetails.vue

@@ -265,7 +265,7 @@
 			.share-box{
 				width: 120upx;
 				height: 46upx;
-				border: 1px solid #2BC7B9;
+				border: 1px solid #FF233C;
 				border-radius: 23upx;
 				display: flex;
 				align-items: center;
@@ -275,7 +275,7 @@
 					font-size: 26upx;
 					font-family: PingFang SC;
 					font-weight: 500;
-					color: #2BC7B9;
+					color: #FF233C;
 				}
 				image{
 					margin-left: 2rpx;
@@ -311,7 +311,7 @@
 				display: inline-block;
 				padding: 0 6upx;
 				height: 30upx;
-				background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+				background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 				border-radius: 4upx;
 				margin-right: 10upx;
 				font-size: 22upx;

+ 1 - 1
pages_company/shareLive.vue

@@ -411,7 +411,7 @@
 						font-size: 28rpx;
 						color: #F7F7F7;
 						padding: 12rpx 20rpx;
-						background-color: #2BC7B9;
+						background-color: #FF233C;
 						font-weight: 500;
 						border-radius: 15rpx;
 					}

+ 3 - 3
pages_company/storeOrder.vue

@@ -262,7 +262,7 @@
 						font-weight: 500;
 						line-height: 1;
 						&.success{
-							color: #2BC7B9;
+							color: #FF233C;
 						}
 						&.black{
 							color: #111111;
@@ -305,7 +305,7 @@
 								display: inline-block;
 								padding: 0 6upx;
 								height: 30upx;
-								background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+								background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 								border-radius: 4upx;
 								margin-right: 10upx;
 								font-size: 22upx;
@@ -415,7 +415,7 @@
 								color: #666666;
 							}
 							&.pay{
-								background: #2BC7B9;
+								background: #FF233C;
 								color: #FFFFFF;
 								position: relative;
 								.share{

+ 3 - 3
pages_company/storeOrderDetail.vue

@@ -518,7 +518,7 @@
 							display: inline-block;
 							padding: 0 6upx;
 							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							font-size: 22upx;
@@ -709,7 +709,7 @@
 			border-radius: 32upx;
 			margin-left: 15upx;
 			&.share-btn{
-				background: #2BC7B9;
+				background: #FF233C;
 				color: #FFFFFF;
 				position: relative;
 				.share{
@@ -810,7 +810,7 @@
 					font-family: PingFang SC;
 					font-weight: bold;
 					color: #FFFFFF;
-					background: #2BC7B9;
+					background: #FF233C;
 					border-radius: 44upx;
 				}
 			}

+ 6 - 6
pages_company/storeProductPackage.vue

@@ -239,15 +239,15 @@
 				font-size: 28upx;
 				font-family: PingFang SC;
 				font-weight: 500;
-				color: #2BC7B9;
+				color: #FF233C;
 				background: #F5FFFE;
 				border: 1px solid #8AD5CE;
 				border-radius: 32upx;
 				margin: 0 20upx 20upx 0;
 				&.active{
 					color: #FFFFFF;
-					background: #2BC7B9;
-					border: 1px solid #2BC7B9;
+					background: #FF233C;
+					border: 1px solid #FF233C;
 				}
 			}
 		}
@@ -303,7 +303,7 @@
 						font-weight: 500;
 						line-height: 1;
 						&.success{
-							color: #2BC7B9;
+							color: #FF233C;
 						}
 						&.black{
 							color: #111111;
@@ -347,7 +347,7 @@
 								display: inline-block;
 								padding: 0 6upx;
 								height: 30upx;
-								background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+								background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 								border-radius: 4upx;
 								margin-right: 10upx;
 								font-size: 22upx;
@@ -472,7 +472,7 @@
 								color: #666666;
 							}
 							&.pay{
-								background: #2BC7B9;
+								background: #FF233C;
 								color: #FFFFFF;
 								position: relative;
 								.share{

+ 9 - 9
pages_company/storeProductPackageDetails.vue

@@ -353,7 +353,7 @@
 			.share-box{
 				width: 120upx;
 				height: 46upx;
-				border: 1px solid #2BC7B9;
+				border: 1px solid #FF233C;
 				border-radius: 23upx;
 				display: flex;
 				align-items: center;
@@ -363,7 +363,7 @@
 					font-size: 26upx;
 					font-family: PingFang SC;
 					font-weight: 500;
-					color: #2BC7B9;
+					color: #FF233C;
 				}
 				image{
 					margin-left: 2rpx;
@@ -399,7 +399,7 @@
 				display: inline-block;
 				padding: 0 6upx;
 				height: 30upx;
-				background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+				background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 				border-radius: 4upx;
 				margin-right: 10upx;
 				font-size: 22upx;
@@ -604,7 +604,7 @@
 					background: #FF6633;
 				}
 				&.buy{
-					background: #2BC7B9;
+					background: #FF233C;
 				}
 			}
 		}
@@ -697,7 +697,7 @@
 					&.active{
 						background: #F1FFFE;
 						border: 1px solid #8AD5CE;
-						color: #2BC7B9;
+						color: #FF233C;
 					}
 				}
 			}
@@ -754,7 +754,7 @@
 			font-family: PingFang SC;
 			font-weight: bold;
 			color: #FFFFFF;
-			background: #2BC7B9;
+			background: #FF233C;
 			border-radius: 44upx;
 			margin-top: 30upx;
 			// margin-bottom: 30upx;
@@ -807,7 +807,7 @@
 							display: inline-block;
 							padding: 0 6upx;
 							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #2BC7B9 100%);
+							background: linear-gradient(90deg, #66b2ef 0%, #FF233C 100%);
 							border-radius: 4upx;
 							margin-right: 10upx;
 							font-size: 22upx;
@@ -895,7 +895,7 @@
 				font-size: 28upx;
 				font-family: PingFang SC;
 				font-weight: 500;
-				color: #2BC7B9;
+				color: #FF233C;
 			}
 		}
 		.btn{
@@ -908,7 +908,7 @@
 			font-weight: 500;
 			color: #FFFFFF;
 			border: 1px solid #D2E6FF;
-			background: linear-gradient(135deg, #66b2ef 0%, #2BC7B9 100%);
+			background: linear-gradient(135deg, #66b2ef 0%, #FF233C 100%);
 			border-radius: 24upx;
 			margin-left: 30upx;
 		}

+ 1 - 1
pages_company/wechatcode.vue

@@ -111,7 +111,7 @@
 	}
 
 	.generate {
-		background-color: #2BC7B9;
+		background-color: #FF233C;
 		width: 70%;
 		margin: 0 auto;
 		border-radius: 40rpx;

+ 1 - 1
pages_course/components/goodsList.vue

@@ -54,7 +54,7 @@
 		methods: {
 			goBuy(item) {
 				uni.navigateTo({
-					url: '/pages/shopping/productDetails?productId='+item.productId+'&companyId='+this.urlOption.companyId+ '&companyUserId='+this.urlOption.companyUserId
+					url: '/pages/shopping/productDetails?productId='+item.productId+'&companyId='+this.urlOption.companyId+ '&companyUserId='+this.urlOption.companyUserId+'&projectId='+this.urlOption.projectId+'&videoId='+this.urlOption.videoId
 				})
 			},
 			goBuy2(item) {

+ 1 - 1
pages_course/components/ques.vue

@@ -2,7 +2,7 @@
 	<view class="ques-content" :style="{ fontSize: fontSize(28)}">
 		<view class="ques-flex" v-if="openCommentStatus!=1"  :style="{justifyContent:showTreatment==0 || (showNote==1&&courseNote)?'space-around':'flex-start'}">
 			<view class="ques-content-tit" :style="{ color: currentId==0&&(showNote==1&&courseNote||showTreatment==0) ? '#FF5C03':'#222',fontSize: fontSize(36)}" @click="choose(0)">问答题</view>
-			<view class="ques-content-tit" v-if="showTreatment==0" :style="{ color: currentId==2? '#FF5C03':'#222',fontSize: fontSize(36)}" @click="choose(2)">活动</view>
+			<view class="ques-content-tit" v-if="showTreatment==0" :style="{ color: currentId==2? '#FF5C03':'#222',fontSize: fontSize(36)}" @click="choose(2)">商品</view>
 			<view class="ques-content-tit" v-if="showNote==1&&courseNote" :style="{ color: currentId==1 ? '#FF5C03':'#222',fontSize: fontSize(36)}" @click="choose(1)">笔记</view>
 		</view>
 		<view v-if="currentId==1&&showNote==1&&courseNote" class="note" :style="{ fontSize: fontSize(32)}"><text>{{courseNote}}</text></view>

+ 5 - 6
pages_course/living.vue

@@ -4945,7 +4945,6 @@
 				}
 				// 关闭WebSocket连接
 				this.closeWebSocket(true);
-
 				// 导航返回
 				// const pages = getCurrentPages();
 				// if (pages.length > 1) {
@@ -4955,11 +4954,11 @@
 				// 		url: '/pages_course/livingList'
 				// 	});
 				// }
-
-				const pages = getCurrentPages();
-				uni.reLaunch({
-					url: '/pages/home/index'
-				});
+                uni.navigateBack();
+				//const pages = getCurrentPages();
+				// uni.reLaunch({
+				// 	url: '/pages/home/newindex'
+				// });
 			},
 			// 点赞
 			async onLike() {

+ 3 - 0
pages_course/reward.vue

@@ -40,6 +40,9 @@
 				    appId:wx.getAccountInfoSync().miniProgram.appId,
 				    package:that.packageInfo,
 				    success: (res) => {
+						setTimeout(()=>{
+							uni.navigateBack()
+						},500)
 				    },
 				    fail: (res) => {
 				    },

+ 10 - 9
pages_course/videovip.vue

@@ -1,9 +1,9 @@
 <template>
 	<view class="content " >
-		<view class="header-nav" :style="{height: `calc(88rpx + ${statusBarHeight}px)`,paddingTop: statusBarHeight + 'px'}">
+		<!-- <view class="header-nav" :style="{height: `calc(88rpx + ${statusBarHeight}px)`,paddingTop: statusBarHeight + 'px'}"> -->
 			<!-- <u-icon name="arrow-left" size="28" @click="tosales" v-if="appToken"></u-icon> -->
-			<view class="header-title" :style="{width:menuButtonLeft + 'px',height:menuButtonH+'px',lineHeight:menuButtonH+'px'}">{{courseInfo.title}}</view>
-		</view>
+			<!-- <view class="header-title" :style="{width:menuButtonLeft + 'px',height:menuButtonH+'px',lineHeight:menuButtonH+'px'}">{{courseInfo.title}}</view>
+		</view> -->
 		<view class="video-box" >
 			<image v-if="!isLogin || isAddKf!=1" class="video-poster" :src="courseInfo.imgUrl" mode="aspectFill">
 			</image>
@@ -31,10 +31,10 @@
 			</video>
 		</view>
 		
-		<view class="justify-start align-center fs24 base-color-9" v-if="userInfo.userId">
+		<!-- <view class="justify-start align-center fs24 base-color-9" v-if="userInfo.userId">
 			<view>{{nameuser?nameuser:'暂未授权昵称'}}#</view>
 			<view>{{userInfo.userId}}</view>
-		</view>
+		</view> -->
 		<view class="title-content" id="title-content">
 			<!-- 答题时展示小节课程名,其他展示课程名 -->
 			<!-- 小节课程名 -->
@@ -81,7 +81,7 @@
 			<view class="ques-content" v-if="isLogin&&isAddKf==1">
 				<view v-if="isLogin" class="ques-flex">
 					<view class="ques-content-tit" v-if="!isquestion" :style="{ color: currentId==0? '#FF5C03':'#222'}" @click="tabChange(0)">问答题</view>
-					<view class="ques-content-tit" v-if="showTreatment==0" :style="{ color: currentId==1? '#FF5C03':'#222'}" @click="tabChange(1)">活动</view>
+					<view class="ques-content-tit" v-if="showTreatment==0" :style="{ color: currentId==1? '#FF5C03':'#222'}" @click="tabChange(1)">商品</view>
 				</view>
 				<template v-if="currentId==0">
 				<view v-for="(item,index) in quesList" :key="index">
@@ -104,7 +104,7 @@
 					</view>
 				</view>
 				</template>
-				<template v-if="currentId==1&&showTreatment==0">
+				<template v-if="currentId==1&&showTreatment==0 || isquestion&&showTreatment==0">
 					<goodsList ref="goodsList" :treatmentPackage="treatmentPackage" :urlOption="urlOption"></goodsList>
 				</template>
 			</view>
@@ -257,7 +257,7 @@
 		</u-popup>
 		<!-- <view class="footer-tips">重庆云联融智提供技术支持</view> -->
 		<!-- footer -->
-		<view class="footer" v-if="currentId==0&&videoId">
+		<view class="footer" v-if="currentId==0&&videoId&&!isquestion">
 			<view class="btns"  >
 				<!-- <button
 					class="author-btn"
@@ -1035,7 +1035,7 @@
 						.select("#title-content")
 						.boundingClientRect((data) => {
 							this.height =
-								`calc(100vh - ${data.height}px - 420rpx - ${this.statusBarHeight}px - 120rpx )`
+								`calc(100vh - ${data.height}px - 420rpx)`
 						})
 						.exec();
 				})
@@ -1140,6 +1140,7 @@
 							const showTreatmentFlag = res.data.courseVideoDetails&&res.data.courseVideoDetails.showProduct!=null ? res.data.courseVideoDetails.showProduct : 1
 							this.treatmentPackage = res.data.courseVideoDetails&&res.data.courseVideoDetails.fsStoreProductScrms ? res.data.courseVideoDetails.fsStoreProductScrms : []
 							this.showTreatment = showTreatmentFlag==0&&this.treatmentPackage.length>0 ? 0 : 1;
+							//console.log('this.showTreatment',this.showTreatment)
 							let lineList = []
 							// if (res.course && res.course.lineOne) {
 							// 	lineList.push(res.course.lineOne)

+ 5 - 5
pages_doctor/doctorDetail.vue

@@ -342,7 +342,7 @@
 							font-family: PingFang SC;
 							font-weight: 500;
 							color: #FFFFFF;
-							background: #2BC7B9;
+							background: #FF233C;
 							border-radius: 10upx 4upx 10upx 4upx;
 							margin-right: 12upx;
 						}
@@ -444,7 +444,7 @@
 					font-size: 28upx;
 					font-family: PingFang SC;
 					font-weight: 500;
-					color: #2BC7B9;
+					color: #FF233C;
 				}
 				image{
 					width: 14upx;
@@ -485,7 +485,7 @@
 			}
 			&.active{
 				position: relative;
-				border: 2upx solid #2BC7B9;
+				border: 2upx solid #FF233C;
 				.active-img{
 					display: block;
 				}
@@ -507,7 +507,7 @@
 				.price{
 					display: flex;
 					align-items: flex-end;
-					color: #2BC7B9;
+					color: #FF233C;
 					.num{
 						font-size: 30upx;
 						font-weight: bold;
@@ -575,7 +575,7 @@
 			font-family: PingFang SC;
 			font-weight: bold;
 			color: #FFFFFF;
-			background: #2BC7B9;
+			background: #FF233C;
 			border-radius: 44upx;
 			text-align: center;
 		}

+ 2 - 2
pages_doctor/doctorIm.vue

@@ -385,7 +385,7 @@
 								text-align: right;
 							}
 							.words{
-								background: #2BC7B9;
+								background: #FF233C;
 								color: #FFFFFF;
 								border-radius: 20upx 0 20upx 20upx;
 							}
@@ -453,7 +453,7 @@
 					height: 64upx;
 					line-height: 64upx;
 					border-radius: 32upx;
-					background: #2BC7B9;
+					background: #FF233C;
 					font-size: 28upx;
 					font-family: PingFang SC;
 					font-weight: 500;

+ 3 - 3
pages_doctor/doctorList.vue

@@ -333,7 +333,7 @@
 						font-family: PingFang SC;
 						font-weight: 500;
 						color: #FFFFFF;
-						background: #2BC7B9;
+						background: #FF233C;
 						border-radius: 10upx 4upx 10upx 4upx;
 						margin-right: 12upx;
 					}
@@ -418,13 +418,13 @@
 						.label{
 							font-size: 26upx;
 							font-weight: 500;
-							color: #2BC7B9;
+							color: #FF233C;
 							margin-right: 5upx;
 						}
 						.num{
 							font-size: 28upx;
 							font-weight: bold;
-							color: #2BC7B9;
+							color: #FF233C;
 						}
 					}
 				}

+ 1 - 1
pages_doctor/index.vue

@@ -86,7 +86,7 @@
 									<free-audio 
 										startPic='https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/play.png' 
 										endPic='https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/pause.png'
-										activeColor="#2BC7B9"
+										activeColor="#FF233C"
 										:audioId="'audio'+index"
 										:url='item.replyAudioUrl'
 									></free-audio>

+ 1 - 1
pages_doctor/paymentOrder.vue

@@ -308,7 +308,7 @@
 				font-weight: bold;
 				color: #FFFFFF;
 				text-align: center;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 2 - 2
pages_doctor/submitOrder.vue

@@ -299,7 +299,7 @@
 						}
 						&.active{
 							background: rgba(230, 250, 247, 0);
-							border: 2upx solid #2BC7B9;
+							border: 2upx solid #FF233C;
 							position: relative;
 						}
 						.active-img{
@@ -444,7 +444,7 @@
 				font-weight: bold;
 				color: #FFFFFF;
 				text-align: center;
-				background: #2BC7B9;
+				background: #FF233C;
 				border-radius: 44upx;
 			}
 		}

+ 434 - 0
pages_index/course.vue

@@ -0,0 +1,434 @@
+<template>
+	<view class="container">
+		<!-- 顶部导航 Tab -->
+		<view class="top-nav">
+			<view class="nav-tabs">
+				<view
+					class="nav-item"
+					:class="{ active: tabIndex === 0 }"
+					@click="tabIndex = 0"
+				>
+					<text>精品课程</text>
+					<view v-if="tabIndex === 0" class="nav-indicator"></view>
+				</view>
+				<view
+					class="nav-item"
+					:class="{ active: tabIndex === 1 }"
+					@click="tabIndex = 1"
+				>
+					<text>最近学习</text>
+					<view v-if="tabIndex === 1" class="nav-indicator"></view>
+				</view>
+			</view>
+			<view class="nav-actions">
+				<text class="action-icon">⋯</text>
+				<text class="action-icon">⊙</text>
+			</view>
+		</view>
+
+		<!-- 精品课程 内容 -->
+		<scroll-view v-show="tabIndex === 0" scroll-y class="scroll-wrap" :show-scrollbar="false">
+			<!-- 分类标签区 -->
+			<view class="category-wrap">
+				<view class="category-tags" :class="{ collapsed: !categoryExpand }">
+					<view
+						v-for="(cat, idx) in categories"
+						:key="idx"
+						class="tag-item"
+						:class="{ active: categoryIndex === idx }"
+						@click="categoryIndex = idx"
+					>
+						<text>{{ cat }}</text>
+					</view>
+				</view>
+				<view class="expand-btn" @click="categoryExpand = !categoryExpand">
+					<text>{{ categoryExpand ? '收起' : '展开' }}</text>
+					<text class="arrow">{{ categoryExpand ? '▲' : '▼' }}</text>
+				</view>
+			</view>
+
+			<!-- 课程网格 -->
+			<view class="course-grid">
+				<view
+					v-for="(course, idx) in courseList"
+					:key="idx"
+					class="course-card"
+					@click="onCourseClick(course)"
+				>
+					<view class="card-cover">
+						<image :src="course.cover || '/static/logo.png'" mode="aspectFill" class="cover-img"></image>
+					</view>
+					<text class="card-title">{{ course.title }}</text>
+					<view class="card-footer">
+						<text class="card-views">👤 {{ course.views }}</text>
+						<view class="btn-watch" @click.stop="onCourseClick(course)">立即观看</view>
+					</view>
+				</view>
+			</view>
+			<view class="bottom-placeholder"></view>
+		</scroll-view>
+
+		<!-- 最近学习 内容 -->
+		<scroll-view v-show="tabIndex === 1" scroll-y class="scroll-wrap" :show-scrollbar="false">
+			<!-- 有学习记录:按日期分组列表 -->
+			<template v-if="recentList.length > 0">
+				<view v-for="(group, gIdx) in recentList" :key="gIdx" class="recent-group">
+					<view class="group-date">
+						<text class="date-icon">🕐</text>
+						<text class="date-text">{{ group.date }}</text>
+					</view>
+					<view
+						v-for="(item, i) in group.list"
+						:key="i"
+						class="recent-card"
+						@click="onCourseClick(item)"
+					>
+						<view class="recent-thumb">
+							<image :src="item.cover || '/static/logo.png'" mode="aspectFill" class="thumb-img"></image>
+						</view>
+						<view class="recent-info">
+							<text class="recent-title">{{ item.title }}</text>
+							<text class="recent-progress">已学: {{ item.progress }}%</text>
+							<view class="btn-watch" @click.stop="onCourseClick(item)">立即观看</view>
+						</view>
+					</view>
+				</view>
+			</template>
+
+			<!-- 无学习记录:空态 + 为您精选 -->
+			<template v-else>
+				<view class="empty-state">
+					<view class="empty-icon">📅</view>
+					<text class="empty-text">暂无学习内容</text>
+				</view>
+				<view class="recommend-section">
+					<text class="recommend-title">为您精选</text>
+					<view class="course-grid">
+						<view
+							v-for="(course, idx) in recommendList"
+							:key="idx"
+							class="course-card"
+							@click="onCourseClick(course)"
+						>
+							<view class="card-cover">
+								<image :src="course.cover || '/static/logo.png'" mode="aspectFill" class="cover-img"></image>
+							</view>
+							<text class="card-title">{{ course.title }}</text>
+							<view class="card-footer">
+								<text class="card-views">👤 {{ course.views }}</text>
+								<view class="btn-watch" @click.stop="onCourseClick(course)">立即观看</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</template>
+			<view class="bottom-placeholder"></view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			tabIndex: 0,
+			categoryExpand: true,
+			categoryIndex: 0,
+			categories: ['全部', '歌唱艺术', '太极养生', '防骗指南', '手机摄影', '棋牌益智', '用药指导', '膳食营养', '慢病管理'],
+			courseList: [
+				{ title: '刘金的《0基础金曲演唱速练课》', views: '9239', cover: '' },
+				{ title: '邹方斌讲《毛笔书法修心课》', views: '10.8w', cover: '' },
+				{ title: '张斌《元气八段锦》系列课', views: '2.5w', cover: '' },
+				{ title: '翔哥精讲摄影课—手机微距拍摄技巧...', views: '100w+', cover: '' },
+				{ title: '道家智慧 入门21讲', views: '1.2w', cover: '' },
+				{ title: '入门进阶必修 瑜伽呼吸全精讲', views: '3.6w', cover: '' }
+			],
+			recentList: [
+				{
+					date: '2026-02-08',
+					list: [
+						{ title: '歌唱家刘金的《0基础金曲演唱速练课》', progress: 87, cover: '' },
+						{ title: '资深编辑邹方斌讲《毛笔书法修心课》', progress: 56, cover: '' }
+					]
+				},
+				{
+					date: '2026-02-01',
+					list: [
+						{ title: '张斌《元气八段锦》系列课', progress: 56, cover: '' }
+					]
+				}
+			],
+			recommendList: [
+				{ title: '刘金的《0基础金曲演唱速练课》', views: '9239', cover: '' },
+				{ title: '邹方斌讲《毛笔书法修心课》', views: '10.8w', cover: '' },
+				{ title: '张斌《元气八段锦》系列课', views: '2.5w', cover: '' },
+				{ title: '翔哥精讲摄影课-手机微距拍摄技巧...', views: '100w+', cover: '' }
+			]
+		}
+	},
+	onLoad() {
+		// 若无最近学习,可置空 recentList 显示空态
+		// this.recentList = [];
+	},
+	methods: {
+		onCourseClick(course) {
+			uni.showToast({ title: course.title || '立即观看', icon: 'none' })
+			// uni.navigateTo({ url: '/pages_course/videovip?id=' + (course.id || '') })
+		}
+	}
+}
+</script>
+
+<style scoped>
+.container {
+	min-height: 100vh;
+	background: #fff;
+	display: flex;
+	flex-direction: column;
+}
+
+/* 顶部 Tab */
+.top-nav {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	padding: 24rpx 24rpx 20rpx;
+	background: #fff;
+	border-bottom: 1rpx solid #f0f0f0;
+}
+.nav-tabs {
+	display: flex;
+	align-items: center;
+	gap: 48rpx;
+}
+.nav-item {
+	position: relative;
+	padding: 8rpx 0;
+}
+.nav-item text {
+	font-size: 32rpx;
+	color: #999;
+}
+.nav-item.active text {
+	color: #333;
+	font-weight: bold;
+}
+.nav-indicator {
+	position: absolute;
+	left: 50%;
+	bottom: 0;
+	transform: translateX(-50%);
+	width: 40rpx;
+	height: 6rpx;
+	background: #e54d42;
+	border-radius: 3rpx;
+}
+.nav-actions {
+	display: flex;
+	align-items: center;
+	gap: 24rpx;
+}
+.action-icon {
+	font-size: 36rpx;
+	color: #666;
+}
+
+/* 滚动区 */
+.scroll-wrap {
+	flex: 1;
+	height: 0;
+}
+
+/* 分类标签 */
+.category-wrap {
+	padding: 20rpx 24rpx;
+	background: #fff;
+}
+.category-tags {
+	display: flex;
+	flex-wrap: wrap;
+	gap: 16rpx 16rpx;
+}
+.category-tags.collapsed {
+	max-height: 88rpx;
+	overflow: hidden;
+}
+.tag-item {
+	padding: 14rpx 28rpx;
+	border-radius: 36rpx;
+	background: #f0f0f0;
+}
+.tag-item text {
+	font-size: 26rpx;
+	color: #333;
+}
+.tag-item.active {
+	background: #e54d42;
+}
+.tag-item.active text {
+	color: #fff;
+}
+.expand-btn {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	margin-top: 20rpx;
+	padding: 12rpx 0;
+}
+.expand-btn text {
+	font-size: 26rpx;
+	color: #e54d42;
+}
+.expand-btn .arrow {
+	margin-left: 6rpx;
+	font-size: 22rpx;
+}
+
+/* 课程网格 */
+.course-grid {
+	display: flex;
+	flex-wrap: wrap;
+	padding: 20rpx 24rpx;
+	gap: 24rpx 20rpx;
+}
+.course-card {
+	width: calc(50% - 10rpx);
+	background: #fff;
+	border-radius: 16rpx;
+	overflow: hidden;
+	box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.06);
+}
+.card-cover {
+	width: 100%;
+	height: 220rpx;
+	background: #f0f0f0;
+}
+.cover-img {
+	width: 100%;
+	height: 100%;
+}
+.card-title {
+	display: block;
+	padding: 16rpx 16rpx 8rpx;
+	font-size: 26rpx;
+	color: #333;
+	line-height: 1.4;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+.card-footer {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	padding: 0 16rpx 16rpx;
+}
+.card-views {
+	font-size: 24rpx;
+	color: #999;
+}
+.btn-watch {
+	padding: 10rpx 24rpx;
+	background: #e54d42;
+	border-radius: 32rpx;
+	font-size: 24rpx;
+	color: #fff;
+}
+
+/* 最近学习 - 按日期分组 */
+.recent-group {
+	padding: 24rpx 24rpx 0;
+}
+.group-date {
+	display: flex;
+	align-items: center;
+	margin-bottom: 20rpx;
+}
+.date-icon {
+	font-size: 28rpx;
+	margin-right: 8rpx;
+}
+.date-text {
+	font-size: 28rpx;
+	color: #333;
+	font-weight: 500;
+}
+.recent-card {
+	display: flex;
+	background: #f8f8f8;
+	border-radius: 16rpx;
+	overflow: hidden;
+	margin-bottom: 20rpx;
+}
+.recent-thumb {
+	width: 220rpx;
+	height: 160rpx;
+	flex-shrink: 0;
+	background: #e8e8e8;
+}
+.thumb-img {
+	width: 100%;
+	height: 100%;
+}
+.recent-info {
+	flex: 1;
+	padding: 20rpx 24rpx;
+	display: flex;
+	flex-direction: column;
+	justify-content: space-between;
+	min-width: 0;
+}
+.recent-title {
+	font-size: 28rpx;
+	color: #333;
+	line-height: 1.4;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+	margin-bottom: 8rpx;
+}
+.recent-progress {
+	font-size: 24rpx;
+	color: #666;
+	margin-bottom: 12rpx;
+}
+
+/* 空态 */
+.empty-state {
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	padding: 80rpx 0 48rpx;
+	background: linear-gradient(180deg, #fff5f5 0%, #fff 100%);
+}
+.empty-icon {
+	font-size: 120rpx;
+	margin-bottom: 24rpx;
+	opacity: 0.9;
+}
+.empty-text {
+	font-size: 28rpx;
+	color: #999;
+}
+
+/* 为您精选 */
+.recommend-section {
+	padding: 0 24rpx 32rpx;
+}
+.recommend-title {
+	display: block;
+	font-size: 32rpx;
+	font-weight: bold;
+	color: #333;
+	margin-bottom: 24rpx;
+}
+
+.bottom-placeholder {
+	height: 120rpx;
+}
+</style>

+ 475 - 0
pages_index/index.vue

@@ -0,0 +1,475 @@
+<template>
+	<view class="container">
+		<!-- 顶部搜索栏 -->
+		<view class="top-bar">
+			<view class="search-row" @click="onSearch">
+				<text class="search-icon">🔍</text>
+				<text class="search-placeholder">搜索你感兴趣的内容</text>
+			</view>
+			<view class="top-actions">
+				<text class="action-icon">⋯</text>
+				<text class="action-icon scan">⊙</text>
+			</view>
+		</view>
+
+		<!-- 应用标题与副标题 -->
+		<view class="brand">
+			<text class="brand-title">品质韶华·乐享朝夕</text>
+			<text class="brand-subtitle">全国89%的中老年人都在用的兴趣内容社区</text>
+		</view>
+
+		<!-- 主题横幅 Banner -->
+		<view class="banner" @click="onBannerClick">
+			<image class="banner-bg" src="/static/logo.png" mode="aspectFill"></image>
+			<view class="banner-overlay">
+				<text class="banner-title">央广原乡行</text>
+				<text class="banner-desc">央广旅游 品味山海</text>
+			</view>
+		</view>
+
+		<scroll-view scroll-y class="scroll-content" :show-scrollbar="false">
+			<!-- 央广原乡行 视频推荐区 -->
+			<view class="section video-section">
+				<view class="section-head">
+					<text class="section-title">央广原乡行</text>
+					<text class="section-more" @click="onMoreVideos">查看更多 ></text>
+				</view>
+				<scroll-view scroll-x class="tag-scroll" :show-scrollbar="false">
+					<view
+						v-for="(tag, idx) in videoTags"
+						:key="idx"
+						class="tag-item"
+						:class="{ active: videoTagIndex === idx }"
+						@click="videoTagIndex = idx"
+					>
+						<text>{{ tag }}</text>
+					</view>
+				</scroll-view>
+				<view class="feature-video-card" @click="onWatchLive">
+					<view class="fv-thumb">
+						<image class="fv-img" src="/static/logo.png" mode="aspectFill"></image>
+						<view class="live-tag">
+							<text class="live-dot"></text>
+							<text>直播中</text>
+						</view>
+					</view>
+					<view class="fv-info">
+						<text class="fv-title">《长寿恩施》</text>
+						<text class="fv-desc">邀你一起看恩施美景,寻长寿秘密</text>
+						<view class="btn-watch" @click.stop="onWatchLive">立即观看</view>
+					</view>
+				</view>
+			</view>
+
+			<!-- 免费精品课 -->
+			<view class="section course-section">
+				<view class="section-head">
+					<view class="section-title-wrap">
+						<text class="play-icon">▶</text>
+						<text class="section-title">免费精品课</text>
+					</view>
+					<text class="section-more" @click="onMoreCourses">更多课程 ></text>
+				</view>
+				<view class="course-list">
+					<view
+						v-for="(course, idx) in courses"
+						:key="idx"
+						class="course-card"
+						@click="onCourseClick(course)"
+					>
+						<view class="course-thumb">
+							<image class="course-img" :src="course.cover || '/static/logo.png'" mode="aspectFill"></image>
+							<text class="course-tag">{{ course.tag }}</text>
+						</view>
+						<view class="course-info">
+							<text class="course-name">{{ course.name }}</text>
+							<view class="course-meta">
+								<text class="meta-icon">👤</text>
+								<text class="meta-count">{{ course.views }}</text>
+							</view>
+							<view class="btn-watch" @click.stop="onCourseClick(course)">立即观看</view>
+						</view>
+					</view>
+				</view>
+			</view>
+
+			<view class="bottom-placeholder"></view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			videoTagIndex: 0,
+			videoTags: ['恩施', '长白山', '吉林', '武当山', '张家界', '更多'],
+			courses: [
+				{
+					name: '歌唱家刘金的《0基础金曲演唱速练课》',
+					views: '9239',
+					tag: '0基础 金曲演唱速练',
+					cover: ''
+				},
+				{
+					name: '资深编辑邹方斌讲《毛笔书法修心课》',
+					views: '7.2w',
+					tag: '毛笔书法修心课',
+					cover: ''
+				},
+				{
+					name: '张斌《元气八段锦》系列课',
+					views: '5.9w',
+					tag: '元气八段锦',
+					cover: ''
+				},
+				{
+					name: '翔哥精讲摄影课-手机微距拍摄技巧分享',
+					views: '100w+',
+					tag: '手机微距 拍摄技巧分享',
+					cover: ''
+				}
+			]
+		}
+	},
+	onLoad() {},
+	methods: {
+		onSearch() {
+			// 可跳转搜索页
+			uni.showToast({ title: '搜索', icon: 'none' })
+		},
+		onBannerClick() {
+			uni.showToast({ title: '央广原乡行', icon: 'none' })
+		},
+		onMoreVideos() {
+			uni.showToast({ title: '查看更多视频', icon: 'none' })
+		},
+		onWatchLive() {
+			uni.showToast({ title: '立即观看', icon: 'none' })
+			// 可跳转: uni.navigateTo({ url: '/pages_course/living?id=xxx' })
+		},
+		onMoreCourses() {
+			uni.navigateTo({ url: '/pages_index/course' }).catch(() => {
+				uni.showToast({ title: '更多课程', icon: 'none' })
+			})
+		},
+		onCourseClick(course) {
+			uni.showToast({ title: course.name, icon: 'none' })
+			// 可跳转课程详情: uni.navigateTo({ url: '/pages_course/videovip?id=' + course.id })
+		}
+	}
+}
+</script>
+
+<style scoped>
+.container {
+	display: flex;
+	flex-direction: column;
+	min-height: 100vh;
+	background: #fff;
+}
+
+/* 顶部搜索 */
+.top-bar {
+	display: flex;
+	align-items: center;
+	padding: 24rpx 24rpx 16rpx;
+	background: #fff;
+}
+.search-row {
+	flex: 1;
+	display: flex;
+	align-items: center;
+	height: 72rpx;
+	padding: 0 24rpx;
+	background: #f5f5f5;
+	border-radius: 36rpx;
+}
+.search-icon {
+	font-size: 28rpx;
+	margin-right: 12rpx;
+	color: #999;
+}
+.search-placeholder {
+	font-size: 28rpx;
+	color: #999;
+}
+.top-actions {
+	display: flex;
+	align-items: center;
+	margin-left: 20rpx;
+}
+.action-icon {
+	font-size: 36rpx;
+	color: #333;
+	margin-right: 16rpx;
+}
+.action-icon.scan {
+	font-size: 40rpx;
+}
+
+/* 品牌标题 */
+.brand {
+	padding: 0 24rpx 20rpx;
+	background: #fff;
+}
+.brand-title {
+	display: block;
+	font-size: 40rpx;
+	font-weight: bold;
+	color: #333;
+	margin-bottom: 8rpx;
+}
+.brand-subtitle {
+	font-size: 24rpx;
+	color: #999;
+}
+
+/* Banner */
+.banner {
+	position: relative;
+	height: 280rpx;
+	margin: 0 24rpx 24rpx;
+	border-radius: 16rpx;
+	overflow: hidden;
+	background: linear-gradient(135deg, #87CEEB 0%, #E0F4FF 100%);
+}
+.banner-bg {
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 100%;
+	height: 100%;
+}
+.banner-overlay {
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 100%;
+	height: 100%;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	background: rgba(0,0,0,0.15);
+}
+.banner-title {
+	font-size: 48rpx;
+	font-weight: bold;
+	color: #fff;
+	text-shadow: 0 2rpx 8rpx rgba(0,0,0,0.2);
+	margin-bottom: 8rpx;
+}
+.banner-desc {
+	font-size: 24rpx;
+	color: rgba(255,255,255,0.95);
+}
+
+/* 滚动内容区 */
+.scroll-content {
+	flex: 1;
+	height: 0;
+}
+.section {
+	padding: 0 24rpx 32rpx;
+}
+.section-head {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	margin-bottom: 20rpx;
+}
+.section-title {
+	font-size: 34rpx;
+	font-weight: bold;
+	color: #333;
+}
+.section-title-wrap {
+	display: flex;
+	align-items: center;
+}
+.play-icon {
+	font-size: 24rpx;
+	color: #e54d42;
+	margin-right: 8rpx;
+}
+.section-more {
+	font-size: 26rpx;
+	color: #999;
+}
+
+/* 横向标签 */
+.tag-scroll {
+	white-space: nowrap;
+	margin-bottom: 20rpx;
+}
+.tag-item {
+	display: inline-block;
+	padding: 12rpx 28rpx;
+	margin-right: 16rpx;
+	border-radius: 32rpx;
+	background: #fff;
+	border: 1rpx solid #eee;
+}
+.tag-item text {
+	font-size: 26rpx;
+	color: #333;
+}
+.tag-item.active {
+	background: #e54d42;
+	border-color: #e54d42;
+}
+.tag-item.active text {
+	color: #fff;
+}
+
+/* 特色视频卡片 */
+.feature-video-card {
+	display: flex;
+	background: #f8f8f8;
+	border-radius: 16rpx;
+	overflow: hidden;
+}
+.fv-thumb {
+	position: relative;
+	width: 280rpx;
+	height: 200rpx;
+	flex-shrink: 0;
+}
+.fv-img {
+	width: 100%;
+	height: 100%;
+	background: #e0e0e0;
+}
+.live-tag {
+	position: absolute;
+	left: 12rpx;
+	top: 12rpx;
+	display: flex;
+	align-items: center;
+	padding: 4rpx 12rpx;
+	background: #e54d42;
+	border-radius: 8rpx;
+}
+.live-tag text {
+	font-size: 22rpx;
+	color: #fff;
+	margin-left: 6rpx;
+}
+.live-dot {
+	width: 12rpx;
+	height: 12rpx;
+	background: #fff;
+	border-radius: 50%;
+	animation: blink 1s infinite;
+}
+@keyframes blink {
+	50% { opacity: 0.5; }
+}
+.fv-info {
+	flex: 1;
+	padding: 20rpx 24rpx;
+	display: flex;
+	flex-direction: column;
+	justify-content: space-between;
+	min-width: 0;
+}
+.fv-title {
+	font-size: 30rpx;
+	font-weight: bold;
+	color: #333;
+	margin-bottom: 8rpx;
+}
+.fv-desc {
+	font-size: 24rpx;
+	color: #666;
+	line-height: 1.4;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 红色按钮 */
+.btn-watch {
+	align-self: flex-start;
+	padding: 12rpx 28rpx;
+	background: #e54d42;
+	border-radius: 32rpx;
+	font-size: 26rpx;
+	color: #fff;
+	margin-top: 12rpx;
+}
+
+/* 课程列表 */
+.course-list {
+	display: flex;
+	flex-direction: column;
+	gap: 24rpx;
+}
+.course-card {
+	display: flex;
+	background: #f8f8f8;
+	border-radius: 16rpx;
+	overflow: hidden;
+}
+.course-thumb {
+	position: relative;
+	width: 240rpx;
+	height: 180rpx;
+	flex-shrink: 0;
+}
+.course-img {
+	width: 100%;
+	height: 100%;
+	background: #e0e0e0;
+}
+.course-tag {
+	position: absolute;
+	left: 0;
+	bottom: 0;
+	right: 0;
+	padding: 8rpx 12rpx;
+	background: linear-gradient(transparent, rgba(0,0,0,0.6));
+	font-size: 22rpx;
+	color: #fff;
+}
+.course-info {
+	flex: 1;
+	padding: 20rpx 24rpx;
+	display: flex;
+	flex-direction: column;
+	min-width: 0;
+}
+.course-name {
+	font-size: 28rpx;
+	color: #333;
+	line-height: 1.4;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+	margin-bottom: 12rpx;
+}
+.course-meta {
+	display: flex;
+	align-items: center;
+	margin-bottom: 12rpx;
+}
+.meta-icon {
+	font-size: 24rpx;
+	margin-right: 6rpx;
+	color: #999;
+}
+.meta-count {
+	font-size: 24rpx;
+	color: #999;
+}
+
+/* 底部占位(为全局 tabBar 留出空间) */
+.bottom-placeholder {
+	height: 120rpx;
+}
+</style>

+ 0 - 239
pages_index/index/articleDetails.vue

@@ -1,239 +0,0 @@
-<template>
-	<view class="content">
-		<view class="detail-cont">
-			<view class="title">{{item.title}}</view>
-			<view class="info">
-				<view class="reads">阅读数:{{item.views}}</view>
-				<view class="time">{{item.publishTime}}</view>
-			</view>
-			<!-- 正文 -->
-			<view class="full-text">
-				<view v-html="item.contents"></view>
-			</view>
-		</view>
-		
-		<!-- 咨询按钮 -->
-		<view class="inquiry">
-			<view class="content">
-				<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/consult.png" mode=""></image>
-				<text class="text">咨询</text>
-				<button class="contact-btn" open-type="contact"></button>
-			</view>
-			
-		</view>
-	</view> 
-</template>
-
-<script>
-	import { getArticleByArticleId } from '@/api/article'
-	export default {
-		data() {
-			return {
-				articleId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.articleId=option.articleId;
-		},
-		onShow() {
-			this.getArticleById();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			return {
-				title: this.item.title,
-				path: '/pages_index/articleDetails?articleId='+this.articleId,
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title: this.item.title,
-				query:'articleId='+this.articleId,//页面参数
-			}
-			
-		},
-		methods:{
-			getArticleById(){
-				let data = {articleId:this.articleId};
-				getArticleByArticleId(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-	}
-	.detail-cont{
-		flex: 1;
-		padding: 40upx;
-		overflow-y: auto;
-		.title{
-			font-size: 40upx;
-			font-family: PingFang SC;
-			// font-weight: bold;
-			color: #222222;
-			line-height: 70upx;
-		}
-		.info{
-			display: flex;
-			align-items: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 48upx;
-			margin: 23upx 0;
-			.reads{
-				margin-right: 30upx;
-			}
-		}
-		.full-text{
-			font-size: 36upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #222222;
-			line-height: 60upx;
-		}
-	}
-	.recent-reads{
-		flex-shrink: 0;
-		box-sizing: border-box;
-		height: 121upx;
-		background: #FFFFFF;
-		border-top: 1px solid #F0F0F0;
-		padding: 0 40upx 0 37upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			display: flex;
-			align-items: center;
-			.label{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-				margin-right: 20upx;
-			}
-			.peop-box{
-				display: flex;
-				align-items: center;
-				.head-box{
-					margin-right: 28upx;
-					display: flex;
-					align-items: center;
-					.head{
-						width: 48upx;
-						height: 48upx;
-						border-radius: 50%;
-						overflow: hidden;
-						box-shadow: 0 0 0 1px #fff;
-						margin-right: -10upx;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-				}
-				.arrow{
-					width: 13upx;
-					height: 23upx;
-				}
-			}
-		}
-		.share-btn{
-			position: relative;
-			width: 240upx;
-			height: 80upx;
-			line-height: 80upx;
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: #2BC7B9;
-			border-radius: 40upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 32upx;
-				height: 32upx;
-				margin-right: 15upx;
-			}
-			.share{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-				opacity: 0;
-			}
-		}
-	}
-	.inquiry{
-		width: 131upx;
-		height: 131upx;
-		position: fixed;
-		right: 22upx;
-		bottom: 193upx;
-		z-index: 99;
-		
-		.content{
-			position: relative;
-			image{
-				width: 100%;
-				height: 100%;
-				position: absolute;
-				top: 0;
-				left: 0;
-				z-index: 9;
-			}
-			.text{
-				position: absolute;
-				top: 70upx;
-				left: 50%;
-				transform: translateX(-50%);
-				z-index: 10;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 1;
-			}
-			 
-		}
-		
-		
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-</style>

+ 0 - 317
pages_index/index/articleList.vue

@@ -1,317 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in cates" :key="index" :class="cateId == item.cateId?'item active':'item'" @click="choseCate(item)">
-							{{ item.cateName }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="readers">
-								<view class="readings">
-									<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" ></image>
-									<text class="num">{{item.views}}</text>
-								</view>
-							</view>
-							<view class="time">{{item.publishTime}}</view>
-						</view>
-					</view>
-					<view class="right">
-						<image :src="item.imageUrl" mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getArticleList,getArticleCateList} from '@/api/article.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				cates:[],
-				cateId:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getArticleCateList();
-		},
-		methods:{
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			getArticleCateList(){
-				var that=this;
-				let data = {};
-				getArticleCateList(data).then(
-					res => {
-						if(res.code==200){
-							this.cates=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					cateId:this.cateId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getArticleList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 关键词选择
-			choseCate(item) {
-				this.cateId = item.cateId;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './articleDetails?articleId=' + item.articleId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			height: 271upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				height: 190upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 48upx;
-				}
-				.info-box{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.readers{
-						display: flex;
-						align-items: center;
-						.head-box{
-							margin-right: 27upx;
-							display: flex;
-							align-items: center;
-							.head{
-								width: 48upx;
-								height: 48upx;
-								border-radius: 50%;
-								overflow: hidden;
-								box-shadow: 0 0 0 1px #fff;
-								margin-right: -10upx;
-								image{
-									width: 100%;
-									height: 100%;
-								}
-							}
-						}
-						.readings{
-							display: flex;
-							align-items: center;
-							.eye{
-								width: 26upx;
-								height: 20upx;
-								margin-right: 9upx;
-							}
-							.num{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-					.time{
-						font-size: 24upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-			.right{
-				width: 250upx;
-				height: 190upx;
-				border-radius: 8upx;
-				overflow: hidden;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 220
pages_index/index/chineseMedicineDetails.vue

@@ -1,220 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.medicineName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="tabs">
-				<view @click="tabClick(1)" :class="tabIndex==1?'tab1 active':'tab1'">
-					基本用法
-				</view>
-				<view @click="tabClick(2)"  :class="tabIndex==2?'tab2 active':'tab2'">
-					药物作用
-				</view>
-				<view @click="tabClick(3)"  :class="tabIndex==3?'tab3 active':'tab3'">
-					用药方法
-				</view>
-				<view @click="tabClick(4)"  :class="tabIndex==4?'tab4 active':'tab4'">
-					注意事项
-				</view>
-			</view>
-			<view class="content" v-if="tabIndex==1" v-html="item.descs">
-			</view>
-			<view class="content" v-if="tabIndex==2"  v-html="item.action">
-			</view>
-			<view class="content" v-if="tabIndex==3" v-html="item.usageMethod">
-			</view>
-			<view class="content" v-if="tabIndex==4" v-html="item.msg">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getChineseMedicineById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				articleId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getChineseMedicineById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.medicineName,
-					path: '/pages_index/chineseMedicineDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png'//分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			tabClick(index){
-				this.tabIndex=index;
-			},
-			getChineseMedicineById(){
-				let data = {id:this.id};
-				getChineseMedicineById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 310
pages_index/index/chineseMedicineList.vue

@@ -1,310 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="tabs">
-				 <u-tabs
-				  :scrollable="false"
-				  :list="tabs"  
-				  lineColor="#2BC7B9"
-				 @change="tabChange">
-				 </u-tabs>
-			</view>
-		</view>
-		<view class="cont-box">
-			<view class="left">
-				<view class="items">
-					<view v-if="tabIndex==1" @click="flavorClick(item)" v-for="item in flavorOptions" :class="item.dictValue==flavor?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictValue==flavor"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==2" @click="indicationClick(item)" v-for="item in indicationOptions" :class="item.dictLabel==indication?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==indication"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					 
-				</view>
-			</view>
-			<view class="right" >
-				<view class="title">{{title}}</view>
-				<scroll-view @scrolltolower="scrolltolower" scroll-y="true"  style="height: calc(100vh - 180rpx);">
-				<view class="items">
-					<view class="r-item" @click="showDetail(item)" v-for="item in dataList">
-						<view class="r-left">{{item.medicineName}}</view>
-						<view class="r-right">
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/fire.png"></image>
-						</view>
-					</view>
-				</view>
-				</scroll-view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getChineseMedicineList} from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				indication:"",
-				flavor:"",
-				vessel:"",
-				title:"",
-				pageNum:1,
-				pageSize:20,
-				flavorOptions:[],
-				indicationOptions:[],
-				tabs: [
-					{name:"按五味",id:"1"},
-					{name:"按疾病",id:"2"},
-				],
-				keyword: '',
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDictByKey("sys_chinese_medicine_flavor");
-			this.getDictByKey("sys_indication");
-			this.getChineseMedicineList()
-		},
-		methods:{
-			scrolltolower(e){
-				this.pageNum++;
-				this.getChineseMedicineList()
-				console.log(e)
-			},
-			indicationClick(item){
-				this.flavor="";
-				this.indication=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			flavorClick(item){
-				console.log(item)
-				this.indication=""
-				this.flavor=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_indication"){
-								this.indicationOptions=res.data;
-							}
-							if(key=="sys_chinese_medicine_flavor"){
-								this.flavorOptions=res.data;
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			tabChange(item) {
-				this.tabIndex = item.id
-				this.getChineseMedicineList()
-			},
-			doSearch(){
-				this.pageNum=1;
-				this.getChineseMedicineList()
-			},
-			getChineseMedicineList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					indication:this.indication,
-					flavor:this.flavor,
-					vessel:this.vessel,
-					keyword:this.keyword,
-					pageNum: this.pageNum,
-					pageSize: this.pageSize
-				};
-				uni.showLoading({
-					title:"加载中..."
-				})
-				getChineseMedicineList(data).then(res => {
-					uni.hideLoading()
-					if(res.code==200){
-						//设置列表数据
-						if (this.pageNum == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = [];
-					}
-				});
-			},
-			 
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './chineseMedicineDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		overflow: hidden;
-	}
-	.top-box{
-		width: 100%;
-		height: 180rpx;
-		background-color: #FFFFFF;
-		.search-cont{
-			padding: 16upx 30upx;
-			.inner{
-				box-sizing: border-box;
-				width: 100%;
-				height: 72upx;
-				background: #F7F7F7;
-				border-radius: 36upx;
-				display: flex;
-				align-items: center;
-				padding: 0 30upx;
-				.icon-search{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				input{
-					height: 60upx;
-					line-height: 60upx;
-					flex: 1;
-				}
-			}
-		}
-		.tabs{
-		}
-	}
-	.cont-box{
-		height: calc(100% - 180rpx);
-		display: flex;
-		align-items: flex-start;
-		justify-content: flex-start;
-		.left{
-			padding: 30rpx 0rpx;
-			width: 240rpx;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.items{
-				width: 240rpx;
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: flex-start;
-				.item{
-					width: 240rpx;
-					padding: 0rpx 20rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: normal;
-					color: #111111;
-					font-weight: 500;
-					line-height: 80upx;
-					.line{
-						margin-right: 15rpx;
-						border-radius: 5rpx;
-						width: 8rpx;
-						height:30rpx;
-						background-color: #2BC7B9;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #2BC7B9;
-				}
-			}
-			
-		}
-		.right{
-			padding: 30rpx 15rpx;
-			background-color: #fff;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			width: calc(100% - 240rpx);
-			.title{
-				font-size: 40upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 80upx;
-			}
-			.items{
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				.r-item{
-					line-height: 80rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.r-left{
-						flex: 1;
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #080808;
-					}
-					.r-right{
-						padding: 0rpx 20rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						image{
-							width: 22rpx;
-							height:30rpx;
-						}
-					}
-					
-				}
-				 
-			}
-		}
-	}
-	 
-</style>

+ 0 - 126
pages_index/index/diseaseDetails.vue

@@ -1,126 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">疾病名称</view>
-			</view>
-			<view class="desc" v-html="item.diseaseName"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">病情症状</view>
-			</view>
-			<view class="desc" v-html="item.symptom"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">病情诊断</view>
-			</view>
-			<view class="desc" v-html="item.diagnose"></view>
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">相关检验</view>
-			</view>
-			<view class="desc" v-html="item.inspect"></view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getDiseaseById} from '@/api/disease'
-	export default {
-		data() {
-			return {
-				diseaseId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.diseaseId=option.diseaseId;
-		},
-		onShow() {
-			this.getDiseaseById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.diseaseName,
-					path: '/pages_index/diseaseDetails?id='+this.diseaseId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png'//分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.diseaseName,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getDiseaseById(){
-				let data = {diseaseId:this.diseaseId};
-				getDiseaseById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
- 
-	.content{
-	}
-	.detail-cont{
-		margin: 20rpx;
-		padding: 15rpx;
-		box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
-		background-color: #fff;
-		border-radius: 15rpx;
-		.title-box{
-			width: 100%;
-			display: flex;
-			justify-content: flex-start;
-			align-items: center;
-			.line{
-				width: 6rpx;
-				height:30rpx;
-				background-color: #2BC7B9;
-				 
-			}
-			.title{
-				margin-left: 15rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #333;
-			}
-			 
-		}
-		.desc{
-			margin-top: 15rpx;
-			margin-bottom: 15rpx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			color: #9a9a9c;
-		}
-	}
-	 
-</style>

+ 0 - 254
pages_index/index/diseaseList.vue

@@ -1,254 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			
-			<!-- 关键字列表 -->
-			<view class="dept-list">  
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in depts" :key="index" :class="deptId == item.deptId?'item active':'item'" @click="choseDept(item)">
-							{{ item.deptName }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="disease-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis1">{{ item.diseaseName }}</view>
-					</view>
-					<view class="right">
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getDiseaseList} from '@/api/disease.js'
-	import {getDepartmentList} from '@/api/department.js'
-	//import {getDepartmentList} from '@/api/doctorOrder.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				depts:[],
-				deptId:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDepartmentList();
-		},
-		methods:{
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			getDepartmentList(){
-				var that=this;
-				let data = {};
-				getDepartmentList(data).then(
-					res => {
-						if(res.code==200){
-							// var allDept={departmentId:0,departmentName:"全部"}
-							// this.depts.push(allDept);
-							// this.depts=this.depts.concat(res.data);
-							this.depts=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					deptId:this.deptId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getDiseaseList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			choseDept(item) {
-				this.deptId = item.deptId;
-				this.mescroll.resetUpScroll()
-			},
-			showDetail(item) {
-				uni.navigateTo({
-					url: './diseaseDetails?diseaseId=' + item.diseaseId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.dept-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.disease-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #111111;
-					line-height: 48upx;
-				}
-			}
-			.right{
-				image{
-					width: 30upx;
-					height: 30upx;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 243
pages_index/index/doctorArticleDetails.vue

@@ -1,243 +0,0 @@
-<template>
-	<view class="content">
-		<view class="detail-cont">
-			<view class="title">{{item.title}}</view>
-			<view class="info">
-				<view class="reads">阅读数:{{item.views}}</view>
-				<view class="time">{{item.createTime}}</view>
-			</view>
-			<view class="video"  v-if="item.videoUrl!=null">
-				<video class="myVideo" id="myVideo" :src="item.videoUrl"
-				                  @error="videoErrorCallback"   controls></video>
-			</view>
-			<!-- 正文 -->
-			<view class="full-text"  >
-				<view v-html="item.content"></view>
-			</view>
-			
-		</view>
-		<!-- 咨询按钮 -->
-	<!-- 	<view class="inquiry"  >
-			<view class="content"  @click="navTo('/pages_doctor/doctorDetails?doctorId='+item.doctorId)">
-				<image  mode="aspectFill"  :src="item.avatar" ></image>
-				<text class="text">{{item.doctorName}}</text>
-			</view>
-		</view> -->
-		<!-- <view class="ad">
-			<u-swiper
-					:list="advImgs"
-					indicator
-					indicatorMode="line"
-					circular
-					@click="handleAdvClick">
-			  </u-swiper>
-		</view> -->
-	</view> 
-</template>
-
-<script>
-	// import {getAdvList} from '@/api/adv.js'
-	import {getDoctorArticleById} from '@/api/doctorArticle.js'
-	export default {
-		data() {
-			return {
-				advs:[],
-				advImgs:[],
-				src: '',
-				articleId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.articleId=option.articleId;
-			 
-		},
-		onShow() {
-			//this.getAdvList()
-			this.getDoctorArticleById();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			return {
-				title: this.item.title,
-				path: '/pages_index/index/doctorArticleDetails?articleId='+this.articleId,
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title: this.item.title,
-				query:'articleId='+this.articleId,//页面参数
-			}
-			
-		},
-		methods:{
-			handleAdvClick(index){
-				var ad=this.advs[index];
-				console.log(ad.advUrl);
-				if(ad.showType==1){
-					uni.setStorageSync('url',ad.advUrl);
-					uni.navigateTo({
-						url:"h5"
-					})
-				}
-				else if(ad.showType==2){
-					uni.navigateTo({
-						url:ad.advUrl
-					})
-				}
-				else if(ad.showType==3){
-					 uni.setStorageSync('content',ad.content);
-					 uni.navigateTo({
-					 	url:"content"
-					 })
-				}
-				
-			},
-			getAdvList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					advType:10
-				};
-				getAdvList(data).then(res => {
-					if(res.code==200){
-						that.advImgs=[];
-						that.advs=[];
-						res.data.forEach(function(element) {
-							if(element.imageUrl!=null&&element.imageUrl!=""){
-								that.advs.push(element);
-								that.advImgs.push(element.imageUrl);
-							}
-						});
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-			 
-			videoErrorCallback: function(e) {
-				uni.showModal({
-					content: e.target.errMsg,
-					showCancel: false
-				})
-			},
-			navTo(url){
-				uni.navigateTo({
-					url: url
-				})
-			},
-			getDoctorArticleById(){
-				let data = {articleId:this.articleId};
-				getDoctorArticleById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-	}
-	.detail-cont{
-		width: calc(100% - 80rpx) ;
-		flex: 1;
-		padding: 40upx;
-		overflow-y: auto;
-		.title{
-			font-size: 40upx;
-			font-family: PingFang SC;
-			// font-weight: bold;
-			color: #222222;
-			line-height: 70upx;
-		}
-		.info{
-			display: flex;
-			align-items: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 48upx;
-			margin: 23upx 0;
-			.reads{
-				margin-right: 30upx;
-			}
-		}
-		.full-text{
-			width: 100%;
-			font-size: 36upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #222222;
-			line-height: 60upx;
-		}
-		.video{
-			width: 100%;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			video{
-				width: 100%;
-			}
-		}
-	}
-	.ad{
-		margin-bottom: 50rpx;
-		width: 100%;
-		padding: 15rpx;
-		 
-	}
-	.inquiry{
-		position: fixed;
-		right: 22upx;
-		bottom: 193upx;
-		z-index: 99;
-		.content{
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex-direction: column;
-			image{
-				box-sizing: border-box;
-				width: 100upx;
-				height: 100upx;
-				border-radius: 50%;
-				z-index: 9;
-				border: 2rpx solid #2BC7B9;
-			}
-			.text{
-				margin-top: 15upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-			}
-			 
-		}
-		
-	}
-	 
-</style>

+ 0 - 319
pages_index/index/doctorArticleList.vue

@@ -1,319 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in cateOptions" :key="index" :class="cateId == item.dictValue?'item active':'item'" @click="choseCate(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="readers">
-								<view class="head-box"  >
-									<view class="head"  >
-										<image class="eye" mode="aspectFill"  src="https://zkzh-2024.oss-cn-beijing.aliyuncs.com/fs/20241127/5b9750f911804728b153ebe5c0051a6f.jpg" ></image> 
-									</view>
-								</view>
-								<view class="readings">
-									<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" ></image>
-									<text class="num">{{item.views}}</text>
-								</view>
-							</view>
-							<!-- <view class="time-box">{{item.createTime}}</view> -->
-						</view>
-					</view>
-					<view class="right">
-						<image :src="item.imageUrl" mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	
-	import {getDictByKey} from '@/api/common.js'
-	import {getDoctorArticleList} from '@/api/doctorArticle.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				cateOptions:[],
-				cateId:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDictByKey("sys_doctor_article_cate");
-		},
-		methods:{
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							this.cateOptions=res.data;
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					cateId:this.cateId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getDoctorArticleList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 关键词选择
-			choseCate(item) {
-				this.cateId = item.dictValue;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './doctorArticleDetails?articleId=' + item.articleId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			box-sizing: border-box;
-			height: 271upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				height: 190upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 48upx;
-				}
-				.info-box{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.readers{
-						display: flex;
-						align-items: center;
-						.head-box{
-							margin-right: 27upx;
-							display: flex;
-							align-items: center;
-							.head{
-								width: 48upx;
-								height: 48upx;
-								border-radius: 50%;
-								overflow: hidden;
-								box-shadow: 0 0 0 1px #fff;
-								margin-right: -10upx;
-								image{
-									width: 100%;
-									height: 100%;
-								}
-							}
-						}
-						.readings{
-							display: flex;
-							align-items: center;
-							.eye{
-								width: 26upx;
-								height: 20upx;
-								margin-right: 9upx;
-							}
-							.num{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-					.time{
-						font-size: 24upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-			.right{
-				width: 250upx;
-				height: 190upx;
-				border-radius: 8upx;
-				overflow: hidden;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 220
pages_index/index/famousPrescribeDetails.vue

@@ -1,220 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.prescribeName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="tabs">
-				<view @click="tabClick(1)" :class="tabIndex==1?'tab1 active':'tab1'">
-					基本用法
-				</view>
-				<view @click="tabClick(2)"  :class="tabIndex==2?'tab2 active':'tab2'">
-					药物作用
-				</view>
-				<view @click="tabClick(3)"  :class="tabIndex==3?'tab3 active':'tab3'">
-					用药方法
-				</view>
-				<view @click="tabClick(4)"  :class="tabIndex==4?'tab4 active':'tab4'">
-					注意事项
-				</view>
-			</view>
-			<view class="content" v-if="tabIndex==1" v-html="item.descs">
-			</view>
-			<view class="content" v-if="tabIndex==2"  v-html="item.action">
-			</view>
-			<view class="content" v-if="tabIndex==3" v-html="item.usageMethod">
-			</view>
-			<view class="content" v-if="tabIndex==4" v-html="item.msg">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getFamousPrescribeById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				id:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getFamousPrescribeById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.prescribeName,
-					path: '/pages_index/famousPrescribeDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png'//分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			tabClick(index){
-				this.tabIndex=index;
-			},
-			getFamousPrescribeById(){
-				let data = {id:this.id};
-				getFamousPrescribeById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 337
pages_index/index/famousPrescribeList.vue

@@ -1,337 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-box">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="tabs">
-				 <u-tabs
-				  :scrollable="false"
-				  :list="tabs"  
-				  lineColor="#2BC7B9"
-				 @change="tabChange">
-				 </u-tabs>
-			</view>
-		</view>
-		<view class="cont-box">
-			<view class="left">
-				<view class="items">
-					<view v-if="tabIndex==1" @click="typeClick(item)" v-for="item in typeOptions" :class="item.dictValue==prescribeType?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictValue==prescribeType"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==2" @click="indicationClick(item)" v-for="item in indicationOptions" :class="item.dictLabel==indication?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==indication"></text>
-						{{ utils.subString(item.dictLabel) }}
-					</view>
-					<view v-if="tabIndex==3" @click="bookClick(item)" v-for="item in bookOptions" :class="item.dictLabel==belongBook?'item ellipsis active':'item ellipsis'">
-						<text class="line" v-if="item.dictLabel==belongBook"></text>
-						{{  utils.subString(item.dictLabel)  }}
-					</view>
-				</view>
-			</view>
-			<view class="right" >
-				<view class="title">{{title}}</view>
-				<scroll-view @scrolltolower="scrolltolower" scroll-y="true"  style="height: calc(100vh - 180rpx);">
-				<view class="items">
-					<view class="r-item" @click="showDetail(item)" v-for="item in dataList">
-						<view class="r-left">{{item.prescribeName}}</view>
-						<view class="r-right">
-							<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/fire.png"></image>
-						</view>
-					</view>
-				</view>
-				</scroll-view>
-			</view>
-		</view>
-		 
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getFamousPrescribeList} from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				tabIndex:1,
-				indication:"",
-				belongBook:"",
-				title:"",
-				prescribeType:0,
-				pageNum:1,
-				pageSize:20,
-				typeOptions:[],
-				bookOptions:[],
-				indicationOptions:[],
-				tabs: [
-					{name:"按类型",id:"1"},
-					{name:"按疾病",id:"2"},
-					{name:"按书籍",id:"3"}
-				],
-				keyword: '',
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDictByKey("sys_famous_prescribe_type");
-			this.getDictByKey("sys_famous_prescribe_indication");
-			this.getDictByKey("sys_famous_prescribe_book");
-			
-		},
-		methods:{
-			scrolltolower(e){
-				this.pageNum++;
-				this.getFamousPrescribeList()
-				console.log(e)
-			},
-			typeClick(item){
-				this.indication=""
-				this.belongBook="";
-				this.prescribeType=parseInt(item.dictValue);
-				console.log(this.prescribeType)
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			bookClick(item){
-				this.indication=""
-				this.prescribeType=0;
-				this.belongBook=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			indicationClick(item){
-				console.log(item)
-				this.belongBook=""
-				this.prescribeType=0;
-				this.indication=item.dictLabel;
-				this.title=item.dictLabel;
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_famous_prescribe_type"){
-								this.typeOptions=res.data;
-								if(this.typeOptions!=null&&this.typeOptions.length>0){
-									this.typeClick(this.typeOptions[0])
-								}
-							}
-							if(key=="sys_famous_prescribe_indication"){
-								this.indicationOptions=res.data;
-								 
-							}
-							if(key=="sys_famous_prescribe_book"){
-								this.bookOptions=res.data;
-								 
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			tabChange(item) {
-				this.tabIndex = item.id
-				this.getFamousPrescribeList()
-			},
-			doSearch(){
-				this.pageNum=1;
-				this.getFamousPrescribeList()
-			},
-			getFamousPrescribeList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					indication:this.indication,
-					belongBook:this.belongBook,
-					prescribeType:this.prescribeType,
-					keyword:this.keyword,
-					pageNum: this.pageNum,
-					pageSize: this.pageSize
-				};
-				uni.showLoading({
-					title:"加载中..."
-				})
-				getFamousPrescribeList(data).then(res => {
-					uni.hideLoading()
-					if(res.code==200){
-						//设置列表数据
-						if (this.pageNum == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = [];
-					}
-				});
-			},
-			 
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './famousPrescribeDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		overflow: hidden;
-	}
-	.top-box{
-		width: 100%;
-		height: 180rpx;
-		background-color: #FFFFFF;
-		.search-cont{
-			padding: 16upx 30upx;
-			.inner{
-				box-sizing: border-box;
-				width: 100%;
-				height: 72upx;
-				background: #F7F7F7;
-				border-radius: 36upx;
-				display: flex;
-				align-items: center;
-				padding: 0 30upx;
-				.icon-search{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				input{
-					height: 60upx;
-					line-height: 60upx;
-					flex: 1;
-				}
-			}
-		}
-		.tabs{
-		}
-	}
-	.cont-box{
-		height: calc(100% - 180rpx);
-		display: flex;
-		align-items: flex-start;
-		justify-content: flex-start;
-		.left{
-			padding: 30rpx 0rpx;
-			width: 240rpx;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.items{
-				width: 240rpx;
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: flex-start;
-				.item{
-					width: 240rpx;
-					padding: 0rpx 20rpx;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: normal;
-					color: #111111;
-					font-weight: 500;
-					line-height: 80upx;
-					.line{
-						margin-right: 15rpx;
-						border-radius: 5rpx;
-						width: 8rpx;
-						height:30rpx;
-						background-color: #2BC7B9;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #2BC7B9;
-				}
-			}
-			
-		}
-		.right{
-			padding: 30rpx 15rpx;
-			background-color: #fff;
-			height: 100%;
-			overflow-y: auto;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			width: calc(100% - 240rpx);
-			.title{
-				font-size: 40upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 80upx;
-			}
-			.items{
-				width: 100%;
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				.r-item{
-					line-height: 80rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.r-left{
-						flex: 1;
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #080808;
-					}
-					.r-right{
-						padding: 0rpx 20rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						image{
-							width: 22rpx;
-							height:30rpx;
-						}
-					}
-					
-				}
-				 
-			}
-		}
-	}
-	 
-</style>

+ 0 - 195
pages_index/index/medicatedFoodDetails.vue

@@ -1,195 +0,0 @@
-<template>
-	<view class="content" v-if="item!=null">
-		<view class="image">
-			<image mode="aspectFill" :src="item.imgUrl"></image>
-		</view>
-		<view class="detail-cont">
-			<view class="title-box">
-				<view class="line"></view>
-				<view class="title">{{item.foodName}}</view>
-				<view class="title-py">{{item.pinyin}}</view>
-			</view>
-			<view class="desc">
-				{{item.actionTitle}}
-			</view>
-			<view class="line-h"></view>
-			<view class="content"   v-html="item.descs">
-			</view>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getMedicatedFoodById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getMedicatedFoodById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.foodName,
-					path: '/pages_index/medicatedFoodDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getMedicatedFoodById(){
-				let data = {id:this.id};
-				getMedicatedFoodById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		image{
-			height:450rpx;
-			width:100%;
-		}
-		.detail-cont{
-			flex: 1;
-			padding: 20upx;
-			overflow-y: auto;
-			.title-box{
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				.line{
-					border-radius: 5rpx;
-					width: 8rpx;
-					height:30rpx;
-					background-color: #2BC7B9;
-				}
-				.title{
-					margin-left: 15rpx;
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333;
-				}
-				.title-py{
-					margin-left: 15rpx;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #333;
-				}
-			}
-			.desc{
-				margin-top: 20rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #333;
-			}
-			.line-h{
-				margin: 15rpx 0rpx;
-				border-bottom: 1rpx dashed #d4d4d4;
-			}
-			.tabs{
-				width: 100%;
-				margin: 20rpx 0rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				// border: 1rpx solid #2BC7B9;
-				border-radius: 30rpx;
-				line-height: 60rpx;
-				.tab1{
-					border-radius: 30rpx 0rpx 0rpx 30rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab2{
-					
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					
-					font-family: PingFang SC;
-				}
-				.tab3{
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.tab4{
-					border-radius: 0rpx 30rpx 30rpx 0rpx;
-					width: 25%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #fff;
-					color: #4F575A;
-					font-size: 28upx;
-					font-weight: bold;
-					font-family: PingFang SC;
-				}
-				.active{
-					background-color: #2BC7B9;
-					color: #fff;
-				}
-				 
-			}
-			 
-		}
-	}
-	
-	 
-</style>

+ 0 - 285
pages_index/index/medicatedFoodList.vue

@@ -1,285 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in foodOptions" :key="index" :class="food == item.dictLabel?'item active':'item'" @click="choseFood(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in actionOptions" :key="index" :class="action == item.dictLabel?'item active':'item'" @click="choseAction(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in indicationOptions" :key="index" :class="indication == item.dictLabel?'item active':'item'" @click="choseIndications(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="376rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="top">
-						<image :src="item.imgUrl" mode="aspectFill"></image>
-					</view>
-					<view class="title ellipsis">{{ item.foodName }}</view>
-					<view class="desc ellipsis">{{ item.actionTitle }}</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getMedicatedFoodList} from '@/api/index.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				foodOptions:[],
-				actionOptions:[],
-				indicationOptions:[],
-				action:"",
-				food:"",
-				indications:"",
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDictByKey("sys_medicated_food");
-			this.getDictByKey("sys_medicated_food_action");
-			this.getDictByKey("sys_indication");
-			
-		},
-		methods:{
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_medicated_food"){
-								this.foodOptions=res.data;
-							}
-							if(key=="sys_medicated_food_action"){
-								this.actionOptions=res.data;
-							}
-							if(key=="sys_indication"){
-								this.indicationOptions=res.data;
-							}
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					food:this.food,
-					action:this.action,
-					indications:this.indications,
-					keyword:this.keyword,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getMedicatedFoodList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			choseAction(item) {
-				this.action = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			choseFood(item) {
-				this.food = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			choseIndications(item) {
-				this.indications = item.dictLabel;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './medicatedFoodDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #2BC7B9;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		padding: 0 10upx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-wrap: wrap;
-		.item{
-			width: 50%;
-			box-sizing: border-box;
-			padding: 15upx;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.top{
-				width: 100%;
-				height: 240upx;
-				image{
-					border-radius: 20upx;
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.title{
-				text-align: center;
-				width: 100%;
-				margin-top: 15rpx;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #111111;
-			}
-			.desc{
-				text-align: center;
-				width: 100%;
-				margin-top: 15rpx;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-			
-		}
-	}
-</style>

+ 0 - 235
pages_index/index/questionsDetails.vue

@@ -1,235 +0,0 @@
-<template>
-	<view class="content">
-		<view class="detail-cont">
-			<view class="title">{{item.title}}</view>
-			<view class="info">
-				<view class="reads">阅读数:{{item.views}}</view>
-				<view class="time">{{item.createTime}}</view>
-			</view>
-			<!-- 正文 -->
-			<view class="full-text">
-				<view v-html="item.answers"></view>
-			</view>
-		</view>
-		 
-	</view> 
-</template>
-
-<script>
-	import {getQuestionsById} from '@/api/index'
-	export default {
-		data() {
-			return {
-				id:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.id=option.id;
-			 
-		},
-		onShow() {
-			this.getQuestionsById();
-		},
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.vesselName,
-					path: '/pages_index/questionsDetails?id='+this.id,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getQuestionsById(){
-				let data = {id:this.id};
-				getQuestionsById(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-	}
-	.detail-cont{
-		flex: 1;
-		padding: 40upx;
-		overflow-y: auto;
-		.title{
-			font-size: 40upx;
-			font-family: PingFang SC;
-			// font-weight: bold;
-			color: #222222;
-			line-height: 70upx;
-		}
-		.info{
-			display: flex;
-			align-items: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 48upx;
-			margin: 23upx 0;
-			.reads{
-				margin-right: 30upx;
-			}
-		}
-		.full-text{
-			font-size: 36upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #222222;
-			line-height: 60upx;
-		}
-	}
-	.recent-reads{
-		flex-shrink: 0;
-		box-sizing: border-box;
-		height: 121upx;
-		background: #FFFFFF;
-		border-top: 1px solid #F0F0F0;
-		padding: 0 40upx 0 37upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			display: flex;
-			align-items: center;
-			.label{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-				margin-right: 20upx;
-			}
-			.peop-box{
-				display: flex;
-				align-items: center;
-				.head-box{
-					margin-right: 28upx;
-					display: flex;
-					align-items: center;
-					.head{
-						width: 48upx;
-						height: 48upx;
-						border-radius: 50%;
-						overflow: hidden;
-						box-shadow: 0 0 0 1px #fff;
-						margin-right: -10upx;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-				}
-				.arrow{
-					width: 13upx;
-					height: 23upx;
-				}
-			}
-		}
-		.share-btn{
-			position: relative;
-			width: 240upx;
-			height: 80upx;
-			line-height: 80upx;
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: #2BC7B9;
-			border-radius: 40upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 32upx;
-				height: 32upx;
-				margin-right: 15upx;
-			}
-			.share{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-				opacity: 0;
-			}
-		}
-	}
-	.inquiry{
-		width: 131upx;
-		height: 131upx;
-		position: fixed;
-		right: 22upx;
-		bottom: 193upx;
-		z-index: 99;
-		
-		.content{
-			position: relative;
-			image{
-				width: 100%;
-				height: 100%;
-				position: absolute;
-				top: 0;
-				left: 0;
-				z-index: 9;
-			}
-			.text{
-				position: absolute;
-				top: 70upx;
-				left: 50%;
-				transform: translateX(-50%);
-				z-index: 10;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #2BC7B9;
-				line-height: 1;
-			}
-			 
-		}
-		
-		
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-</style>

+ 0 - 304
pages_index/index/questionsList.vue

@@ -1,304 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/search.png" mode=""></image>
-					<input type="text" v-model="keyword" placeholder="输入服务包搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="cate-list">
-				<!-- 关键字列表 -->
-				<scroll-view   scroll-x="true" >
-					<view class="inner">
-						<view v-for="(item,index) in typeOptions" :key="index" :class="questionsType == item.dictValue?'item active':'item'" @click="choseType(item)">
-							{{ item.dictLabel }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-		<mescroll-body  top="192rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="article-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="readers">
-								<view class="readings">
-									<image class="eye" src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/eye.png" ></image>
-									<text class="num">{{item.views}}</text>
-								</view>
-							</view>
-							<view class="time">{{item.createTime}}</view>
-						</view>
-					</view>
-					 
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getDictByKey} from '@/api/common.js'
-	import {getQuestionsList} from '@/api/index.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				typeOptions:[],
-				questionsType:0,
-				keyword: '',
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-			this.getDictByKey("sys_questions_type");
-		},
-		methods:{
-			getDictByKey(key){
-				var data={key:key}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							if(key=="sys_questions_type"){
-								this.typeOptions=res.data;
-							}
-						 
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			doSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.keyword,
-					questionsType:this.questionsType,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getQuestionsList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 关键词选择
-			choseType(item) {
-				this.questionsType = item.dictValue;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './questionsDetails?id=' + item.id
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-content{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-title{
-		height: 88upx;
-		line-height: 88upx;
-		font-size: 42upx;
-		font-family: Source Han Sans CN;
-		font-weight: bold;
-		color: #222222;
-		padding-left: 41upx;
-		background-color: #FFFFFF;
-	}
-	.search-cont{
-		padding: 16upx 30upx;
-		background-color: #FFFFFF;
-		.inner{
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #F7F7F7;
-			border-radius: 36upx;
-			display: flex;
-			align-items: center;
-			padding: 0 30upx;
-			.icon-search{
-				width: 28upx;
-				height: 28upx;
-				margin-right: 20upx;
-			}
-			input{
-				height: 60upx;
-				line-height: 60upx;
-				flex: 1;
-			}
-		}
-	}
-	.cate-list{
-		box-sizing: border-box;
-		background: #fff;
-		padding: 10upx 27upx;
-		height: 100upx;
-		.inner{
-			display: flex;
-		}
-		.item{
-			flex-shrink: 0;
-			padding: 0 24upx;
-			height: 64upx;
-			line-height: 64upx;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #2BC7B9;
-			background: #ffffff;
-			border: 1px solid #66b2ef   ;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #2BC7B9   ;
-				border: 1px solid #2BC7B9;
-			}
-		}
-	}
-	.article-list{
-		margin-top: 20upx;
-		padding: 0 10upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					line-height: 48upx;
-				}
-				.info-box{
-					margin-top: 20rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.readers{
-						display: flex;
-						align-items: center;
-						.head-box{
-							margin-right: 27upx;
-							display: flex;
-							align-items: center;
-							.head{
-								width: 48upx;
-								height: 48upx;
-								border-radius: 50%;
-								overflow: hidden;
-								box-shadow: 0 0 0 1px #fff;
-								margin-right: -10upx;
-								image{
-									width: 100%;
-									height: 100%;
-								}
-							}
-						}
-						.readings{
-							display: flex;
-							align-items: center;
-							.eye{
-								width: 26upx;
-								height: 20upx;
-								margin-right: 9upx;
-							}
-							.num{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-					.time{
-						font-size: 24upx;
-						line-height: 1;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
-			 
-		}
-	}
-</style>

+ 0 - 584
pages_index/index/test.vue

@@ -1,584 +0,0 @@
-<template>
-	<view class="content">
-		<view class="patient-cont">
-			<view class="chose-patient">
-				<view class="patient-box" @click="addPatient()" v-if="patient==null">
-					<text class="patient-title">选择体验者</text>
-					<view class="right" >
-						<text class="value">请点击添加</text>
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-				<view class="patient" @click="addPatient()" v-if="patient!=null">
-					<view  class="left">
-						<view class="name">{{patient.patientName}}</view>
-						<view class="info">
-							<text class="text" v-if="patient.sex==1">男</text>
-							<text class="text" v-if="patient.sex==2">女</text>
-							<text class="text">{{utils.getAge(patient.birthday)}}岁</text>
-							<text class="text">{{utils.parseIdCard(patient.idCard)}}</text>
-						</view>
-					</view>
-					<view class="right" >
-						<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="msg-cont">
-			<scroll-view
-				class="msg-scroll"
-				:scroll-top="scrollTop"
-				scroll-y="true"
-				:scroll-with-animation="true">
-			<view class="msgs">
-				<view class="msg-item" v-for="(item,index) in msgs" >
-					<view class="left" v-if="item.type==1">
-						<image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/5fd36547a3ca4d0b9935e623d3d8e1c5.png"></image>
-						<view class="msg-content">{{item.content}}</view>
-					</view>
-					<view class="right" v-if="item.type==2">
-						<view class="msg-content">{{item.content}}</view>
-						<image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/d7d49263e2e04f56a7a86fa7bfd35687.jpg"></image>
-					</view>
-				</view>
-			</view>
-			</scroll-view>
-		</view>
-		<view class="option-cont" v-if="item!=null">
-			<view class="option-title" >{{item.title}}</view>
-			<view class="options" >
-				<view class="option-item" @click="optionClick(item,option)" v-for="(option) in JSON.parse(item.scoreJson)" >{{option.name}}</view>
-			</view>
-		</view>
-		
-		<!-- <view class="title">
-			体质测试以当下感受为准作答,人的体质有可能会随季节变化。 
-		</view>
-		<view class="chose-patient">
-			<view class="patient-box" @click="addPatient()" v-if="patient==null">
-				<text class="patient-title">选择体验者</text>
-				<view class="right" >
-					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="patient" @click="addPatient()" v-if="patient!=null">
-				<view  class="left">
-					<view class="name">{{patient.patientName}}</view>
-					<view class="info">
-						<text class="text" v-if="patient.sex==1">男</text>
-						<text class="text" v-if="patient.sex==2">女</text>
-						<text class="text">{{$getAge(patient.birthday)}}岁</text>
-						<text class="text">{{$parseIdCard(patient.idCard)}}</text>
-					</view>
-				</view>
-				<view class="right" >
-					<image src="https://jnlzjk-1323137866.cos.ap-chongqing.myqcloud.com/shop/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-		</view>
-		<view class="items">
-			<view class="item" v-for="(item,index) in items">
-				<view class="name">{{index+1}}{{item.title}}?</view>
-				<view class="options">
-					<view :class="item.option!=null&&item.option==option.name?'option active':'option'" @click="optionClick(item,option)"   v-for="(option) in JSON.parse(item.scoreJson)">
-						{{option.name}}
-					</view>
-				</view>
-			</view>
-			 
-		</view>
-		<view class="btns">
-			<view class="btn" @click="submit()">提交</view>
-		</view>
-		<view class="tips">
-			<view class="tip-title">提交代表你已接受以下声明</view>
-			<view class="desc">
-			  本测试不作为诊断和治疗的依据,对于已经医生确诊的疾病,应按照医嘱积极治疗。所提及的内容仅作为生活保健的咨询建议。如遇不适请及时就医。
-			</view>
-		</view> -->
-	</view> 
-</template>
-
-<script>
-	import {getTestTempDetails,getTestDetails ,doReport} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				scrollTop:0,//滚动条位置
-				formJson:null,
-				tempId:null,
-				patient:null,
-				items:{},
-				msgs:[],
-				index:0,
-				item:null,
-			};
-		},
-		onLoad(option) {
-			this.tempId=option.tempId;
-			var that=this;
-			uni.$on('refreshOrderPatient', (res) => {
-				console.log("qxj data:"+JSON.stringify(res))
-				that.patient=res;
-			})
-			
-		},
-		onShow() {
-			this.getTestTempDetails();
-			this.getTestDetails();
-			
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康体质检测",
-					path: '/pages_index/test?tempId='+this.tempId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康体质检测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			getTestDetails(){
-				let data = {tempId:this.tempId};
-				getTestDetails(data).then(
-					res => {
-						if(res.code==200){
-							uni.setNavigationBarTitle({
-							      title: res.data.name+"自测"
-							});
-							 
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			addMsg(type,content){
-				var msg={type:type,content:content}
-				this.msgs.push(msg)
-				var that=this;
-				uni
-				  .createSelectorQuery()
-				  .select(".msgs")
-				  .boundingClientRect((res) => {
-				    const scrollH = res.height;
-					that.scrollTop = scrollH;
-					console.log(that.scrollTop)
-				    
-				  })
-				  .exec();
-				 
-				
-			},
-			optionClick(item,option){
-				if(this.patient==null){
-					uni.showToast({
-						icon:'none',
-						title: "请选择体验者",
-					});
-					return;
-				}
-				item.option=option.name;
-				console.log(item.option);
-				this.addMsg(2,option.name);
-				this.index++;
-				if(this.index<=this.items.length-1){
-					this.item=this.items[this.index];
-					this.addMsg(1,this.item.title)
-				}
-				else{
-					//提交
-					this.submit();
-				}
-				
-			},
-			getTestTempDetails(){
-				var data={tempId:this.tempId}
-				getTestTempDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.items=res.items;
-							if(this.items.length>0){
-								this.item=this.items[0];
-								this.addMsg(1,this.item.title)
-							}
-						}
-					},
-					err => {
-					}
-				);
-			},
-			addPatient(){
-				uni.navigateTo({
-					url: '/pages_user/user/patient?isFromTest=true'
-				})
-			},
-			submit(){
-				var data={
-					tempId:this.tempId,
-					patientId:this.patient.patientId,
-					formJson:JSON.stringify(this.items),
-				}
-				var that=this;
-				doReport(data).then(res => {
-					if(res.code==200){
-						uni.redirectTo({
-							url:"./testResult?reportId="+res.reportId
-						})
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: res.msg,
-						});
-					}
-				});
-				// uni.showModal({
-				//     title: '提示',
-				//     content: '确定提交吗',
-				//     success: function (res) {
-				//         if (res.confirm) {
-				// 			doReport(data).then(res => {
-				// 				if(res.code==200){
-				// 					uni.navigateTo({
-				// 						url:"./testResult?reportId="+res.reportId
-				// 					})
-				// 				}else{
-				// 					uni.showToast({
-				// 						icon:'none',
-				// 						title: res.msg,
-				// 					});
-				// 				}
-				// 			});
-				//         } 
-				// 		else if (res.cancel) {
-				//         }
-				//     }
-				// });
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100vh;
-		.msg-cont{
-			padding-bottom: 550rpx;
-			width: 100%;
-			height: calc(100vh - 760rpx);
-			.msg-scroll{
-				height: calc(100vh - 760rpx);
-				.msgs{
-					overflow: hidden;
-					width: 100%;
-					.msg-item{
-						padding: 10rpx 15rpx;
-						display: flex;
-						flex-direction: column;
-						justify-content: center;
-						align-items: flex-start;
-						width: 100%;
-						.left{
-							width: 100%;
-							display: flex;
-							justify-content: flex-start;
-							align-items: flex-start;
-							.img{
-								min-width: 100rpx;
-								width: 100rpx;
-								height:100rpx;
-								border-radius: 50%;
-								image{
-									width: 100%;
-									height:100%;
-								}
-							}
-							.msg-content{
-								margin-top: 15rpx;
-								margin-left: 10rpx;
-								border-radius: 15rpx;
-								padding: 15rpx;
-								background-color: #fff;
-								color: #111;
-								font-size: 28upx;
-								font-family: PingFang SC;
-							}
-						}
-						.right{
-							width: 100%;
-							display: flex;
-							justify-content: flex-end;
-							align-items: flex-start;
-							.msg-content{
-								margin-top: 15rpx;
-								margin-right: 10rpx;
-								border-radius: 15rpx;
-								padding: 15rpx;
-								background-color: #d3ad58;
-								color: #fff;
-								font-size: 28upx;
-								font-family: PingFang SC;
-							}
-							.img{
-								min-width: 100rpx;
-								width: 100rpx;
-								height:100rpx;
-								border-radius: 50%;
-								image{
-									width: 100%;
-									height:100%;
-								}
-							}
-						}
-					}
-				}
-			}
-			
-			
-		}
-		.option-cont{
-			position: fixed;
-			bottom: 0rpx;
-			height: 550rpx;
-			width: 100%;
-			box-sizing: border-box;
-			background-color: #fff;
-			border-radius: 60rpx 60rpx 0rpx 0rpx;
-			padding: 30rpx;
-			.option-title{
-				width: 100%;
-				padding-bottom: 15rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				color: #111;
-			}
-			.options{
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items: center;
-				.option-item{
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 100%;
-					border: 1rpx solid #eee;
-					margin-bottom: 10rpx;
-					padding: 15rpx;
-					border-radius: 5rpx;
-				}
-			}
-		}
-		.title{
-			padding: 15rpx 30rpx;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			width: 100%;
-			background-color: #d3ad58;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fff;
-		}
-		.patient-cont{
-			padding: 15rpx;
-			.chose-patient{
-				padding: 30rpx;
-				box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
-				background-color: #fff;
-				border-radius: 15rpx;
-				.patient-box{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.patient-title{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-					}
-					.right{
-						height: 100%;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						.value{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							color: #999;
-							margin-right: 10rpx;
-						}
-						image{
-							width: 15upx;
-							height: 30upx;
-						}
-						 
-					}
-				}
-				.patient{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					height: 110upx;
-					.left{
-						.name{
-							font-size: 30upx;
-							line-height: 1;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-						.info{
-							margin-top: 30rpx;
-							display: flex;
-							align-items: center;
-							.text{
-								font-size: 26upx;
-								font-family: PingFang SC;
-								line-height: 1;
-								font-weight: 500;
-								color: #999;
-								margin-right: 19upx;
-							}
-							 
-						}
-					}
-					.right{
-						display: flex;
-						align-items: center;
-						image{
-							width: 15upx;
-							height: 30upx;
-						}
-					}
-				}
-			}
-		}
-		
-		.items{
-			padding: 15rpx;
-			width: 100%;
-			padding: 30rpx;
-			border-radius: 15rpx;
-			background-color: #fff;
-			display: flex;
-			flex-direction: column;
-			align-items: flex-start;
-			justify-content: flex-start;
-			.item{
-				display: flex;
-				flex-direction: column;
-				align-items: flex-start;
-				justify-content: flex-start;
-				width: 100%;
-				background-color: #f8f8f8;
-				margin-bottom: 15rpx;
-				.name{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					color: #2a2b2e;
-					font-weight: bold;
-					margin-bottom: 15rpx;
-				}
-				.options{
-					margin: 15rpx 0rpx;
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.option{
-						margin-right: 10rpx;
-						margin-bottom: 10rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						border-radius: 10rpx;
-						width:20%;
-						height:80rpx;
-						border: 1rpx solid #9b9b9b;
-						font-size: 28upx;
-						font-family: PingFang SC;
-						color: #2a2b2e;
-						background-color: #fff;
-						
-						&:last-child{
-							margin-right: 0rpx;
-							margin-bottom: 0rpx;
-						}
-					}
-					.active{
-						border: 1rpx solid #d3ad58;
-						background-color: #d3ad58;
-						color: #fff;
-					}
-				}
-			}
-			
-		}
-		.btns{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			width: 100%;
-			padding: 30rpx;
-			.btn{
-				height:80rpx;
-				margin: 0rpx 30rpx;
-				border-radius: 60rpx;
-				width: 100%;
-				border: 1rpx solid #d3ad58;
-				font-size: 32supx;				font-family: PingFang SC;				color: #fff;
-				font-weight: bold;
-				background-color: #d3ad58;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-		}
-		.tips{
-			flex-direction: column;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 100%;
-			padding: 30rpx;
-			.tip-title{
-				font-size: 26supx;
-				font-family: PingFang SC;
-				color: #888;
-				font-weight: bold;
-			}
-			.desc{
-				margin-top: 15rpx;
-				font-size: 24rpx;
-				font-family: PingFang SC;
-				color: #b8bdb5;
-			}
-		}
-	}
-	 
-</style>

+ 0 - 227
pages_index/index/testDetails.vue

@@ -1,227 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg-box">
-			<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/71014b69fdcc4b56ae2a84bdc28f11c3.png"></image>
-			<view class="title-box">
-				<view class="title">
-					{{item.name}}
-				</view>
-			</view>
-		</view>
-		<view class="cont">
-			<view class="msg-box">
-				<view class="msg">{{item.msg}}</view>
-			</view>
-			<view class="line"></view>
-			<view class="desc-box">
-				<view class="desc" v-html="item.descs"> </view>
-			</view>
-			<view class="btn-box">
-				<view class="btn" @click="navTo('./test?tempId='+item.tempId)">立即开始测试</view>
-			</view>
-		<!-- <view class="logo">
-				<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/b95950e4208c493d8b74ce0de220c65c.png"></image>
-			</view> -->
-		</view>
-		
-	</view> 
-</template>
-
-<script>
-	import {getTestDetails} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				tempId:null,
-				item:{},
-			};
-		},
-		onLoad(option) {
-			this.tempId=option.tempId;
-			 
-		},
-		onShow() {
-			this.getTestDetails();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.$isLogin()){
-				return {
-					title: "健康自测",
-					path: '/pages_index/testDetails?tempId='+this.tempId,
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			navTo(url) {
-				if(this.utils.isLogin()){
-					uni.navigateTo({
-						url: url
-					})
-				}else{
-					uni.navigateTo({
-						url:'/pages/auth/login'
-					})
-				}
-				// this.$isLogin().then(
-				// 	res => {
-				// 		console.log(res)
-				// 		if(res){
-				// 			uni.navigateTo({
-				// 				url: url
-				// 			})
-				// 		}
-				// 		else{
-				// 			uni.navigateTo({
-				// 				url:'/pages/auth/login'
-				// 			})
-				// 		}
-				// 	}
-				// );
-				
-			},
-			getTestDetails(){
-				let data = {tempId:this.tempId};
-				getTestDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-							uni.setNavigationBarTitle({
-							      title: this.item.name+"自测"
-							});
-							 
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		position: relative;
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		.bg-box{
-			position: absolute;
-			width: 100%;
-			height: 600rpx;
-			.title-box{
-				top: 50rpx;
-				left:50rpx;
-				position: absolute;
-				
-				.title{
-					border-radius: 5rpx;
-					border: 1rpx solid #fff;
-					padding: 20rpx 30rpx;
-					font-size: 36rpx;
-					font-family: Source Han Sans CN;
-					font-weight: bold;
-					color: #fff;
-				}
-				
-				
-				
-			}
-			image{
-				position: absolute;
-				width: 100%;
-				height: 100%;
-			}
-			
-		}
-		.cont{
-			position: relative;
-			margin-top: 550rpx;
-			z-index: 9999;
-			padding: 30rpx;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-			padding: 30rpx;
-			background-color: #fff;
-			border-radius: 30rpx 30rpx 0rpx 0rpx;
-			.msg-box{
-				.msg{
-					font-size: 36rpx;
-					font-family: Source Han Sans CN;
-					font-weight: bold;
-					color: #111;
-				}
-			}
-			.line{
-				margin: 15rpx 0rpx;
-				background-color: #F6F6F6;
-				height:5rpx;
-				width: 100%;
-			}
-			.desc-box{
-				margin-top: 20rpx;
-				background: #FFFFFF;
-				.desc{
-					color: #814E1B;
-				}
-			}
-			.logo{
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				margin: 60rpx 0rpx;
-				width: 100%;
-				image{
-					width: 200rpx;
-					height:100rpx;
-				}
-			}
-			.btn-box{
-				margin-top: 60rpx;
-			 	height: 140upx;
-			 	width: 100%;
-			 	box-sizing: border-box;
-			 	display: flex;
-			 	align-items: center;
-			 	justify-content: center;
-				
-			 	.btn{
-			 		width: 100%;
-			 		height: 88upx;
-			 		line-height: 88upx;
-			 		text-align: center;
-			 		font-size: 34upx;
-			 		font-family: PingFang SC;
-			 		font-weight: bold;
-			 		color: #FFFFFF;
-			 		background: #2BC7B9;
-			 		border-radius: 50upx;
-			 	}
-			 }
-		}
-		
-		
-	}
-	 
-</style>

+ 0 - 215
pages_index/index/testList.vue

@@ -1,215 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg">
-			<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/8e52ab17eabc4534b3ce56026fd5c624.jpg"></image>
-		</view>
-		<mescroll-body  top="0rpx"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="test-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="left">
-						<view class="title ellipsis2">{{ item.name }}</view>
-						<view class="subtitle ellipsis2">{{ item.title }}</view>
-						<view class="info-box">
-							<view class="people-num"><text class="num">{{item.peopleNum}}W</text>人测过</view>  
-							<view class="time">{{item.num}}题 | {{item.time}}分钟</view>
-						</view>
-					</view>
-					<view class="right">
-						<image :src="item.img" mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-		
-	</view>
-</template>
-
-<script>
-	import {getTestList,getTestDetails} from '@/api/test.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-		 
-				mescroll:null,
-				downOption: {   //下拉刷新
-				 	use:true,
-					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption: {
-					onScroll:false,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					textNoMore:"已经到底了",
-					empty: {
-						icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-		    let str="[{\"name\":\"解析\",\"value\":\"您的癌症风险非常高,紧急采取行动是至关重要的。尽早咨询专业医生,制定针对您情况的癌症预防和治疗计划。此外,改善生活方式和遵循医疗建议也至关重要。\"},{\"name\":\"定义\",\"value\":\"癌症是指异常的细胞生长和扩散,它们可以侵犯和破坏周围的健康组织。癌症种类繁多,可发生在身体的各个部位,如乳腺、肺、结肠、皮肤等。\"},{\"name\":\"风险因素\",\"value\":\"遗传;吸烟、高酒精摄入、不健康饮食和缺乏运动;长期接触致癌物质。\"},{\"name\":\"预防\",\"value\":\"戒烟、保持健康体重、均衡饮食、规律运动等,有助于降低癌症风险。\"},{\"name\":\"治疗\",\"value\":\"癌症治疗方法包括手术、放疗、化疗、免疫疗法等,具体取决于癌症的类型和阶段。\"}]";
-			let strJson=JSON.parse(str);
-			console.log("strJson:"+strJson);
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					path: '/pages_index/testList',
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: this.$store.state.imgpath+'/app/image/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods:{
-			  
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getTestList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
-						} else {
-							that.dataList = that.dataList.concat(res.data.list);
-							 
-						}
-						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './testDetails?tempId=' + item.tempId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	 
-	.content{
-		position: relative;
-		.bg{
-			position: absolute;
-			width: 100%;
-			height: 100%;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-	.test-list{
-		margin-top: 20upx;
-		padding: 0 20upx;
-		.item{
-			width: 100%;
-			box-sizing: border-box;
-			height: 271upx;
-			background: #FFFFFF;
-			border: 2px solid rgba(195,154,88,0.35);
-			box-shadow: -1px 4px 5px 0px rgba(153,102,51,0.25);
-			border-radius: 12px;
-			padding: 40upx 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20upx;
-			.left{
-				flex: 1;
-				padding-right: 40upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 40rpx;
-					font-family: PingFang SC;
-					line-height: 48upx;
-					font-weight: bold;
-					color: #814E1B;
-				}
-				.subtitle{
-					color: #814E1B;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					margin: 10rpx 0rpx;
-				}
-				.info-box{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: flex-start;
-					.people-num{
-						font-size: 24upx;
-						font-family: PingFang SC;
-						color: #2BC7B9;
-						.num{
-							font-weight: bold;
-							color: #814E1B;
-						}
-					}
-					.time{
-						margin-left: 25upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #2BC7B9;
-					}
-				}
-			}
-			.right{
-				width: 250upx;
-				height: 190upx;
-				border-radius: 8upx;
-				overflow: hidden;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 366
pages_index/index/testResult.vue

@@ -1,366 +0,0 @@
-<template>
-	<view class="content">
-		<view class="cont">
-			<view class="bg">
-				<image src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/8e52ab17eabc4534b3ce56026fd5c624.jpg" ></image>
-			</view>
-			<view class="cont-box" v-if="report!=null">
-				<view class="user">
-					<image  :src="JSON.parse(report.patientJson).avatar==null?'https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/22cb9518a55040dea74d8f730551a7a2.jpg':JSON.parse(report.patientJson).avatar"></image>
-					<view class="user-box">
-						<view class="sex">性别 {{JSON.parse(report.patientJson).sex==1?"男":"女"}}</view>
-						<view class="username">年龄 {{JSON.parse(report.patientJson).age}}岁</view> 
-					</view>
-				</view>
-				<view class="items">
-					<view class="result-box">
-						<view class="time">检测时间 {{report.createTime}}</view>
-						<view class="title">您属于{{report.testResult}}</view>
-						<view class="name">{{report.testResult}}</view>
-						
-					</view>
-					
-				   <view v-if="conditioningPlanJson!=null" class="item-box" :key="index" v-for="(item,index) in conditioningPlanJson  ">
-						<view class="item">
-							<view class="title-box">
-								<view class="title">{{item.name}}</view>
-							</view>
-							<view class="descs" >{{ getValue(item)  }}</view>
-						</view>
-						<view v-if="index<conditioningPlanJson.length-2" class="line"></view>
-					</view>
-				
-				</view>
-				<view class="tips">注:报告内容仅供参考,具体情况以医生建议为准</view>
-				
-				<view class="banner" v-if="advImgs.length>0">
-					<u-swiper
-							:list="advImgs"
-							circular
-							@click="handleAdvClick">
-					</u-swiper>
-				</view>
-				
-			</view>
-		</view>
-		<view class="share" @click="shareImg()">
-			<text>分享</text>
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getAdvList} from '@/api/adv.js'
-	import {getTestReport,getTestReportImg} from '@/api/test.js'
-	export default {
-		data() {
-			return {
-				advImgs:[],
-				advs:[],
-				reportId:null,
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				report:null,
-				conditioningPlanJson:null,
-			};
-		},
-		onLoad(option) {
-			this.reportId=option.reportId;
-			this.getTestReport();
-		},
-		onShow() {
-			//this.getAdvList();
-		},
-		methods:{
-			shareImg(){
-				var data={reportId:this.reportId}
-				getTestReportImg(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res)
-							wx.downloadFile({
-								url: res.img,
-								success: (res1) => {
-								   console.log(res1)
-							     wx.showShareImageMenu({
-							       path: res1.tempFilePath
-							     })
-							   },
-							   fail:(res2)=>{
-								   console.log(res2)
-							   }
-							})
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			handleAdvClick(item){
-				console.log(item);
-				if(item.showType==1){
-					uni.setStorageSync('url',item.advUrl);
-					uni.navigateTo({
-						url:"h5"
-					})
-				}
-				else if(item.showType==2){
-					uni.navigateTo({
-						url:item.advUrl
-					})
-				}
-				else if(item.showType==3){
-					 uni.setStorageSync('content',item.content);
-					 uni.navigateTo({
-					 	url:"content"
-					 })
-				}
-				
-			},
-			getAdvList() {
-				//联网加载数据
-				var that = this;
-				var data = {
-					advType:3
-				};
-				getAdvList(data).then(res => {
-					if(res.code==200){
-						that.advImgs=[];
-						that.advs=res.data;
-						that.advs.forEach(function(element) {
-							if(element.imageUrl!=null&&element.imageUrl!=""){
-								that.advImgs.push(element.imageUrl);
-							}
-						});
-						console.log(that.advImgs)
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-			getTestReport(){
-				var data={reportId:this.reportId}
-				getTestReport(data).then(
-					res => {
-						if(res.code==200){
-							this.report=res.report;
-							this.conditioningPlanJson=JSON.parse(this.report.conditioningPlanJson);
-						}
-					},
-					err => {
-					}
-				);
-			},
-			getValue(item){
-				let strVal="";
-				if(item==null){
-					return strVal;
-				}
-				if (item.value !== undefined && item.value !== null) {
-				    strVal = item.value.replace(/\\n/g, '<br/>'); // 替换字面上的 `\n`
-				}
-				return strVal;
-			},
-			goBack(){
-				uni.navigateBack()
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FDF7F0;
-		height: 100%;
-	}
-	.content{
-		.cont{
-			position: relative;
-			width: 100%;
-			display: flex;
-			flex-direction: column;
-			.bg{
-				width: 100%;
-				height:100%;
-				// background-color: #2BC7B9;
-				// background: linear-gradient(#66b2ef, #2BC7B9);
-				position: fixed;
-				image{
-					width: 100%;
-					height:100%;
-				}
-				z-index: 1;
-			}
-			.cont-box{
-				z-index: 1000;
-				margin-top: 0rpx;
-				.user{
-					box-sizing: border-box;
-					width: 100%;
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					justify-content: center;
-					padding: 30rpx;
-					margin-top: 30rpx;
-					image{
-						border-radius: 50%;
-						border: 2rpx solid #ffffff;
-						width:120rpx;
-						height:120rpx;
-					}
-					.user-box{
-						padding: 30rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						.sex{
-							font-weight: bold;
-							font-size: 40supx;
-							font-family: PingFang SC;
-							color: #925924;
-						}
-						.username{
-							margin-left: 15rpx;
-							font-size: 40supx;
-							font-family: PingFang SC;
-							color: #925924;
-						}
-						
-					}
-				}
-				.items{
-					width: 100%;
-					box-sizing: border-box;
-					display: flex;
-					flex-direction: column;
-					align-items: flex-start;
-					justify-content: flex-start;
-					padding: 20rpx;
-					.result-box{
-						width: 100%;
-						box-sizing: border-box;
-						display: flex;
-						flex-direction: column;
-						align-items:center;
-						justify-content: center;
-						padding: 30rpx;
-						background-color: #fff;
-						border-radius: 15rpx;
-						margin-bottom: 15rpx;
-						.time{
-							margin-top: 15rpx;
-							font-family: PingFang SC;
-							font-size: 24rpx;
-							color: #9B9B9B;
-						}
-						.title{
-							margin-top: 15rpx;
-							font-family: PingFang SC;
-							font-size: 28rpx;
-							color: #626468;
-							
-						}
-						.name{
-							margin-top: 30rpx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							font-size: 60rpx;
-							color: #925924;
-						}
-						.descs{
-							font-family: PingFang SC;
-							font-size: 28rpx;
-							color: #2A2B2E;
-							padding: 30rpx;
-							margin-top: 30rpx;
-							background-color: #F5F6F6;
-							border-radius: 10rpx;
-						}
-					}
-					.item-box{
-						width: 100%;
-						.item{
-							width: 100%;
-							padding: 30rpx;
-							background-color: #fff;
-							border-radius:30rpx;
-							.title-box{
-								display: flex;
-								align-items:center;
-								justify-content: flex-start;
-								.title{
-									margin-left: 10rpx;
-									font-size: 32supx;
-									font-family: PingFang SC;
-									color: #925924;
-									font-weight: bold;
-								}
-								.title-line{
-									width: 8rpx;
-									height: 28rpx;
-									background: #2BC7B9;
-									border-radius: 2px 2px 2px 2px;
-									opacity: 1;
-								}
-								
-							}
-							.descs{
-								white-space: pre-line; 
-								margin-top: 10rpx;
-								font-size: 28supx;
-								font-family: PingFang SC;
-								color: #2A2B2E;
-							}
-							
-						}
-						.line{
-							margin: 0rpx 30rpx;
-							border-bottom: #b5b5b5 3rpx dashed;
-						}
-						
-					}
-				}
-				
-				.tips{
-					width: 100%;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					margin: 15rpx 0rpx;
-					margin-bottom: 50rpx;
-					color: #9B9B9B;
-					font-size: 24rpx;
-				}
-				.banner{
-					height:250rpx;
-					width: 100%;
-					padding: 15rpx 20upx;
-				 
-				}
-			}
-		}
-		
-	}
-	.share{
-		width: 100rpx;
-		height:100rpx;
-		z-index: 9999;
-		border-radius: 50%;
-		position: fixed;
-		bottom: 100rpx;
-		right:50rpx;
-		background-color: #925924;
-		color: #fff;
-		font-weight: bold;
-		font-size: 28rpx;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-	}
-</style>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff