Ver código fonte

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

李妹妹 5 meses atrás
pai
commit
7672033d47
100 arquivos alterados com 2334 adições e 33503 exclusões
  1. 0 3
      App.vue
  2. 27 0
      api-js/account.js
  3. 36 0
      api-js/airClassroom.js
  4. 37 0
      api-js/bankCard.js
  5. 32 0
      api-js/certification.js
  6. 22 0
      api-js/medicationSurvey.js
  7. 31 0
      api-js/onlineLecture.js
  8. 22 0
      api-js/password.js
  9. 24 0
      api-js/points.js
  10. 22 0
      api-js/questionnaire.js
  11. 12 0
      api-js/serviceAgreement.js
  12. 17 0
      api-js/serviceOrder.js
  13. 22 0
      api-js/statistics.js
  14. 22 0
      api-js/withdraw.js
  15. 6 5
      assets/css/common.less
  16. 251 0
      components/Server.vue
  17. 0 166
      components/chengpeng-audio/free-audio.vue
  18. 0 42
      components/chengpeng-audio/redme.md
  19. BIN
      components/chengpeng-audio/static/play.png
  20. BIN
      components/chengpeng-audio/static/stop.png
  21. 0 143
      components/evan-switch/evan-switch.vue
  22. 0 181
      components/likeProduct.vue
  23. 0 503
      components/pushangyuqi-calendar/pushangyuqi-calendar.vue
  24. 0 315
      components/px-popup-bottom/px-popup-bottom.vue
  25. 0 432
      components/ren-calendar/ren-calendar.vue
  26. 0 487
      components/sapling-vue-scale/sapling-vue-scale.vue
  27. 0 361
      components/w-drag-sorts/w-drag-sorts.vue
  28. 0 325
      components/z-modal/z-modal.vue
  29. 1 1
      manifest.json
  30. 350 1437
      pages.json
  31. 401 78
      pages/auth/login.vue
  32. 1 1
      pages/common/launch.vue
  33. 0 93
      pages/doctor/doctorQr.vue
  34. 0 284
      pages/healthy/detail.vue
  35. 0 389
      pages/healthy/index.vue
  36. 0 121
      pages/healthy/readUsers.vue
  37. 0 72
      pages/home/cert.vue
  38. 0 291
      pages/home/components/HotProduct.vue
  39. 0 318
      pages/home/components/NewProduct.vue
  40. 0 377
      pages/home/doctorCase.vue
  41. 626 802
      pages/home/index.vue
  42. 0 239
      pages/home/new/articleDetails.vue
  43. 0 317
      pages/home/new/articleList.vue
  44. 0 220
      pages/home/new/chineseMedicineDetails.vue
  45. 0 310
      pages/home/new/chineseMedicineList.vue
  46. 0 126
      pages/home/new/diseaseDetails.vue
  47. 0 254
      pages/home/new/diseaseList.vue
  48. 0 220
      pages/home/new/famousPrescribeDetails.vue
  49. 0 337
      pages/home/new/famousPrescribeList.vue
  50. 0 195
      pages/home/new/medicatedFoodDetails.vue
  51. 0 285
      pages/home/new/medicatedFoodList.vue
  52. 0 235
      pages/home/new/questionsDetails.vue
  53. 0 584
      pages/home/new/test.vue
  54. 0 224
      pages/home/new/testDetails.vue
  55. 0 213
      pages/home/new/testList.vue
  56. 0 353
      pages/home/new/testResult.vue
  57. 0 196
      pages/home/new/testResultImg.vue
  58. 0 197
      pages/home/new/vesselDetails.vue
  59. 0 312
      pages/home/new/vesselList.vue
  60. 0 478
      pages/home/productList.vue
  61. 0 136
      pages/home/productSearch.vue
  62. 0 511
      pages/shopping/cart.vue
  63. 0 869
      pages/shopping/confirmCreateOrder.vue
  64. 0 960
      pages/shopping/confirmOrder.vue
  65. 0 717
      pages/shopping/confirmPackageOrder.vue
  66. 0 673
      pages/shopping/index.vue
  67. 0 342
      pages/shopping/payOrder.vue
  68. 0 669
      pages/shopping/paymentOrder.vue
  69. 0 854
      pages/shopping/prescribe.vue
  70. 0 2108
      pages/shopping/productDetails.vue
  71. 0 524
      pages/shopping/productList.vue
  72. 0 203
      pages/shopping/success.vue
  73. 198 0
      pages/task/index.vue
  74. 174 192
      pages/user/index.vue
  75. 0 391
      pages_company/addCompetitors.vue
  76. 0 620
      pages_company/addDoc.vue
  77. 0 733
      pages_company/addUser.vue
  78. 0 104
      pages_company/alipayImg.vue
  79. 0 145
      pages_company/auth/login.vue
  80. 0 558
      pages_company/buyOrder.vue
  81. 0 105
      pages_company/card.vue
  82. 0 589
      pages_company/clientDetail.vue
  83. 0 481
      pages_company/clientList.vue
  84. 0 522
      pages_company/complaintDetail.vue
  85. 0 362
      pages_company/complaintList.vue
  86. 0 379
      pages_company/coupon.vue
  87. 0 375
      pages_company/couponDetails.vue
  88. 0 482
      pages_company/distribution.vue
  89. 0 393
      pages_company/doc.vue
  90. 0 393
      pages_company/executionRecord.vue
  91. 0 601
      pages_company/index.vue
  92. 0 500
      pages_company/order/cart.vue
  93. 0 552
      pages_company/order/confirmCompanyOrder.vue
  94. 0 587
      pages_company/order/confirmOrder.vue
  95. 0 352
      pages_company/order/coupon.vue
  96. 0 1260
      pages_company/order/productDetails.vue
  97. 0 480
      pages_company/order/productList.vue
  98. 0 443
      pages_company/order/productShowDetails.vue
  99. 0 378
      pages_company/returnRecord.vue
  100. 0 438
      pages_company/storeOrder.vue

+ 0 - 3
App.vue

@@ -121,9 +121,6 @@
 	@import './assets/iconfont/iconfont.css';
 	@import './assets/css/common.scss';
 	@import './assets/css/commonTheme.css';
-	page{
-		background-color: #f6f6f6;
-	}
 	::-webkit-scrollbar{
 	    width: 0 !important;
 	    height: 0 !important;

+ 27 - 0
api-js/account.js

@@ -0,0 +1,27 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取账号信息
+export function getAccountInfo() {
+	return request('/store/app/account/getInfo', null, 'GET');
+}
+
+// 更新账号信息
+export function updateAccountInfo(data) {
+	return request('/store/app/account/update', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 修改手机号
+export function changePhone(data) {
+	return request('/store/app/account/changePhone', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 发送验证码
+export function sendVerifyCode(data) {
+	return request('/store/app/account/sendVerifyCode', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+
+
+
+

+ 36 - 0
api-js/airClassroom.js

@@ -0,0 +1,36 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取空中课堂任务列表
+export function getAirClassroomList(data) {
+	return request('/store/app/airClassroom/getList', data, 'GET');
+}
+
+// 获取任务详情
+export function getTaskDetail(data) {
+	return request('/store/app/airClassroom/getTaskDetail', data, 'GET');
+}
+
+// 提交任务
+export function submitTask(data) {
+	return request('/store/app/airClassroom/submitTask', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 获取项目分组选项
+export function getGroupOptions() {
+	return request('/store/app/airClassroom/getGroupOptions', null, 'GET');
+}
+
+// 获取项目标签选项
+export function getTagOptions() {
+	return request('/store/app/airClassroom/getTagOptions', null, 'GET');
+}
+
+// 上传文件
+export function uploadFile(data) {
+	return request('/store/app/airClassroom/uploadFile', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+
+
+

+ 37 - 0
api-js/bankCard.js

@@ -0,0 +1,37 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取银行卡信息
+export function getBankCardInfo() {
+	return request('/store/app/bankCard/getInfo', null, 'GET');
+}
+
+// 获取银行卡详情
+export function getBankCardDetail(data) {
+	return request('/store/app/bankCard/getDetail', data, 'GET');
+}
+
+// 添加银行卡
+export function addBankCard(data) {
+	return request('/store/app/bankCard/add', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 更新银行卡
+export function updateBankCard(data) {
+	return request('/store/app/bankCard/update', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 删除银行卡(解除绑定)
+export function deleteBankCard(data) {
+	return request('/store/app/bankCard/delete', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 获取银行列表
+export function getBankList() {
+	return request('/store/app/bankCard/getBankList', null, 'GET');
+}
+
+// 获取支行列表
+export function getBranchList(data) {
+	return request('/store/app/bankCard/getBranchList', data, 'GET');
+}

+ 32 - 0
api-js/certification.js

@@ -0,0 +1,32 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 提交认证
+export function submitCertification(data) {
+	return request('/store/app/certification/submit', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 获取认证信息
+export function getCertificationInfo() {
+	return request('/store/app/certification/getInfo', null, 'GET');
+}
+
+// 获取机构列表
+export function getInstitutionList() {
+	return request('/store/app/certification/getInstitutionList', null, 'GET');
+}
+
+// 获取科室列表
+export function getDepartmentList(data) {
+	return request('/store/app/certification/getDepartmentList', data, 'GET');
+}
+
+// 获取职称列表
+export function getTitleList() {
+	return request('/store/app/certification/getTitleList', null, 'GET');
+}
+
+// 获取银行列表
+export function getBankList() {
+	return request('/store/app/certification/getBankList', null, 'GET');
+}

+ 22 - 0
api-js/medicationSurvey.js

@@ -0,0 +1,22 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取用药调研列表
+export function getMedicationSurveyList(data) {
+	return request('/store/app/medicationSurvey/getList', data, 'GET');
+}
+
+// 获取活动详情
+export function getActivityDetail(data) {
+	return request('/store/app/medicationSurvey/getActivityDetail', data, 'GET');
+}
+
+// 提交病例征集
+export function submitCaseCollection(data) {
+	return request('/store/app/medicationSurvey/submitCase', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 获取病例列表
+export function getCaseList(data) {
+	return request('/store/app/medicationSurvey/getCaseList', data, 'GET');
+}

+ 31 - 0
api-js/onlineLecture.js

@@ -0,0 +1,31 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取在线讲座列表
+export function getOnlineLectureList(data) {
+	return request('/store/app/onlineLecture/getList', data, 'GET');
+}
+
+// 获取开播链接
+export function getBroadcastUrl(data) {
+	return request('/store/app/onlineLecture/getBroadcastUrl', data, 'GET');
+}
+
+// 进入微信小程序
+export function enterMiniProgram(data) {
+	return request('/store/app/onlineLecture/enterMiniProgram', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 开始直播
+export function startBroadcast(data) {
+	return request('/store/app/onlineLecture/startBroadcast', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 继续直播
+export function continueBroadcast(data) {
+	return request('/store/app/onlineLecture/continueBroadcast', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+
+
+

+ 22 - 0
api-js/password.js

@@ -0,0 +1,22 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 设置密码
+export function setPassword(data) {
+	return request('/store/app/password/set', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 修改密码
+export function changePassword(data) {
+	return request('/store/app/password/change', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 重置密码
+export function resetPassword(data) {
+	return request('/store/app/password/reset', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+
+
+
+

+ 24 - 0
api-js/points.js

@@ -0,0 +1,24 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取积分信息
+export function getPointsInfo() {
+	return request('/store/app/points/getInfo', null, 'GET');
+}
+
+// 获取积分列表
+export function getPointsList(data) {
+	return request('/store/app/points/getList', data, 'GET');
+}
+
+// 获取积分明细
+export function getPointsDetail(data) {
+	return request('/store/app/points/getDetail', data, 'GET');
+}
+
+// 获取积分汇总信息(包含余额和待入账)
+export function getPointsSummary() {
+	return request('/store/app/points/getSummary', null, 'GET');
+}
+
+

+ 22 - 0
api-js/questionnaire.js

@@ -0,0 +1,22 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取问卷调查列表
+export function getQuestionnaireList(data) {
+	return request('/store/app/questionnaire/getList', data, 'GET');
+}
+
+// 获取问卷调查详情
+export function getQuestionnaireDetail(data) {
+	return request('/store/app/questionnaire/getDetail', data, 'GET');
+}
+
+// 提交问卷调查
+export function submitQuestionnaire(data) {
+	return request('/store/app/questionnaire/submit', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+
+
+
+

+ 12 - 0
api-js/serviceAgreement.js

@@ -0,0 +1,12 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取服务协议列表
+export function getServiceAgreementList() {
+	return request('/store/app/serviceAgreement/getList', null, 'GET');
+}
+
+// 获取服务协议详情
+export function getServiceAgreementDetail(data) {
+	return request('/store/app/serviceAgreement/getDetail', data, 'GET');
+}

+ 17 - 0
api-js/serviceOrder.js

@@ -0,0 +1,17 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取服务单列表
+export function getServiceOrderList(data) {
+	return request('/store/app/serviceOrder/getList', data, 'GET');
+}
+
+// 获取服务单详情
+export function getServiceOrderDetail(data) {
+	return request('/store/app/serviceOrder/getDetail', data, 'GET');
+}
+
+// 确认服务单
+export function confirmServiceOrder(data) {
+	return request('/store/app/serviceOrder/confirm', data, 'POST', 'application/json;charset=UTF-8');
+}

+ 22 - 0
api-js/statistics.js

@@ -0,0 +1,22 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 获取统计数据
+export function getStatisticsData(data) {
+	return request('/store/app/statistics/getData', data, 'GET');
+}
+
+// 获取统计图表数据
+export function getStatisticsChart(data) {
+	return request('/store/app/statistics/getChart', data, 'GET');
+}
+
+// 导出统计数据
+export function exportStatistics(data) {
+	return request('/store/app/statistics/export', data, 'GET');
+}
+
+
+
+
+

+ 22 - 0
api-js/withdraw.js

@@ -0,0 +1,22 @@
+import Request from '../common/request.js';
+let request = new Request().http
+
+// 提交提现申请
+export function submitWithdraw(data) {
+	return request('/store/app/withdraw/submit', data, 'POST', 'application/json;charset=UTF-8');
+}
+
+// 获取提现信息(可提现金额等)
+export function getWithdrawInfo() {
+	return request('/store/app/withdraw/getInfo', null, 'GET');
+}
+
+// 获取提现记录列表
+export function getWithdrawList(data) {
+	return request('/store/app/withdraw/getList', data, 'GET');
+}
+
+// 获取提现详情
+export function getWithdrawDetail(data) {
+	return request('/store/app/withdraw/getDetail', data, 'GET');
+}

+ 6 - 5
assets/css/common.less

@@ -1,6 +1,6 @@
  
 page {
-  background: #f5f5f5;
+  background: #F7F8FA;
   height: 100%;
 }
 .container{
@@ -183,8 +183,8 @@ radio .wx-radio-input{
 }
 /* 选中后的 背景样式  */
 radio .wx-radio-input.wx-radio-input-checked{
-	background: linear-gradient(135deg, #66b2ef  0%, #008FD3 100%);
-	border: 1px solid #0bb3f2;
+	background: #388BFF;
+	border: 1px solid #388BFF;
 }
 /* 选中后的 对勾样式 (白色对勾) */
 radio .wx-radio-input.wx-radio-input-checked::before{
@@ -197,8 +197,9 @@ checkbox .wx-checkbox-input{
 	border-radius: 50%;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked {
-	background: linear-gradient(135deg, #66b2ef 0%, #0bb3f2 100%);
-	border: 1px solid #0bb3f2;
+	//background: linear-gradient(135deg, #66b2ef 0%, #0bb3f2 100%);
+	background: #388BFF;
+	border: 1px solid #388BFF;
 	border-radius: 50%;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {

+ 251 - 0
components/Server.vue

@@ -0,0 +1,251 @@
+<template>
+	<view>
+		<view 
+		   @click="navTo"
+			class="serve"
+			:style="{ left: left + 'rpx', top: top + 'rpx' }"
+			@touchstart="onTouchStart"
+			@touchmove="onTouchMove"
+			@touchend="onTouchEnd"
+		>
+			<view class="serve-content">
+				<image class="w120 h120"
+					src="@/static/image/btn_sjtj.png"
+					mode="aspectFit"></image>
+				<!-- <text class="text">客服投诉</text> -->
+				<!-- <button class="contact-btn" open-type="contact"></button> -->
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name:"Server",
+		data() {
+			return {
+				left: 0,
+				top: 0,
+				startX: 0,
+				startY: 0,
+				isDragging: false,
+				screenWidth: 0,
+				screenHeight: 0
+			};
+		},
+		mounted() {
+			this.getSystemInfo();
+			this.initPosition();
+		},
+		methods: {
+			navTo(){
+				uni.navigateTo({
+					url: '/pages_echarts/statistics'
+				})
+			},
+			// 初始化位置
+			initPosition() {
+				// 从本地存储加载位置
+				const position = uni.getStorageSync('server_position');
+				if (position) {
+					this.left = position.left;
+					this.top = position.top;
+				} else {
+					// 默认位置:右侧80%高度
+					this.left = 750 - 150 - 20; // 屏幕宽度 - 容器宽度 - 右边距
+					this.top = this.px2rpx(this.screenHeight * 0.8 - 75); // 80%高度,居中偏移
+				}
+			},
+			
+			// 获取系统信息
+			getSystemInfo() {
+				uni.getSystemInfo({
+					success: (res) => {
+						this.screenWidth = res.windowWidth;
+						this.screenHeight = res.windowHeight;
+					}
+				});
+			},
+			
+			// 触摸开始
+			onTouchStart(e) {
+				// 阻止事件冒泡,不影响其他元素
+				e.stopPropagation();
+				e.preventDefault();
+				
+				this.startX = e.touches[0].clientX;
+				this.startY = e.touches[0].clientY;
+				this.isDragging = false;
+			},
+			
+			// 触摸移动
+			onTouchMove(e) {
+				// 阻止事件冒泡和默认行为
+				e.stopPropagation();
+				e.preventDefault();
+				
+				if (!this.startX || !this.startY) return;
+				
+				const currentX = e.touches[0].clientX;
+				const currentY = e.touches[0].clientY;
+				
+				const diffX = currentX - this.startX;
+				const diffY = currentY - this.startY;
+				
+				// 判断是否开始拖拽(移动超过5px)
+				if (!this.isDragging && (Math.abs(diffX) > 5 || Math.abs(diffY) > 5)) {
+					this.isDragging = true;
+				}
+				
+				if (this.isDragging) {
+					// 计算新的位置(rpx)
+					const newLeft = this.rpx2px(this.left) + diffX;
+					const newTop = this.rpx2px(this.top) + diffY;
+					
+					// 边界检查
+					const boundedLeft = Math.max(10, Math.min(newLeft, this.screenWidth - this.rpx2px(150)));
+					const boundedTop = Math.max(10, Math.min(newTop, this.screenHeight - this.rpx2px(150)));
+					
+					// 转换回rpx
+					this.left = this.px2rpx(boundedLeft);
+					this.top = this.px2rpx(boundedTop);
+					
+					// 更新起始位置
+					this.startX = currentX;
+					this.startY = currentY;
+				}
+			},
+			
+			// 触摸结束
+			onTouchEnd(e) {
+				// 阻止事件冒泡
+				e.stopPropagation();
+				e.preventDefault();
+				
+				if (this.isDragging) {
+					// 吸边效果
+					this.attachToEdge();
+					// 保存位置
+					this.savePosition();
+				}
+				this.startX = 0;
+				this.startY = 0;
+				this.isDragging = false;
+			},
+			
+			// 吸边效果
+			attachToEdge() {
+				const containerWidth = 150; // 容器宽度
+				const screenWidthRpx = 750;
+				const centerX = screenWidthRpx / 2;
+				
+				// 根据当前位置决定吸附到左边还是右边
+				if (this.left < centerX) {
+					this.left = 20; // 吸附到左边
+				} else {
+					this.left = screenWidthRpx - containerWidth - 20; // 吸附到右边
+				}
+			},
+			
+			// 保存位置到本地存储
+			savePosition() {
+				uni.setStorageSync('server_position', {
+					left: this.left,
+					top: this.top
+				});
+			},
+			
+			// rpx转px
+			rpx2px(rpx) {
+				return rpx / 750 * this.screenWidth;
+			},
+			
+			// px转rpx
+			px2rpx(px) {
+				return px * 750 / this.screenWidth;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.serve{
+	position: fixed;
+	z-index: 9999;
+	width: 150rpx;
+	height: 150rpx;
+	
+	// 确保拖拽时不影响其他元素
+	touch-action: none;
+	user-select: none;
+	-webkit-user-select: none;
+	
+	.serve-content {
+		width: 100%;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		position: relative;
+		
+		// 拖拽时的视觉反馈
+		&:active {
+			opacity: 0.9;
+			transition: opacity 0.2s ease;
+		}
+	}
+	
+	.w130 {
+		width: 130rpx !important;
+		height: 130rpx !important;
+		flex-shrink: 0; // 防止图片变形
+	}
+	
+	.h130 {
+		width: 130rpx !important;
+		height: 130rpx !important;
+		flex-shrink: 0; // 防止图片变形
+	}
+	
+	.text{
+		margin-top: 8rpx;
+		font-weight: 500;
+		font-size: 28rpx;
+		color: #333;
+		background: rgba(255, 255, 255, 0.9);
+		padding: 6rpx 12rpx;
+		border-radius: 20rpx;
+		white-space: nowrap;
+		flex-shrink: 0; // 防止文字变形
+		border: 1rpx solid rgba(0, 0, 0, 0.1);
+		backdrop-filter: blur(10rpx);
+	}
+	
+	.contact-btn {
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		opacity: 0;
+		z-index: 10;
+		// 确保按钮不变形
+		border: none;
+		border-radius: 0;
+		background: transparent;
+		padding: 0;
+		margin: 0;
+		
+		&::after {
+			border: none;
+		}
+	}
+}
+
+// 防止拖拽时页面滚动
+page {
+	overflow: hidden;
+	height: 100%;
+}
+</style>

+ 0 - 166
components/chengpeng-audio/free-audio.vue

@@ -1,166 +0,0 @@
-<template>
-	<!-- 音频播放器组件 -->
-	<view v-if='url' class='flex justify-between align-center audio' >
-		<view class='mr-3'  @click='start(audioId)'>
-			<image :src='startPic' class='icon' v-show='!status'></image>
-			<image :src='endPic' class='icon' v-show='status'></image>
-		</view>
-		<view class='flex-1'>
-			<slider 
-				@change='changeAudio' 
-				:activeColor='activeColor' 
-				:min='0' 
-				:max='duration.toFixed(0)' 
-				:value='currentTime.toFixed(0)' 
-				:step='0.1'
-				backgroundColor="#E9F0F0"
-				:block-size='14'
-				block-color='#0bb3f2'>
-			</slider>
-		</view>
-		<view class='ml-3'>{{getTime(Math.round(currentTime))}}</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				context: null,
-				currentTime: 0,
-				duration: 100,
-				status: false
-			}
-		},
-		props: {
-			url: String,
-			activeColor: {
-				type: String,
-				default: '#0E7EFC'
-			},
-			startPic: String,
-			endPic: String,
-			audioId: [String,Number]
-		},
-		created() {
-			this.context = uni.createInnerAudioContext();
-			this.context.src = this.url;
-			this.onTimeUpdate();
-			this.onCanplay();
-			this.onEnded();
-			uni.$on('stop',(id)=> {
-				if(id && id != this.audioId) {
-					this.context.stop();
-					this.status = false;
-				} else if(!id){
-					this.context.stop();
-					this.status = false;
-				}
-			})
-		},
-		methods: {
-			start(id) { //点击播放
-				let audioId = id;
-				if(this.status) {
-					this.context.pause();
-					this.status = !this.status;
-				}else {
-					uni.$emit('stop',id)
-					this.context.play()
-					this.status = !this.status;
-				}
-			},
-			onCanplay() { //进入可播放状态
-				this.context.onCanplay(() => {
-					this.context.duration;
-					setTimeout(()=>{
-						this.duration = this.context.duration;
-					},1000)
-				})
-			},
-			onTimeUpdate() { //音频播放进度
-				 this.context.onTimeUpdate(() => {
-					 if (!Number.isFinite( this.context.duration)) {
-						this.context.currentTime = Number.MAX_SAFE_INTEGER;
-						this.context.currentTime = 0;
-					 } else {
-						 this.duration = this.context.duration;
-						 this.currentTime = this.context.currentTime;
-					 }
-				 })
-			},
-			onEnded() { //播放结束
-				this.context.onEnded(()=> {
-					this.status = false;
-					this.currentTime = 0;
-				})
-			},
-			changeAudio(e) {
-				let paused = this.context.paused;
-				this.context.pause();
-				this.context.seek(e.detail.value)
-				if(!paused) {
-					this.context.play();
-				} 
-			},
-			getTime(time) {
-				let m = parseInt(time / 60);
-				let s = time % 60;
-				return this.towNum(m) + ':' + this.towNum(s);
-			},
-			towNum(num) {
-				if(num >= 10) {
-					return num;
-				}else {
-					return '0' + num;
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-	.audio {
-		background: #F5F7F7;
-		padding: 30upx 20upx;
-	}
-	
-	.icon {
-		width: 54upx;
-		height: 54upx;
-	}
-	slider{
-		margin: 0;
-	}
-	.flex {
-		display: flex;
-		flex-direction: row;
-	}
-	
-	.justify-between {
-		justify-content: between;
-	}
-	
-	.align-center {
-		align-items: center;
-	}
-	
-	.flex-1 {
-		flex: 1;
-	}
-	
-	.ml-3 {
-		margin-left: 20upx;
-		font-size: 24upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-	}
-	
-	.mr-3 {
-		margin-right: 30upx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-</style>

+ 0 - 42
components/chengpeng-audio/redme.md

@@ -1,42 +0,0 @@
-## 参数
-
-| url      | activeColor | startPic       | endPic         | 组件id                                                |
-| -------- | ----------- | -------------- | -------------- | ----------------------------------------------------- |
-| 音频链接 | 进度条颜色  | 开始播放的图片 | 暂停播放的图片 | audioId(必填,且id不可为数字0,建议格式 ‘audio’+数字) |
-
-## 使用方法
-
-```javascript
-//html
-<template>
-  <free-audio startPic='/static/images/icon/play.png' endPic='/static/images/icon/stop.png' :audioId='audio1' :url='path'></free-audio>
-</template>
-
-//js
-
-import freeAudio from '@/components/free-audio.vue'
-export default {
-    components: {freeAudio},
-    data() {
-        return{
-            path: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3'
-        }
-    },
-    methods: {
-
-    },
-} 
-
-//暂停所有音频(一般用于页面切换时停止正在播放的音频)
-onUnload() { //普通页面在 onUnload 生命周期中执行
-  uni.$emit('stop')
-},
-onHide() { //tabBar页面在onHide生命周期中执行
-  uni.$emit('stop')
-}
-
-
-
-
-```
-

BIN
components/chengpeng-audio/static/play.png


BIN
components/chengpeng-audio/static/stop.png


+ 0 - 143
components/evan-switch/evan-switch.vue

@@ -1,143 +0,0 @@
-<template>
-	<!-- <view @click="toggle" class="evan-switch" :class="{'evan-switch--disabled':disabled}" :style="{width:2*size+'px',height:switchHeight,borderRadius:size+'px',backgroundColor:currentValue===activeValue?activeColor:inactiveColor}">
-		<view class="evan-switch__circle" :style="{width:size+'px',height:size+'px',transform:currentValue===activeValue?`translateX(${size}px)`:`translateX(0)`}"></view>
-	</view> -->
-	<view @click="toggle" class="evan-switch" :class="{'evan-switch--disabled':disabled}" :style="{backgroundColor:currentValue===activeValue?activeColor:inactiveColor}">
-		<view class="evan-switch__circle" :style="{transform:currentValue===activeValue?`translateX(${29}px)`:`translateX(0)`}"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'EvanSwitch',
-		props: {
-			value: {
-				type: [String, Number, Boolean],
-				default: false
-			},
-			activeColor: {
-				type: String,
-				default: '#108ee9'
-			},
-			inactiveColor: {
-				type: String,
-				default: '#fff'
-			},
-			size: {
-				type: Number,
-				default: 30
-			},
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-			activeValue: {
-				type: [String, Number, Boolean],
-				default: true
-			},
-			inactiveValue: {
-				type: [String, Number, Boolean],
-				default: false
-			},
-			beforeChange: {
-				type: Function,
-				default: null
-			},
-			extraData: null,
-			contextLevel: {
-				type: Number,
-				default: 1
-			}
-		},
-		computed: {
-			switchHeight() {
-				// #ifdef APP-NVUE
-				return this.size + 2 + 'px'
-				// #endif
-				// #ifndef APP-NVUE
-				return this.size + 'px'
-				// #endif
-			}
-		},
-		watch: {
-			value: {
-				immediate: true,
-				handler(value) {
-					this.currentValue = value
-				}
-			}
-		},
-		data() {
-			return {
-				currentValue: false
-			}
-		},
-		methods: {
-			toggle() {
-				if (!this.disabled) {
-					if (this.beforeChange && typeof this.beforeChange === 'function') {
-						let context = this
-						for (let i = 0; i < this.contextLevel; i++) {
-							context = context.$options.parent
-						}
-						const result = this.beforeChange(this.currentValue === this.activeValue ? this.inactiveValue : this.activeValue,
-							this.extraData, context)
-						if (typeof result === 'object') {
-							result.then(() => {
-								this.toggleValue()
-							}).catch(() => {})
-						} else if (typeof result === 'boolean' && result) {
-							this.toggleValue()
-						}
-					} else {
-						this.toggleValue()
-					}
-				}
-			},
-			toggleValue() {
-				this.currentValue = this.currentValue === this.activeValue ? this.inactiveValue : this.activeValue
-				this.$emit('input', this.currentValue)
-				this.$emit('change', this.currentValue)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.evan-switch {
-		position: relative;
-		border-width: 1px;
-		border-color: rgba(0, 0, 0, 0.1);
-		border-style: solid;
-		transition: background-color 0.3s;
-		width: 100upx;
-		height: 36upx;
-		background: #0bb3f2;
-		border-radius: 18upx;
-		/* #ifndef APP-NVUE */
-		box-sizing: content-box;
-		/* #endif */
-	}
-
-	.evan-switch--disabled {
-		opacity: 0.3;
-	}
-
-	.evan-switch__circle {
-		position: absolute;
-		left: -4upx;
-		top: -8upx;
-		width: 50upx;
-		height: 50upx;
-		background: #FFFFFF;
-		box-shadow: 0px 2px 10px 0px rgba(166, 217, 212, 0.49);
-		border-radius: 50%;
-		/* #ifndef APP-NVUE */
-		box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		box-shadow: 1px 0 0px 0 rgba(0, 0, 0, 0.05);
-		/* #endif */
-		transition: transform 0.3s;
-	}
-</style>

+ 0 - 181
components/likeProduct.vue

@@ -1,181 +0,0 @@
-<template>
-   <view>
-		<view class="like-title">
-			<image src="/static/images/like.png" mode=""></image>
-			<text class="text">猜你喜欢</text>
-		</view>
-		<view class="like-list">
-			<view class="item" v-for="(item,index) in list" :key="index" @click="showProduct(item)">
-				<view class="img-box">
-					<image :src="item.image" mode=""></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>
-			</view>
-		</view>
-		<Loading :loaded="loaded" :loading="loading"></Loading>
-   </view>
-</template>
-
-<script>
-  import {getGoodsProducts} from '@/api/product'
-  import Loading from "@/components/Loading";
-  export default {
-	components: {Loading },
-    name: "likeProduct",
-	data() {
-		return {
-			page:{
-				page: 1,
-				pageSize: 10
-			},
-			total:0,
-			list:[],
-			loaded: false,
-			loading: false
-		};
-	},
-	created() {
-	},
-	mounted() {
-		this.getGoodsProducts();
-	},
-	
-	methods: {
-		getGoodsProducts(){
-			console.log(1)
-			var that=this;
-			if (that.loaded == true || that.loading == true) return;
-			that.loading = true;
-			uni.showLoading({
-				title:"加载中..."
-			})
-			getGoodsProducts(that.page).then(
-				res => {
-					if(res.code==200){
-						that.total=res.data.total;
-						that.list.push.apply(that.list, res.data.list);
-						that.loading = false;
-						that.loaded = that.list.length<that.total?false:true;
-						that.page.page = that.page.page + 1;
-						uni.hideLoading()
-					}
-				},
-				err => {
-					uni.hideLoading()
-					uni.showToast({
-						title: err.msg ,
-						icon: 'none',
-						duration: 2000
-					});
-				}
-			);
-		},
-		showProduct(item){
-			uni.navigateTo({
-				url: '/pages/shopping/productDetails?productId='+item.productId
-			})
-		},
-	}
- 
-  };
-</script>
-<style lang="scss">
-	.like-title{
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		padding: 30upx 0;
-		image{
-			width: 37upx;
-			height: 37upx;
-			margin-right: 20upx;
-		}
-		.text{
-			font-size: 36upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #111111;
-			line-height: 1;
-		}
-	}
-	.like-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 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;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 503
components/pushangyuqi-calendar/pushangyuqi-calendar.vue

@@ -1,503 +0,0 @@
-<template>
-	<view class="calendar">
-		<view class="table">
-			<view class="chose-head">
-				<view class="chose-item">
-					<view class="btn" @click="yearsub">
-						<u-icon name="arrow-left" color="#008FD3" size="14"></u-icon>
-					</view>
-					<view class="year-td">
-						<picker mode="selector" :range="years" @change="yearchange" :value="y">
-							<view class="text">{{years[y]}}年</view>
-						</picker>
-					</view>
-					<view class="btn" @click="yearadd">
-						<u-icon name="arrow-right" color="#008FD3" size="14"></u-icon>
-					</view>
-				</view>
-				
-				<view class="chose-item">
-					<view class="btn" @click="monthsub">
-						<u-icon name="arrow-left" color="#008FD3" size="14"></u-icon>
-					</view>
-					<view class="month-td">
-						<picker mode="selector" :range="months" @change="monthchange" :value="m">
-							<view class="text">{{months[m]}}月</view>
-						</picker>
-					</view>
-					<view class="btn" @click="monthadd">
-						<u-icon name="arrow-right" color="#008FD3" size="14"></u-icon>
-					</view>
-				</view>
-			</view>
-
-			<view class="week">
-				<view class="item">日</view>
-				<view class="item">一</view>
-				<view class="item">二</view>
-				<view class="item">三</view>
-				<view class="item">四</view>
-				<view class="item">五</view>
-				<view class="item">六</view>
-			</view>
-
-
-			<view class="date-tr" v-for="(i,index) in dates" :key="index">
-				<view v-for="(j,k) in i" :key="k" :style="{color:(k==0||k==6)&&j[0]!=='#BBBBBB'?'#FF7700':j[0]}" :class="j[2]=='#008FD3'?'td active':'td'" @click="itemChose(j,index,k)">{{j[1]}}</view>
-			</view>
-			<view class="btn-box">
-				<view class="sub-btn" @click="submit()">
-					确定
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import config from '../../uni_modules/uview-ui/libs/config/config';
-
-	export default {
-		data() {
-			return {
-				year: 2022,
-				month: 12,
-				date: 19,
-				/* 年月是当天的日期,日是这个月日历的第一天,
-				其实就是上个月的最后一个周日,这里是随便定义的,
-				后面在mounted里面根据当前日期赋值 */
-				years: [], //存放1900到2100共200年
-				months: [], //存放1到12月
-				y: 0,
-				m: 0, //picker的迭代器
-				dates: [
-					[],
-					[],
-					[],
-					[],
-					[],
-					[]
-				], //外层括号表示一个月,内层括号表示一周,每个元素是一天
-				activeDateStr: '', // 当前选中的时间
-			}
-		},
-		
-		mounted() {
-			for (let i = 1900; i <= 2100; i++) {
-				this.years.push(i);
-			}
-			for (let i = 1; i <= 12; i++) {
-				this.months.push(i);
-			}
-		
-			//获取当前时间和月份
-			var date = new Date();
-			this.year = date.getFullYear();
-			this.month = date.getMonth() + 1;
-			let dayNum = date.getDate();
-		
-			for (let i = 0; i < 200; i++) {
-				if (this.years[i] == this.year) {
-					this.y = i;
-					break;
-				}
-			}
-			for (let i = 0; i < 12; i++) {
-				if (this.months[i] == this.month) {
-					this.m = i;
-					break;
-				}
-			}
-		
-			//当前月份的天数和上个月的天数
-			var maxdays = this.maxdformat();
-			var maxday = maxdays[0];
-			var premaxday = maxdays[1];
-		
-			//通过当月一号的星期来计算上个月的最后一个星期日时几号
-			date.setDate(1);
-			var weekday = date.getDay();
-			this.date = premaxday - weekday + 1;
-		     // console.log(this.date,'this.date')
-			//编排这个月的日历
-			this.datesformat(maxday, premaxday);
-			
-			let mothnum = this.months[this.m]
-			if(mothnum<10) {
-				mothnum = '0'+mothnum
-			}
-			if(dayNum<10) {
-				dayNum = '0'+dayNum
-			}
-			this.activeDateStr = this.years[this.y] + '-' + mothnum + '-' + dayNum
-		},
-		methods: {
-			//编排日历
-			datesformat(maxday, premaxday) {
-				//获取当前日期,用来突出显示当前日期
-				var date = new Date();
-				var y = date.getFullYear();
-				var m = date.getMonth() + 1;
-				var d = date.getDate();
-				var w = date.getDay();
-				var i = 0,
-					j = 0;
-				for (i; i < 3; i++) {
-					for (j = 0; j < 7; j++) {
-						let cache = ['#222222', '', '#fff']; //第一个元素用来定义字体颜色,第二个是日期,第三个元素是背景色,用来突出显示当前日期
-						if (this.date > 21 && this.date <= premaxday) {
-							cache[0] = '#BBBBBB';
-						}
-						/* 上个月的日期显示为灰色,只能判断前半个月,
-						   因为如果到这个月的21号之后的话造成这个月的日期也变为灰色,
-						   选21是因为前3周不可能到21号(1号在周日的话会放在第二周),
-						   并且上个月的最后一个星期日必然是21号之后 */
-						else if (this.year == y && this.month == m && this.date == d) {
-							cache[2] = '#008FD3'; // 当前日期背景颜色
-							cache[0] = '#fff'; // 当前日期文字颜色
-						}
-						if(w==0||w==6){
-							console.log(w,'w')
-							cache[0] = '#FF7700';
-						}
-						if (this.date <= premaxday) {
-							cache[1] = this.date++;
-						} else {
-							this.date = 1;
-							cache[1] = this.date++; //日期递增,如果超过上个月的最后一天的话重新从1号开始
-						}
-						this.dates[i].push(cache);
-					}
-				}
-				for (i; i < 6; i++) {
-					for (j = 0; j < 7; j++) {
-						let cache = ['#222222', '', "#fff"]
-						if (this.date < 14 || this.date == maxday + 1) {
-							cache[0] = '#BBBBBB'
-						} else if (this.year == y && this.month == m && this.date == d) {
-							cache[2] = '#008FD3'
-							cache[0] = '#fff'; // 当前日期文字颜色
-						}
-						if(w==0||w==6){
-							cache[0] = '#FF7700';
-						}
-						if (this.date <= maxday) {
-							cache[1] = this.date++;
-						} else {
-							this.date = 1;
-							cache[1] = this.date++;
-						}
-						this.dates[i].push(cache);
-						/* 基本与上半月相似,下个月的日期显示为灰色,
-						   选14是因为第4周的第一天最早是15号(1号在周日并放在第二周的情况),
-						   并且下个月出现最多日期的情况(2月1号是周一)也不会有14天 */
-						
-					}
-				}
-			},
-
-			//计算当月的天数和上个月的天数
-			maxdformat() {
-				var maxday = 30;
-				var premaxday = 30; //都定义为30天,这样小月就不用判断了
-				if (this.month == 2) {
-					if (this.year % 400 == 0 || (this.year % 4 == 0 && this.year % 100 != 0)) { //二月判断平闰年
-						maxday = 29;
-					} else {
-						maxday = 28;
-					}
-				} else if (this.month == 1 || this.month == 3 || this.month == 5 || this.month == 7 ||
-					this.month == 8 || this.month == 10 || this.month == 12) { //给大月赋值
-					maxday = 31;
-				}
-
-				//计算上个月的天数,月份+1直接用上面的
-				if (this.month == 3) {
-					if (this.year % 400 == 0 || (this.year % 4 == 0 && this.year % 100 != 0)) {
-						premaxday = 29;
-					} else {
-						premaxday = 28;
-					}
-				} else if (this.month == 2 || this.month == 4 || this.month == 6 || this.month == 8 ||
-					this.month == 9 || this.month == 11 || this.month == 1) {
-					premaxday = 31;
-				}
-				return [maxday, premaxday];
-			},
-
-			//下一个月
-			monthadd() {
-				//月份加一,十二月下一个月是一月
-				if (this.month == 12) {
-					this.y++;
-					this.year++;
-					this.m = 0;
-					this.month = 1;
-				} else {
-					this.m++;
-					this.month++;
-				}
-
-				var maxdays = this.maxdformat();
-				var maxday = maxdays[0];
-				var premaxday = maxdays[1];
-
-				//这个月的最后一个周日,就是下个月日历的第一天
-				if (this.dates[5][0][1] > 14) {
-					this.date = this.dates[5][0][1];
-				} else {
-					this.date = this.dates[4][0][1];
-				}
-				this.dates = [
-					[],
-					[],
-					[],
-					[],
-					[],
-					[]
-				]; //日历初始化
-				this.datesformat(maxday, premaxday); //编排下个月的日历
-			},
-
-			//上一个月
-			monthsub() {
-				if (this.month == 1) {
-					this.m = 11;
-					this.month = 12;
-					this.y--;
-					this.year--;
-				} else {
-					this.m--;
-					this.month--;
-				}
-				var maxdays = this.maxdformat();
-				var maxday = maxdays[0];
-				var premaxday = maxdays[1];
-
-				//根据上个月的最后一个周日,计算上个月日历的第一天
-				if (this.dates[0][0][1] <= 28) {
-					this.date = premaxday + this.dates[0][0][1] - 28;
-				} else {
-					this.date = premaxday + this.dates[0][0][1] - 35;
-				}
-				this.dates = [
-					[],
-					[],
-					[],
-					[],
-					[],
-					[]
-				];
-
-				this.datesformat(maxday, premaxday)
-			},
-
-			//下一年,就是把下一个月运行12次
-			yearadd() {
-				for (let c = 0; c < 12; c++) {
-					this.monthadd();
-				}
-			},
-
-			//上一年,就是把上一个月运行12次
-			yearsub() {
-				for (let c = 0; c < 12; c++) {
-					this.monthsub();
-				}
-			},
-
-			//picker直接选择年份,计算中间差几年,然后运行几次上一年或下一年
-			yearchange(e) {
-				this.y = e.target.value
-				let d = this.year - this.years[this.y];
-				if (d > 0) {
-					for (let i = 0; i < d; i++) {
-						this.yearsub();
-					}
-				} else {
-					for (let i = 0; i < 0 - d; i++) {
-						this.yearadd();
-					}
-				}
-				this.y += d;
-			},
-
-			//picker直接选择月份
-			monthchange(e) {
-				this.m = e.target.value
-				let d = this.month - this.months[this.m];
-				if (d > 0) {
-					for (let i = 0; i < d; i++) {
-						this.monthsub();
-					}
-				} else {
-					for (let i = 0; i < 0 - d; i++) {
-						this.monthadd();
-					}
-				}
-				this.m += d;
-			},
-			// 日期选择
-			itemChose(day,w,k) {
-				if(day[0] == '#222222'){ // 取消所有选中数据
-					for(let i=0;i<6;i++) {
-						for(let j=0;j<7;j++) {
-							if(this.dates[i][j][0] != '#BBBBBB' && this.dates[i][j][2] == '#008FD3') {
-								this.dates[i][j][2] = '#fff'
-								this.dates[i][j][0] = '#222222'
-							}
-						}
-					}
-					this.dates[w][k][2] = '#008FD3'
-					this.dates[w][k][0] = '#fff'
-					let newValue = ['#fff', day[1], "#008FD3"]
-					this.$set(this.dates[w], k, newValue)
-				}
-				let mothnum = this.months[this.m]
-				if(mothnum<10) {
-					mothnum = '0'+mothnum
-				}
-				let dayNum = day[1]
-				if(dayNum<10) {
-					dayNum = '0'+dayNum
-				}
-				this.activeDateStr = this.years[this.y] + '-' + mothnum + '-' + dayNum
-			},
-			submit(){
-				console.log(this.activeDateStr,'===')
-				this.$emit('onDayClick', this.activeDateStr);
-			}
-		},
-	}
-</script>
-
-<style scoped lang="scss">
-	.calendar{
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		.chose-head{
-			width: 100%;
-			height: 88upx;
-			border-bottom: 2upx solid #ECECEC;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			// padding: 0 97upx 0 67upx;
-			.chose-item{
-				display: flex;
-				align-items: center;
-				.btn{
-					width: 48upx;
-					height: 48upx;
-					background: #EFF3F7;
-					border-radius: 8upx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					image{
-						width: 11upx;
-						height: 18upx;
-					}
-				}
-				.year-td{
-					width: 160upx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					.text{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-					}
-				}
-				.month-td{
-					width: 100upx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					.text{
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-					}
-				}
-			}
-		}
-		.table{
-			width: 100%;
-			.week{
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding: 0 20upx;
-				border-bottom: 2upx solid #ECECEC;
-				.item{
-					width: 10%;
-					height: 60upx;
-					line-height: 60upx;
-					margin: 12upx 0;
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 400;
-					color: #222222;
-					text-align: center;
-					&:first-child{
-						color: #FF7700;
-					}
-					&:last-child{
-						color: #FF7700;
-					}
-				}
-			}
-			.date-tr{
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding: 0 20upx;
-				.td{
-					width: 10%;
-					height: 56upx;
-					line-height: 56upx;
-					margin: 12upx 0;
-					font-size: 28upx;
-					text-align: center;
-					font-family: PingFang SC;
-					font-weight: 600;
-					color: #222222;
-					border-radius: 8upx;
-					&.active{
-						background-color: #008FD3;
-					}
-				}
-			}
-			.btn-box {
-				// height: 120upx;
-				padding-top: 30rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				.sub-btn {
-					width: 480upx;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					background: #008FD3 ;
-					border-radius: 44upx;
-					// margin-bottom: 40upx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-				}
-			}
-		}
-	}
-	
-</style>

+ 0 - 315
components/px-popup-bottom/px-popup-bottom.vue

@@ -1,315 +0,0 @@
-<template>
-	<view :class="['popup',{'popup-show':show}]" @mousewheel.prevent.stop @touchmove.stop.prevent
-		:style="{'z-index':zindex}">
-		<view class="mask" :style="{'z-index':maskZindex,bottom:bottom+'rpx'}" v-show="show" @click.stop="onClose"
-			@touchmove.prevent.stop></view>
-		<view :class="['content',{show}]" @click.stop @touchmove.prevent.stop :style="{'background-color':bgColor,height:`${height}px`,maxHeight:show ? cotMaxHeight:0,'border-top-right-radius':cotRadius,
-			'border-top-left-radius':cotRadius,transition: `all ${animaTime}s ease-in`,bottom:bottom+'rpx','z-index':zindex}">
-			<view id="title-bar" class="title-bar" v-show="title">
-				<view class="title" :style="{fontWeight:fontweight}">{{title}}</view>
-				<view class="close-wrap" @click.stop="onClose">
-					<image class="close-icon" :src="closeIcon" mode="widthFix"></image>
-				</view>
-			</view>
-			<view class="scroll-wrap">
-				<scroll-view :class="{'scroll-view':isAnimaStart}" scroll-y="true" style="height:100%;"
-					@scrolltolower="onScrollToLower">
-					<view id="popup_content" class="popup_content">
-						<slot></slot>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import iconClose from '@/static/images/close40.png'
-	export default {
-		props: {
-			title: { //标题
-				type: String,
-				default: ''
-			},
-			fontweight: {
-				type: [String, Number],
-				default: 'normal'
-			},
-			visible: { //隐藏显示标识
-				type: Boolean,
-				default: false
-			},
-			maxHeight: { //内容区域最大高度
-				type: [String, Number],
-				default: '75%'
-			},
-			radius: { //顶部圆角
-				type: [String, Number],
-				default: '0'
-			},
-			animaTime: { //弹窗动画时间
-				type: Number,
-				default: 0.2
-			},
-			bottom: { //离底部距离
-				type: [String, Number],
-				default: 0
-			},
-			bgColor: {
-				type: [String],
-				default: '#ffffff'
-			},
-			zindex: {
-				type: [String, Number],
-				default: 1000
-			},
-			maskZindex: {
-				type: [String, Number],
-				default: 999
-			},
-			always: { //是否每次打开都重新计算内容高度
-				type: Boolean,
-				default: false
-			},
-
-		},
-		data() {
-			return {
-				show: false,
-				height: 0,
-				PopHeight: 0,
-				cotMaxHeight: '',
-				isAnimaStart: false,
-				rpxRate: "",
-				cotRadius: 0,
-				closeIcon: iconClose
-			}
-		},
-		watch: {
-			visible(newval) {
-				this.isAnimaStart = true;
-				setTimeout(() => {
-					this.isAnimaStart = false;
-				}, this.animaTime * 1000)
-
-				if (newval && this.height === 0) {
-					if (this.PopHeight === 0 || this.always) {
-						this.setContViewHeight();
-
-					} else {
-						this.height = this.PopHeight
-					}
-
-					// #ifdef H5 
-					this.setBodyOverFlow('hidden') //阻止滚动穿透
-					//#endif
-					this.$emit('open')
-
-				} else {
-					this.height = 0;
-					// #ifdef H5 
-					this.setBodyOverFlow('visible')
-					//#endif
-
-				}
-
-				this.show = newval
-
-			},
-			maxHeight: {
-				handler(newval) {
-					this.cotMaxHeight = this.unitCheck(newval);
-
-				},
-				immediate: true
-			},
-			radius: {
-				handler(newval) {
-					this.cotRadius = this.unitCheck(newval);
-
-				},
-				immediate: true
-			}
-		},
-		created() {
-			this.rpxRate = this.getRpxRate()
-		},
-		mounted() {
-			this.$nextTick(() => {
-				// #ifdef H5
-				this.preventTouch(document.querySelector(
-					'.scroll-wrap .uni-scroll-view .uni-scroll-view')); //防止浏览器报错
-				//#endif
-			})
-		},
-		methods: {
-			onClose() {
-				this.$emit("update:visible", false);
-				this.$emit('close')
-			},
-			//触底
-			onScrollToLower(e) {
-				this.$emit("reachBottom");
-			},
-			getRpxRate() {
-				let res = uni.getSystemInfoSync();
-				let width = res.windowWidth;
-				let rate = 750.00 / width;
-				return rate
-			},
-			unitCheck(value) {
-				const val = String(value);
-				if (!val.includes('px') && !val.includes('%')) {
-					return `${val}rpx`;
-				}
-				return val;
-
-			},
-			preventTouch(el) {
-				el.addEventListener('touchmove', function(e) {
-					e.stopPropagation();
-
-				}, {
-					passive: false
-				});
-			},
-			setBodyOverFlow(val) {
-				document.body.style.overflow = val
-			},
-
-			//设置内容区域高度
-			async setContViewHeight() {
-				let data = await this.computeHeight();
-				this.height = data.height + (this.title ? 100 / parseFloat(this.rpxRate) : 0);
-				this.PopHeight = this.height;
-			},
-			//计算内容区域高度
-			computeHeight() {
-				return new Promise(resolve => {
-					this.$nextTick(() => {
-						const query = uni.createSelectorQuery().in(this);
-						query.select('#popup_content').boundingClientRect(data => {
-							resolve(data)
-						}).exec();
-					})
-				})
-			}
-
-		}
-
-
-	}
-</script>
-
-<style lang="scss" scoped>
-	.popup {
-
-		&.popup-show {
-			position: fixed;
-			top: 0;
-			right: 0;
-			left: 0;
-			bottom: 0;
-			overflow: hidden;
-			z-index: 999;
-		}
-
-		.mask {
-			position: fixed;
-			top: 0;
-			right: 0;
-			bottom: 0;
-			left: 0;
-			background-color: rgba($color: #000000, $alpha: 0.5);
-			z-index: 999;
-		}
-
-		.content {
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			right: 0;
-			height: 0;
-			height: auto;
-			background-color: #ffffff;
-			transition: all 0.2s ease-in;
-			z-index: 1000;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			overflow: hidden;
-
-			.title-bar {
-				width: 100%;
-				flex-shrink: 0;
-				text-align: center;
-				position: relative;
-				padding: 10rpx 70rpx 0;
-				box-sizing: border-box;
-				height: 80rpx;
-
-				.title {
-					font-size: 34upx;
-					font-family: PingFang SC;
-					font-weight: bold !important;
-					color: #111111;
-					width: 100%;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-				}
-
-				.close-wrap {
-					position: absolute;
-					top: 20rpx;
-					right: 10rpx;
-					padding: 10rpx 20rpx;
-					box-sizing: border-box;
-				}
-
-				.close-icon {
-					width: 40rpx;
-					height: 40rpx;
-				}
-			}
-
-			.scroll-wrap {
-				flex: 1;
-				height: 0;
-				width: 100%;
-			}
-
-			&.visible {
-				max-height: 75%;
-				overflow-y: hidden;
-				height: auto;
-
-			}
-		}
-	}
-
-	.scroll-view ::-webkit-scrollbar {
-		display: none !important;
-		width: 0 !important;
-		height: 0 !important;
-		-webkit-appearance: none;
-		background: transparent;
-
-	}
-
-	.popup_content {
-		width: 100%;
-		padding: 0rpx 30rpx;
-		box-sizing: border-box;
-
-		&::after {
-			display: block;
-			width: 100%;
-			content: "\00A0";
-			overflow: hidden;
-			opacity: 0;
-			height: 1rpx;
-		}
-
-	}
-</style>

+ 0 - 432
components/ren-calendar/ren-calendar.vue

@@ -1,432 +0,0 @@
-<template>
-    <view class="calendar-wrapper">
-		<view class="fs28 left">{{y+'年'+m+'月'}}</view>
-        <view class="header" v-if="headerBar">
-            <view class="pre" @click="changeMonth('pre')">上个月</view>
-            <view>{{y+'年'+formatNum(m)+'月'}}</view>
-            <view class="next" @click="changeMonth('next')">下个月</view>
-        </view>
-        <view class="week">
-            <view class="week-day" v-for="(item, index) in weekDay" :key="index">{{ item }}</view>
-        </view>
-        <view :class="{ hide: !monthOpen }" class="content" :style="{ height: height }">
-            <view :style="{ top: positionTop + 'rpx' }" class="days">
-                <view class="item" v-for="(item, index) in dates" :key="index">
-                    <view
-                        class="day"
-                        @click="selectOne(item, $event)"
-                        :class="{
-                            choose: choose == `${item.year}-${item.month}-${item.date}`&&item.isCurM,
-                            nolm: !item.isCurM,
-                            today: isToday(item.year, item.month, item.date),
-                            isWorkDay: isWorkDay(item.year, item.month, item.date)
-                        }"
-                    >
-                        {{ Number(item.date) }}
-                    </view>
-                   <!-- <view class="markDay" v-if="isMarkDay(item.year, item.month, item.date)&&item.isCurM"></view> -->
-                    <!-- <view class="today-text" v-if="isToday(item.year, item.month, item.date)">今</view> -->
-                </view>
-            </view>
-        </view>
-        <image src="@/static/images/company/time_arrow_down_icon.png" mode="scaleToFill" v-if="collapsible" @click="toggle" class="weektoggle" :class="{ down: monthOpen }"></image>
-    </view>
-</template>
-
-<script>
-export default {
-    name: 'ren-calendar',
-    props: {
-        // 星期几为第一天(0为星期日)
-        weekstart: {
-            type: Number,
-            default: 0
-        },
-        // 标记的日期
-        markDays: {
-            type: Array,
-            default: ()=>{
-                return [];
-            }
-        },
-        //是否展示月份切换按钮
-        headerBar:{
-            type: Boolean,
-            default: true
-        },
-        // 是否展开
-        open: {
-            type: Boolean,
-            default: true
-        },
-        //是否可收缩
-        collapsible:{
-            type: Boolean,
-            default: true
-        },
-        //未来日期是否不可点击
-        disabledAfter: {
-            type: Boolean,
-            default: false
-        }
-    },
-    data() {
-        return {
-            weektext: ['日', '一', '二', '三', '四', '五', '六'],
-            y: new Date().getFullYear(), // 年
-            m: new Date().getMonth() + 1, // 月
-            dates: [], // 当前月的日期数据
-            positionTop: 0,
-            monthOpen: true,
-            choose: ''
-        };
-    },
-    created() {
-        this.dates = this.monthDay(this.y, this.m);
-        !this.open && this.toggle();
-    },
-    mounted() {
-        this.choose = this.getToday().date;
-    },
-    computed: {
-        // 顶部星期栏
-        weekDay() {
-            return this.weektext.slice(this.weekstart).concat(this.weektext.slice(0, this.weekstart));
-        },
-        height() {
-            return (this.dates.length / 7) * 80 + 'rpx';
-        }
-    },
-    methods: {
-        formatNum(num) {
-            let res = Number(num);
-            return res < 10 ? '0' + res : res;
-        },
-        getToday() {
-            let date = new Date();
-            let y = date.getFullYear();
-            let m = date.getMonth();
-            let d = date.getDate();
-            let week = new Date().getDay();
-            let weekText = ['日', '一', '二', '三', '四', '五', '六'];
-            let formatWeek = '星期' + weekText[week];
-            let today = {
-                date: y + '-' + this.formatNum(m + 1) + '-' + this.formatNum(d),
-                week: formatWeek
-            };
-            return today;
-        },
-        // 获取当前月份数据
-        monthDay(y, month) {
-            let dates = [];
-            let m = Number(month);
-            let firstDayOfMonth = new Date(y, m - 1, 1).getDay(); // 当月第一天星期几
-            let lastDateOfMonth = new Date(y, m, 0).getDate(); // 当月最后一天
-            let lastDayOfLastMonth = new Date(y, m - 2, 0).getDate(); // 上一月的最后一天
-            let weekstart = this.weekstart == 7 ? 0 : this.weekstart;
-            let startDay = (() => {
-                // 周初有几天是上个月的
-                if (firstDayOfMonth == weekstart) {
-                    return 0;
-                } else if (firstDayOfMonth > weekstart) {
-                    return firstDayOfMonth - weekstart;
-                } else {
-                    return 7 - weekstart + firstDayOfMonth;
-                }
-            })();
-            let endDay = 7 - ((startDay + lastDateOfMonth) % 7); // 结束还有几天是下个月的
-            for (let i = 1; i <= startDay; i++) {
-                dates.push({
-                    date: this.formatNum(lastDayOfLastMonth - startDay + i),
-                    day: weekstart + i - 1 || 7,
-                    month: m - 1 >= 0 ? this.formatNum(m - 1) : 12,
-                    year: m - 1 >= 0 ? y : y - 1
-                });
-            }
-            for (let j = 1; j <= lastDateOfMonth; j++) {
-                dates.push({
-                    date: this.formatNum(j),
-                    day: (j % 7) + firstDayOfMonth - 1 || 7,
-                    month: this.formatNum(m),
-                    year: y,
-                    isCurM: true //是否当前月份
-                });
-            }
-            for (let k = 1; k <= endDay; k++) {
-                dates.push({
-                    date: this.formatNum(k),
-                    day: (lastDateOfMonth + startDay + weekstart + k - 1) % 7 || 7,
-                    month: m + 1 <= 11 ? this.formatNum(m + 1) : 0,
-                    year: m + 1 <= 11 ? y : y + 1
-                });
-            }
-            // console.log(dates);
-            return dates;
-        },
-        isWorkDay(y, m, d) {
-            //是否工作日
-            let ymd = `${y}/${m}/${d}`;
-            let formatDY = new Date(ymd.replace(/-/g, '/'));
-            let week = formatDY.getDay();
-            if (week == 0 || week == 6) {
-                return false;
-            } else {
-                return true;
-            }
-        },
-        isFutureDay(y, m, d) {
-            //是否未来日期
-            let ymd = `${y}/${m}/${d}`;
-            let formatDY = new Date(ymd.replace(/-/g, '/'));
-            let showTime = formatDY.getTime();
-            let curTime = new Date().getTime();
-            if (showTime > curTime) {
-                return true;
-            } else {
-                return false;
-            }
-        },
-        // 标记日期
-        isMarkDay(y, m, d) {
-            let flag = false;
-            for (let i = 0; i < this.markDays.length; i++) {
-                let dy = `${y}-${m}-${d}`;
-                if (this.markDays[i] == dy) {
-                    flag = true;
-                    break;
-                }
-            }
-            return flag;
-        },
-        isToday(y, m, d) {
-            let checkD = y + '-' + m + '-' + d;
-            let today = this.getToday().date;
-            if (checkD == today) {
-                return true;
-            } else {
-                return false;
-            }
-        },
-        // 展开收起
-        toggle() {
-            this.monthOpen = !this.monthOpen;
-            if (this.monthOpen) {
-                this.positionTop = 0;
-            } else {
-                let index = -1;
-                this.dates.forEach((i, x) => {
-                    this.isToday(i.year, i.month, i.date) && (index = x);
-                });
-                this.positionTop = -((Math.ceil((index + 1) / 7) || 1) - 1) * 80;
-            }
-        },
-        // 点击回调
-        selectOne(i, event) {
-            let date = `${i.year}-${i.month}-${i.date}`;
-            let selectD = new Date(date).getTime();
-            let curTime = new Date().getTime();
-            let week = new Date(date).getDay();
-            let weekText = ['日', '一', '二', '三', '四', '五', '六'];
-            let formatWeek = '星期' + weekText[week];
-            let response = {
-                date: date,
-                week: formatWeek
-            };
-            if (!i.isCurM) {
-                // console.log('不在当前月范围内');
-                return false;
-            }
-            if (selectD > curTime) {
-                if (this.disabledAfter) {
-                    console.log('未来日期不可选');
-                    return false;
-                } else {
-                    this.choose = date;
-                    this.$emit('onDayClick', response);
-                }
-            } else {
-                this.choose = date;
-                this.$emit('onDayClick', response);
-            }
-            console.log(response);
-        },
-        //改变年月
-        changYearMonth(y, m) {
-            this.dates = this.monthDay(y, m);
-            this.y = y;
-            this.m = m;
-        },
-        changeMonth(type){
-            if(type=='pre'){
-               if (this.m + 1 == 2) {
-                   this.m = 12;
-                   this.y = this.y - 1;
-               } else {
-                   this.m = this.m - 1;
-               } 
-            }else{
-                if (this.m + 1 == 13) {
-                    this.m = 1;
-                    this.y = this.y + 1;
-                } else {
-                    this.m = this.m + 1;
-                }
-            }
-            this.dates = this.monthDay(this.y, this.m);
-        }
-    }
-};
-</script>
-
-<style lang="scss" scoped>
-.calendar-wrapper {
-    color: #fff;
-    font-size: 28rpx;
-    text-align: center;
-    background-color: #008FD3;
-    padding-bottom: 10rpx;
-	.left{
-		font-weight: 500;
-		font-size: 28rpx;
-		color: #FFFFFF;
-		text-align: left;
-		padding: 10rpx 36rpx;
-	}
-    .header{
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        height: 88rpx;
-        color: #42464A;
-        font-size: 32rpx;
-        font-weight: bold;
-        border-bottom: 2rpx solid #f2f2f2;
-        .pre,.next{
-              color: #4d7df9;
-              font-size: 28rpx;
-              font-weight: normal;
-              padding: 8rpx 15rpx;
-              border-radius: 10rpx;
-              border: 2rpx solid #dcdfe6;
-        }
-        .pre{
-            margin-right: 30rpx;
-        }
-        .next{
-            margin-left: 30rpx;
-        }
-    }
-
-    .week {
-        display: flex;
-        align-items: center;
-        height: 80rpx;
-        line-height: 80rpx;
-        border-bottom: 1rpx solid rgba(255, 255, 255, 0.2);
-
-        view {
-            flex: 1;
-        }
-    }
-
-    .content {
-        position: relative;
-        overflow: hidden;
-        transition: height 0.4s ease;
-
-        .days {
-            transition: top 0.3s;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            position: relative;
-
-            .item {
-                position: relative;
-                display: block;
-                height: 80rpx;
-                line-height: 80rpx;
-                width: calc(100% / 7);
-
-                .day {
-                    font-style: normal;
-                    display: inline-block;
-                    vertical-align: middle;
-                    width: 60rpx;
-                    height: 60rpx;
-                    line-height: 60rpx;
-                    overflow: hidden;
-                    border-radius: 8rpx;
-
-                    &.choose {
-                        background-color: #fff;
-                        color: #008FD3;
-                    }
-
-                    &.nolm {
-                        color: #fff;
-                        opacity: 0.5;
-                    }
-                }
-                .isWorkDay {
-                    color: #fff;
-					font-weight: 600;
-                }
-
-                .notSigned {
-                    font-style: normal;
-                    width: 8rpx;
-                    height: 8rpx;
-                    background: #fa7268;
-                    border-radius: 10rpx;
-                    position: absolute;
-                    left: 50%;
-                    bottom: 0;
-                    pointer-events: none;
-                }
-                .today {
-                    color: #fff;
-                    background-color: #a8c0ff;
-                }
-                .workDay {
-                    font-style: normal;
-                    width: 8rpx;
-                    height: 8rpx;
-                    background: #4d7df9;
-                    border-radius: 10rpx;
-                    position: absolute;
-                    left: 50%;
-                    bottom: 0;
-                    pointer-events: none;
-                }
-                .markDay{
-                    font-style: normal;
-                    width: 8rpx;
-                    height: 8rpx;
-                    background: #fc7a64;
-                    border-radius: 10rpx;
-                    position: absolute;
-                    left: 50%;
-                    bottom: 0;
-                    pointer-events: none;
-                }
-            }
-        }
-    }
-
-    .hide {
-        height: 80rpx !important;
-    }
-
-    .weektoggle {
-        width: 48rpx;
-        height: 48rpx;
-        position: relative;
-        // bottom: -42rpx;
-        &.down {
-            transform: rotate(180deg);
-            bottom: 0;
-        }
-    }
-}
-</style>

+ 0 - 487
components/sapling-vue-scale/sapling-vue-scale.vue

@@ -1,487 +0,0 @@
-
-<template>
-  <div>
-    <!-- 横向 -->
-    <view class='wrapper horizontal-box' id='scale-wrapper' :style="{background: stylesObj.bgoutside}" v-if="direction=== 'horizontal'">
-      <view class='scale-mask' v-if="!scroll"/>
-      <!-- 选中的横条  -->
-      <view class='zz' :style="{backgroundColor: stylesObj.lineSelect}"/>
-      <scroll-view
-        class='scroll-view'
-        :scroll-x="true"
-        :scroll-left="centerNum"
-        :scroll-with-animation="true"
-        @scroll="bindscroll"
-        :show-scrollbar="false"
-        :enhanced="true"
-      >
-
-        <view class='scroll-wrapper'>
-          <!-- 左补白 -->
-          <view class='seat' :style="{width: windowWidth/2 + 'px'}"/>
-
-          <!-- 标尺容器 -->
-          <view  class='scale-container'>
-            <view class='scale-wrapper'>
-              <view class='scale-grip'
-                    v-for="(item, index) in grid"
-                    :key="index"
-                    :style="{height:h + 'px', borderColor: stylesObj.line }">
-                <view class='scale-grip-item'
-                      v-for="(it, idx) in 10"
-                      :key="idx"
-                      :style="{width: single + 'px', height: idx===4?'80':'60' + '%', borderColor: stylesObj.line}"
-                />
-              </view>
-            </view>
-            <!-- 标尺数显示,长度:每格长度*个数 -->
-            <view class='scale-vaule-wrapper' :style="{width: single*10*grid + 'px', color: stylesObj.fontColor, fontSize: stylesObj.fontSize + 'px'}">
-              <view class='scale-value first-scale-value' :style="{width: single*10 + 'px'}">{{min}}</view>
-              <view v-if="int" style="display: flex;">
-                <view
-                  class='scale-vaule'
-                  v-for="(item, index) in grid"
-                  :key="index"
-                  :style="{width:single*10 + 'px'}">{{min+10*(index+1)}}
-                </view>
-              </view>
-              <view v-else style="display: flex;">
-                <view
-                  class='scale-vaule'
-                  v-for="(it, index) in grid"
-                  :key="index"
-                  :style="{width: single*10 + 'px'}">{{min+(index+1)}}
-                </view>
-              </view>
-            </view>
-          </view>
-
-          <!-- 右补白 -->
-          <view class='seat' :style="{width: windowWidth/2 + 'px'}"/>
-        </view>
-      </scroll-view>
-    </view>
-
-    <!-- 竖向 -->
-    <view class='wrapper vertical-box' id='scale-wrapper' :style="{background: stylesObj.bgoutside}" v-else-if="direction === 'vertical'">
-      <view class='scale-mask' v-if="!scroll"/>
-      <view class='zz' :style="{backgroundColor: stylesObj.lineSelect}"/>
-      <scroll-view
-        class='scroll-view'
-        style="height: 600rpx;"
-        :scroll-y="true"
-        :scroll-top="centerNum"
-        :scroll-with-animation='true'
-        @scroll="bindscroll"
-        :show-scrollbar="false"
-        :enhanced="true">
-
-        <view class='scroll-wrapper'>
-          <!-- 左补白 -->
-          <view class='seat' :style="{height: windowHeight/2 - single*10/2 + 'px'}"/>
-
-          <!-- 标尺容器 -->
-          <view  class='scale-container'>
-            <view class='scale-wrapper' :style="{height: single*10*grid + 'px', paddingTop: single*10/2 + 'px'}">
-              <view class='scale-grip'
-                    v-for="(item, index) in grid"
-                    :key="index"
-                    :style="{borderColor: stylesObj.line}">
-                <view class='scale-grip-item'
-                      v-for="(it, idx) in 10"
-                      :key="idx"
-                      :style="{height: single + 'px', width: (idx==4||idx==9) ? '80':'60' + '%', borderColor: stylesObj.line}"
-                />
-              </view>
-            </view>
-            <!-- 标尺数显示,长度:每格长度*个数 -->
-            <view class='scale-vaule-wrapper'
-                  :style="{height: single*10*(grid+1) + 'px', color: stylesObj.fontColor, fontSize: stylesObj.fontSize + 'px'}">
-              <view class='scale-value' :style="{height: single*10 + 'px', lineHeight: single*10 + 'px'}">{{min}}</view>
-              <view v-if="int">
-                <view class='scale-vaule'
-                      v-for="(item, index) in grid"
-                      :key="index"
-                      :style="{height: single*10 + 'px', lineHeight: single*10 + 'px'}">{{min+10*(index+1)}}
-                </view>
-              </view>
-              <view v-else>
-                <view class='scale-vaule'
-                      v-for="(it, index) in grid"
-                      :key="index"
-                      :style="{height: single*10 + 'px', lineHeight: single*10 + 'px'}">{{min+(index+1)}}
-                </view>
-              </view>
-            </view>
-          </view>
-
-          <!-- 右补白 -->
-          <view class='seat' :style="{height: windowHeight/2 - single*10/2 + 'px'}"/>
-        </view>
-      </scroll-view>
-    </view>
-  </div>
-</template>
-
-<script>
-/**
- min[number] 默认值 0, // 最小值
- max[number] 默认值 100, // 最大值
- int[boolean] 默认值 true, // 是否开启整数模式 ,false为小数模式  true 整数模式
- single[number] 默认值 10, // 单个格子的实际长度(单位rpx)
- h[number] 默认值 0,// 自定义高度 初始值为80
- active[null] 默认值 center ,// 自定义选中位置  (三个值 min, max ,center , 范围内合法数值)
- styles[object]  // 自定义卡尺样式
- */
-
-export default {
-  name: '',
-  components: {},
-  props: {
-    // 最小值
-    min: {
-      type: Number,
-      default: 0,
-    },
-    // 最大值
-    max: {
-      type: Number,
-      default: 100,
-    },
-    // 是否开启整数模式
-    int: {
-      type: Boolean,
-      default: false,
-    },
-    // 每个格子的实际行度 (单位px ,相对默认值)
-    single: {
-      type: Number,
-      default: 10,
-    },
-    // 高度
-    h: {
-      type: Number,
-      default: 80,
-    },
-    // 是否禁止滚动
-    scroll: {
-      type: Boolean,
-      default: true,
-    },
-    // 方向
-    direction: {
-      type: String,
-      default: 'horizontal',
-    },
-    // 当前选中
-    active: {
-      type: null,
-      default: '0',
-    },
-    styles: {
-      type: Object,
-      default: () => {},
-    },
-
-  },
-  data() {
-    return {
-      defaultStyles: {
-        line: '#CCCCCC', // 刻度颜色
-        bginner: '#fbfbfb', // 前景色颜色
-        bgoutside: '#dbdbdb', // 背景色颜色
-        lineSelect: '#FF5030', // 选中线颜色
-        fontColor: '#404040', // 刻度数字颜色
-        fontSize: 16, // 字体大小
-      },
-      rul: {},
-      windowHeight: 0,
-      windowWidth: '',
-      horizontalTime: null,
-      verticalTime: null,
-      grid: '',
-      centerNum: '',
-      stylesObj: {},
-    };
-  },
-  computed: {},
-  watch: {},
-  onReady() {
-    const min = parseInt(this.min, 10) || 0;
-    const max = parseInt(this.max, 10) || 100;
-    this.min = min;
-    this.max = max;
-    this.init();
-  },
-  created() {
-  },
-  mounted() {
-  },
-  methods: {
-    // 初始化
-    init() {
-      // 设置默认值
-      const min = this.min || 0;
-      const max = this.max || 0;
-      /**
-       * grid 外层的刻度尺,里面有10个小刻度尺(10个小刻度尺直接拿10遍历出来)
-       * 整数:
-       *  需要除以10,此时里面的一个小刻度尺代表1
-       *  例如:30-80 此时需要5个外层刻度尺。
-       * 小数:
-       *  不需要除以10,此时里面的一个小刻度尺代表0.1
-       *  例如:30-80 此时需要50个外层刻度尺。
-       *
-       */
-      let grid;
-      if (this.int) {
-        grid = (max - min) / 10;
-      } else {
-        grid = (max - min);
-      }
-      this.stylesObj = Object.assign(this.defaultStyles, this.styles);
-      this.grid = grid;
-
-      // 当前选中的 active
-      let activeVal = this.selectActiveVal();
-      if (activeVal < min || activeVal > max) { // 默认数字不合理
-        activeVal = (min + max) / 2;
-      }
-      if (this.int) {
-        let diff = (activeVal - min) / 10; // 移动diff格
-        /* eslint-disable-next-line */
-        if (diff < 0 || isNaN(diff) || !diff) diff = 0;
-        // this.single 每个小格子长度
-        const centerNum = diff * this.single * 10;
-        setTimeout(() => { this.centerNum = centerNum; }, 200);
-      } else {
-        const diff1 = (activeVal - min) * 10; // 移动diff格
-        const centerNum = diff1 * this.single;
-        setTimeout(() => { this.centerNum = centerNum; }, 200);
-      }
-      //  获取节点信息,获取节点宽度
-      const query = this.createSelectorQuery().in(this);
-      query.select('#scale-wrapper').boundingClientRect(() => {
-        // res.top; // 这个组件内 #the-id 节点的上边界坐标
-      }).exec((e) => {
-        this.windowWidth = e[0].width;
-        this.windowHeight = e[0].height;
-      });
-    },
-    // 给定的选中默认值
-    selectActiveVal() {
-      // 当前选中位置设置
-      let activeVal;
-      if (this.active === 'min') {
-        activeVal = this.min;
-      } else if (this.active === 'max') {
-        activeVal = this.max;
-      } else if (this.active === 'center') {
-        activeVal = (this.min + this.max) / 2;
-      } else {
-        activeVal = this.active ? this.active : this.min;
-      }
-      return activeVal;
-    },
-    // 滚动
-    bindscroll(e) {
-      // 移动的距离
-      let offset = 0;
-      if (this.direction === 'vertical') {
-        offset = e.detail.scrollTop;
-      } else {
-        offset = e.detail.scrollLeft;
-      }
-      // 选中的值
-      let value;
-      if (this.int) {
-        value = this.min + (offset / this.single);
-        value = Math.round(value);
-        if (value > this.max) value = this.max;
-        this.$emit('value', value);
-        const centerNum = (value - this.min) * this.single + Math.random() ** 10;
-        clearTimeout(this.horizontalTime);
-        this.horizontalTime = setTimeout(() => {
-          this.centerNum = centerNum;
-          this.$emit('value', value);
-        }, 100);
-      } else {
-        value = this.min + ((offset / this.single) / 10);
-        value = value.toFixed(1);
-        if (value > this.max) value = this.max;
-        this.$emit('value', value);
-        const centerNum = (value - this.min) * this.single * 10 + Math.random() ** 10;
-        clearTimeout(this.verticalTime);
-        this.verticalTime = setTimeout(() => {
-          this.centerNum = centerNum;
-          this.$emit('value', value);
-        }, 100);
-      }
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-  view,text {
-    box-sizing: border-box;
-  }
-  .wrapper {
-    position: relative;
-  }
-  .scale-mask {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    z-index: 100;
-  }
-  .horizontal-box {
-    // padding-top: 7%;
-    .scroll-wrapper {
-      position: relative;
-      display: flex;
-    }
-    .zz {
-      position: absolute;
-      left: 50%;
-      top: 0;
-      transform: translate(-50%);
-      height: 100%;
-      width: 2rpx;
-      background-color: #FF5030;
-      z-index: 10;
-	  &::before{
-	  		  display:block;
-	  		     content:'';
-	  		     border-width:16rpx 16rpx 16rpx 16rpx;
-	  		     border-style:solid;
-	  		     border-color:#FF5030 transparent transparent transparent;
-	  		  
-	  		     /* 定位 */
-	  		     position:absolute;
-	  		    left: -16rpx;
-	  		    top: 0;
-	  }
-    }
-    .scale-wrapper {
-      display: flex;
-      border-top: 1px solid #dddddd;
-    }
-    .scale-grip {
-      position: relative;
-      height: 100rpx;
-      display: flex;
-      &::before {
-        content: "";
-        position: absolute;
-        top: 0;
-        border-width: 1px;
-        border-color: inherit;
-        border-style: solid;
-        height: 100%;
-        transform: translateX(-50%);
-        left: 0rpx;
-      }
-      &:last-child {
-        &::after {
-          content: "";
-          position: absolute;
-          top: 0;
-          right: 0;
-          border-width: 1px;
-          border-color: inherit;
-          border-style: solid;
-          height: 100%;
-        }
-      }
-    }
-    .scale-grip-item {
-      height: 60%;
-      padding-top: 10rpx;
-	  &:nth-child(5n){
-		  height: 80%;
-	  }
-      &:not(:last-child) {
-        border-right: 1px solid #000000;
-      }
-    }
-    .scale-vaule-wrapper {
-      position: relative;
-      display: flex;
-      text-align: center;
-    }
-    .scale-vaule {
-      padding: 30rpx 0;
-      transform: translateX(50%);
-    }
-    .first-scale-value {
-      position: absolute;
-      left: 0;
-      bottom: 0;
-      padding: 20rpx 0;
-      transform: translateX(-50%);
-    }
-    .seat {
-      flex-shrink: 0;
-      box-sizing: border-box;
-      border-top: 1px solid #ddd;
-    }
-  }
-  /* .scale-container{
-    display: flex;
-  } */
-  .vertical-box {
-    height: 100%;
-    .scroll-wrapper {
-      position: relative;
-    }
-    .scroll-view {
-      height: 100%;
-    }
-    .zz {
-      position: absolute;
-      top: 50%;
-      left: 0;
-      transform: translate(-50%);
-      width: 40%;
-      height: 2px;
-      background-color: #FF5030;
-      z-index: 10;
-    }
-    .scale-container {
-      display: flex;
-      width: 100%;
-    }
-    .scale-wrapper {
-      flex: 1;
-    }
-    .scale-grip {
-      position: relative;
-      border-left: 1px solid #000000;
-      &:first-child {
-        &::before {
-          content: "";
-          position: absolute;
-          top: 0;
-          left: 0;
-          width: 80%;
-          height: 0;
-          border-top: 1px solid #dbdbdb;
-        }
-      }
-    }
-    .scale-grip-item {
-      height: 60%;
-      padding-top: 10rpx;
-      border-bottom: 1px solid #000000;
-    }
-    .scale-vaule-wrapper {
-      position: relative;
-      text-align: left;
-      flex: 1;
-    }
-    .scale-vaule {
-    }
-  }
-
-</style>

+ 0 - 361
components/w-drag-sorts/w-drag-sorts.vue

@@ -1,361 +0,0 @@
-<template>
-  <scroll-view scroll-y :show-scrollbar="showScrollBar" class="w-drag-sorts-scroll" :style="{height: scrollBoxPxHeight+'px'}">
-    <view class="w-drag-sorts" :style="{height: boxHeight+'px'}" :class="{'inited':inited}">
-      <view class="w-drag-sorts-item" v-for="(vo,i) in newList" :key="i"
-        :style="{'top': vo.__top + 'px', ...finallyItemStyles}"
-        :class="{'draging':currentIndex == i}" @longpress="onRemove(i)" @click="navTo(i)">
-		<view class="align-center">
-			<view class="ctrl"
-			  v-if="showDragCtrl"
-			  @touchmove.stop.prevent 
-			  @touchstart="onTouchstart($event, i)"
-			  @touchmove="onTouchmove" 
-			  @touchend="onTouchend" 
-			>
-			  <!-- <image class="icon" :src="ctrlIcon" /> -->
-			  <image class="w32 h32" src="@/static/images/user/drag_icon.png"></image>
-			</view>
-			<view class="text">
-			  {{vo.indicatorName}}
-			</view>
-		</view>
-        <!-- <view class="content2"> -->
-          <view v-if="isRemove==true" class="item-icon" @click.stop="onDisabledClick(i,vo)" >
-            <!-- <image class="icon" :src="vo.icon"/> -->
-          			<image class="w40 h40" src="@/static/images/user/remove_icon.png"></image>
-          </view>
-		  <view v-if="isAdd==true" class="item-icon" @click.stop="onAddClick(i,vo)">
-		    <!-- <image class="icon" :src="vo.icon"/> -->
-		  			<image class="w40 h40" src="@/static/images/user/remove_add_icon.png"></image>
-		  </view>
-      <!--  </view> -->
-       
-      </view>
-    </view>
-  </scroll-view>
-</template>
-
-<script>
-  export default {
-    name: "wDragSorts",
-    props: {
-      //列表数据
-      listData: {
-        type: Array,
-        default: () => []
-      },
-      //列表项高度
-      itemHeight: {
-        type: Number,
-        default: 80
-      },
-      //列表内边距,
-      itemStyles: {
-        type: Object,
-        default: () => {
-          return {};
-        }
-      },
-      //控制图标
-      ctrlIcon:{
-        type:String,
-        default:'/static/images/user/drag_icon.png'
-      },
-      //是否显示拖动控制器
-      showDragCtrl:{
-        type:Boolean,
-        default: true,
-      },
-      //滚动去高度,如果单位rpx,如果不设置,内容容器高度一致
-      scrollBoxHeight:{
-        type: Number,
-        default:-1
-      },
-	  //是否显示删除图标
-	  isRemove:{
-		  type:Boolean,
-		  default: true,
-	  },
-	  //是否显示新增图标
-	  isAdd:{
-	  		  type:Boolean,
-	  		  default: true,
-	  }
-    },
-    data() {
-      return {
-        newList: [],
-        //当前列表项的下标
-        currentIndex: -1,
-        //记录拖动位置
-        moveY: 0,
-        //拖动状态
-        draging: false,
-        //初始化完成
-        inited:false,
-      }
-    },
-    computed:{
-      itemPxHeight(){
-        return uni.rpx2px(this.itemHeight);
-      },
-      boxHeight(){
-        return this.itemPxHeight * this.listData.length;
-      },
-      finallyItemStyles(){
-        return { ...(this.itemStyles || {}), height: this.itemHeight+'rpx'}
-      },
-      scrollBoxPxHeight(){
-        if( this.scrollBoxHeight < 0 ){
-          return this.boxHeight
-        }else{
-          let _height = uni.rpx2px(this.scrollBoxHeight);
-          if( _height > this.boxHeight ){
-            _height = this.boxHeight
-          }
-          return _height;
-        }
-      },
-      showScrollBar(){
-        return (this.boxHeight - this.scrollBoxPxHeight) > 10;
-      }
-    },
-    watch:{
-      showScrollBar:{
-        handler(v){
-          console.log(v)
-        },
-        immediate:true
-      },
-	  listData:{
-	    handler(v){
-	      this.listData=v
-		  this.init()
-	    },
-	    immediate:true
-	  }
-    },
-    created() {
-    },
-	mounted() {
-	   
-	},
-    methods: {
-      init() {
-        this.inited = false;
-        this.newList = this.listData.map(vo => {
-          return {
-            ...vo,
-            __top: 0,
-            __height: 0,
-            __otop: 0
-          }
-        });
- // console.log(this.listData,'888')
-        // #ifdef MP-WEIXIN 
-        const selector = uni.createSelectorQuery().in(this);
-        // #endif
-        // #ifndef MP-WEIXIN 
-        const selector = uni.createSelectorQuery();
-        // #endif
-
-        this.$nextTick(() => {
-          selector.selectAll('.w-drag-sorts-item').fields({
-            rect: true,
-            size: true,
-          }, nodeItem => {
-            nodeItem.forEach((item, index) => {
-              const top = item.height * index;
-              this.$set(this.newList, index, {
-                ...this.newList[index],
-                __height: item.height,
-                __top: top,
-                __otop: top
-              });
-            });
-            this.inited = true;
-          }).exec(); 
-        });
-        
-      },
-      
-      onTouchstart(e, i) {
-        const pageY = e.touches[0]?.pageY || 0;
-        // 记录当前拖动元素的下标
-        this.currentIndex = i;
-        // 记录拖动前的位置
-        this.moveY = pageY
-      },
-
-      onTouchmove(e) {
-        const pageY = e.touches[0]?.pageY || 0;
-
-        const index = this.currentIndex;
-
-        //列表项替换的阈值,如果移动的位置大于上下项的一半就执行位置占位操作
-        const currentItem = this.newList[index];
-        const changeVar = currentItem?.__height / 2;
-
-        //判断上下移动的边界
-        let newTop = this.newList[index].__top + (pageY - this.moveY);
-        const max = currentItem?.__height * (this.newList.length - 1);
-        if (newTop < 0) {
-          newTop = 0;
-        }
-        if (newTop > max) {
-          newTop = max;
-        }
-
-        // 设置被拖动项最新的位置
-        this.newList[index].__top = newTop;
-
-        // 记录位置
-        this.moveY = pageY;
-        
-        // 向下拖动
-        if (currentItem.__top >= this.newList[index + 1]?.__top - changeVar) {
-          this.moveChange(1);
-        }
-        // 向上拖动
-        if (currentItem.__top <= this.newList[index - 1]?.__top + changeVar) {
-          this.moveChange(-1);
-        }
-
-      },
-
-      moveChange(addValue) {
-        const index = this.currentIndex;
-        if (this.draging) {
-          return
-        }
-        this.draging = true
-        let currentItem = this.newList[index];
-        const newIndex = index + addValue;
-        //取出被替换项的位置,等交换完位置之后,给当前列表项
-        const changeItemOTop = this.newList[newIndex].__otop;
-        //交换位置
-        this.newList[index] = this.newList[newIndex];
-        this.newList[newIndex] = currentItem;
-        //把当前项的位置给被替换的列表项
-        this.newList[index].__top = currentItem.__otop;
-        this.newList[index].__otop = currentItem.__otop;
-        //由于当前列表项的top一直在改变,所以这里只需要把被替换列表项的原有位置给当前列表项
-        //等到停止拖动再把这个被替换项的位置赋给当前项的top
-        this.newList[newIndex].__otop = changeItemOTop;
-
-        this.currentIndex = newIndex;
-        this.draging = false;
-      },
-
-      onTouchend(e) {
-        const index = this.currentIndex;
-        this.newList[index].__top = this.newList[index].__otop;
-        this.currentIndex = -1;
-        const returnData = this.getReturnData();
-        this.$emit('draged', [...returnData]);
-      },
-      
-      //返回移除操作附加属性的列表数据
-      getReturnData(){
-        const tmp = JSON.parse(JSON.stringify(this.newList));
-        tmp.map(vo => {
-          for (let key in vo) {
-            if (key.indexOf('__') == 0) {
-              delete vo[key];
-            }
-          }
-        })
-        return tmp;
-      },
-	  navTo(i){
-		  const item = this.getReturnData()[i]
-		  this.$emit("navClick",i, item);
-	  },
-      //长按删除
-      onRemove( i ){
-		  console.log(i,'1')
-        const item = this.getReturnData()[i]
-        this.$emit("itemRemoveClick",i, item);
-      },
-      //禁用
-      onDisabledClick( i ){
-        const item = this.getReturnData()[i]
-        this.$emit("itemDisabledClick",i, item);
-      },
-	  //启用
-	  onAddClick( i ){
-	    const item = this.getReturnData()[i]
-	    this.$emit("itemAddClick",i, item);
-	  },
- //列表项图标点击事件点击
- onItemIconClick( i ){
-   const item = this.getReturnData()[i]
-   this.$emit("itemIconClick",i, item);
- },
-  
-    }
-  }
-</script>
-
-<style scoped lang="scss">
-  @mixin iconSize {
-    width: 48rpx;
-    height: 48rpx;
-  }
-
-  .w-drag-sorts {
-    width: 100%;
-    position: relative;
-    z-index: 1;
-    height: auto;
-
-    .icon {
-      @include iconSize();
-    }
-    
-    &.inited>&-item{
-      position: absolute;
-    }
-
-    &-item {
-      width: 100%;
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      box-sizing: border-box;
-      background-color: #fff;
-      padding: 0 30rpx;
-      border-bottom: 0 !important;
-
-      &.draging {
-        box-shadow: 0 0px 30rpx #ddd;
-        z-index: 1;
-      }
-   .text{
-   	 margin-left: 20rpx;
-	 font-family: PingFang SC, PingFang SC;
-	 font-weight: 400;
-	 font-size: 32rpx;
-	 color: #222426;
-	 text-align: left;
-   }
-   .item-icon{
-     @include iconSize();
-    
-   }
-    //   .content2 {
-		  // flex:1;
-    //     height: 100%;
-    //     display: flex;
-    //     align-items: center;
-        
-    //   }
-
-      .ctrl {
-        width: 32rpx;
-		height: 32rpx;
-      }
-
-    }
-  }
-</style>

+ 0 - 325
components/z-modal/z-modal.vue

@@ -1,325 +0,0 @@
-<template>
-	<view>
-		<view class="mask" :style="{'opacity':show?'1':'0','visibility':show?'visible':'hidden'}"></view>
-		<view class="modal-box" :style="{'display':show?'block':'none','width':modalWidth}">
-			<view class="modal-title" :style="{'padding':titlePadding,'fontSize':titleSize,'color':titleColor}">
-				{{titleText}}
-			</view>
-			<view class="modal-content" v-if="contentType==1" :style="{'fontSize':contentSize,'padding':contentPadding,'color':contentColor}">
-				{{contentText}}
-			</view>
-			<view class="modal-content" v-if="contentType==2" :style="{'padding':contentPadding}">
-				<input :placeholder="placeholderText" v-model="inputText" :maxlength="maxLength" :placeholder-style="placeholderStyleString" :style="{'borderColor':inputBorderColor,'fontSize':contentSize,'color':contentColor}" class="input-area"/>
-			</view>
-			<view class="modal-content" v-if="contentType==3" :style="{'padding':contentPadding}">
-				<textarea :placeholder="placeholderText" v-model="textareaText" :maxlength="maxLength" :placeholder-style="placeholderStyleString" :style="{'borderColor':inputBorderColor,'fontSize':contentSize,'color':contentColor}"/>
-			</view>
-			<view class="model-bottom" :style="{'padding':bottomPadding,'justify-content':btnLength>1?'space-between':'center'}">
-				<block v-for="(item,index) in btnGroup" :key='index'>
-					<view class="modal-btn" :style="{'width':item.width,'height':item.height,'color':item.color,'background-color':item.bgColor,'font-size':bottomFontSize,'border-radius':shapeObj[item.shape]}" @tap="btnClick(index)">
-						{{item.text}}
-					</view>
-				</block>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "z-modal",
-		props: {
-			// **************** 使用配置项 ****************
-			// 文本校验?
-			check:{
-				type:Boolean,
-				default:false
-			},
-			checkItem:{
-				// isRequired-是否必填/ isNumber-是否为纯数字 isChinese-是否为纯中文 isEnglish-是否为纯英文 isEmail-是否为邮箱格式 isIdNum-是否为身份证格式
-				type:Array,
-				default:()=>{
-					return []
-				}
-			},
-			/*
-			支持自定义校验,格式为{
-				key:正则
-			}
-			例如{
-				'isNumber':/^\+?[0-9][0-9]*$/
-			}
-			*/
-			selfCheckItem:{
-				type:Object,
-				default:()=>{
-					return {}
-				}
-			},
-			// 控制modal的显示隐藏
-			show:{
-				type:Boolean,
-				default:false
-			},
-			// 底部按钮组
-			btnGroup: {
-				type: Array,
-				default: () => {
-					return [{
-						text: '取消',
-						color: '#FFFFFF',
-						bgColor: '#999999',
-						width: '220rpx',
-						height: '80rpx',
-						shape: 'circle',
-						eventName: 'cancle'
-					}, {
-						text: '确定',
-						color: '#FFFFFF',
-						bgColor: '#007AFF',
-						width: '220rpx',
-						height: '80rpx',
-						shape: 'circle',
-						eventName: 'sure'
-					}]
-				}
-			},
-			// 文本类型 1-展示文字 2-input 3-textarea
-			contentType:{
-				type:[Number,String],
-				default:1
-			},
-			// contentType为2或3时的字数限制
-			maxLength:{
-				type:Number,
-				default:20
-			},
-			// **************** 尺寸&大小 ****************
-			// modal整体宽度 rpx
-			modalWidth:{
-				type:String,
-				default:'580rpx'
-			},
-			// title区域文字大小
-			titleSize:{
-				type:String,
-				default:'32rpx'
-			},
-			// content区域文字大小
-			contentSize:{
-				type:String,
-				default:'28rpx'
-			},
-			// 底部(按钮)区域的字号
-			bottomFontSize:{
-				type:String,
-				default:'28rpx'
-			},
-			// title(标题) 区域的padding
-			titlePadding:{
-				type:String,
-				default:'20rpx 0'
-			},
-			// content(内容) 区域的padding
-			contentPadding:{
-				type:String,
-				default:'10rpx 40rpx'
-			},
-			// 底部(按钮)区域的padding
-			bottomPadding:{
-				type:String,
-				default:'30rpx 40rpx'
-			},
-			// **************** 颜色 ****************
-			// 标题文字颜色
-			titleColor:{
-				type:String,
-				default:'#333333'
-			},
-			// 内容文字颜色
-			contentColor:{
-				type:String,
-				default:'#333333'
-			},
-			// placeholderColor-提示文字的颜色
-			placeholderColor:{
-				type:String,
-				default:'#999'
-			},
-			inputBorderColor:{
-				type:String,
-				default:'#999'
-			},
-			// **************** 内容 ****************
-			// 标题内容
-			titleText:{
-				type:String,
-				default:'titleText'
-			},
-			// 文本内容
-			contentText:{
-				type:String,
-				default:'Please type in your text'
-			},
-			// input或textarea的placeholder
-			placeholderText:{
-				type:String,
-				default:'请输入你的内容'
-			}
-		},
-		computed:{
-			btnLength(){
-				return this.btnGroup.length
-			},
-			placeholderStyleString(){
-				return `color:${this.placeholderColor};font-size:${this.contentSize}`
-			}
-		},
-		data() {
-			return {
-				// 底部按钮shape对应值
-				shapeObj:{
-					'circle':'1000rpx',
-					'straight':'0',
-					'fillet':'12rpx'
-				},
-				inputText:'',
-				textareaText:'',
-				// ***校验项,是否通过,true-通过,false不通过
-				checkCollection: {
-					isRequired :function(val){
-						return !(val === null || val === '' || val === undefined)
-					},
-					isNumber :function(val){
-						let reg = /^\+?[0-9][0-9]*$/
-						return reg.test(val)
-					},
-					isChinese :function(val){
-						let reg = /^[\u4e00-\u9fa5]+$/
-						return reg.test(val)
-					},
-					isEnglish :function(val){
-						let reg = /^[a-zA-Z]+$/
-						return reg.test(val)
-					},
-					isEmail :function(val){
-						let reg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/
-						return reg.test(val)
-					},
-					isIdNum :function(val){
-						let reg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i
-						return reg.test(val)
-					}
-				}
-			};
-		},
-		methods:{
-			btnClick(index){
-				let val = this.contentType==2?this.inputText:this.textareaText
-				if(this.check && this.checkItem.length && this.contentType!=1){
-					let err = false
-					// 进入校验,如果不通过直接返回,通过则吐出按钮事件
-					for(let item of this.checkItem){
-						if(!this.checkCollection[item](val)){
-							this.$emit('error',item)
-							err = true
-							break
-						}
-					}
-					if(err) return
-				}
-				let selfCheckArr = Object.entries(this.selfCheckItem)
-				if(this.check && selfCheckArr.length && this.contentType!=1){
-					let err = false
-					for(let item of selfCheckArr){
-						let reg = new RegExp(item[1])
-						if(!reg.test(val)){
-							this.$emit('error',item[0])
-							err = true
-							break
-						}
-					}
-					if(err) return
-				}
-				this.$emit(this.btnGroup[index]['eventName'],{
-					inputText:this.inputText || '',
-					textareaText:this.textareaText || ''
-				})
-				this.inputText = ''
-				this.textareaText = ''
-			}
-		}
-	}
-</script>
-
-<style>
-	.mask {
-		position: fixed;
-		z-index: 98;
-		background-color: rgba(0, 0, 0, .7);
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		visibility: hidden;
-		opacity: 0;
-		transition: all .3s;
-	}
-
-	.modal-box {
-		background-color: #FFFFFF;
-		position: fixed;
-		z-index: 99;
-		border-radius: 12rpx;
-		left: 50%;
-		top: 50%;
-		transform: translate(-50%, -50%);
-	}
-
-	.modal-title {
-		box-sizing: border-box;
-		color: #333333;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.modal-content {
-		box-sizing: border-box;
-		color: #333333;
-		word-break: break-all;
-		display: flex;
-		justify-content: center;
-	}
-
-	.model-bottom {
-		display: flex;
-		align-items: center;
-	}
-
-	.modal-btn {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-	
-	.input-area{
-		border: 1rpx solid #999;
-		width: 100%;
-		padding:0 16rpx;
-		box-sizing: border-box;
-		height: 60rpx;
-		border-radius: 6rpx;
-		outline: none;
-	}
-	
-	textarea{
-		border: 1rpx solid #999;
-		width: 92%;
-		padding:16rpx;
-		box-sizing: border-box;
-		border-radius: 6rpx;
-		height: 200rpx;
-	}
-
-</style>

+ 1 - 1
manifest.json

@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wxd56333375d59f1b8",
+        "appid" : "wxd70f99287830cb51",
         "lazyCodeLoading" : "requiredComponents",
         "setting" : {
             "urlCheck" : false,

Diferenças do arquivo suprimidas por serem muito extensas
+ 350 - 1437
pages.json


+ 401 - 78
pages/auth/login.vue

@@ -1,28 +1,70 @@
 <template>
   <view class="container">
     <!-- #ifdef MP-WEIXIN -->
-    <view  class="force-login-wrap">
-      <view class="force-login__content y-f">
-        <open-data class="user-avatar" type="userAvatarUrl"></open-data>
-        <open-data class="user-name" type="userNickName"></open-data>
-        <view class="login-notice">为了提供更优质的服务,请先登录</view>
+	<image class="bg" src="@/static/image/bg_login.png" mode="widthFix"></image>
+    <view class="force-login-wrap">
+		<view :style="{height:menuButtonInfo.height,marginTop:menuButtonInfo.top}" class="backImg" >
+			<image @tap="goBack()" src="@/static/images/back.png"></image>
+		</view>
+		<view class="top-title">
+			<view class="title-text">登录</view>
+			<view class="login-notice">仅限特定人群使用,登录后可体验更多功能</view>
+		</view>
+      <view class="force-login__content">
+		  <image class="bg-type" :src="current==0?'/static/image/bg_tab_login.png':'/static/image/bg_tab_login2.png'" mode="widthFix"></image>
+		<view class="logintype">
+			<view :class="current==0 ? 'logintype-item active':'logintype-item'" @click="changeType(0)">验证码登录</view>
+			<view :class="current==1 ? 'logintype-item active':'logintype-item'" @click="changeType(1)">密码登录</view>
+		</view>
 		
-		<button
-			class="author-btn"
-			open-type="getPhoneNumber"
-			@getphonenumber="phoneLogin"  >手机号一键登录</button>
-       <button class="close-btn" @tap="back">暂不登录</button>
-		 <view class="tips">
-			 <checkbox  :checked="isAgreement" @click="handleAgreement()" />
-			 <view  @click="handleAgreement()">您同意并接受</view>
-		 	<view class="btn"  @click="openH5('/web/userAgreement')">《用户协议》</view>
-		 	<view class="btn" @click="openH5('/web/privacyPolicy')">《隐私保护》</view>
-		 </view>
+		<view class="input-form">
+			<view class="input-item">
+				<input 
+					class="input-field" 
+					type="number" 
+					v-model="phone" 
+					placeholder="请输入手机号" 
+					maxlength="11"
+				/>
+			</view>
+			<view class="input-item code-input-item">
+				<input 
+					v-if="current == 0"
+					class="input-field code-input" 
+					type="number" 
+					v-model="verifyCode" 
+					placeholder="请输入验证码" 
+					maxlength="6"
+				/>
+				<view v-else class="mima">
+					<input
+						class="input-field code-input" 
+						type="text" 
+						:password="showPassword"
+						v-model="password" 
+						placeholder="请输入密码" 
+					/>
+					<image @click="closePwd" :src="showPassword?'/static/image/icon_invisible.png':'/static/image/icon_visible.png'" mode="aspectFill"></image>
+				</view>
+				<view v-if="current == 0" class="get-code-btn" @click="getVerifyCode">
+					{{ codeText }}
+				</view>
+			</view>
+		</view>
+		
+		<view class="login-btn-wrap">
+			<button class="login-btn" @click="handleLogin">{{ current == 0 ? '登录/注册用户' : '登录' }}</button>
+		</view>
+		
+		<view class="tips">
+			<checkbox :checked="isAgreement" @click="handleAgreement()" />
+			<view class="tips-text" @click="handleAgreement()">已阅读并接受</view>
+			<view class="btn" @click="openH5('/web/userAgreement')">《用户注册协议》</view>
+			<view class="btn" @click="openH5('/web/privacyPolicy')">《隐私保护政策》</view>
+		</view>
       </view>
     </view>
     <!-- #endif -->
-	 
-    
   </view>
 </template>
 
@@ -31,14 +73,23 @@ import { loginByMiniApp,getUserInfo,loginByMp } from '@/api/user'
 export default {
 	data() {
 		return {
-			code:null,
+			code:null, // 微信登录code
 			isAgreement:false,
+			current:0, // 0-验证码登录 1-密码登录
+			menuButtonInfo:{},
+			phone:'', // 手机号
+			verifyCode:'', // 验证码
+			password:'', // 密码
+			codeText:'获取验证码', // 验证码按钮文字
+			countdown:0, // 倒计时
+			countdownTimer:null, // 倒计时定时器
+			showPassword:true // 是否显示密码
 		}
 	},
 	computed: {
 	},
-	onLoad(option) 
-	{
+	onLoad(option) {
+		this.getMenuButtonInfo()
 		// #ifdef MP-WEIXIN
 		uni.$on('refreshLogin', () => {
 			uni.navigateBack({
@@ -63,11 +114,173 @@ export default {
 	 
 	},
 	onUnload() {
+		// 清除倒计时
+		if(this.countdownTimer) {
+			clearInterval(this.countdownTimer);
+			this.countdownTimer = null;
+		}
 	},
 	mounted() {
     
 	},
 	methods: {
+		closePwd(){
+			this.showPassword=!this.showPassword
+		},
+		// 获取胶囊按钮布局参数
+		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' // 胶囊右侧距离
+				};
+			}
+		},
+		changeType(index) {
+			this.current = index;
+			// 切换时清空输入
+			if(index == 0) {
+				this.password = '';
+			} else {
+				this.verifyCode = '';
+			}
+		},
+		// 返回主页
+		goBack() {
+			uni.navigateBack({
+				delta:1
+			})
+		},
+		// 获取验证码
+		getVerifyCode() {
+			if(this.countdown > 0) {
+				return;
+			}
+			if(!this.phone) {
+				uni.showToast({
+					icon:'none',
+					title: "请输入手机号",
+				});
+				return;
+			}
+			if(!/^1[3-9]\d{9}$/.test(this.phone)) {
+				uni.showToast({
+					icon:'none',
+					title: "请输入正确的手机号",
+				});
+				return;
+			}
+			// TODO: 调用发送验证码API
+			// 这里需要对接真实的发送验证码接口
+			uni.showLoading({
+				title:"发送中..."
+			});
+			// 模拟发送验证码
+			setTimeout(() => {
+				uni.hideLoading();
+				uni.showToast({
+					icon:'success',
+					title: "验证码已发送",
+				});
+				// 开始倒计时
+				this.countdown = 60;
+				this.countdownTimer = setInterval(() => {
+					this.countdown--;
+					this.codeText = this.countdown + '秒重新获取';
+					if(this.countdown <= 0) {
+						clearInterval(this.countdownTimer);
+						this.countdownTimer = null;
+						this.codeText = '获取验证码';
+					}
+				}, 1000);
+			}, 1000);
+		},
+		// 登录
+		handleLogin() {
+			if(!this.isAgreement) {
+				uni.showToast({
+					icon:'none',
+					title: "请先同意协议后再登录",
+				});
+				return;
+			}
+			uni.navigateBack({
+				delta:1
+			})
+			// if(!this.phone) {
+			// 	uni.showToast({
+			// 		icon:'none',
+			// 		title: "请输入手机号",
+			// 	});
+			// 	return;
+			// }
+			// if(!/^1[3-9]\d{9}$/.test(this.phone)) {
+			// 	uni.showToast({
+			// 		icon:'none',
+			// 		title: "请输入正确的手机号",
+			// 	});
+			// 	return;
+			// }
+			
+			// if(this.current == 0) {
+			// 	// 验证码登录
+			// 	if(!this.verifyCode) {
+			// 		uni.showToast({
+			// 			icon:'none',
+			// 			title: "请输入验证码",
+			// 		});
+			// 		return;
+			// 	}
+			// 	// TODO: 调用验证码登录API
+			// 	this.loginByCode();
+			// } else {
+			// 	// 密码登录
+			// 	if(!this.password) {
+			// 		uni.showToast({
+			// 			icon:'none',
+			// 			title: "请输入密码",
+			// 		});
+			// 		return;
+			// 	}
+			// 	// TODO: 调用密码登录API
+			// 	this.loginByPassword();
+			// }
+		},
+		// 验证码登录
+		loginByCode() {
+			uni.showLoading({
+				title:"登录中..."
+			});
+			// TODO: 调用验证码登录接口
+			// 示例:loginByCode({ phone: this.phone, code: this.verifyCode })
+			setTimeout(() => {
+				uni.hideLoading();
+				uni.showToast({
+					icon:'none',
+					title: "验证码登录接口待对接",
+				});
+			}, 1000);
+		},
+		// 密码登录
+		loginByPassword() {
+			uni.showLoading({
+				title:"登录中..."
+			});
+			// TODO: 调用密码登录接口
+			// 示例:loginByPassword({ phone: this.phone, password: this.password })
+			setTimeout(() => {
+				uni.hideLoading();
+				uni.showToast({
+					icon:'none',
+					title: "密码登录接口待对接",
+				});
+			}, 1000);
+		},
 		checkWeixin(){
 			var ua = window.navigator.userAgent.toLowerCase();
 			if (ua.match(/micromessenger/i) == 'micromessenger') {
@@ -220,92 +433,202 @@ export default {
 <style lang="scss">
 .container {
   flex: 1;
+  padding:0 24rpx;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   position: relative;
+  .bg {
+  	width: 100%;
+  	position: absolute;
+  	top: 0;
+  	left: 0;
+  }
+  .backImg{
+	  display: flex;
+	  align-items: center;
+	  image{
+		  width: 40rpx;
+		  height: 40rpx;
+	  }
+	 
+	  margin-left: 32rpx;
+	  // position: absolute;
+	  // left: 30rpx;
+	  // z-index: 100;
+  }
 }
 
 .force-login-wrap {
   width: 100%;
-  height: 100%;
-  overflow: hidden;
-  z-index: 11111;
-  top: 0;
-
-  .force-login__content {
-    position: absolute;
-    left: 50%;
-    top: 40%;
-    transform: translate(-50%, -50%);
-
-    .user-avatar {
-		border: 4upx solid #FFFFFF;
-		box-shadow: 0px 5px 15px 2px rgba(0,0,0,0.1);
-		width: 160rpx;
-		height: 160rpx;
-		border-radius: 50%;
-		overflow: hidden;
-		margin-bottom: 40rpx;
-    }
+  height: 100vh;
+  position: relative;
 
-    .user-name {
-      font-size: 35rpx;
+  .top-title {
+    padding:0 32rpx;
+    text-align: left;
+    margin-top: 20rpx;
+    .title-text {
+      font-size: 56rpx;
       font-family: PingFang SC;
       font-weight: bold;
-      color: #000;
-      margin-bottom: 30rpx;
+      color: #000000;
+      margin-bottom: 20rpx;
     }
 
     .login-notice {
-      font-size: 28rpx;
+      font-size: 26rpx;
       font-family: PingFang SC;
       font-weight: 400;
-      color: #000;
-      line-height: 44rpx;
-      width: 500rpx;
-      text-align: center;
-      margin-bottom: 80rpx;
+      color: #999999;
+      line-height: 36rpx;
     }
+  }
 
-    .author-btn {
-      width: 630rpx;
-      height: 80rpx;
-      background: linear-gradient(to right, #66b2ef  0%, #0bb3f2 100%);
-      background: -moz-linear-gradient(to right, #66b2ef 0%, #0bb3f2 100%);
-      // box-shadow: 0px 7rpx 6rpx 0px rgba(229, 138, 0, 0.22);
-      border-radius: 40rpx;
-      font-size: 30rpx;
-      font-family: PingFang SC;
-      font-weight: 500;
-      color: rgba(255, 255, 255, 1);
+  .force-login__content {
+	  margin-top: 54rpx;
+    padding:0 32rpx;
+	position: relative;
+	.bg-type{
+		width: 100%;
+		position: absolute;
+		top: 0;
+		left: 0;
+	}
+    .logintype {
+      display: flex;
+      margin-bottom: 66rpx;
+      border-bottom: 2rpx solid #f0f0f0;
+     
+      .logintype-item {
+        flex: 1;
+        text-align: center;
+       padding-top:36rpx;
+	   padding-bottom: 48rpx;
+       font-family: PingFang SC, PingFang SC;
+       font-weight: 400;
+       font-size: 32rpx;
+       color: #666666;
+        position: relative;
+        
+        &.active {
+         font-size: 36rpx;
+         color: #333333;
+          font-weight: 600;
+          &::after {
+            content: '';
+            position: absolute;
+            bottom: 30rpx;
+            left: 50%;
+            transform: translateX(-50%);
+            width: 52rpx;
+            height: 6rpx;
+            background: #388BFF;
+            border-radius: 42rpx;
+          }
+        }
+      }
     }
-
-    .close-btn {
-      width: 630rpx;
-      height: 80rpx;
-      margin-top: 30rpx;
-      border-radius: 40rpx;
-      border: 2rpx solid #0bb3f2;
-      background: none;
-      font-size: 30rpx;
-      font-family: PingFang SC;
-      font-weight: 500;
-      color: #0bb3f2;
+    
+    .input-form {
+      margin-bottom: 60rpx;
+      
+      .input-item {
+        background: #FFFFFF;
+        border-radius: 16rpx;
+        padding: 30rpx 40rpx;
+        margin-bottom: 48rpx;
+        box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.04);
+        &::last-child{
+			margin-bottom:0
+		}
+        .input-field {
+          width: 100%;
+          font-size: 30rpx;
+          font-family: PingFang SC;
+          color: #333333;
+          
+          &::placeholder {
+            color: #CCCCCC;
+          }
+        }
+        .mima{
+			width: 100%;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			image{
+				width: 32rpx;
+				height: 32rpx;
+			}
+		}
+        &.code-input-item {
+          display: flex;
+          align-items: center;
+          
+          .code-input {
+            flex: 1;
+          }
+          
+          .get-code-btn {
+            font-size: 28rpx;
+            font-family: PingFang SC;
+            font-weight: 500;
+            color: #388BFF;
+            padding-left: 20rpx;
+            border-left: 2rpx solid #f0f0f0;
+            white-space: nowrap;
+          }
+        }
+      }
+    }
+    
+    .login-btn-wrap {
+      margin-bottom: 40rpx;
+       margin-top:140rpx;
+      .login-btn {
+        width: 100%;
+        height: 88rpx;
+        background: rgba(56, 139, 255, 1);
+        border-radius: 44rpx;
+        font-size: 32rpx;
+        font-family: PingFang SC;
+        font-weight: 500;
+        color: #FFFFFF;
+        border: none;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        &::after {
+          border: none;
+        }
+      }
     }
   }
 }
 .tips{
-	margin-top: 30rpx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
-	font-size: 28rpx;
-	color: #000;
+	font-size: 24rpx;
+	color: #666666;
+	flex-wrap: nowrap;
+	padding: 0 60rpx;
+	
 	checkbox{
+		margin-right: 10rpx;
+		flex-shrink: 0;
+	}
+	
+	.tips-text{
+		margin-right: 4rpx;
+		white-space: nowrap;
 	}
+	
 	.btn{
-		color: #0bb3f2;
+		color:#388BFF;
+		margin: 0 2rpx;
+		white-space: nowrap;
 	}
 }
 

+ 1 - 1
pages/common/launch.vue

@@ -3,7 +3,7 @@
 		[[]]
 		<view class="loadding" v-if="loadding==true">
 			<image src="https://user.test.ylrztop.com/images/logo.png"></image>
-			<text class="text">壹柒玖康养集团</text>
+			<text class="text">互联网医院</text>
 		</view>
 	</view>
 </template>

+ 0 - 93
pages/doctor/doctorQr.vue

@@ -1,93 +0,0 @@
-<template>
-	<view class="content">
-		<view class="item">
-			<image mode="aspectFit" :show-menu-by-longpress="true" :src="urls[0]"  ></image>
-			<!-- <view class="btn" @click="savePhoto()">
-				保存本地
-			</view> -->
-		</view>
-		 
-	</view>
-</template>
-
-<script>
-	
-	export default {
-		data() {
-			return {
-				urls:['https://qinggetai.oss-rg-china-mainland.aliyuncs.com/qgt/20230714/9d83107168544b75b8d8934e913126a1.png']
-			};
-		},
-		onLoad(option) {
-			 
-			
-		},
-		onShow() {
-		},
-		methods: {
-			savePhoto(){
-				var that=this;
-				uni.downloadFile({ //下载文件资源到本地,返回文件的本地临时路径
-						url: that.urls[0], //网络图片路径
-						success:(res)=>{
-								  var imageUrl=res.tempFilePath;//临时文件路径
-								  uni.saveImageToPhotosAlbum({ //保存图片到系统相册
-									   filePath: imageUrl,
-									   success: (res) => {
-										  console.log('图片保存成功');
-									   },
-									   fail: (err) => {
-										   console.log('图片保存失败');
-									   }
-								  })
-						}
-				}) 
-			},
-			showImg() {
-			 	//预览图片
-			 	uni.previewImage({
-					urls: this.urls,
-			 	 	current: this.urls[0],
-					// 长按图片显示操作菜单,如不填默认为保存相册
-					longPressActions:{
-						itemList:[]
-					}
-			 	});
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		width: 100%;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		.item{
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: center;
-			width: 100vw;
-			height: 100vh;
-			image{
-				width: 100%;
-				height:100%;
-			}
-			.btn{
-				margin-top: 30rpx;
-				background-image: linear-gradient(#ff4545,red);
-				padding: 30rpx 60rpx;
-				border-radius: 60rpx;
-				background-color: red;
-				color: #fff;
-				font-size: 30rpx;
-				font-family: 'PingFangTC-Regular';
-				font-weight: 600;
-			}
-		}
-		
-	}
-</style>

+ 0 - 284
pages/healthy/detail.vue

@@ -1,284 +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="recent-reads">
-			<view class="left">
-				<text class="label">最近阅读</text>
-				<view class="peop-box" @click="showUsers">
-					<view class="head-box">
-						<view class="head" v-for="(subitem,j) in views" :key="j">
-							<image :src="subitem.avatar==null?'../../static/images/detault_head.jpg':subitem.avatar" mode=""></image>
-						</view>
-					</view>
-					<image class="arrow" src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="share-btn">
-				<image src="../../static/images/share.png" mode=""></image>
-				<text>分享</text>
-				<button  class="share" data-name="shareBtn" open-type="share">分享</button>
-			</view>
-		</view>
-		<!-- 咨询按钮 -->
-		<view class="inquiry">
-			<view class="content">
-				<image src="../../static/images/consult.png" mode=""></image>
-				<text class="text">咨询</text>
-				<button class="contact-btn" open-type="contact"></button>
-			</view>
-			
-		</view>
-	</view> 
-</template>
-
-<script>
-	import {getArticleByArticleId,updateView} from '@/api/article'
-	export default {
-		data() {
-			return {
-				articleId:null,
-				item:{},
-				views:[],
-			};
-		},
-		onLoad(option) {
-			this.articleId=option.articleId;
-			this.utils.isLogin().then(res => {
-				if(res){
-					this.updateView();
-				}
-			})
-			uni.showShareMenu({
-				withShareTicket:true,
-				//小程序的原生菜单中显示分享按钮,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
-				menus:["shareAppMessage","shareTimeline"] //不设置默认发送给朋友
-			})
-		},
-		onShow() {
-			this.getArticleByArticleId();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			return {
-				title: this.item.title,
-				path: '/pages/healthy/detail?articleId='+this.item.productId,
-				imageUrl: this.item.imageUrl //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title: this.item.title,
-				query:'articleId='+this.item.articleId,
-				imageUrl: this.item.imageUrl //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-			
-		},
-		methods:{
-			updateView(){
-				updateView(this.articleId).then(
-					res => {
-					},
-					rej => {}
-				);
-			},
-			getArticleByArticleId(){
-				let data = {articleId:this.articleId};
-				getArticleByArticleId(data).then(
-					res => {
-						if(res.code==200){
-							this.item=res.data;
-							this.views=res.views;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// 查看阅读用户
-			showUsers() {
-				uni.navigateTo({
-					url: './readUsers?articleId='+this.articleId
-				})
-			}
-		}
-	}
-</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: #0bb3f2;
-			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: #0bb3f2;
-				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 - 389
pages/healthy/index.vue

@@ -1,389 +0,0 @@
-<template>
-	<view>
-		<view class="top-content">
-			<!-- 这里是状态栏 -->
-			<view class="status_bar" :style="{height: statusBarHeight}"></view>
-			<view class="top-title">健康百科</view>
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-					<input type="text" v-model="searchValue" placeholder="输入关键字搜索" confirm-type="search"
-						@confirm="doSearch"
-						placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<view class="keyword-list">
-				<!-- 关键字列表 -->
-				<!-- <scroll-view   scroll-x="true" >
-				<view class="inner">
-					<view v-for="(item,index) in cates" :key="index" :class="choseCateId == item.cateId?'item active':'item'" @click="choseCate(item)">
-						{{ item.cateName }}
-					</view>
-				</view>
-			</scroll-view> -->
-				<u-tabs :list="cates" :activeStyle="{fontWeight: '600',color: '#222426',fontSize: '34rpx'}"
-					:inactiveStyle="{color: '#222426',fontSize: '32rpx'}" @click="choseCate(item)"
-					scrollable="false"></u-tabs>
-			</view>
-		</view>
-
-		<!-- 知识列表 -->
-		<mescroll-body :top="top" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
-			:down="downOption" :up="upOption">
-			<view class="know-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" 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?'../../static/images/detault_head.jpg':subitem.avatar" mode=""></image>
-									</view>
-								</view> -->
-								<view class="readings">
-									<!-- <image class="eye" src="../../static/images/eye.png" ></image> -->
-									<text class="num mr24">阅读 {{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 {
-		getArticleCate,
-		getArticleList
-	} from '@/api/article'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin],
-		data() {
-			return {
-				top: '0px',
-				cates: [],
-				choseCateId: 0,
-				// 状态栏的高度
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				searchValue: '',
-				mescroll: null,
-				// 上拉加载的配置
-				downOption: {
-
-				},
-				upOption: {
-					onScroll: true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon: '/static/images/no_data.png',
-						tip: '暂无数据'
-					},
-					textNoMore: '已经到底了'
-				},
-				// 列表数据
-				dataList: [],
-			};
-		},
-		onShow() {
-			this.getArticleCate();
-			var that = this;
-			setTimeout(function() {
-				let query = uni.createSelectorQuery().select(".top-content");
-				query.boundingClientRect(function(data) { //data - 各种参数
-					console.log(data.height) // 获取元素宽度
-					that.top = data.height + "px";
-				}).exec()
-			}, 500);
-
-			// 		let info1 = uni.createSelectorQuery().select(".keyword-list");
-			//      info1.boundingClientRect(function(data) { //data - 各种参数
-			//        	console.log(data.height)  // 获取元素宽度
-
-			//       }).exec()
-
-		},
-		methods: {
-			doSearch() {
-				this.mescroll.resetUpScroll()
-			},
-			getArticleCate() {
-				var that = this;
-				let data = {};
-				getArticleCate(data).then(
-					res => {
-						if (res.code == 200) {
-							this.cates = res.data.map(person => ({
-								name: person.cateName
-							}));
-
-						} 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.searchValue,
-					cateId: this.choseCateId,
-					page: 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.choseCateId = item.cateId;
-				this.mescroll.resetUpScroll()
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: './detail?articleId=' + item.articleId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background: #EFF3F7;
-	}
-
-	.status_bar {
-		width: 100%;
-
-	}
-
-	.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;
-	}
-
-	.search-cont {
-		padding: 16upx 30upx;
-
-		.inner {
-			box-sizing: border-box;
-			width: 100%;
-			height: 72upx;
-			background: #fff;
-			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;
-			}
-		}
-	}
-
-	.keyword-list {
-		box-sizing: border-box;
-		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: #0bb3f2;
-			background: #F5FFFE;
-			border: 1px solid #0bb3f2;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-
-			&.active {
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-
-	.know-list {
-		margin-top: 20upx;
-		padding: 0 24upx;
-		
-
-		.item {
-			box-sizing: border-box;
-			height: 208rpx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 32upx;
-			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-family: PingFang SC, PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					line-height: 44rpx;
-				}
-
-				.info-box {
-					width: 100%;
-					display: flex;
-					align-items: center;
-					margin-top: 12rpx;
-
-					// 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: 144rpx;
-				border-radius: 8upx;
-				overflow: hidden;
-
-				image {
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 121
pages/healthy/readUsers.vue

@@ -1,121 +0,0 @@
-<template>
-	<view>
-		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-		<view class="user-list">
-			<view class="item" v-for="(item,index) in dataList" :key="index">
-				<view class="img-box">
-					<image :src="item.avatar==null?'../../static/images/detault_head.jpg':item.avatar" mode=""></image>
-				</view>
-				<text class="name">{{item.nickname}}</text>
-			</view>
-		</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getArticleViewList} from '@/api/article';
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				articleId:null,
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: [],
-				
-			};
-		},
-		onLoad(option) {
-			this.articleId=option.articleId;
-		},
-		methods:{
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					articleId:this.articleId,
-					page: page.num,
-					pageSize: page.size
-				};
-				getArticleViewList(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();
-					}
-				});
-			},
-			 
-		}
-	}
-</script>
-
-<style lang="scss">
-	.user-list{
-		background: #FFFFFF;
-		padding: 40upx 30upx;
-		margin-top: 20upx;
-		.item{
-			margin-bottom: 40upx;
-			display: flex;
-			align-items: center;
-			&:last-child{
-				margin-bottom: 0;
-			}
-			.img-box{
-				width: 80upx;
-				height: 80upx;
-				border-radius: 50%;
-				overflow: hidden;
-				margin-right: 30upx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.name{
-				font-size: 34upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #333333;
-			}
-		}
-	}
-</style>

+ 0 - 72
pages/home/cert.vue

@@ -1,72 +0,0 @@
-<template>
-	<view class="my-content">
-		<view class="item" v-for="item in certs">
-			<image @click="showImg(item)" :src="item"></image>
-		</view>
-		
-	</view>
-</template>
-
-<script>
- 
- export default {
- 	data() {
- 		return {
-			 certs:[
-			 ]
- 		}
- 	},
-	onLoad(val) {
-		 var config=JSON.parse(uni.getStorageSync('config'));
-		 this.certs=config.certs.split(",");
-		 console.log(this.certs)
-	},
-	methods: {
-		showImg(item) {
-			 //预览图片
-			 var urls=[];
-			 urls.push(item)
-			 console.log(urls)
-			 console.log(item)
-			 uni.previewImage({
-			 	urls: urls,
-			 	current: 0
-			 });
-		},
-	}
-	
-	
- 	 
- }
- 
- 
-</script>
-
-
-<style scoped lang="scss">
-page{
-	height: 100%;
-}
-.my-content{
-	width: 100%;
-	display: flex;
-	flex-direction: column;
-	justify-content: center;
-	align-items: center;
-	.item{
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		margin: 30rpx;
-		width: 100%;
-		image{
-			
-			
-		}
-	}
-	
-}
- 
-
-</style>

+ 0 - 291
pages/home/components/HotProduct.vue

@@ -1,291 +0,0 @@
-<template>
-	<view class="group-goods" v-if="detail.length>0" v-cloak>
-		<view class="title-box x-bc">
-			<view class="row">
-				<image class="w40 h40 mr4" src="/static/images/hot.png"></image><text class="title"><text
-						class="color-red">热门</text>榜单</text>
-			</view>
-			<view class="group-people x-f row" @tap="navTo('/pages/home/productList')">
-				<text class="tip ">更多热门</text>
-				<image class='w48 h48' src="/static/images/right.png"></image>
-				<!-- <text class="cuIcon-right"></text> -->
-			</view>
-		</view>
-		<view class="goods-box swiper-box x-f">
-			<swiper class="carousel" circular @change="swiperChange" :autoplay="true" interval="10000" duration="2000">
-				<swiper-item v-for="(goods, index) in goodsList" :key="index" class="carousel-item">
-					<view class="goods-list-box x-f" style="align-items: flex-start;">
-						<block v-for="mgoods in goods" :key="mgoods.productId">
-							<view class="min-goods" @tap="showProduct(mgoods)">
-								<view class="img-box">
-									<!-- <view class="tag">hot</view> -->
-									<image class="img" :src="mgoods.image" mode="widthFix"></image>
-								</view>
-								<view class="price-box">
-									<view class="y-f">
-										<text class="seckill-current">{{ mgoods.price  }}</text>
-										<!-- <text class="original">销量{{ mgoods.sales }}{{mgoods.unitName}}</text> -->
-									</view>
-								</view>
-								<view class="title">
-									<slot name="titleText"></slot>
-								</view>
-							</view>
-						</block>
-					</view>
-				</swiper-item>
-			</swiper>
-		<!-- 	<view class="swiper-dots" v-if="goodsList.length > 1">
-				<text :class="swiperCurrent === index ? 'dot-active' : 'dot'" v-for="(dot, index) in goodsList.length"
-					:key="index"></text>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "HotProduct",
-
-		data() {
-			return {
-				goodsList: [],
-				swiperCurrent: 0
-			};
-		},
-		props: {
-			detail: Array
-		},
-		computed: {},
-		created() {},
-		watch: {
-			detail(next) {
-				this.goodsList = this.sortData(next, 4);
-			}
-		},
-		methods: {
-			swiperChange(e) {
-				this.swiperCurrent = e.detail.current;
-			},
-			// 数据分层
-			sortData(oArr, length) {
-				let arr = [];
-				let minArr = [];
-				oArr.forEach(c => {
-					if (minArr.length === length) {
-						minArr = [];
-					}
-					if (minArr.length === 0) {
-						arr.push(minArr);
-					}
-					minArr.push(c);
-				});
-
-				return arr;
-			},
-			navTo(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			showProduct(item) {
-				uni.navigateTo({
-					url: '/pages/shopping/productDetails?productId=' + item.productId
-				})
-			},
-
-		}
-	}
-</script>
-
-
-<style lang="scss" scoped>
-	.group-goods {
-		position: relative;
-		z-index: 1;
-		background: #FFFFFF;
-		border-radius: 16upx;
-		margin-bottom: 20upx;
-		margin-top: 20upx;
-		// padding: 20upx;
-	}
-
-	.swiper-box,
-	.carousel {
-		width: 700rpx;
-		height: 240upx;
-		position: relative;
-		border-radius: 20rpx;
-
-		.carousel-item {
-			width: 100%;
-			height: 100%;
-			// padding: 0 28upx;
-			overflow: hidden;
-		}
-
-		.swiper-image {
-			width: 100%;
-			height: 100%;
-			// border-radius: 10upx;
-			background: #ccc;
-		}
-	}
-
-	.swiper-dots {
-		display: flex;
-		position: absolute;
-		left: 50%;
-		transform: translateX(-50%);
-		bottom: 0rpx;
-		z-index: 66;
-
-		.dot {
-			width: 45rpx;
-			height: 3rpx;
-			background: #eee;
-			border-radius: 50%;
-			margin-right: 10rpx;
-		}
-
-		.dot-active {
-			width: 45rpx;
-			height: 3rpx;
-			background: #a8700d;
-			border-radius: 50%;
-			margin-right: 10rpx;
-		}
-	}
-
-	// 今日必拼+限时抢购
-	.group-goods {
-		background: #fff;
-		border-radius: 20rpx;
-		overflow: hidden;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-
-		.title-box {
-			padding-bottom: 20rpx;
-			padding: 34rpx 32rpx;
-			background: linear-gradient(180deg, #FFDCDC 0%, #FFFFFF 100%);
-
-
-			.title {
-				font-size: 32rpx;
-				font-weight: bold;
-			}
-
-			.group-people {
-				.time-box {
-					font-size: 26rpx;
-					color: #edbf62;
-
-					.count-text-box {
-						width: 30rpx;
-						height: 34rpx;
-						background: #edbf62;
-						text-align: center;
-						line-height: 34rpx;
-						font-size: 24rpx;
-						border-radius: 6rpx;
-						color: rgba(#fff, 0.9);
-						margin: 0 8rpx;
-					}
-				}
-
-				.head-box {
-					.head-img {
-						width: 40rpx;
-						height: 40rpx;
-						border-radius: 50%;
-						background: #ccc;
-					}
-				}
-
-				.tip {
-					font-size: 24rpx;
-					padding-left: 30rpx;
-					color: #999999;
-				}
-
-				.cuIcon-right {
-					font-size: 30rpx;
-					line-height: 28rpx;
-					color: #666;
-				}
-			}
-		}
-
-		.goods-box {
-			padding: 0 32rpx;
-
-			.goods-item {
-				margin-right: 22rpx;
-
-				&:nth-child(4n) {
-					margin-right: 0;
-				}
-			}
-		}
-
-		.min-goods {
-			margin-right: 22rpx;
-
-		}
-	}
-
-	.min-goods {
-		width: 152rpx;
-		background: #fff;
-
-		.img-box {
-			width: 152rpx;
-			height: 152rpx;
-			overflow: hidden;
-			position: relative;
-            border-radius: 16rpx 16rpx 16rpx 16rpx;
-			.tag {
-				position: absolute;
-				left: 0;
-				bottom: 0rpx;
-				z-index: 2;
-				line-height: 35rpx;
-				background: linear-gradient(132deg, rgba(243, 223, 177, 1), rgba(243, 223, 177, 1), rgba(236, 190, 96, 1));
-				border-radius: 0px 18rpx 18rpx 0px;
-				padding: 0 10rpx;
-				font-size: 24rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: rgba(120, 79, 6, 1);
-			}
-
-			.img {
-				width: 100%;
-				background-color: #ccc;
-			}
-		}
-
-		.price-box {
-			width: 100%;
-			margin-top: 24rpx;
-
-			.seckill-current {
-				font-weight: 600;
-				font-size: 26rpx;
-				color: #FF5030;
-			}
-
-			.original {
-				font-size: 20rpx;
-				font-weight: 400;
-				// text-decoration: line-through;
-				color: rgba(153, 153, 153, 1);
-				margin-left: 14rpx;
-			}
-		}
-
-		.title {
-			font-size: 26rpx;
-		}
-	}
-</style>

+ 0 - 318
pages/home/components/NewProduct.vue

@@ -1,318 +0,0 @@
-<template>
-	<view class="group-goods" v-if="detail.length>0" v-cloak>
-		<view class="title-box x-bc">
-			<text class="title"><text class="color-orange">新品</text>首发</text>
-			<view class="group-people x-f  row" @tap="navTo('/pages/home/productList')">
-				<text class="tip">更多新品</text>
-				<image class='w48 h48' src="/static/images/right.png"></image>
-				<!-- <text class="cuIcon-right"></text> -->
-			</view>
-		</view>
-		<view class="goods-box swiper-box x-f">
-			<swiper class="carousel" circular @change="swiperChange" :autoplay="true" interval="10000" duration="2000">
-				<swiper-item v-for="(goods, index) in goodsList" :key="index" class="carousel-item">
-					<view class="goods-list-box x-f" style="align-items: flex-start;">
-						<block v-for="mgoods in goods" :key="mgoods.productId">
-							<view class="min-goods" @tap="showProduct(mgoods)">
-								<view class="img-box">
-									<!-- <view class="tag">new</view> -->
-									<view class="tag"><text>新品首发</text></view>
-									<image class="img" :src="mgoods.image" mode="widthFix"></image>
-								</view>
-								<view class="price-box">
-									<view class="y-f">
-										<text class="seckill-current">{{ mgoods.price  }}</text>
-										<!-- <text class="original">销量{{ mgoods.sales }}{{mgoods.unitName}}</text> -->
-									</view>
-								</view>
-								<view class="title">
-									<slot name="titleText"></slot>
-								</view>
-							</view>
-						</block>
-					</view>
-				</swiper-item>
-			</swiper>
-			<!-- <view class="swiper-dots" v-if="goodsList.length > 1">
-				<text :class="swiperCurrent === index ? 'dot-active' : 'dot'" v-for="(dot, index) in goodsList.length"
-					:key="index"></text>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "NewProduct",
-
-		data() {
-			return {
-				goodsList: [],
-				swiperCurrent: 0
-			};
-		},
-		props: {
-			detail: Array
-		},
-		computed: {},
-		created() {},
-		watch: {
-			detail(next) {
-				this.goodsList = this.sortData(next, 4);
-			}
-		},
-		methods: {
-			swiperChange(e) {
-				this.swiperCurrent = e.detail.current;
-			},
-			// 数据分层
-			sortData(oArr, length) {
-				let arr = [];
-				let minArr = [];
-				oArr.forEach(c => {
-					if (minArr.length === length) {
-						minArr = [];
-					}
-					if (minArr.length === 0) {
-						arr.push(minArr);
-					}
-					minArr.push(c);
-				});
-
-				return arr;
-			},
-			navTo(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			showProduct(item) {
-				uni.navigateTo({
-					url: '/pages/shopping/productDetails?productId=' + item.productId
-				})
-			}
-		}
-	}
-</script>
-
-
-<style lang="scss" scoped>
-	.group-goods {
-		position: relative;
-		z-index: 1;
-		background: #FFFFFF;
-		border-radius: 16upx;
-		margin-bottom: 20upx;
-		margin-top: 20upx;
-	}
-
-	.swiper-box,
-	.carousel {
-		width: 700rpx;
-		height: 240rpx;
-		position: relative;
-		border-radius: 20rpx;
-
-		.carousel-item {
-			width: 100%;
-			height: 100%;
-			// padding: 0 28upx;
-			overflow: hidden;
-		}
-
-		.swiper-image {
-			width: 100%;
-			height: 100%;
-			// border-radius: 10upx;
-			background: #ccc;
-		}
-	}
-
-	.swiper-dots {
-		display: flex;
-		position: absolute;
-		left: 50%;
-		transform: translateX(-50%);
-		bottom: 0rpx;
-		z-index: 66;
-
-		.dot {
-			width: 45rpx;
-			height: 3rpx;
-			background: #eee;
-			border-radius: 50%;
-			margin-right: 10rpx;
-		}
-
-		.dot-active {
-			width: 45rpx;
-			height: 3rpx;
-			background: #a8700d;
-			border-radius: 50%;
-			margin-right: 10rpx;
-		}
-	}
-
-	// 今日必拼+限时抢购
-	.group-goods {
-
-		background: #fff;
-		border-radius: 20rpx;
-		overflow: hidden;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-
-		.title-box {
-			padding-bottom: 20rpx;
-			padding: 34rpx 32rpx;
-			background: linear-gradient(180deg, #FFEBD7 0%, #FFFFFF 100%);
-
-			.title {
-				font-size: 34rpx;
-				font-weight: bold;
-			}
-
-			.group-people {
-				.time-box {
-					font-size: 26rpx;
-					color: #edbf62;
-
-					.count-text-box {
-						width: 30rpx;
-						height: 34rpx;
-						background: #edbf62;
-						text-align: center;
-						line-height: 34rpx;
-						font-size: 24rpx;
-						border-radius: 6rpx;
-						color: rgba(#fff, 0.9);
-						margin: 0 8rpx;
-					}
-				}
-
-				.head-box {
-					.head-img {
-						width: 40rpx;
-						height: 40rpx;
-						border-radius: 50%;
-						background: #ccc;
-					}
-				}
-
-				.tip {
-					font-size: 24rpx;
-					padding-left: 30rpx;
-					color: #999999;
-				}
-
-				.cuIcon-right {
-					font-size: 30rpx;
-					line-height: 28rpx;
-					color: #666;
-				}
-			}
-		}
-
-		.goods-box {
-			padding: 0 32rpx;
-
-			.goods-item {
-				margin-right: 22rpx;
-
-				&:nth-child(4n) {
-					margin-right: 0;
-				}
-			}
-		}
-
-		.min-goods {
-			margin-right: 22rpx;
-
-		}
-	}
-
-	.min-goods {
-		width: 152rpx;
-		background: #fff;
-
-		.img-box {
-			width: 140rpx;
-			height: 140rpx;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			overflow: hidden;
-			position: relative;
-
-			// .tag {
-			//   position: absolute;
-			//   left: 0;
-			//   bottom: 0rpx;
-			//   z-index: 2;
-			//   line-height: 35rpx;
-			//   background: linear-gradient(132deg, rgba(243, 223, 177, 1), rgba(243, 223, 177, 1), rgba(236, 190, 96, 1));
-			//   border-radius: 0px 18rpx 18rpx 0px;
-			//   padding: 0 10rpx;
-			//   font-size: 24rpx;
-			//   font-family: PingFang SC;
-			//   font-weight: bold;
-			//   color: rgba(120, 79, 6, 1);
-			// }
-			.tag {
-				position: absolute;
-				right: 2rpx;
-				top: 2rpx;
-				z-index: 2;
-				line-height: 18rpx;
-				background: linear-gradient(120deg, #FF7F4E 0%, #FA531C 100%);
-				// border-radius: 0px 18rpx 18rpx 0px;
-				width: 38rpx;
-				height: 40rpx;
-
-				padding: 10rpx;
-				font-size: 14rpx;
-				font-family: PingFang SC;
-				font-weight: Semibold;
-				color: #FFFFFF;
-				border-radius: 50%/50%;
-				transform: skew(-8deg);
-				display: flex;
-				justify-items: center;
-				align-items: center;
-				// box-shadow: 2rpx 2rpx 2rpx 2rpx rgba(0, 0, 0, 0.1);
-				text{
-					transform: skew(8deg);
-					display: block;
-					text-align: center;
-					letter-spacing: 2rpx;
-				}
-			}
-
-			.img {
-				width: 100%;
-				background-color: #FFFFFF;
-
-			}
-		}
-
-		.price-box {
-			width: 100%;
-			margin-top: 24rpx;
-
-			.seckill-current {
-				font-weight: 600;
-				font-size: 26rpx;
-				color: #FF5030;
-			}
-
-			.original {
-				font-size: 20rpx;
-				font-weight: 400;
-				// text-decoration: line-through;
-				color: rgba(153, 153, 153, 1);
-				margin-left: 14rpx;
-			}
-		}
-
-		.title {
-			font-size: 26rpx;
-		}
-	}
-</style>

+ 0 - 377
pages/home/doctorCase.vue

@@ -1,377 +0,0 @@
-<template>
-	<view>
-		<view class="top-fixed">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-					<input type="text"  v-model="searchVal" placeholder="输入关键字搜索"  confirm-type="搜索" @confirm="goSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-			<!-- tab切换 -->
-			<view class="pub-tab-box">
-				<view class="tab-inner">
-					<view 
-						v-for="(item,index) in depts" 
-						:key="index"
-						:class="deptId == item.departmentId?'item active':'item'"
-						@click="changeDept(item)"
-					>
-						<view class="text">
-							{{ item.departmentName }}
-							<image v-show="deptId == item.departmentId" class="tab-bg" src="../../static/images/tab_bg.png" mode=""></image>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 数据列表 -->
-		<mescroll-body ref="mescroll"  top="190rpx" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="cases-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index">
-					<!-- 文字 -->
-					<view class="dec-text ellipsis2">{{item.title}}</view>
-					<!-- 有图 -->
-					<view class="images-box"  v-if="item.imgs!=null"  >
-						<view class="img-item" v-for="(subitem,j) in utils.photosToArr(item.imgs)" @click="showImg(item.imgs)" :key="j">
-							<image :src="subitem" mode="aspectFill" ></image>
-						</view>
-					</view>
-					<!-- 医生信息 -->
-					<view class="doc-info">
-						<view class="head">
-							<image :src="item.doctorHeadImg" mode="aspectFill"></image>
-						</view>
-						<view class="name">{{item.doctorName}}</view>
-						<view class="line"></view>
-						<view class="posit">
-							{{utils.getDictLabelName("doctorPosition",item.doctorPosition)}}
-						</view>
-						<view class="line"></view>
-						<view class="address">{{item.hospitalName}}</view>
-					</view>
-					<view class="answer-box">
-						<!-- 文字回答 -->
-						<text class="text-inner" v-if="item.orderType == '1' ">{{item.replyContent}}</text>
-						<!-- 语音回答 -->
-						<view class="voice-inner" v-if="item.orderType == '2'">
-							<free-audio 
-								startPic='/static/images/play.png' 
-								endPic='/static/images/pause.png'
-								activeColor="#0bb3f2"
-								:audioId="'audio'+index"
-								:url='item.replyAudioUrl'
-							></free-audio>
-						</view>
-					</view>
-					<view class="read-box">
-						<image src="../../static/images/eye.png" mode=""></image>
-						<text class="text">{{item.views}}人看过</text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getDepartmentList,getDoctorCase} from '@/api/doctorOrder.js'
-	import freeAudio from '@/components/chengpeng-audio/free-audio.vue'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	
-	export default {
-		components: { freeAudio},
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				depts:[],
-				deptId:0,
-				searchVal:"",
-				// tab切换
-				casesCateChose: 1,
-				// 上拉加载的配置
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: []
-			};
-		},
-		onLoad() {
-			this.getDepartmentList()
-		},
-		methods: {
-			changeDept(item) {
-				this.deptId = item.departmentId;
-				this.mescroll.resetUpScroll()
-				
-			},
-			getDepartmentList(){
-				getDepartmentList().then(res => {
-					if(res.code==200){
-						var allDept={departmentId:0,departmentName:"全部"}
-						this.depts.push(allDept);
-						this.depts=this.depts.concat(res.data);
-						console.log(this.depts)
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-					}
-				});
-			},
-			goSearch(){
-				this.mescroll.resetUpScroll()
-			},
-			showImg(urls) {
-				 var imgArr =urls.split(',');
-				 //预览图片
-				 uni.previewImage({
-				 	urls: imgArr,
-				 	current: imgArr[0]
-				 });
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					departmentId:this.deptId,
-					title:this.searchVal,
-					page: page.num,
-					pageSize: page.size
-				};
-				getDoctorCase(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();
-					}
-				});
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.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;
-			}
-		}
-	}
-	.pub-tab-box{
-		padding: 0 33upx;
-		background-color: #FFFFFF;
-		.tab-inner{
-			height: 88upx;
-			line-height: 88upx;
-			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: 60upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			&:last-child{
-				margin-right: 0;
-			}
-			&.active{
-				font-weight: bold;
-				color: #333333;
-			}
-			.text{
-				position: relative;
-				z-index: 1;
-			}
-			.tab-bg{
-				width: 72upx;
-				height: 28upx;
-				position: absolute;
-				top: 17upx;
-				left: 50%;
-				transform: translateX(-36upx);
-				z-index: -1;
-			}
-		}
-	}
-	.top-fixed{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 10;
-	}
-	.top-seat{
-		width: 100%;
-		height: 212upx;
-	}
-	// 问诊案例
-	.cases-list{
-		padding: 20upx;
-		.item{
-			padding: 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-bottom: 20upx;
-			.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%;
-				// height: 117upx;
-				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;
-				}
-			}
-		}
-	}
-</style>

+ 626 - 802
pages/home/index.vue

@@ -1,26 +1,26 @@
 <template>
 	<view class="content">
 		<!-- 背景图片 -->
-		<image class="bg" src="https://user.test.ylrztop.com/images/home_top_bg.png" mode="widthFix"></image>
+		<image class="bg" src="@/static/image/top_bg.png" mode="widthFix"></image>
 		<view>
 			<view class="top-inner">
-				<view class="fixed-top-box" :style="{ background: bgColor }">
+				<view class="fixed-top-box" :style="{ background: bgColor ,paddingBottom:top>0?'20rpx':''}">
 					<!-- 这里是状态栏 -->
-					<view class="status_bar" :style="{height: statusBarHeight}"></view>
-					<view class="top-title">
-						<view class="name">壹柒玖康养集团</view>
-						<!-- <view class="dot">•</view><view class="sub-name">七彩互联网医院</view> -->
-					</view>
+					<!-- <view class="status_bar" :style="{height: statusBarHeight}"></view> -->
+					<!-- <view class="top-title">
+						<view class="name">互联网医院</view>
+				
+					</view> -->
 					<!-- 搜索框、购物车、客服 -->
-					<view class="func-cont">
+					<view class="func-cont" :style="{marginTop: menuButtonInfo.top}">
 						<view class="search-cont">
-							<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-							<input type="text" disabled value="" placeholder="搜索商品、症状、功能主治"
-								placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;"
-								@click="toSearch" />
+							<image class="icon-search" src="@/static/image/icon_search.png" mode=""></image>
+							<input type="text" disabled value="" placeholder="请输入关键字或作者"
+								placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
+							<view class="btn" @click="toSearch">搜索</view>
 						</view>
 						<!-- 购物车 -->
-						<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error">
+						<!-- <uni-badge size="small" :text="cartCount" absolute="rightTop" type="error">
 							<view class="img-item" @click="goAuthUrl('../shopping/cart')">
 								<image src="../../static/images/cart_wihte.png" mode=""></image>
 							</view>
@@ -28,7 +28,7 @@
 						<view class="img-item" style="position: relative;">
 							<image src="../../static/images/customer.png" mode=""></image>
 							<button class="contact-btn" open-type="contact"></button>
-						</view>
+						</view> -->
 					</view>
 					<!-- <view class="tips">
 						
@@ -38,7 +38,7 @@
 				</view>
 			</view>
 			<!-- 头部间距 -->
-			<view style="padding-bottom:220rpx">
+			<view style="padding-bottom:100rpx">
 				<view class="status_bar" :style="{height: statusBarHeight}"></view>
 			</view>
 			<!-- 轮播图 -->
@@ -54,435 +54,191 @@
 				</view>
 			</view>
 
-			<!-- 菜单 -->
-			<view class="menu-content">
-				<text class="weight-600 mb26 ml32">我的健康数据</text>
-				<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">
-			<!-- <view class="item" @click="navTo('/pages/doctor/doctorQr')"> -->
-			<view class="item" @click="navTo('/pages_health/healthConsulting')">
-				<image class="bg-img" src="https://user.test.ylrztop.com/images/online_treat.png" mode="aspectFill"></image>
-				<view class="inner">
-					<text class="title">健康<text class="color-pink">咨询</text></text>
-					<text class="sub-title">三师在线服务</text>
+		<!-- 养生讲堂 -->
+		<view class="doctor-articles">
+			<view class="box-title">
+				<view class="title-l">在线讲座</view>
+				<view class="title-m" @click="navTo('/pages_live/lecture')">
+					查看更多
+					<image src="@/static/image/icon_more.png" mode=""></image>
 				</view>
 			</view>
-			<!-- <view class="item" @click="goAuthUrl('/pages_user/user/prescribeOrder')"> -->
-			<view class="item" @click="navTo('/pages_health/healthfiles')">
-				<image class="bg-img" src="https://user.test.ylrztop.com/images/chu_query.png" mode="aspectFill"></image>
-				<view class="inner">
-					<text class="title">健康<text class="color-yellow">专管</text></text>
-					<text class="sub-title">糖尿病/体重</text>
-				</view>
+			<view class="title-box">
+				<u-tabs :list="livetabList"
+					:activeStyle="{width:'136rpx',height:'56rpx',lineHeight:'56rpx',textAlign:'center',fontWeight: '500',color: '#fff',background: 'linear-gradient( 90deg, #61A3FF 0%, #207DFF 100%)',borderRadius:'98rpx'}"
+					:inactiveStyle="{width:'136rpx',height:'56rpx',lineHeight:'56rpx',fontWeight: '400',color: '#666666',background:'#fff',borderRadius:'98rpx',textAlign:'center'}"
+					lineColor="#F7F8FA" @click="selectlivetab"></u-tabs>
 			</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> -->
-						<u-tabs :list="livetabList"
-							:activeStyle="{fontWeight: '600',color: '#222426',fontSize: '34rpx'}"
-							:inactiveStyle="{color: '#222426',fontSize: '32rpx'}" @click="selectlivetab"
-							scrollable="false"></u-tabs>
-						<view class="more" @click="navTo('/pages_index/index/doctorArticleList')">
-							<view class="text">更多</view>
-							<image src="/static/images/right.png"></image>
+			<scroll-view :scroll-x="true">
+				<view class="article-box">
+					<view class="article" @click="navTo('/pages_live/addForm')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="views">
+								<image mode="aspectFill" src="@/static/image/icon_goon.png"></image>
+								<view class="status">进行中</view>
+							</view>
 						</view>
-					</view>
-					<scroll-view :scroll-x="true">
-						<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 class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
-								<view class="article-title-box">
-									<view class="article-title more-t">{{item.title}}</view>
+							</view>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
 								</view>
 							</view>
 						</view>
-					</scroll-view>
-				</view>
-
-
-
-				<!--养生干货-->
-				<view class="articles">
-					<view class="title-box">
-						<!-- <view class="title">养生干货</view> -->
-						<u-tabs :list="articletabList"
-							:activeStyle="{fontWeight: '600',color: '#222426',fontSize: '34rpx'}"
-							:inactiveStyle="{color: '#222426',fontSize: '32rpx'}" @click="selectarticletab"
-							scrollable="false"></u-tabs>
-						<view class="more" @click="navTo('/pages_index/index/articleList')">
-							<view class="text">更多</view>
-							<image src="../../static/images/right.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 ellipsis1">
-									{{item.title}}
+					<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId=')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="views">
+								<image mode="aspectFill" src="@/static/image/icon_tobestart.png"></image>
+								<view class="status">待开始</view>
+							</view>
+						</view>
+						<view class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
-								<!-- 新加的文章内容 -->
-								<view class="txt ellipsis2">
-									{{item.title}}
+							</view>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
 								</view>
-								<view class="views">
-									浏览量 {{item.views}}
+							</view>
+						</view>
+					</view>
+					<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId=')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="views">
+								<image mode="aspectFill" src="@/static/image/icon_goon.png"></image>
+								<view class="status">进行中</view>
+							</view>
+						</view>
+						<view class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
 							</view>
-							<view class="right">
-								<image :src="item.imageUrl"></image>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
+								</view>
 							</view>
 						</view>
 					</view>
 				</view>
 
-			</view>
+			</scroll-view>
 		</view>
 
-		<view class="index-cont">
-			<!-- 医生团队 -->
-			<!-- <view class="pub-item">
-				<view class="pub-title-box">
-					<text class="left">医生团队</text>
-					<view class="right" @click="navTo('/pages_doctor/doctorList')">
-						<text class="text">全部医生</text>
-						<image src="../../static/images/arrow_gray.png" mode=""></image>
-					</view>
-				</view>
-				<view class="doc-cont">
-					<view class="inner">
-						<view class="item" v-for="(item,index) in doctorList" :key="index" @click="shopDoctor(item)">
-							<view class="head-box">
-								<image :src="item.headImg" mode="aspectFill"></image>
-							</view>
-							<text class="name ellipsis">{{ item.doctorName }}</text>
-							<text class="position ellipsis">
-								{{utils.getDictLabelName("doctorPosition",item.position)}}
-							</text>
-						</view>
-					</view>
-				</view>
-			</view> -->
-			<!-- <view class="pub-item">
-				<view class="tabs">
-					<view class="tab" @click="docTabChange(1)">
-						<image v-if="docTab==1" class="img" src="../../static/images/tab1.png" mode=""></image>
-						<view class="inner">
-							<text :class="docTab == 1?'title active':'title'" >推荐医生</text>
-						</view>
-					</view>
-					<view class="tab" @click="docTabChange(2)">
-						<image v-if="docTab==2" class="img" src="../../static/images/tab2.png" mode=""></image>
-						<view class="inner">
-							<text :class="docTab == 2?'title active':'title'" >推荐药师</text>
-						</view>
-					</view>
-					<view class="tab" @click="docTabChange(3)">
-						<image v-if="docTab==3" class="img" src="../../static/images/tab3.png" mode=""></image>
-						<view class="inner">
-							<text  :class="docTab == 3?'title active':'title'" >推荐营养师</text>
-						</view>
-					</view>
+
+
+		<view class="doctor-articles">
+			<view class="box-title">
+				<view class="title-l">空中课堂</view>
+				<view class="title-m" @click="navTo('/pages_live/lesson')">查看更多
+					<image src="@/static/image/icon_more.png" mode=""></image>
 				</view>
-				<view class="doc-tab-box">
-					<view class="tab-inner" >
-						<view 
-							v-for="(item,index) in depts" 
-							:key="index"
-							:class="item.departmentId == deptId?'item active':'item'"
-							@click="deptChange(item)"
-						>
-							<view class="text">
-								{{ item.departmentName }}
-								<image v-show="item.departmentId == deptId" class="tab-bg" src="../../static/images/tab_bg.png" mode=""></image>
+			</view>
+			<view class="title-box">
+				<u-tabs :list="livetabList"
+					:activeStyle="{width:'136rpx',height:'56rpx',lineHeight:'56rpx',textAlign:'center',fontWeight: '500',color: '#fff',background: 'linear-gradient( 90deg, #61A3FF 0%, #207DFF 100%)',borderRadius:'98rpx'}"
+					:inactiveStyle="{width:'136rpx',height:'56rpx',lineHeight:'56rpx',fontWeight: '400',color: '#666666',background:'#fff',borderRadius:'98rpx',textAlign:'center'}"
+					lineColor="#F7F8FA" @click="selectlivetab"></u-tabs>
+			</view>
+			<scroll-view :scroll-x="true">
+				<view class="article-box">
+					<view class="article" @click="navTo('/pages_live/lessonDetail?articleId=87')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="zhibo">
+								<image mode="aspectFill" src="@/static/image/icon_video.png"></image>
 							</view>
 						</view>
-					</view>
-					<image class="right-mask" src="../../static/images/mask.png" mode=""></image>
-				</view>
-				<view class="doc-list">
-					<view class="item" v-for="(item,index) in doctorList" :key="index" @click="shopDoctor(item)"> -->
-			<!-- 头像 -->
-			<!-- <view class="head-box">
-							<image :src="item.headImg" mode="aspectFill"></image>
-						</view> -->
-			<!-- 详细信息 -->
-			<!-- 		<view class="info"> -->
-			<!-- 姓名等 -->
-			<!-- 		<view class="top">
-								<text class="name">{{ item.doctorName }}</text>
-								<view class="line"></view>
-								<text class="other">{{utils.getDictLabelName("doctorPosition",item.position)}}</text>
-								<view class="line"></view>
-								<text class="other">{{ item.departmentName }}</text>
-							</view> -->
-			<!-- 单位 -->
-			<!-- <view class="unit-box"> -->
-			<!-- 	<view class="level">三甲</view> -->
-			<!-- 			<view class="name">{{ item.hospitalName }}</view>
-							</view> -->
-			<!-- 擅长 -->
-			<!-- 	<view class="expertise ellipsis2">
-								擅长:{{ item.doctorDesc }}
-							</view> -->
-			<!-- 评分 -->
-			<!-- <view class="rate-box">
-								<view class="star">
-									<image src="../../static/images/star.png" mode=""></image>
-									<text>{{ item.pings }}</text>
-								</view>
-								<view class="line"></view>
-								<view class="num-box">
-									<text class="label">接诊数</text>
-									<text class="num">{{ item.orders }}</text>
-								</view>
-								<view class="line"></view>
-								<view class="num-box">
-									<text class="label">响应速度</text>
-									<text class="num">{{ item.speed }}分钟</text>
+						<view class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
-							</view> -->
-			<!-- 价格 -->
-			<!-- 	<view class="price-box">
-								<view class="btn-item" v-for="(subitme) in item.price">
-									<text class="label" >{{subitme.priceType==1?'图文':'语音'}}</text>
-									<text class="num">¥{{subitme.price.toFixed(2)}}</text>
-								</view>
-							</view>
-						</view>
-					</view>
-					<view class="bottom-title" @click="navTo('/pages_doctor/doctorList?doctorType='+docTab)">
-						<text >{{allDoctorTitle}}</text>
-						<image src="../../static/images/arrow3.png" mode=""></image>
-					</view>
-					 
-				</view>
-				 -->
-			<!-- <view class="doc-cont">
-					<view class="inner">
-						<view class="item" v-for="(item,index) in doctorList" :key="index" @click="shopDoctor(item)">
-							<view class="head-box">
-								<image :src="item.headImg" mode="aspectFill"></image>
 							</view>
-							<text class="name ellipsis">{{ item.doctorName }}</text>
-							<text class="position ellipsis">
-								{{utils.getDictLabelName("doctorPosition",item.position)}}
-							</text>
-						</view>
-					</view>
-				</view> -->
-			<!-- 		</view> -->
-			<!-- 问诊案例 -->
-			<!-- <view class="pub-item">
-				<view class="pub-title-box">
-					<text class="left">问诊案例</text>
-					<view class="right" @click="viewAll('doctorCase')">
-						<text class="text">全部案例</text>
-						<image src="../../static/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 orderTypes" 
-								:key="index"
-								:class="item.id == orderType?'item cases active':'item cases'"
-								@click="orderTypeChange(item)"
-							>
-								<view class="text">
-									{{ item.name }}
-									<image v-show="item.id == orderType" class="tab-bg" src="../../static/images/tab_bg.png" mode=""></image>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
 								</view>
 							</view>
 						</view>
-						<image class="right-mask" src="../../static/images/mask.png" mode=""></image>
 					</view>
-					<view class="cases-list">
-						<view class="item" v-for="(item,index) in doctorOrderList" :key="index">
-							<view class="dec-text ellipsis2">{{item.title}}</view>
-							<view class="images-box"  v-if="item.imgs!=null"  >
-								<view class="img-item" v-for="(subitem,j) in utils.photosToArr(item.imgs)" @click="showImg(item.imgs)" :key="j">
-									<image :src="subitem" mode="aspectFill" ></image>
-								</view>
+					<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId=')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="zhibo">
+								<image mode="aspectFill" src="@/static/image/icon_video.png"></image>
 							</view>
-							<view class="doc-info">
-								<view class="head">
-									<image :src="item.doctorHeadImg" mode="aspectFill"></image>
-								</view>
-								<view class="name">{{item.doctorName}}</view>
-								<view class="line"></view>
-								<view class="posit">
-									{{utils.getDictLabelName("doctorPosition",item.doctorPosition)}}
+						</view>
+						<view class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
-								<view class="line"></view>
-								<view class="address">{{item.hospitalName}}</view>
 							</view>
-							<view class="answer-box">
-								<text class="text-inner" v-if="item.orderType == '1' ">{{item.replyContent}}</text>
-								<view class="voice-inner" v-if="item.orderType == '2'">
-									<free-audio 
-										startPic='/static/images/play.png' 
-										endPic='/static/images/pause.png'
-										activeColor="#0bb3f2"
-										:audioId="'audio'+index"
-										:url='item.replyAudioUrl'
-									></free-audio>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
 								</view>
 							</view>
-							<view class="read-box">
-								<image src="../../static/images/eye.png" mode=""></image>
-								<text class="text">{{item.views}}人看过</text>
-							</view>
 						</view>
 					</view>
-				</view>
-			</view> -->
-
-			<!-- 热门榜单 -->
-			<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="../../static/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="../../static/images/tab_bg.png" mode=""></image>
-								</view>
+					<view class="article" @click="navTo('/pages_index/index/doctorArticleDetails?articleId=')">
+						<view class="image-box">
+							<image class="bg" mode="aspectFill" src="@/static/image/bg_invitecard.png"></image>
+							<view class="zhibo">
+								<image mode="aspectFill" src="@/static/image/icon_video.png"></image>
 							</view>
 						</view>
-						<image class="right-mask" src="../../static/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?'/static/images/detault_head.jpg':subitem.avatar"
-													mode=""></image>
-											</view>
-										</view>
-										<view class="readings">
-											<image class="eye" src="../../static/images/eye.png" mode=""></image>
-											<text class="num">{{item.views}}</text>
-										</view>
-									</view>
-									<view class="time">{{item.publishTime}}</view>
+						<view class="article-title-box">
+							<view class="article-title one-t">王医生学术直播</view>
+							<view class="name-title one-t">
+								<image mode="aspectFill" src="@/static/image/icon_doctor.png"></image>
+								<view class="one-t">
+									王小明-副主任医师/副主任副主任
 								</view>
 							</view>
-							<view class="right">
-								<image :src="item.imageUrl" mode="aspectFill"></image>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view> -->
-			<!-- 精选药品 -->
-			<!-- <TuiProduct ref="tuiProduct" /> -->
-			<!-- <view class="feat-title">
-				<image src="../../static/images/tui.png" mode=""></image>
-				<text>精选药品</text>
-			</view>
-			<view class="drug-list">
-				<view class="item" v-for="(item,index) in tuiProductList" :key="index" @click="showProduct(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="price-box">
-							<view class="now">
-								<text class="unit">¥</text>
-								<text class="num">{{item.price.toFixed(2)}}</text>
+							<view class="position-title">
+								<image mode="aspectFill" src="@/static/image/icon_hospital.png"></image>
+								<view class="one-t">
+									北京人民医院
+								</view>
 							</view>
-							<view class="old">¥{{item.otPrice.toFixed(2)}}</view>
 						</view>
 					</view>
 				</view>
-			</view> -->
 
+			</scroll-view>
 		</view>
-
-
-		<!-- 限时消息 -->
-		<!-- <view class="message-box" >
-			<view class="left">
-				<image src="../../static/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> -->
 	</view>
 </template>
 
@@ -512,26 +268,14 @@
 	import {
 		getStoreConfig
 	} from '@/api/common'
-	import tabBg from "@/static/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 {
 		getUserInfo,
 		bindPromoter
 	} from '@/api/user'
 	export default {
-		components: {
-			// zModal,
-			freeAudio,
-			Menu,
-			HotProduct,
-			NewProduct
-		},
 		data() {
 			return {
+				menuButtonInfo: {}, // 胶囊按钮布局信息
 				btnGroup: [{
 					text: '取消',
 					color: '#FFFFFF',
@@ -592,7 +336,7 @@
 				], //文章TAB
 				// 状态栏的高度
 				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				tabBg: tabBg, // tab切换背景
+				// tabBg: tabBg, // tab切换背景
 				// 问诊案例类型
 				orderTypes: [{
 					name: '全部',
@@ -659,6 +403,7 @@
 			this.getStoreActivity();
 		},
 		onLoad(option) {
+			this.getMenuButtonInfo(); // 初始化获取胶囊信息
 			if (option.userCode != null) {
 				uni.setStorageSync('userCode', option.userCode);
 				if (this.utils.checkLoginState()) {
@@ -694,7 +439,7 @@
 		},
 		onShareAppMessage(res) {
 			return {
-				title: '壹柒玖康养集团-您的专属健康解决方案',
+				title: '互联网医院-您的专属健康解决方案',
 				path: `/pages/common/launch`,
 				imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
 			}
@@ -706,7 +451,7 @@
 		//分享到朋友圈
 		onShareTimeline(res) {
 			return {
-				title: '壹柒玖康养集团-您的专属健康解决方案',
+				title: '互联网医院-您的专属健康解决方案',
 				query: '', //页面参数
 				imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
 			}
@@ -715,7 +460,7 @@
 			// 计算属性的 getter
 			bgColor: function() {
 				var top = this.top / 30;
-				return 'rgba(11,179,242, ' + top + ')';
+				return 'rgba(202, 230, 255,' + top + ')';
 			},
 		},
 		onShow() {
@@ -755,6 +500,20 @@
 					rej => {}
 				);
 			},
+			// 获取胶囊按钮布局参数
+			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' // 胶囊右侧距离
+					};
+				}
+			},
 			cancleTui(e) {
 				this.tuiModalControl = false
 			},
@@ -1092,7 +851,7 @@
 			// 顶部搜索
 			toSearch() {
 				uni.navigateTo({
-					url: './productSearch'
+					url: '/pages_live/search'
 				})
 			},
 			// 健康知识选中
@@ -1184,10 +943,11 @@
 
 <style lang="scss">
 	.ellipsis1 {
-	    overflow: hidden;
-	    text-overflow: ellipsis;
-	    white-space: nowrap;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
 	}
+
 	.fixed-top-box {
 		width: 100%;
 		position: fixed;
@@ -1209,12 +969,13 @@
 
 	.content {
 		width: 100%;
-		background: #EFF3F7;
+		background: #F7F8FA;
 		position: relative;
+		padding-bottom: 28rpx;
 
 		.bg {
 			width: 100%;
-			height: 380rpx;
+			// height: 380rpx;
 			position: absolute;
 			top: 0;
 			left: 0;
@@ -1262,33 +1023,51 @@
 				box-sizing: border-box;
 				display: flex;
 				align-items: center;
-				padding: 30upx 20upx 30upx 20upx;
+				padding: 0 20upx;
 
 				.search-cont {
 					box-sizing: border-box;
 					display: flex;
 					align-items: center;
-					width: 552upx;
-					height: 72upx;
-					background: #FFFFFF;
-					border-radius: 36upx;
-					padding: 0 30upx;
+					justify-content: space-between;
+					width: 500rpx;
+					height: 64rpx;
+					background: rgba(255, 255, 255, 0.6);
+					border-radius: 38rpx 38rpx 38rpx 38rpx;
+					border: 2rpx solid #388BFF;
+					padding-left: 30rpx;
+					padding-right: 8rpx;
 
 					.icon-search {
-						width: 28upx;
-						height: 28upx;
-						margin-right: 20upx;
+						width: 32rpx;
+						height: 32rpx;
+						margin-right: 14rpx;
 					}
 
 					input {
-						height: 60upx;
-						line-height: 60upx;
-						flex: 1;
+						height: 64rpx;
+						line-height: 64rpx;
+						// flex: 1;
+						font-family: PingFang SC, PingFang SC;
+						font-weight: 400;
+						font-size: 28rpx;
+						color: #999999;
 					}
-				}
 
-				;
-				;
+					.btn {
+						width: 88rpx;
+						height: 48rpx;
+						background: #388BFF;
+						border-radius: 40rpx 40rpx 40rpx 40rpx;
+						font-family: PingFang SC, PingFang SC;
+						font-weight: 400;
+						font-size: 28rpx;
+						color: #FFFFFF;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+					}
+				}
 
 				v-deep.uni-badge {
 					border: none;
@@ -1339,15 +1118,15 @@
 
 			.inner {
 				width: 702rpx;
-				height: 228rpx;
-				border-radius: 10upx;
+				height: 280rpx;
+				border-radius: 16rpx;
 				overflow: hidden;
 
 				.swiper,
 				.swiper-item,
 				.swiper-item image {
 					width: 702rpx;
-					height: 228rpx;
+					height: 280rpx;
 				}
 
 			}
@@ -1435,7 +1214,8 @@
 		.index-cont {
 			box-sizing: border-box;
 			// padding: 0 20upx 120rpx;
-             padding: 0 24upx 20upx;
+			padding: 0 24upx 20upx;
+
 			.pub-item {
 				background: #FFFFFF;
 				border-radius: 16upx;
@@ -2242,475 +2022,519 @@
 			}
 		}
 
-		.modules {
-			.module {
-				.depts {
-					z-index: 101;
-					margin: 40rpx 24rpx 0rpx;
-					padding: 30rpx 0;
-					background-color: #fff;
-					border-radius: 16rpx;
 
-					.title {
-						margin-left: 32rpx;
-						font-family: PingFang SC;
-						font-weight: 600;
-						font-size: 34rpx;
-						color: #222426;
-					}
+		.box-title {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding-bottom: 24rpx;
+            position: relative;
+			.title-l {
+				font-family: PingFang SC, PingFang SC;
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #333333;
+			}
 
-					.dept-box {
-						margin-top: 22rpx;
-						display: flex;
-						align-items: center;
-						justify-content: flex-start;
-						flex-wrap: wrap;
+			.title-m {
+				display: flex;
+				align-items: center;
+				font-family: PingFang SC, PingFang SC;
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #999999;
+				margin-right: 4rpx;
 
-						.dept {
-							width: 25%;
-							display: flex;
-							flex-direction: column;
-							align-items: center;
-							justify-content: center;
-							padding: 14rpx 0;
+				image {
+					width: 32rpx;
+					height: 32rpx;
+				}
+			}
+		}
 
-							.icon {
-								width: 58rpx;
-								height: 58rpx;
-							}
+		.doctor-articles {
+			z-index: 101;
+			margin-top: 40rpx;
+			padding: 0 24rpx;
+			// padding: 32rpx;
+			// background-color: #fff;
+			// border-radius: 16rpx;
 
-							.title {
-								margin-left: 0;
-								margin-top: 10rpx;
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-							}
-						}
+			.title-box {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				justify-content: space-between;
+
+				::v-deep.u-tabs__wrapper__nav__item {
+					padding-left: 0 !important;
+				}
+
+				.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: 48rpx;
+						height: 48rpx;
 					}
 
 				}
+			}
 
-				.doctor-articles {
-					z-index: 101;
-					margin: 20rpx 24rpx 0rpx;
-					padding: 32rpx;
-					background-color: #fff;
+			.article-box {
+				padding-top: 24rpx;
+				overflow-x: auto;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: flex-start;
+
+				.article {
+					width: 320rpx;
+					height: 328rpx;
+					margin-right: 16rpx;
+					background: #fff;
+					display: flex;
+					flex-direction: column;
+					align-items: flex-start;
+					justify-content: flex-start;
 					border-radius: 16rpx;
 
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
+					&:last-child {
+						margin-right: 0rpx;
+					}
 
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
+					.image-box {
+						width: 320rpx;
+						height: 180rpx;
+						position: relative;
+						border-radius: 16rpx 16rpx 0rpx 0rpx;
+
+						.bg {
+							border-radius: 16rpx 16rpx 0rpx 0rpx;
+							width: 320rpx;
+							height: 180rpx;
 						}
 
-						.more {
+						.views {
+							position: absolute;
+							top: 0rpx;
+							left: 0rpx;
+							width: 112rpx;
+							height: 32rpx;
 							display: flex;
 							align-items: center;
-							justify-content: flex-end;
+							background: rgba(0, 0, 0, 0.4);
+							border-radius: 16rpx 0rpx 16rpx 0rpx;
+							font-weight: 500;
+							font-size: 20rpx;
+							color: #FFFFFF;
+							font-family: PingFang SC-Bold, PingFang SC;
 
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #9B9B9B;
+							image {
+								width: 36rpx;
+								height: 32rpx;
+								margin-right: 8rpx;
 							}
+						}
+
+						.zhibo {
+							position: absolute;
+							top: 50%;
+							left: 50%;
+							transform: translate(-50%, -50%);
 
 							image {
-								// margin-left: 10rpx;
-								width: 48rpx;
-								height: 48rpx;
+								width: 56rpx;
+								height: 56rpx;
 							}
-
 						}
-					}
 
-					.article-box {
-						padding: 32rpx 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;
+						.doctor {
+							margin: 10rpx;
 							display: flex;
-							flex-direction: column;
-							align-items: flex-start;
+							align-items: center;
 							justify-content: flex-start;
+							position: absolute;
+							bottom: 0rpx;
+							left: 0rpx;
 
-							&: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: 4rpx 12rpx;
-									background: rgba(0, 0, 0, 0.25);
-									border-radius: 12rpx 0rpx 12rpx 0rpx;
-									opacity: 1;
-									font-weight: 400;
-									font-size: 20rpx;
-									color: #FFFFFF;
-									font-family: PingFang SC-Bold, PingFang SC;
-								}
-
-
-								.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;
-										}
-									}
-								}
+							image {
+								border-radius: 50%;
+								width: 64rpx;
+								height: 64rpx;
 							}
 
-							.article-title-box {
-								width: 100%;
-								margin-top: 10rpx;
+							.right {
+								width: 200rpx;
+								margin-left: 10rpx;
 								display: flex;
-								align-items: center;
-								justify-content: flex-start;
-                                height: 80upx;
-								.article-title {
+								flex-direction: column;
+								align-items: flex-start;
+								justify-content: space-between;
+
+								.doc-name {
+									width: 200rpx;
 									font-size: 30rpx;
-									// font-weight: bold;
+									font-weight: bold;
 									font-family: PingFang SC;
-									color: #2A2B2E;
+									color: #fff;
 								}
 
+								.doc-position {
+									width: 100%;
+									font-size: 28rpx;
+									font-family: PingFang SC;
+									color: #fff;
+									font-weight: bold;
+									opacity: 0.8;
+								}
 							}
-
 						}
-
 					}
-				}
-
-				.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 {
+					.article-title-box {
+						width: 100%;
+						padding: 16rpx;
 						display: flex;
-						flex-direction: row;
-						align-items: center;
+						align-items: flex-start;
+						flex-direction: column;
 						justify-content: space-between;
+						height: 148rpx;
+						box-sizing: border-box;
 
-						.title {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
+						.article-title {
+							font-family: PingFang SC, PingFang SC;
+							font-weight: 500;
+							font-size: 28rpx;
+							color: #333333;
+							.one-t{
+								width: 100%;
+							}
 						}
 
-						.more {
+						.name-title {
 							display: flex;
 							align-items: center;
-							justify-content: flex-end;
-
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color: #898E91;
+							font-family: PingFang SC, PingFang SC;
+							font-weight: 400;
+							font-size: 22rpx;
+							color: #999999;
+                            .one-t{
+								width: 80%;
 							}
-
 							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
+								width: 28rpx;
+								height: 28rpx;
+								margin-right: 14rpx;
 							}
+						}
 
+						.position-title {
+							display: flex;
+							align-items: center;
+							font-family: PingFang SC, PingFang SC;
+							font-weight: 400;
+							font-size: 22rpx;
+							color: #999999;
+                            .one-t{
+								width: 80%;
+							}
+							image {
+								width: 28rpx;
+								height: 28rpx;
+								margin-right: 14rpx;
+							}
 						}
 					}
 
 				}
 
-				.articles {
-					z-index: 101;
-					// margin: 20rpx 15rpx;
-					margin:  20rpx 24rpx 0rpx;
-					padding: 32rpx;
-					// box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
-					background-color: #fff;
-					border-radius: 16rpx;
+			}
+		}
 
-					.title-box {
-						display: flex;
-						flex-direction: row;
-						align-items: center;
-						justify-content: space-between;
+		.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 {
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
+			.title-box {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				justify-content: space-between;
 
-						.more {
-							display: flex;
-							align-items: center;
-						    justify-content: flex-end;
+				.title {
+					font-size: 32upx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #111111;
+				}
 
-							.text {
-								font-size: 24rpx;
-								font-family: PingFang SC;
-								color:#898E91;
-								// width: calc(100% - 556rpx);
-							}
+				.more {
+					display: flex;
+					align-items: center;
+					justify-content: flex-end;
 
-							image {
-								// margin-left: 10rpx;
-							width: 48rpx;
-							height: 48rpx;
-							}
+					.text {
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						color: #898E91;
+					}
 
-						}
+					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: 32rpx;
-							display: flex;
-							align-items: flex-start;
-							justify-content: flex-start;
-                            border-bottom: 1px solid #ECECEC;
-                            padding-bottom: 32rpx;
-							&:last-child {
-								margin-bottom: 0rpx;
-								border-bottom: 0;
-							}
+		}
 
-							.left {
-								flex: 1;
-								height: 160rpx;
-								margin-right: 30rpx;
-								display: flex;
-								flex-direction: column;
-								align-items: flex-start;
-								justify-content: space-between;
-                                 width: calc(100% - 260upx);
-								.title {
-									width: 100%;
-									font-size: 28upx;
-									font-family: PingFang SC;
-									font-weight: bold;
-									color: #111111;
-								}
+		.articles {
+			z-index: 101;
+			margin-top: 40rpx;
+			padding: 0 24rpx;
 
-								.txt {
-									font-family: PingFang SC, PingFang SC;
-									font-size: 26rpx;
-									color: #898E91;
-								}
+			.title-box {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				justify-content: space-between;
 
-								.views {
-									font-size: 24upx;
-									font-family: PingFang SC;
-									color: #B2B2B2;
-								}
-							}
+				::v-deep.u-tabs__wrapper__nav__item {
+					padding-left: 0 !important;
+				}
 
-							.right {
-								image {
-									border-radius: 10rpx;
-									width: 220rpx;
-									height: 160rpx;
-									// border: 1px solid #eeeeee;
-								}
-							}
-						}
+				.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: #898E91;
+						// width: calc(100% - 556rpx);
+					}
+
+					image {
+						// margin-left: 10rpx;
+						width: 48rpx;
+						height: 48rpx;
 					}
+
 				}
+			}
 
-				.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;
+			.article-box {
+				margin-top: 15rpx;
+				padding: 20rpx 0rpx 0rpx;
+				display: flex;
+				flex-direction: column;
+				align-items: flex-start;
+				justify-content: flex-start;
 
-					.title-box {
+				.item {
+					width: 100%;
+					margin-bottom: 32rpx;
+					display: flex;
+					align-items: flex-start;
+					justify-content: flex-start;
+					border-bottom: 1px solid #ECECEC;
+					padding-bottom: 32rpx;
+
+					&:last-child {
+						margin-bottom: 0rpx;
+						border-bottom: 0;
+					}
+
+					.left {
+						flex: 1;
+						height: 160rpx;
+						margin-right: 30rpx;
 						display: flex;
-						flex-direction: row;
-						align-items: center;
+						flex-direction: column;
+						align-items: flex-start;
 						justify-content: space-between;
+						width: calc(100% - 260upx);
 
 						.title {
-							font-size: 32upx;
+							width: 100%;
+							font-size: 28upx;
 							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;
-							}
+						.txt {
+							font-family: PingFang SC, PingFang SC;
+							font-size: 26rpx;
+							color: #898E91;
+						}
 
-							image {
-								margin-left: 10rpx;
-								width: 15rpx;
-								height: 20rpx;
-							}
+						.views {
+							font-size: 24upx;
+							font-family: PingFang SC;
+							color: #B2B2B2;
+						}
+					}
 
+					.right {
+						image {
+							border-radius: 10rpx;
+							width: 220rpx;
+							height: 160rpx;
+							// border: 1px solid #eeeeee;
 						}
 					}
+				}
+			}
+		}
 
-					.package-box {
-						padding: 20rpx 0rpx 0rpx;
-						display: flex;
-						align-items: flex-start;
-						justify-content: flex-start;
-						flex-wrap: wrap;
+		.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;
 
-						.item {
-							width: calc(50% - 20rpx);
-							border-radius: 15rpx;
-							margin: 10rpx;
-							display: flex;
-							flex-direction: column;
-							align-items: flex-start;
-							justify-content: flex-start;
+			.title-box {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				justify-content: space-between;
 
-							&:last-child {}
+				.title {
+					font-size: 32upx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #111111;
+				}
 
-							.top {
-								width: 100%;
-								height: 300rpx;
+				.more {
+					display: flex;
+					align-items: center;
+					justify-content: flex-end;
 
-								image {
-									border-radius: 15rpx 15rpx 0rpx 0rpx;
-									width: 100%;
-									height: 300rpx;
-								}
+					.text {
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						color: #9B9B9B;
+					}
 
-							}
+					image {
+						margin-left: 10rpx;
+						width: 15rpx;
+						height: 20rpx;
+					}
 
-							.bottom {
-								width: 100%;
-								margin-top: 15rpx;
+				}
+			}
 
-								.title {
-									font-weight: bold;
-									font-size: 28upx;
-									font-family: PingFang SC;
-									color: #111111;
-								}
+			.package-box {
+				padding: 20rpx 0rpx 0rpx;
+				display: flex;
+				align-items: flex-start;
+				justify-content: flex-start;
+				flex-wrap: wrap;
 
-								.price-box {
-									margin-top: 10rpx;
-									display: flex;
-									align-items: center;
-									justify-content: space-between;
-									width: 100%;
+				.item {
+					width: calc(50% - 20rpx);
+					border-radius: 15rpx;
+					margin: 10rpx;
+					display: flex;
+					flex-direction: column;
+					align-items: flex-start;
+					justify-content: flex-start;
 
-									.price {
-										padding: 5rpx 10rpx;
-										background-color: #0bb3f2;
-										border-radius: 30rpx;
-										font-size: 20upx;
-										font-family: PingFang SC;
-										color: #ffffff;
-									}
+					&:last-child {}
 
-									.count {
-										font-size: 24upx;
-										font-family: PingFang SC;
-										color: #333333;
-									}
+					.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: #0bb3f2;
+								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%;

+ 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="/static/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: #0bb3f2;
-			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: #0bb3f2;
-				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="/static/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="/static/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://user.test.ylrztop.com/images/empty_icon.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: #0bb3f2;
-			background: #ffffff;
-			border: 1px solid #0bb3f2;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-	.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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-				}
-				.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 #0bb3f2;
-				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: #0bb3f2;
-					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="/static/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="#0bb3f2"
-				 @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="/static/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: #0bb3f2;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #0bb3f2;
-				}
-			}
-			
-		}
-		.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: #0bb3f2;
-				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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.diseaseName,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-				 
-			}
-			.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="/static/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="../../static/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://user.test.ylrztop.com/images/empty_icon.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: #0bb3f2;
-			background: #ffffff;
-			border: 1px solid #0bb3f2;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-	.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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-				}
-				.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 #0bb3f2;
-				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: #0bb3f2;
-					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="/static/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="#0bb3f2"
-				 @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="/static/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: #0bb3f2;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #0bb3f2;
-				}
-			}
-			
-		}
-		.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: #0bb3f2;
-				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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-				}
-				.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 #0bb3f2;
-				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: #0bb3f2;
-					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="/static/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://user.test.ylrztop.com/images/empty_icon.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: #0bb3f2;
-			background: #ffffff;
-			border: 1px solid #0bb3f2;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-	.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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.title,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-			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: #0bb3f2;
-				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 - 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="/static/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="/static/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="/static/images/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="/static/images/detault_head.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="/static/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="/static/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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康体质检测",
-					imageUrl: 'https://user.test.ylrztop.com/images/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 - 224
pages/home/new/testDetails.vue

@@ -1,224 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg-box">
-			<image src="https://user.test.ylrztop.com/images/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>
-		
-	</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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-			 		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://user.test.ylrztop.com/images/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://user.test.ylrztop.com/images/empty_icon.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: []
-			};
-		},
-		onShow() {
-		 
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					path: '/pages_index/testList',
-					imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: "健康自测",
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-						.num{
-							font-weight: bold;
-							color: #814E1B;
-						}
-					}
-					.time{
-						margin-left: 25upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #0bb3f2;
-					}
-				}
-			}
-			.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://user.test.ylrztop.com/images/8e52ab17eabc4534b3ce56026fd5c624.jpg" ></image>
-			</view>
-			<view class="cont-box" v-if="report!=null">
-				<view class="user">
-					<image :src="JSON.parse(report.patientJson).avatar==null?'/static/images/detault_head.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: #0bb3f2;
-				// background: linear-gradient(#66b2ef, #0bb3f2);
-				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: #0bb3f2;
-									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:#0bb3f2 !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: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				return {
-					title: this.item.vesselName,
-					imageUrl: 'https://user.test.ylrztop.com/images/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: #0bb3f2;
-				}
-				.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 #0bb3f2;
-				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: #0bb3f2;
-					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="/static/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="#0bb3f2"
-				 @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="/static/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: #0bb3f2;
-					}
-					
-				}
-				.active{
-					background-color: #fff;
-					font-weight: bold;
-					color: #0bb3f2;
-					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: #0bb3f2;
-				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 - 478
pages/home/productList.vue

@@ -1,478 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-fixed">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-					<input type="text" @confirm="goSearch"   :value="form.productName" 
-						:placeholder="storeId ? '搜索店内药品' : '输入药品名称'" 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="../../static/images/search1.png" mode=""></image>
-					<image @click="showChange(1)" v-if="showType==2"  src="../../static/images/search2.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 排序框 -->
-			<view class="sort-box">
-				<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="../../static/images/price_arrow_up.png" mode="" @click="priceUp(true)"></image>
-						<image v-if="form.priceOrder=='asc'" src="../../static/images/price_arrow_up2.png" mode="" @click="priceUp(false)"></image>
-						<image v-if="form.priceOrder==null||form.priceOrder=='asc'" src="../../static/images/price_arrow_down.png" mode="" @click="priceDown(true)"></image>
-						<image v-if="form.priceOrder=='desc'" src="../../static/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="../../static/images/price_arrow_up.png" mode="" @click="saleUp(true)"></image>
-						<image v-if="form.salesOrder=='asc'" src="../../static/images/price_arrow_up2.png" mode="" @click="saleUp(false)"></image>
-						<image v-if="form.salesOrder==null||form.salesOrder=='asc'" src="../../static/images/price_arrow_down.png" mode="" @click="saleDown(true)"></image>
-						<image v-if="form.salesOrder=='desc'" src="../../static/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="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}} {{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>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getProducts} from '@/api/product'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				showType:1,
-				form:{
-					defaultOrder:'desc',
-					newOrder:null,
-					priceOrder:null,
-					salesOrder:null,
-					productName:"",
-					storeId: ""
-				},
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					},
-					textNoMore:"已经到底了",
-				},
-				// 列表数据
-				dataList: [],
-				storeId: ""
-			};
-		},
-		onLoad(option) {
-			if(option.key!=undefined){
-				this.form.productName = option.key
-			}
-			this.storeId = option.storeId || ""
-			this.form.storeId = this.storeId
-		},
-		methods:{
-			goSearch(e) {
-				this.form.productName=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){
-				this.showType=type;
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				this.form.page=page.num;
-				this.form.pageSize=page.size;
-				getProducts(this.form).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();
-					}
-				});
-			},
-			// 价格升序是否选中
-			priceUp(value) {
-				this.priceIsUp = value
-				this.priceIsDown = false
-			},
-			// 价格降序是否选中
-			priceDown(value) {
-				this.priceIsDown = value
-				this.priceIsUp = false
-			},
-			// 销量升序是否选中
-			saleUp(value) {
-				this.saleIsUp = value
-				this.saleIsDown = false
-			},
-			// 销量降序是否选中
-			saleDown(value) {
-				this.saleIsDown = value
-				this.saleIsUp = false
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: '../shopping/productDetails?productId='+item.productId + `${this.storeId ? '&storeId='+this.storeId : ''}`
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.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;
-			}
-			
-		}
-	}
-	.sort-box{
-		height: 88upx;
-		background: #FFFFFF;
-		padding: 0 100upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.item{
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			&.active .label{
-				color: #008FD3;
-			}
-			.label{
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-			}
-			.sort-img{
-				height: 20upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				margin: 3upx 0 0 10upx;
-				image{
-					width: 12upx;
-					height: 8upx;
-				}
-			}
-		}
-	}
-	.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;
-			.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;
-		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;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 136
pages/home/productSearch.vue

@@ -1,136 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 搜索框 -->
-		<view class="search-cont">
-			<view class="inner">
-				<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-				<input type="text" value="" :placeholder="storeId ? '搜索店内药品' : '输入药品名称'" confirm-type="搜索" @confirm="goSearch" :focus='setFocus' placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-			</view>
-		</view>
-		<!-- 搜索历史 -->
-		<view class="title-box">
-			<text class="title">历史搜索</text>
-			<image src="../../static/images/del.png" mode="" @click="clearHistory"></image>
-		</view>
-		<view class="data-list">
-			<view class="item" v-for="(item,index) in searchHistory" :key="index" @click="doSearch(item)">
-				{{ item }}
-			</view>
-		</view>
-		<!-- 推荐搜索 -->
-		<view class="title-box">
-			<text class="title">推荐搜索</text>
-		</view>
-		<view class="data-list">
-			<view class="item" v-for="(item,index) in topSearch" :key="index" @click="doSearch(item)">
-				{{ item }}
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				setFocus: false,
-				// 历史搜索
-				searchHistory: [],
-				// 推荐搜索
-				topSearch: [],
-				storeId: "",
-			};
-		},
-		onLoad(options) {
-			this.storeId = options.storeId || ""
-		},
-		onShow() {
-			this.setFocus = true
-			this.searchHistory=this.utils.getHisSearch();
-			var config=uni.getStorageSync('config');
-			if(config!=null&&config!=undefined&&config!=""){
-				this.topSearch=JSON.parse(config).hotSearch.split(',');
-			}
-		},
-		methods:{
-			// 清空历史搜索数据
-			clearHistory() {
-				this.utils.clearHisSearch();
-				this.searchHistory=this.utils.getHisSearch();
-			},
-			doSearch(item){
-				uni.navigateTo({
					url: './productList?key=' + item + `${this.storeId ? '&storeId='+this.storeId : ''}`
				})
-			},
-			goSearch(e) {
-				if(e.detail.value!=null&&e.detail.value!=""){
-					this.utils.addHisSearch(e.detail.value);
-				}
-				uni.navigateTo({
-					url: './productList?key=' + e.detail.value + `${this.storeId ? '&storeId='+this.storeId : ''}`
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		.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;
-				}
-			}
-		}
-		.title-box{
-			padding: 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.title{
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #111111;
-			}
-			image{
-				width: 30upx;
-				height: 30upx;
-			}
-		}
-		.data-list{
-			padding: 0upx 10upx 30upx;
-			display: flex;
-			flex-wrap: wrap;
-			.item{
-				padding: 0 30upx;
-				height: 56upx;
-				line-height: 56upx;
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #333333;
-				background: #F5F5F5;
-				border-radius: 28upx;
-				margin: 0 20upx 20upx 0;
-			}
-		}
-	}
-</style>

+ 0 - 511
pages/shopping/cart.vue

@@ -1,511 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 商品列表 -->
-		<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-			<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-				<label style="margin-right: 30upx;">
-					<checkbox :value="shop.checked" :checked="shop.checked" @click="checkShopChange(shop)" />
-				</label>
-				<text>{{shop.storeName}}</text>
-			</view>
-			<view class="goods-list">
-				<view class="item" v-for="(item,index) in shop.list" :key="index">
-					<label style="margin-right: 30upx;">
-						<checkbox :value="item.checked"  :checked="item.checked" @click="checkChange(item,shop)" />
-					</label>
-					<image class="goods-img" :src="item.productAttrImage==null||item.productAttrImage==''?item.productImage:item.productAttrImage" mode="aspectFit"></image>
-					<view class="info-box">
-						<view>
-							<view class="title-box">
-								<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>
-								<view class="title ellipsis">{{ item.productName }}</view>
-							</view>
-							<view class="intro ellipsis">{{item.productAttrName}}</view>
-						</view>
-						<view class="price-num">
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="text">{{item.price}}</text>
-							</view>
-							<view class="num-box">
-								<view class="img-box" @click="delNum(item)">
-									<image v-if="item.cartNum <= 1" src="../../static/images/jian.png" mode=""></image>
-									<image v-else src="../../static/images/jian2.png" mode=""></image>
-								</view>
-								<input  type="number" @change="changeNum($event,item)" :value="item.cartNum"   />
-								<view class="img-box" @click="addNum(item)">
-									<image src="../../static/images/add.png" mode=""></image>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view v-if="carts.length == 0" class="no-data-box">
-			<image src="../../static/images/no_data.png" mode="aspectFit"></image>
-			<view class="empty-title">暂无数据</view>
-		</view>
-		<!-- 猜你喜欢 -->
-		 
-		<view class="like-product">
-			<likeProduct  ref="product" />
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="left">
-				<label>
-					<checkbox  :checked="checkAll" @click="handleCheckAll()" />
-				</label>
-				<text class="text">全选</text>
-				<text class="text" @click="delCart()">删除</text>
-			</view>
-			<view class="right">
-				<view class="total">
-					<text class="label">合计:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{totalMoney.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="submit">结算</view>
-			</view>
-		</view>
-		
-	</view>
-</template>
-
-<script>
-	import {getCarts,cartNum,delCart} from '@/api/product'
-	import likeProduct from '@/components/likeProduct.vue'
-	export default {
-		components: {
-			likeProduct
-		},	
-		data() {
-			return {
-				 
-				totalMoney:0.00,
-				carts:[],
-				checkAll:false,
-			}	
-		},
-		onLoad() {
-			// this.getCarts();
- 
-		},
-		onShow() {
-			this.getCarts();
-		},
-		onReachBottom() {
-			this.$refs.product.getGoodsProducts();
-		},
-		methods: {
-			delCart(){			
-				var selectCarts = this.carts.flatMap(item => item.list.filter(listItem => listItem.checked === true)).map(el => el.id);
-				
-				if(selectCarts.length==0){
-					uni.showToast({
-						icon:'none',
-						title: "请选择商品删除",
-					});
-					return;
-				}
-				let data = {ids:selectCarts};
-				delCart(data).then(
-					res => {
-						if(res.code==200){
-							uni.showToast({
-								icon:'success',
-								title: "操作成功",
-							});
-							this.getCarts()
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				console.log(selectCarts)
-			},
-			computedMoney(){
-				var money=0;
-				var that=this;
-				this.carts.forEach((item,index,arr)=>{
-					item.list.forEach(it => {
-						if(it.checked){
-							money+=it.price*it.cartNum;
-						}
-					});
-				})
-				console.log(money);
-				this.totalMoney=money;
-			},
-			handleCheckAll(){
-				this.checkAll=!this.checkAll;
-				var that=this;
-				this.carts.forEach((item,index,arr)=>{
-				     item.checked=that.checkAll;
-					 item.list.forEach(it => {
-					 	it.checked=that.checkAll;
-					 });
-				})
-				this.computedMoney();
-			},
-			checkShopChange(item) {
-				item.checked = !item.checked;
-				item.list.forEach(it => {
-					it.checked= item.checked;
-				});
-				 // 新增:检查所有店铺是否都勾选,同步全局状态
-				this.checkAll = this.carts.every(item => item.checked);
-				this.computedMoney();
-			},
-			checkChange(item,shop){
-				item.checked=!item.checked;
-				shop.checked = shop.list.every(it => it.checked);
-				 // 新增:检查所有店铺是否都勾选,同步全局状态
-				this.checkAll = this.carts.every(shop => shop.checked);
-				this.computedMoney();
-			},
-			changeNum(e,item) {
-				item.cartNum = e.detail.value.replace(/\D/g, '')
-				if (item.cartNum <= 1) {
-				  uni.showToast({
-				    title: "已经是底线啦!",
-				    icon: "none",
-				    duration: 2000
-				  });
-				  return;
-				}
-				if(item.cartNum < 1) {
-					item.cartNum = 1
-				}
-				if(item.cartNum>=item.stock){
-					item.cartNum=item.stock;
-				}
-				this.changeCartNum(item)
-			},
-			changeCartNum(item){
-				let data = {number:item.cartNum,id:item.id};
-				cartNum(data).then(
-					res => {
-						if(res.code==200){
-							uni.showToast({
-								icon:'none',
-								title: "操作成功",
-							});
-							this.computedMoney();
-							
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getCarts(){
-				getCarts().then(
-					res => {
-						if(res.code==200){
-							 this.carts=res.carts;
-							 this.carts.forEach(item => {
-							   item.checked = false;
-							   item.list.forEach(it => {
-							     it.checked = false;
-							   });
-							 });
-							 this.computedMoney();
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// 购物车减法
-			delNum(item) {
-				if (item.cartNum <= 1) {
-				  uni.showToast({
-				    title: "已经是底线啦!",
-				    icon: "none",
-				    duration: 2000
-				  });
-				  return;
-				}
-				item.cartNum --
-				if(item.cartNum < 1) {
-					item.cartNum = 1
-				}
-				 
-				this.changeCartNum(item)
-			},
-			// 购物车加法
-			addNum(item) {
-				console.log(item)
-				item.cartNum++
-				if(item.cartNum>=item.stock){
-					item.cartNum=item.stock;
-				}
-				this.changeCartNum(item)
-			},
-			// 结算
-			submit() {
-				let selectCarts = this.carts
-				  .filter(item => item.list.some(listItem => listItem.checked === true))
-				  .map(item => ({
-				    storeId: item.storeId || "",
-				    data: {
-				      type: "cart",
-				      cartIds: item.list.filter(it=>it.checked == true).map(it => it.id).join(","),
-				    }
-				  }));
-				if(selectCarts.length==0){
-					uni.showToast({
-						icon:'none',
-						title: "请选择商品",
-					});
-					return;
-				}
-				uni.navigateTo({
-					url: './confirmOrder?type=cart&confirmParam='+ encodeURIComponent(JSON.stringify(selectCarts))
-				})
-			},
-			showProduct(item){
-				uni.navigateTo({
-					url: '../shopping/productDetails?productId='+item.productId
-				})
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		padding: 20upx;
-		.shopbox {
-			background: #FFFFFF;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-		}
-		.shopbox-name {
-			padding: 30rpx 30rpx 0 30rpx;
-			font-family: PingFang SC, PingFang SC;
-			font-weight: 400;
-			font-size: 30rpx;
-			color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		.goods-list{
-			.item{
-				box-sizing: border-box;
-				height: 221upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-				padding: 30upx;
-				display: flex;
-				align-items: center;
-				&:last-child{
-					margin-bottom: 0;
-				}
-				.goods-img{
-					width: 160upx;
-					height: 160upx;
-					background: #FFFFFF;
-					margin-right: 30upx;
-					flex-shrink: 0;
-				}
-				.info-box{
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					width: calc(100% - 255upx);
-					.title-box{
-						width: 100%;
-						display: flex;
-						align-items: center;
-						.tag{
-							padding: 0 6upx;
-							height: 30upx;
-							line-height: 30upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							flex-shrink: 0;
-						}
-						.title{
-							flex: 1;
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							line-height: 1;
-						}
-					}
-					.intro{
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						margin-top: 22upx;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.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;
-							}
-							.text{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #FF6633;
-								line-height: 1;
-							}
-						}
-						.num-box{
-							display: flex;
-							align-items: center;
-							.img-box{
-								width: 60upx;
-								height: 60upx;
-								// border-radius: 4upx;
-								border: 1px solid #dddddd;
-								display: flex;
-								align-items: center;
-								justify-content: center;
-								image{
-									width: 25rpx;
-									height: 25rpx;
-								}
-							}
-							input{
-								width: 60upx;
-								height: 60upx;
-								line-height: 60upx;
-								font-size: 28upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								// border-radius: 4upx;
-								border-top: 1px solid #dddddd;
-								border-bottom: 1px solid #dddddd;
-								text-align: center;
-								// margin: 0 16upx;
-							}
-						}
-					}
-				}
-			}
-		}
-		.like-product{
-			padding-bottom: 120upx;
-		}
-		.btn-foot{
-			box-sizing: border-box;
-			width: 100%;
-			height: 121upx;
-			background: #FFFFFF;
-			padding: 16upx 30upx 16upx 60upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			position: fixed;
-			left: 0;
-			bottom: 0;
-			z-index: 99;
-			.left{
-				display: flex;
-				align-items: center;
-				.text{
-					margin-left: 14upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					line-height: 1;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.total{
-					display: flex;
-					align-items: flex-end;
-					margin-right: 36upx;
-					.label{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1.5;
-					}
-					.price{
-						display: flex;
-						align-items: flex-end;
-						.unit{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1.2;
-							margin-right: 10upx;
-						}
-						.num{
-							font-size: 30upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1;
-						}
-					}
-				}
-				.btn{
-					width: 200upx;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					background: #0bb3f2;
-					border-radius: 44upx;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 869
pages/shopping/confirmCreateOrder.vue

@@ -1,869 +0,0 @@
-<template>
-	<view>
-		<view class="inner-box">
-			<!-- 收货人 -->
-			<view class="address-box" v-if="address==null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">添加收货地址</text>
-					</view>
-					</vie>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="address-box" v-if="address!=null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">{{address.realName}}</text>
-						<text class="text" v-if="address.phone!=null">{{utils.parsePhone(address.phone)}}</text>
-					</view>
-					<view class="address">
-						{{address.province}}{{address.city}}{{address.district}}{{address.detail}}
-					</view>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 药品列表 -->
-			<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-				<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-					<text>{{shop.storeName}}</text>
-				</view>
-				<view class="goods-list">
-					<view v-for="(item,index) in shop.list" :key="index" class="item">
-						<view class="img-box">
-							<image :src="item.productAttrImage?item.productAttrImage:item.productImage" mode="aspectFill"></image>
-						</view>
-						<view class="info-box">
-							<view>
-								<view class="name-box ellipsis2">
-									<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
-								</view>
-								<view class="spec ellipsis2">{{item.productAttrName}}</view>
-							</view>
-							<view class="price-num">
-								<view class="price">
-									<text class="unit">¥</text>
-									<text class="num">{{item.price.toFixed(2)}}</text>
-								</view>
-								<view class="num">x{{item.cartNum}}</view>
-							</view>
-						</view>
-					</view>
-					<!-- 运费 -->
-					<view class="points">
-						<view class="left">
-							<text class="text">运费</text>
-						</view>
-						<view class="right" v-if="price&&price.length > 0">
-							<text class="text">{{price[idx].payPostage==null||price[idx].payPostage==0?'免运费':price[idx].payPostage.toFixed(2)}}</text>
-						</view>
-					</view>
-					<!-- 备注 -->
-					<view class="points">
-						<view class="left">
-							<text class="text">备注</text>
-						</view>
-						<view class="remarks">
-							<input type="text" v-model="shop.markinfo" placeholder="备注留言(选填)" placeholder-class="input" />
-						</view>
-					</view>
-				</view>
-			</view>
-			<!-- 积分 -->
-			<view class="price-info">
-				<view class="price-info-title">价格明细</view>
-				<view class="points">
-					<view class="left">
-						<text class="text">商品总价</text>
-					</view>
-					<view class="right" style="align-items: baseline;">
-						<text class="price-info-unit">¥</text>
-						<text class="price-info-num">{{priceAll.totalPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="points">
-					<view class="left">
-						<image src="../../static/images/points.png" mode=""></image>
-						<text class="text">可用积分</text>
-					</view>
-					<view class="right">
-						<text class="text">{{priceAll.usedIntegral}}积分</text>
-						<evan-switch @change="integralChange" v-model="checked" activeColor="#0bb3f2" inactiveColor="rgba(0, 0, 0, 0.1)"></evan-switch>
-					</view>
-				</view>
-				<view class="points" @click="openCoupon()">
-					<view class="left">
-						<text class="text">优惠券</text>
-					</view>
-					<view class="right">
-						<text class="text">{{couponText}}</text>
-						<image src="/static/images/arrow4.png" mode=""></image>
-					</view>
-				</view>
-				<view class="points">
-					<view class="left">
-						<text class="text">合计</text>
-					</view>
-					<view class="right" style="align-items: baseline;">
-						<text class="price-info-unit">¥</text>
-						<text class="price-info-num">{{priceAll.payPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-			</view>
-			<!-- <view class="points">
-				<view class="left">
-					<text class="text">运费</text>
-				</view>
-				<view class="right">
-					<text class="text">{{price.payPostage==null||price.payPostage==0?'免运费':price.payPostage.toFixed(2)}}</text>
-				</view>
-			</view> -->
-			<!-- 备注 -->
-			<!-- <view class="remarks">
-				<input type="text" v-model="form.mark" placeholder="备注留言(选填)" placeholder-class="input" />
-			</view> -->
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="right">
-				<view class="total">
-					<text class="label">合计:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{priceAll.payPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="submitOrder">提交订单</view>
-			</view>
-		</view>
-		<popupBottom ref="popup" :visible.sync="couponVisible" title=" " bgColor="#f5f5f5" radius="30"    maxHeight="60%">
-		     <view class="coupon" style="height:650rpx;">
-				 <div class="coupon-list" v-if="couponsList.length > 0">
-				   <div class="item acea-row row-center-wrapper"  v-for="(item, index) in couponsList" :key="index">
-				     <div class="money" >
-				       <image v-if="item.status==0" class="img" src="https://user.test.ylrztop.com/images/coupon1.png" mode="widthFix"></image>
-				 	  <image v-if="item.status!=0" class="img" src="https://user.test.ylrztop.com/images/coupon2.png" mode="widthFix"></image>
-				 	  <div style="z-index: 999;">
-				         ¥<span class="num">{{ item.couponPrice }}</span>
-				       </div>
-				       <div class="pic-num"  >满{{ item.useMinPrice }}元可用</div>
-				     </div>
-				     <div class="text">
-				       <div class="condition line1">
-				         {{ item.couponTitle }}
-				       </div>
-				       <div class="data acea-row row-between-wrapper">
-							<div >{{ item.limitTime }}到期</div>
-							<div class="bnt bg-color-red" @click="couponSelect(item)"  >选择</div>
-				       </div>
-				     </div>
-				   </div>
-				 </div>
-				 <view v-if="couponsList.length == 0" class="no-data-box" >
-				 	<image src="/static/images/no_data.png" mode="aspectFit"></image>
-				 	<view class="empty-title">暂无数据</view>
-				 </view>
-			 </view>
-			 
-		</popupBottom>
-	</view>
-</template>
-
-<script>
-	import {getWeixinOrderTemps} from '@/api/common'
-	
-	import {confirm,computed,create} from '@/api/storeOrder'
-	import { getMyEnableCouponList } from '@/api/coupon'
-	 
-	import EvanSwitch from '@/components/evan-switch/evan-switch.vue'
-	import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
-	
-	export default {
-		components: {
-			EvanSwitch,
-			popupBottom
-		},
-		data() {
-			return {
-				temps:[],
-				couponUserId:null,
-				couponText:"请选择",
-				couponsList:[],
-				couponVisible:false,
-				price:[],
-				priceAll: {
-					payPrice:0,
-					totalPostage:0,
-					usedIntegral:0,
-					totalPrice:0.00,
-				},
-				address:null,
-				carts:[],
-				checked: false,
-				type:null,
-				cartIds:null,
-				form:{
-					useIntegral:0,
-					orderKey:null,
-					addressId:null,
-					mark:null,
-					companyId:null,
-					companyUserId:null,
-					createOrderKey:null,
-				},
-				confirmParam: []
-			}
-		},
-		onLoad(option) {
-			this.confirmParam = JSON.parse(decodeURIComponent(option.confirmParam))
-			this.form.createOrderKey=option.createOrderKey;
-			this.form.companyId= option.companyId;
-			this.form.companyUserId=option.companyUserId;
-			this.cartIds=option.cartIds;
-			this.type=option.type;
-			this.confirm();
-			uni.$on('updateAddress', (e) => {
-				this.address=e;
-				this.form.addressId=e.id;
-			})
-			this.getWeixinOrderTemps();
-		},
-		methods: {
-			getWeixinOrderTemps:function(){
-				getWeixinOrderTemps().then(
-					res => {
-						if(res.code==200){
-							this.temps=res.temp
-						}else{
-							 
-						}
-					},
-					rej => {}
-				);
-			},
-			couponSelect(item){
-				this.couponText="-¥"+item.couponPrice.toFixed(2);
-				this.couponUserId=item.id;
-				this.couponVisible=false;
-				this.computed();
-			},
-			openCoupon(){
-				let that = this;
-				var data={couponType:2,useMinPrice:this.price.payPrice};
-				getMyEnableCouponList(data).then(res => {
-				  this.couponVisible=true;
-				  that.couponsList = res.data
-				})
-			},
-			integralChange(e){
-				this.form.useIntegral=e?1:0
-				this.computed()
-			},
-			confirm(item){
-				// let data = {type:this.type,cartIds:this.cartIds};
-				confirm(this.confirmParam).then(
-					res => {
-						if(res.code==200){
-							 
-							 this.carts=res.carts.map(item=>({
-								 ...item,
-								 markinfo: ""
-							 }));
-							 this.form.orderKey=res.orderKeys;
-							 if(res.address!=null){
-								 this.form.addressId=res.address.id;
-								 this.address=res.address;
-							 }
-							 this.computed()
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			computed(item){
-				let data = {createOrderKey:this.form.createOrderKey,couponUserId:this.couponUserId,orderKeys:this.form.orderKey,addressId:this.form.addressId,useIntegral:this.form.useIntegral};
-				computed(data).then(
-					res => {
-						if(res.code==200){
-							 // this.price=res.data
-							 this.price= res.data && res.data.length > 0 ? res.data : []
-							 this.priceAll = res.data && res.data.length > 0 ? res.data[res.data.length -1] : {
-								payPrice:0,
-								totalPostage:0,
-								usedIntegral:0,
-								totalPrice:0.00,
-							 }
-						}else{
-							if(res.code==501){
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-								setTimeout(function(){
-									uni.navigateBack({
-										delta:1
-									})
-								},500);
-								return;
-							}
-							else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			// 提交订单
-			submitOrder() {
-				var that=this;
-				if(this.form.orderKey==null){
-					uni.showToast({
-						icon:'none',
-						title: '订单KEY不存在',
-					});
-					return;
-				}
-				if(this.form.addressId==null){
-					uni.showToast({
-						icon:'none',
-						title: '收货地址不能为空',
-					});
-					return;
-				}
-				
-				uni.requestSubscribeMessage({
-					tmplIds: this.temps,
-					success(res) {
-						 that.createOrder();
-					},
-					fail(res) {
-						that.createOrder();
-					}
-				})
-				
-			},
-			createOrder(){
-				const mark = this.carts.map(item => item.markinfo)
-				var that=this;
-				var data=null;
-				var tuiUserId=uni.getStorageSync('tuiUserId');
-				uni.showLoading({
-					title: '正在处理中...'
-				});
-				if(tuiUserId!=null&&tuiUserId!=undefined&&tuiUserId>0){
-					data = {createOrderKey:this.form.createOrderKey,orderCreateType:3,tuiUserId:tuiUserId,companyId:this.form.companyId,companyUserId:this.form.companyUserId,couponUserId:this.couponUserId,mark:mark,orderKeys:this.form.orderKey,addressId:this.form.addressId,useIntegral:this.form.useIntegral,payType:1};
-				}
-				else{
-					data = {createOrderKey:this.form.createOrderKey,orderCreateType:3,companyId:this.form.companyId,companyUserId:this.form.companyUserId,couponUserId:this.couponUserId,mark:mark,orderKeys:this.form.orderKey,addressId:this.form.addressId,useIntegral:this.form.useIntegral,payType:1};
-				}
-				create(data).then(
-					res => {
-						uni.hideLoading()
-						if(!res.code && res.code !== 0){
-							uni.hideLoading()
-							// if(res.order.isPrescribe==1){
-							// 	setTimeout(function(){
-							// 		uni.redirectTo({
-							// 			url:"prescribe?orderId="+res.order.id
-							// 		})
-							// 	},200);
-							// }
-							// else{
-							// 	setTimeout(function(){
-							// 		uni.redirectTo({
-							// 			url: './paymentOrder?orderId='+res.order.id
-							// 		})
-							// 	},200);
-							// }
-							if(res.some(item=> item.order.isPrescribe) == 1) {
-								setTimeout(function(){
-									let orderIds = res.filter(item=> item.order.isPrescribe == 1).map(it=>it.order.id)
-									orderIds = orderIds.join(',')
-									uni.redirectTo({
-										url:"prescribe?orderId="+orderIds+"&combinationOrderId="+encodeURIComponent(res[0].order.combinationOrderId)
-									})
-								},200);
-							} else {
-								setTimeout(function(){
-									uni.redirectTo({
-										url: './paymentOrder?combinationOrderId='+encodeURIComponent(res[0].order.combinationOrderId)
-									})
-								},200);
-							}
-							return;
-						}
-						else{
-							if(res.code==501){
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-								setTimeout(function(){
-									uni.navigateBack({
-										delta:1
-									})
-								},200);
-								return;
-							}
-							else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-						}
-					},
-					rej => {}
-				);
-			},
-			openAddress(){
-				uni.navigateTo({
-					url: '/pages_user/user/address'
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.inner-box{
-		padding: 20upx 20upx 140upx;
-		.address-box{
-			margin-bottom: 20rpx;
-			box-sizing: border-box;
-			min-height: 171upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			background-image: url(../../static/images/address_bg.png);
-			background-repeat: no-repeat;
-			background-size: 100% 30upx;
-			background-position: left bottom;
-			padding: 38upx 30upx 36upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				width: 92%;
-				.name-box{
-					display: flex;
-					align-items: center;
-					.text{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-						line-height: 1;
-						&.name{
-							margin-right: 30upx;
-						}
-					}
-				}
-				.address{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					line-height: 42upx;
-					text-align:left;
-					margin-top: 23upx;
-				}
-			}
-			.arrow-box{
-				width: 12upx;
-				height: 23upx;
-				display: flex;
-				align-items: cenetr;
-				justify-content: cenetr;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-		.shopbox {
-			background: #FFFFFF;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			.points {
-				padding: 0 !important;
-			}
-			.remarks {
-				padding: 0 !important;
-			}
-		}
-		.shopbox-name {
-			padding: 30rpx 30rpx 0 30rpx;
-			font-family: PingFang SC, PingFang SC;
-			font-weight: 400;
-			font-size: 30rpx;
-			color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		.goods-list{
-			// margin-top: 20upx;
-			padding: 0 30upx;
-			background-color: #FFFFFF;
-			border-radius: 16upx;
-			.item{
-				padding: 30upx 0;
-				border-bottom: 1px solid #EDEEEF;
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 160upx;
-					height: 160upx;
-					margin-right: 30upx;
-					image{
-						width: 100%;
-						height: 100%;
-					}
-				}
-				.info-box{
-					width: calc(100% - 190upx);
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					.name-box{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 40upx;
-						.tag{
-							display: inline-block;
-							padding: 0 6upx;
-							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							line-height: 30upx;
-							float: left;
-							margin-top: 7upx;
-						}
-					}
-					.spec{
-						margin-top: 10upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.price{
-							display: flex;
-							align-items: flex-end;
-							.unit{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-							.num{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1;
-							}
-						}
-						.num{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.sub-total{
-				height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				.label{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-				.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: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-		}
-		.price-info {
-			background: #FFFFFF;
-			border-radius: 16upx;
-			&-title {
-				    padding: 30rpx 30rpx 20rpx 30rpx;
-				    font-family: PingFang SC, PingFang SC;
-				    font-weight: 500;
-				    font-size: 30rpx;
-				    color: #111;
-			}
-			&-unit {
-				font-size: 24rpx;
-			}
-			&-num {
-				font-size: 28rpx;
-			}
-		}
-		.points{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			 
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				display: flex;
-				align-items: center;
-				image{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					 
-				}
-				image{
-					margin-left: 15upx;
-					width: 14upx;
-					height: 24upx;
-				}
-			}
-		}
-		.remarks{
-			// height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-			display: flex;
-			align-items: center;
-			input{
-				width: 100%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #000000;
-			}
-			.input{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-		}
-	}
-	
-	
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		padding: 16upx 30upx 16upx 60upx;
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.right{
-			display: flex;
-			align-items: center;
-			.total{
-				display: flex;
-				align-items: flex-end;
-				margin-right: 36upx;
-				.label{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1.5;
-				}
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 50upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.btn{
-				width: 200upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-</style>
-<style lang="less" scoped>
-	.coupon {
-	  height: 100%;
-	}
-	/*优惠券列表公共*/
-	.coupon-list {
-	}
-	.coupon-list .item {
-	  display: flex;
-	  flex-direction: column;
-	  justify-content: center;
-	  align-items: center;
-	  width: 100%;
-	  height: 1.7 * 100rpx;
-	  margin-bottom: 0.16 * 100rpx;
-	}
-	
-	.coupon-list .item .money {
-	  background-size: 100% 100%;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  font-size: 0.36 * 100rpx;
-	  font-weight: bold;
-	  text-align: center;
-	  display: flex;
-	  flex-direction: column;
-	  align-items: center;
-	  justify-content: center;
-	  position: relative;
-	  
-	}
-	.coupon-list .item .money .img{
-	  position: absolute;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  
-	}
-	
-	.coupon-list .item .money .num {
-	  font-size: 0.6 * 100rpx;
-	}
-	.coupon-list .item .money .pic-num {
-	  font-size: 20rpx;
-	  z-index: 99;
-	}
-
-	
-	.coupon-list .item .text {
-	  width: 4.5 * 100rpx;
-	  padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
-	  background-color: #fff;
-	  box-sizing: border-box;
-	}
-	
-	.coupon-list .item .text .condition {
-	  font-size: 0.3 * 100rpx;
-	  color: #282828;
-	  height: 0.93 * 100rpx;
-	  line-height: 0.93 * 100rpx;
-	  border-bottom: 1px solid #f0f0f0;
-	}
-	
-	.coupon-list .item .text .data {
-	  font-size: 0.2 * 100rpx;
-	  color: #999;
-	  height: 0.76 * 100rpx;
-	}
-	
-	.coupon-list .item .text .data .bnt {
-	  width: 1.36 * 100rpx;
-	  height: 0.44 * 100rpx;
-	  border-radius: 0.22 * 100rpx;
-	  font-size: 0.22 * 100rpx;
-	  color: #fff;
-	  text-align: center;
-	  line-height: 0.44 * 100rpx;
-	  background-color: red;
-	}
-	
-	.coupon-list .item .text .data .bnt.gray {
-	  background-color: #ccc;
-	}
-</style>
-

+ 0 - 960
pages/shopping/confirmOrder.vue

@@ -1,960 +0,0 @@
-<template>
-	<view>
-		<view class="inner-box">
-			<!-- 收货人 -->
-			<view class="address-box" v-if="address==null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">添加收货地址</text>
-					</view>
-					</vie>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="address-box" v-if="address!=null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">{{address.realName}}</text>
-						<text class="text" v-if="address.phone!=null">{{utils.parsePhone(address.phone)}}</text>
-					</view>
-					<view class="address">
-						{{address.province}}{{address.city}}{{address.district}}{{address.detail}}
-					</view>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 药品列表 -->
-			<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-				<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-					<text>{{shop.storeName}}</text>
-				</view>
-				<view class="goods-list">
-					<view v-for="(item,index) in shop.list" :key="index" class="item">
-						<view class="img-box">
-							<image :src="item.productAttrImage || item.productImage" mode="aspectFill"></image>
-						</view>
-						<view class="info-box">
-							<view>
-								<view class="name-box ellipsis2">
-									<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}
-									</view>{{item.productName}}
-								</view>
-								<view class="spec ellipsis2">{{item.productAttrName}}</view>
-							</view>
-							<view class="price-num">
-								<view class="price">
-									<text class="unit">¥</text>
-									<text class="num">{{item.price.toFixed(2)}}</text>
-								</view>
-								<view class="num">x{{item.cartNum}}</view>
-							</view>
-						</view>
-					</view>
-					<!-- 运费 -->
-					<view class="points">
-						<view class="left">
-							<text class="text">运费</text>
-						</view>
-						<view class="right" v-if="price&&price.length > 0">
-							<text
-								class="text">{{price[idx].payPostage==null||price[idx].payPostage==0?'免运费':price[idx].payPostage.toFixed(2)}}</text>
-						</view>
-					</view>
-					<!-- 备注 -->
-					<view class="points">
-						<view class="left">
-							<text class="text">备注</text>
-						</view>
-						<view class="remarks">
-							<input type="text" v-model="shop.markinfo" placeholder="备注留言(选填)"
-								placeholder-class="input" />
-						</view>
-					</view>
-				</view>
-			</view>
-			<!-- 积分 -->
-			<view class="price-info">
-				<view class="price-info-title">价格明细</view>
-				<view class="points">
-					<view class="left">
-						<text class="text">商品总价</text>
-					</view>
-					<view class="right" style="align-items: baseline;">
-						<text class="price-info-unit">¥</text>
-						<text class="price-info-num">{{priceAll.totalPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="points">
-					<view class="left">
-						<image src="../../static/images/points.png" mode=""></image>
-						<text class="text">可用积分</text>
-					</view>
-					<view class="right">
-						<text class="text">{{priceAll.usedIntegral}}积分</text>
-						<evan-switch @change="integralChange" v-model="checked" activeColor="#0bb3f2"
-							inactiveColor="rgba(0, 0, 0, 0.1)"></evan-switch>
-					</view>
-				</view>
-				<view class="points" @click="openCoupon()">
-					<view class="left">
-						<text class="text">优惠券</text>
-					</view>
-					<view class="right">
-						<text class="text">{{couponText}}</text>
-						<image src="/static/images/arrow4.png" mode=""></image>
-					</view>
-				</view>
-				<view class="points">
-					<view class="left">
-						<text class="text">合计</text>
-					</view>
-					<view class="right" style="align-items: baseline;">
-						<text class="price-info-unit">¥</text>
-						<text class="price-info-num">{{priceAll.payPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-			</view>
-			<!-- <view class="points">
-				<view class="left">
-					<text class="text">运费</text>
-				</view>
-				<view class="right">
-					<text class="text">{{price.payPostage==null||price.payPostage==0?'免运费':price.payPostage.toFixed(2)}}</text>
-				</view>
-			</view> -->
-			<!-- 备注 -->
-			<!-- <view class="remarks">
-				<input type="text" v-model="form.mark" placeholder="备注留言(选填)" placeholder-class="input" />
-			</view> -->
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="right">
-				<view class="total">
-					<text class="label">合计:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{priceAll.payPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="submitOrder">提交订单</view>
-			</view>
-		</view>
-		<popupBottom ref="popup" :visible.sync="couponVisible" title=" " bgColor="#f5f5f5" radius="30" maxHeight="60%">
-			<view class="coupon" style="height:650rpx;">
-				<div class="coupon-list" v-if="couponsList.length > 0">
-					<div class="item acea-row row-center-wrapper" v-for="(item, index) in couponsList" :key="index">
-						<div class="money">
-							<image v-if="item.status==0" class="img"
-								src="https://user.test.ylrztop.com/images/coupon1.png" mode="widthFix"></image>
-							<image v-if="item.status!=0" class="img"
-								src="https://user.test.ylrztop.com/images/coupon2.png" mode="widthFix"></image>
-							<div style="z-index: 999;">
-								¥<span class="num">{{ item.couponPrice }}</span>
-							</div>
-							<div class="pic-num">满{{ item.useMinPrice }}元可用</div>
-						</div>
-						<div class="text">
-							<div class="condition line1">
-								{{ item.couponTitle }}
-							</div>
-							<div class="data acea-row row-between-wrapper">
-								<div>{{ item.limitTime }}到期</div>
-								<div class="bnt bg-color-red" @click="couponSelect(item)">选择</div>
-							</div>
-						</div>
-					</div>
-				</div>
-				<view v-if="couponsList.length == 0" class="no-data-box">
-					<image src="/static/images/no_data.png" mode="aspectFit"></image>
-					<view class="empty-title">暂无数据</view>
-				</view>
-			</view>
-
-		</popupBottom>
-	</view>
-</template>
-
-<script>
-	import {
-		getWeixinOrderTemps
-	} from '@/api/common'
-
-	import {
-		confirm,
-		computed,
-		create
-	} from '@/api/storeOrder'
-	import {
-		getMyEnableCouponList
-	} from '@/api/coupon'
-
-	import EvanSwitch from '@/components/evan-switch/evan-switch.vue'
-	import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
-
-	export default {
-		components: {
-			EvanSwitch,
-			popupBottom
-		},
-		data() {
-			return {
-				temps: [],
-				couponUserId: null,
-				couponText: "请选择",
-				couponsList: [],
-				couponVisible: false,
-				price: [],
-				priceAll: {
-					payPrice: 0,
-					totalPostage: 0,
-					usedIntegral: 0,
-					totalPrice: 0.00,
-				},
-				address: null,
-				carts: [],
-				checked: false,
-				type: null,
-				cartIds: null,
-				storeId: null,
-				form: {
-					useIntegral: 0,
-					orderKey: null,
-					addressId: null,
-					mark: null,
-					companyId: null,
-					companyUserId: null
-				},
-				confirmParam:[]
-			}
-		},
-		onLoad(option) {
-			this.form.companyId = option.companyId;
-			this.form.companyUserId = option.companyUserId;
-			// this.cartIds=option.cartIds;
-			this.type = option.type;
-			this.storeId = option.storeId;
-			this.confirmParam = JSON.parse(decodeURIComponent(option.confirmParam))
-			this.confirm();
-			uni.$on('updateAddress', (e) => {
-				this.address = e;
-				this.form.addressId = e.id;
-			})
-			this.getWeixinOrderTemps();
-		},
-		methods: {
-			getWeixinOrderTemps: function() {
-				getWeixinOrderTemps().then(
-					res => {
-						if (res.code == 200) {
-							this.temps = res.temp
-						} else {
-
-						}
-					},
-					rej => {}
-				);
-			},
-			couponSelect(item) {
-				this.couponText = "-¥" + item.couponPrice.toFixed(2);
-				this.couponUserId = item.id;
-				this.couponVisible = false;
-				this.computed();
-			},
-			openCoupon() {
-				let that = this;
-				var data = {
-					couponType: 0,
-					useMinPrice: this.price.payPrice
-				};
-				getMyEnableCouponList(data).then(res => {
-					this.couponVisible = true;
-					that.couponsList = res.data
-				})
-			},
-			integralChange(e) {
-				this.form.useIntegral = e ? 1 : 0
-				this.computed()
-			},
-			confirm(item) {
-				// let data = {type:this.type,cartIds:this.cartIds};
-				if (this.confirmParam&&this.confirmParam.length>0) {
-					confirm(this.confirmParam).then(
-						res => {
-							if (res.code == 200) {
-
-								this.carts = res.carts.map(item => ({
-									...item,
-									markinfo: ""
-								}));
-								this.form.orderKey = res.orderKeys;
-								if (res.address != null) {
-									this.form.addressId = res.address.id;
-									this.address = res.address;
-								}
-								this.computed()
-							} else {
-
-								uni.showToast({
-									icon: 'none',
-									title: res.msg,
-								});
-							}
-						},
-						rej => {}
-					);
-				} else {
-					uni.showToast({
-						icon: 'none',
-						title: '订单参数不存在~',
-					});
-				}
-			},
-			computed(item) {
-				let data = {
-					couponUserId: this.couponUserId,
-					orderKeys: this.form.orderKey,
-					addressId: this.form.addressId,
-					useIntegral: this.form.useIntegral,
-				};
-				computed(data).then(
-					res => {
-						if (res.code == 200) {
-							this.price = res.data && res.data.length > 0 ? res.data : []
-							this.priceAll = res.data && res.data.length > 0 ? res.data[res.data.length - 1] : {
-								payPrice: 0,
-								totalPostage: 0,
-								usedIntegral: 0,
-								totalPrice: 0.00,
-							}
-						} else {
-							if (res.code == 501) {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg,
-								});
-								setTimeout(function() {
-									uni.navigateBack({
-										delta: 1
-									})
-								}, 500);
-								return;
-							} else {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg,
-								});
-							}
-
-						}
-					},
-					rej => {}
-				);
-			},
-			// 提交订单
-			submitOrder() {
-				var that = this;
-				if (this.form.orderKey == null || this.form.orderKey.length == 0) {
-					uni.showToast({
-						icon: 'none',
-						title: '订单KEY不存在',
-					});
-					return;
-				}
-				if (this.form.addressId == null) {
-					uni.showToast({
-						icon: 'none',
-						title: '收货地址不能为空',
-					});
-					return;
-				}
-
-				uni.requestSubscribeMessage({
-					tmplIds: this.temps,
-					success(res) {
-						that.createOrder();
-					},
-					fail(res) {
-						that.createOrder();
-					}
-				})
-
-			},
-			createOrder() {
-				const mark = this.carts.map(item => item.markinfo)
-				var that = this;
-				var data = null;
-				var tuiUserId = uni.getStorageSync('tuiUserId');
-				uni.showLoading({
-					title: '正在处理中...'
-				});
-				if (tuiUserId != null && tuiUserId != undefined && tuiUserId > 0) {
-					data = {
-						orderCreateType: 1,
-						tuiUserId: tuiUserId,
-						companyId: this.form.companyId,
-						companyUserId: this.form.companyUserId,
-						couponUserId: this.couponUserId,
-						mark: mark,
-						orderKeys: this.form.orderKey,
-						addressId: this.form.addressId,
-						useIntegral: this.form.useIntegral,
-						payType: 1
-					};
-				} else {
-					data = {
-						orderCreateType: 1,
-						companyId: this.form.companyId,
-						companyUserId: this.form.companyUserId,
-						couponUserId: this.couponUserId,
-						mark: mark,
-						orderKeys: this.form.orderKey,
-						addressId: this.form.addressId,
-						useIntegral: this.form.useIntegral,
-						payType: 1
-					};
-				}
-				if (this.storeId != null && this.storeId > 0) {
-					data.storeId = this.storeId;
-				}
-				create(data).then(
-					res => {
-						uni.hideLoading()
-						if (!res.code && res.code !== 0) {
-							uni.hideLoading()
-
-							if (res.some(item => item.order.isPrescribe) == 1) {
-								setTimeout(function() {
-									let orderIds = res.filter(item => item.order.isPrescribe == 1).map(it => it
-										.order.id)
-									orderIds = orderIds.join(',')
-									uni.redirectTo({
-										url: "prescribe?orderId=" + orderIds + "&combinationOrderId=" +
-											encodeURIComponent(res[0].order.combinationOrderId)
-									})
-								}, 200);
-							} else {
-								setTimeout(function() {
-									uni.redirectTo({
-										url: './paymentOrder?combinationOrderId=' + encodeURIComponent(
-											res[0].order.combinationOrderId)
-									})
-								}, 200);
-							}
-							return;
-						} else {
-							if (res.code == 501) {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg,
-								});
-								setTimeout(function() {
-									uni.navigateBack({
-										delta: 1
-									})
-								}, 200);
-								return;
-							} else {
-								uni.showToast({
-									icon: 'none',
-									title: res.msg,
-								});
-							}
-						}
-					},
-					rej => {}
-				);
-			},
-			openAddress() {
-				uni.navigateTo({
-					url: '/pages_user/user/address'
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.inner-box {
-		padding: 20upx 20upx 140upx;
-
-		.address-box {
-			box-sizing: border-box;
-			min-height: 171upx;
-			margin-bottom: 20rpx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			background-image: url(../../static/images/address_bg.png);
-			background-repeat: no-repeat;
-			background-size: 100% 30upx;
-			background-position: left bottom;
-			padding: 38upx 30upx 36upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-
-			.left {
-				width: 92%;
-
-				.name-box {
-					display: flex;
-					align-items: center;
-
-					.text {
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-						line-height: 1;
-
-						&.name {
-							margin-right: 30upx;
-						}
-					}
-				}
-
-				.address {
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					line-height: 42upx;
-					text-align: left;
-					margin-top: 23upx;
-				}
-			}
-
-			.arrow-box {
-				width: 12upx;
-				height: 23upx;
-				display: flex;
-				align-items: cenetr;
-				justify-content: cenetr;
-
-				image {
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-
-		.shopbox {
-			background: #FFFFFF;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-
-			.points {
-				padding: 0 !important;
-			}
-
-			.remarks {
-				padding: 0 !important;
-			}
-		}
-
-		.shopbox-name {
-			padding: 30rpx 30rpx 0 30rpx;
-			font-family: PingFang SC, PingFang SC;
-			font-weight: 400;
-			font-size: 30rpx;
-			color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-
-		.goods-list {
-			// margin-top: 20upx;
-			padding: 0 30upx;
-			background-color: #FFFFFF;
-			border-radius: 16upx;
-
-			.item {
-				padding: 30upx 0;
-				border-bottom: 1px solid #EDEEEF;
-				display: flex;
-				align-items: center;
-
-				.img-box {
-					width: 160upx;
-					height: 160upx;
-					margin-right: 30upx;
-
-					image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-
-				.info-box {
-					width: calc(100% - 190upx);
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-
-					.name-box {
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 40upx;
-
-						.tag {
-							display: inline-block;
-							padding: 0 6upx;
-							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							line-height: 30upx;
-							float: left;
-							margin-top: 7upx;
-						}
-					}
-
-					.spec {
-						margin-top: 10upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-
-					.price-num {
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-
-						.price {
-							display: flex;
-							align-items: flex-end;
-
-							.unit {
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-
-							.num {
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1;
-							}
-						}
-
-						.num {
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-					}
-				}
-			}
-
-			.sub-total {
-				height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-
-				.label {
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-
-				.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: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-		}
-
-		.price-info {
-			background: #FFFFFF;
-			border-radius: 16upx;
-
-			&-title {
-				padding: 30rpx 30rpx 20rpx 30rpx;
-				font-family: PingFang SC, PingFang SC;
-				font-weight: 500;
-				font-size: 30rpx;
-				color: #111;
-			}
-
-			&-unit {
-				font-size: 24rpx;
-			}
-
-			&-num {
-				font-size: 28rpx;
-			}
-		}
-
-		.points {
-			height: 88upx;
-			width: 100%;
-			padding: 0 30upx;
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-
-			.left {
-				display: flex;
-				align-items: center;
-
-				image {
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-
-				.text {
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-
-			.right {
-				display: flex;
-				align-items: center;
-
-				.text {
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-
-				}
-
-				image {
-					margin-left: 15upx;
-					width: 14upx;
-					height: 24upx;
-				}
-			}
-		}
-
-		.remarks {
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			display: flex;
-			align-items: center;
-
-			input {
-				width: 100%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #000000;
-			}
-
-			.input {
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-		}
-	}
-
-
-	.btn-foot {
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		padding: 16upx 30upx 16upx 60upx;
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-
-		.right {
-			display: flex;
-			align-items: center;
-
-			.total {
-				display: flex;
-				align-items: flex-end;
-				margin-right: 36upx;
-
-				.label {
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1.5;
-				}
-
-				.price {
-					display: flex;
-					align-items: flex-end;
-
-					.unit {
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-
-					.num {
-						font-size: 50upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-
-			.btn {
-				width: 200upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-</style>
-<style lang="less" scoped>
-	.coupon {
-		height: 100%;
-	}
-
-	/*优惠券列表公共*/
-	.coupon-list {}
-
-	.coupon-list .item {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 100%;
-		height: 1.7 * 100rpx;
-		margin-bottom: 0.16 * 100rpx;
-	}
-
-	.coupon-list .item .money {
-		background-size: 100% 100%;
-		width: 2.4 * 100rpx;
-		height: 100%;
-		color: #fff;
-		font-size: 0.36 * 100rpx;
-		font-weight: bold;
-		text-align: center;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-
-	}
-
-	.coupon-list .item .money .img {
-		position: absolute;
-		width: 2.4 * 100rpx;
-		height: 100%;
-		color: #fff;
-
-	}
-
-	.coupon-list .item .money .num {
-		font-size: 0.6 * 100rpx;
-	}
-
-	.coupon-list .item .money .pic-num {
-		font-size: 20rpx;
-		z-index: 99;
-	}
-
-
-	.coupon-list .item .text {
-		width: 4.5 * 100rpx;
-		padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
-		background-color: #fff;
-		box-sizing: border-box;
-	}
-
-	.coupon-list .item .text .condition {
-		font-size: 0.3 * 100rpx;
-		color: #282828;
-		height: 0.93 * 100rpx;
-		line-height: 0.93 * 100rpx;
-		border-bottom: 1px solid #f0f0f0;
-	}
-
-	.coupon-list .item .text .data {
-		font-size: 0.2 * 100rpx;
-		color: #999;
-		height: 0.76 * 100rpx;
-	}
-
-	.coupon-list .item .text .data .bnt {
-		width: 1.36 * 100rpx;
-		height: 0.44 * 100rpx;
-		border-radius: 0.22 * 100rpx;
-		font-size: 0.22 * 100rpx;
-		color: #fff;
-		text-align: center;
-		line-height: 0.44 * 100rpx;
-		background-color: red;
-	}
-
-	.coupon-list .item .text .data .bnt.gray {
-		background-color: #ccc;
-	}
-</style>

+ 0 - 717
pages/shopping/confirmPackageOrder.vue

@@ -1,717 +0,0 @@
-<template>
-	<view>
-		<view class="inner-box">
-			<!-- 收货人 -->
-			<view class="address-box" v-if="address==null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">添加收货地址</text>
-					</view>
-					</vie>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<view class="address-box" v-if="address!=null" @click="openAddress()">
-				<view class="left">
-					<view class="name-box">
-						<text class="text name">{{address.realName}}</text>
-						<text class="text" v-if="address.phone!=null">{{utils.parsePhone(address.phone)}}</text>
-					</view>
-					<view class="address">
-						{{address.province}}{{address.city}}{{address.district}}{{address.detail}}
-					</view>
-				</view>
-				<view class="arrow-box">
-					<image src="../../static/images/arrow_gray.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 药品列表 -->
-			<view class="goods-list">
-				<view  class="item">
-					<view class="img-box">
-						<image :src="package.imgUrl" mode="aspectFill"></image>
-					</view>
-					<view class="info-box">
-						<view>
-							<view class="name-box ellipsis2">
-								{{package.title}}
-							</view>
-							<view class="spec ellipsis2">{{package.descs}}</view>
-						</view>
-						
-						<view class="price-num">
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="num" v-if="package.payMoney!=null">{{package.payMoney.toFixed(2)}}</text>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 小计 -->
-				<view class="sub-total">
-					<text class="label">合计:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num" v-if="package.payMoney!=null">{{package.payMoney.toFixed(2)}}</text>
-					</view>
-				</view>
-			</view>
-			 
-			<view class="points" @click="openCoupon()">
-				<view class="left">
-					<text class="text">优惠券</text>
-				</view>
-				<view class="right">
-					<text class="text">{{couponText}}</text>
-					<image src="/static/images/arrow4.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 备注 -->
-			<view class="remarks">
-				<input type="text" v-model="form.mark" placeholder="备注留言(选填)" placeholder-class="input" />
-			</view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="right">
-				<view class="total">
-					<text class="label">应付金额:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num" v-if="totalMoney!=null">{{totalMoney.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="submitOrder">提交订单</view>
-			</view>
-		</view>
-		<popupBottom ref="popup" :visible.sync="couponVisible" title=" " bgColor="#f5f5f5"  radius="30"    maxHeight="60%">
-		     <view class="coupon" style="height:650rpx;">
-				 <div class="coupon-list" v-if="couponsList.length > 0">
-				   <div class="item acea-row row-center-wrapper"  v-for="(item, index) in couponsList" :key="index">
-				     <div class="money" >
-				       <image v-if="item.status==0" class="img" src="https://user.test.ylrztop.com/images/coupon1.png" mode="widthFix"></image>
-				 	  <image v-if="item.status!=0" class="img" src="https://user.test.ylrztop.com/images/coupon2.png" mode="widthFix"></image>
-				 	  <div style="z-index: 999;">
-				         ¥<span class="num">{{ item.couponPrice }}</span>
-				       </div>
-				       <div class="pic-num"  >满{{ item.useMinPrice }}元可用</div>
-				     </div>
-				     <div class="text">
-				       <div class="condition line1">
-				         {{ item.couponTitle }}
-				       </div>
-				       <div class="data acea-row row-between-wrapper">
-							<div >{{ item.limitTime }}到期</div>
-							<div class="bnt bg-color-red" @click="couponSelect(item)"  >选择</div>
-				       </div>
-				     </div>
-				   </div>
-				 </div>
-				 <view v-if="couponsList.length == 0" class="no-data-box" >
-				 	<image src="/static/images/no_data.png" mode="aspectFit"></image>
-				 	<view class="empty-title">暂无数据</view>
-				 </view>
-			 </view>
-			 
-		</popupBottom>
-	</view>
-</template>
-
-<script>
-	import {getWeixinTemps} from '@/api/common'
-	import {confirmPackageOrder,computedPackageOrder,createPackageOrder} from '@/api/storeOrder'
-	import { getMyEnableCouponList } from '@/api/coupon'
-	 
-	import EvanSwitch from '@/components/evan-switch/evan-switch.vue'
-	import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
-	export default {
-		components: {
-			EvanSwitch,
-			popupBottom
-		},
-		data() {
-			return {
-				temps:[],
-				totalMoney:0,
-				couponUserId:null,
-				couponText:"请选择",
-				couponsList:[],
-				couponVisible:false,
-				companyUserId:null,
-				packageId:null,
-				address:null,
-				package:{},
-				// checked: false,
-				// type:null,
-				// cartIds:null,
-				form:{
-					// useIntegral:0,
-					orderKey:null,
-					addressId:null,
-					mark:null,
-				}
-				
-			}
-		},
-		onLoad(option) {
-			this.packageId=option.packageId;
-			this.companyUserId=option.companyUserId;
-			this.confirmPackageOrder();
-			uni.$on('updateAddress', (e) => {
-				this.address=e;
-				this.form.addressId=e.id;
-			})
-			this.getWeixinTemps();
-		},
-		onShow() {
-			
-		},
-		methods: {
-			getWeixinTemps:function(){
-				getWeixinTemps().then(
-					res => {
-						if(res.code==200){
-							this.temps=res.temp
-						}else{
-							 
-						}
-					},
-					rej => {}
-				);
-			},
-			couponSelect(item){
-				this.couponText="-¥"+item.couponPrice.toFixed(2);
-				this.couponUserId=item.id;
-				this.couponVisible=false;
-				this.computedPackageOrder();
-			},
-			openCoupon(){
-				let that = this;
-				var data={packageCateId:this.package.cateId,couponType:1,useMinPrice:this.totalMoney};
-				getMyEnableCouponList(data).then(res => {
-				  this.couponVisible=true;
-				  that.couponsList = res.data
-				})
-			},
-			confirmPackageOrder(){
-				let data = {packageId:this.packageId,couponUserId:this.couponUserId};
-				confirmPackageOrder(data).then(
-					res => {
-						if(res.code==200){
-							 this.form.orderKey=res.orderKey;
-							 this.address=res.address;
-							 this.package=res.package;
-							 if(res.address!=null){
-								 this.form.addressId=res.address.id;
-							 }
-							 this.totalMoney=res.totalMoney;
-							 
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			computedPackageOrder(){
-				let data = {packageId:this.packageId,couponUserId:this.couponUserId};
-				computedPackageOrder(data).then(
-					res => {
-						if(res.code==200){
-							 this.totalMoney=res.totalMoney;
-							 
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		 
-			// 提交订单
-			submitOrder() {
-				var that=this;
-				if(this.form.orderKey==null){
-					uni.showToast({
-						icon:'none',
-						title: '订单KEY不存在',
-					});
-					return;
-				}
-				if(this.form.addressId==null){
-					uni.showToast({
-						icon:'none',
-						title: '收货地址不能为空',
-					});
-					return;
-				}
-				
-				uni.requestSubscribeMessage({
-					tmplIds: this.temps,
-					success(res) {
-						 that.createPackageOrder();
-					},
-					fail(res) {
-						that.createPackageOrder();
-					}
-				})
-				
-				
-			},
-			createPackageOrder(){
-				var that=this;
-				uni.showLoading({
-					title: '正在处理中...'
-				});
-				let data = {couponUserId:this.couponUserId,mark:this.form.mark,orderKey:this.form.orderKey,addressId:this.form.addressId,packageId:this.packageId,companyUserId:this.companyUserId};
-				createPackageOrder(data).then(
-					res => {
-						uni.hideLoading()
-						if(res.code==200){
-							if(res.order.isPrescribe==1){
-								setTimeout(function(){
-									uni.redirectTo({
-										url:"prescribe?orderId="+res.order.id
-									})
-								},200);
-							}
-							else{
-								setTimeout(function(){
-									uni.redirectTo({
-										url: './paymentOrder?orderId='+res.order.id
-									})
-								},200);
-							}
-							return;
-						}
-						else{
-							if(res.code==501){
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-								setTimeout(function(){
-									uni.navigateBack({
-										delta:1
-									})
-								},200);
-								return;
-							}
-							else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-						}
-					},
-					rej => {}
-				);
-			},
-			openAddress(){
-				uni.navigateTo({
-					url: '/pages_user/user/address'
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.inner-box{
-		padding: 20upx 20upx 140upx;
-		.address-box{
-			box-sizing: border-box;
-			min-height: 171upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			background-image: url(../../static/images/address_bg.png);
-			background-repeat: no-repeat;
-			background-size: 100% 30upx;
-			background-position: left bottom;
-			padding: 38upx 30upx 36upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				width: 92%;
-				.name-box{
-					display: flex;
-					align-items: center;
-					.text{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-						line-height: 1;
-						&.name{
-							margin-right: 30upx;
-						}
-					}
-				}
-				.address{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					line-height: 42upx;
-					text-align:left;
-					margin-top: 23upx;
-				}
-			}
-			.arrow-box{
-				width: 12upx;
-				height: 23upx;
-				display: flex;
-				align-items: cenetr;
-				justify-content: cenetr;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-		.goods-list{
-			margin-top: 20upx;
-			padding: 0 30upx;
-			background-color: #FFFFFF;
-			border-radius: 16upx;
-			.item{
-				padding: 30upx 0;
-				border-bottom: 1px solid #EDEEEF;
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 160upx;
-					height: 160upx;
-					margin-right: 30upx;
-					image{
-						width: 100%;
-						height: 100%;
-					}
-				}
-				.info-box{
-					width: calc(100% - 190upx);
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					.name-box{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 40upx;
-						.tag{
-							display: inline-block;
-							padding: 0 6upx;
-							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							line-height: 30upx;
-							float: left;
-							margin-top: 7upx;
-						}
-					}
-					.spec{
-						margin-top: 10upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.price{
-							display: flex;
-							align-items: flex-end;
-							.unit{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-							.num{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1;
-							}
-						}
-						.num{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.sub-total{
-				height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				.label{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-				.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: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-		}
-		.points{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				display: flex;
-				align-items: center;
-				image{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					 
-				}
-				image{
-					margin-left: 15upx;
-					width: 14upx;
-					height: 24upx;
-				}
-			}
-		}
-		.remarks{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-			display: flex;
-			align-items: center;
-			input{
-				width: 100%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #000000;
-			}
-			.input{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-		}
-	}
-	
-	
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		padding: 16upx 30upx 16upx 60upx;
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.right{
-			display: flex;
-			align-items: center;
-			.total{
-				display: flex;
-				align-items: flex-end;
-				margin-right: 36upx;
-				.label{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1.5;
-				}
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 50upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.btn{
-				width: 200upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-	 
-</style>
-<style lang="less" scoped>
-	.coupon {
-	  height: 100%;
-	}
-	/*优惠券列表公共*/
-	.coupon-list {
-	}
-	.coupon-list .item {
-	  display: flex;
-	  flex-direction: column;
-	  justify-content: center;
-	  align-items: center;
-	  width: 100%;
-	  height: 1.7 * 100rpx;
-	  margin-bottom: 0.16 * 100rpx;
-	}
-	
-	.coupon-list .item .money {
-	  background-size: 100% 100%;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  font-size: 0.36 * 100rpx;
-	  font-weight: bold;
-	  text-align: center;
-	  display: flex;
-	  flex-direction: column;
-	  align-items: center;
-	  justify-content: center;
-	  position: relative;
-	  
-	}
-	.coupon-list .item .money .img{
-	  position: absolute;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  
-	}
-	
-	.coupon-list .item .money .num {
-	  font-size: 0.6 * 100rpx;
-	}
-	.coupon-list .item .money .pic-num {
-	  font-size: 20rpx;
-	  z-index: 99;
-	}
-
-	
-	.coupon-list .item .text {
-	  width: 4.5 * 100rpx;
-	  padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
-	  background-color: #fff;
-	  box-sizing: border-box;
-	}
-	
-	.coupon-list .item .text .condition {
-	  font-size: 0.3 * 100rpx;
-	  color: #282828;
-	  height: 0.93 * 100rpx;
-	  line-height: 0.93 * 100rpx;
-	  border-bottom: 1px solid #f0f0f0;
-	}
-	
-	.coupon-list .item .text .data {
-	  font-size: 0.2 * 100rpx;
-	  color: #999;
-	  height: 0.76 * 100rpx;
-	}
-	
-	.coupon-list .item .text .data .bnt {
-	  width: 1.36 * 100rpx;
-	  height: 0.44 * 100rpx;
-	  border-radius: 0.22 * 100rpx;
-	  font-size: 0.22 * 100rpx;
-	  color: #fff;
-	  text-align: center;
-	  line-height: 0.44 * 100rpx;
-	  background-color: red;
-	}
-	
-	.coupon-list .item .text .data .bnt.gray {
-	  background-color: #ccc;
-	}
-</style>

+ 0 - 673
pages/shopping/index.vue

@@ -1,673 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-content">
-			<view class="status_bar" :style="{height: statusBarHeight}"></view>
-			<!-- 这里是状态栏 -->
-			<!-- <view class="top-title">健康商城</view> -->
-			<!-- 搜索框 -->
-			<view class="search-cont" :style="{width:`calc(100vw - 80rpx - ${menuRight} - ${menuWidth})`}">
-				<view class="inner">
-					<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-					<input type="text" disabled confirm-type="搜索" @click="toSearch" placeholder="输入药品名称"
-						placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-				</view>
-			</view>
-		</view>
-		<view :style="{height: divHeight}" class="medic-box">
-			<view class="cate-list">
-				<view v-for="(item,index) in cates" :key="index" :class="cateSelect == item.cateId?'item active':'item'"
-					@click="choseCate(item)">{{item.cateName }}
-					</view>
-						
-			</view>
-			<view class="medic">
-				<!-- 轮播图 -->
-				<view class="banner-box">
-					<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 advs" :key="index"
-							@click="handleAdvClick(item)">
-							<image :src="item.imageUrl" mode=""></image>
-						</swiper-item>
-					</swiper>
-				</view>
-				<view class="inner-list">
-					<!-- 	<view class="definite"v-for="(subItem,index) in subCates"   @click="showProductList(subItem)">
-								<view class="img-box">
-									<image :src="subItem.pic" mode="aspectFit"></image>
-								</view>
-								<view class="name ellipsis">{{subItem.cateName}}</view>
-							</view> -->
-					<view class="definite" v-for="(subItem,index) in subCates"
-						@click="showProductList(subItem, index)">
-						<view class="name ellipsis" :class="{ 'select-name': activeIndex === index }">
-							{{subItem.cateName}}
-						</view>
-					</view>
-				</view>
-				<view class="line"></view>
-				<!-- 药品列表 -->
-				<view class="medic-list">
-					<!-- <view class="item" v-for="(item,index) in subCates" :key="index">
-							<view class="title">{{item.cateName}}</view> -->
-					
-					<!-- <view class="product-list">
-						<text class="product-title"> {{ activeIndex >= 0 ? subCates[activeIndex].cateName : '' }}</text>
-						</view> -->
-				<!-- 数据列表 -->
-				<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-					<view class="medic-list2">
-						<text class="product-title"> {{ activeIndex >= 0 && subCates.length>0?subCates[activeIndex].cateName : '' }}</text>
-						<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 class="cf-box" v-if="item.productType==2">
-									<view class="title">处方药</view>
-									<view class="subTitle">请在医师指导下使用</view>
-								</view>
-							</view>
-							<view class="info-box">
-								<view class="title ellipsis2">{{item.productName}}</view>
-								<view class="intro">
-									<view class="intro-zk"><text>9.5折</text></view>
-									<view class="intro-zk"><text>限购1份</text></view>
-								</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>
-						</view>
-					</view>
-				</mescroll-body>
-					<!-- 	</view> -->
-				</view>
-
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		getProductCate,getProductCateByPid,getProducts
-	} from '@/api/product'
-	import {
-		getAdv
-	} from '@/api/adv'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				activeIndex: 0,
-				divHeight: '0px',
-				allCates: [],
-				cates: [],
-				subCates: [],
-				// 右侧的胶囊距离右侧屏幕距离-px
-				menuRight: uni.getStorageSync('menuInfo').menuRight,
-				// 右侧的胶囊宽度-px
-				menuWidth: uni.getStorageSync('menuInfo').menuWidth,
-				// 状态栏的高度
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				// 选中药品分类
-				cateSelect: 0,
-				// 轮播图
-				advs: [],
-				dataList:[],
-				cateId:null,
-				pid:null,
-				defaultOrder:'desc',
-				storeId: "",
-				//上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'https://user.test.ylrztop.com/images/empty_icon.png',
-						tip: '暂无数据',
-						
-					},
-					textNoMore:"已经到底了",
-				}
-			};
-		},
-		onLoad() {
-			uni.showShareMenu({
-				withShareTicket: true,
-				//小程序的原生菜单中显示分享按钮,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
-				menus: ["shareAppMessage", "shareTimeline"] //不设置默认发送给朋友
-			})
-			
-		},
-		onShow() {
-			this.getProductCate();
-			var that = this;
-			setTimeout(function() {
-				let info = uni.createSelectorQuery().select(".top-content");
-				info.boundingClientRect(function(data) { //data - 各种参数
-					console.log(data.height) // 获取元素宽度
-					// console.log(uni.upx2px(10)) 
-					that.divHeight = "calc(100% - " + data.height + "px)"
-				}).exec()
-			}, 500);
-			this.getAdv();
-		},
-		methods: {
-			// divHeight(){
-			//    return 'height:calc(100% - ${this.top}px);'
-			// },
-			toSearch() {
-				uni.navigateTo({
-					url: '../home/productSearch'
-				})
-			},
-			handleAdvClick(item) {
-				console.log(item);
-				if (item.showType == 1) {
-					uni.setStorageSync('url', item.advUrl);
-					uni.navigateTo({
-						url: "../home/web"
-					})
-				} else if (item.showType == 2) {
-					uni.navigateTo({
-						url: item.advUrl
-					})
-				} else if (item.showType == 3) {
-					uni.setStorageSync('content', item.content);
-					uni.navigateTo({
-						url: "../home/content"
-					})
-				}
-
-			},
-			getAdv() {
-				let data = {
-					advType: 2
-				};
-				getAdv(data).then(
-					res => {
-						if (res.code == 200) {
-							this.advs = res.data;
-						}
-					},
-					rej => {}
-				);
-			},
-			getProductCate() {
-				let data = {};
-				getProductCate(data).then(
-					res => {
-						if (res.code == 200) {
-							this.allCates = res.data;
-							this.cates = this.allCates.filter(function(item) {
-								return item.pid == 0
-							});
-							if (this.cates != null && this.cates.length > 0) {
-								this.cateSelect = this.cates[0].cateId ;
-								this.getSubCate();
-							    // this.mescroll.resetUpScroll()
-								
-							}
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// 药品分类选择
-			choseCate(item) {
-				this.activeIndex = 0
-				this.dataList=[]
-				this.cateSelect = item.cateId;
-				this.getSubCate()
-	            
-                
-			},
-			getSubCate() {
-				
-				var that = this;
-				this.subCates = this.allCates.filter(item=>item.pid == this.cateSelect);
-					// let subList = that.allCates.filter(child => {
-					// 	//返回每一项的子级数组
-					// 	return child.pid === item.cateId
-					// });
-					// subList.length > 0 ? item.children = subList : [];
-					
-				if (this.subCates != null && this.subCates.length > 0) {
-					this.cateId= this.subCates[0].cateId;
-					this.mescroll.resetUpScroll()
-				}else{
-					this.cateId=0
-					this.mescroll.resetUpScroll()
-				}
-				
-			},
-			// 查看药品详情
-			showProductList(item, index) {
-				// console.log("item>>>>>", item)
-				this.activeIndex = index;
-                this.cateId = item.cateId;
-                this.mescroll.resetUpScroll()
-				// uni.navigateTo({
-				// 	url: './productList?cateId='+item.cateId+"&pid="+item.pid
-				// })
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				this.mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					cateId:this.cateId,
-					defaultOrder:this.defaultOrder,
-					page: page.num,
-					pageSize: page.size,
-					productName: this.productName || "",
-					storeId: this.storeId
-				};
-				if(this.cateId!=null){
-					this.getProducts(page,data)
-				}
-				
-			},
-			//查询商品列表
-			getProducts(page,data) {
-				var that = this;
-				getProducts(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) {
-				if(this.from == 'company') {
-					uni.navigateTo({
-						url: '/pages_company/order/productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
-					})
-				} else {
-					uni.navigateTo({
-						url: './productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
-					})
-				}
-			},
-			goSearch(e) {
-				if (e.detail.value != null && e.detail.value != "") {
-					this.utils.addHisSearch(e.detail.value);
-				}
-				uni.navigateTo({
-					url: '../home/productList?searchValue=' + e.detail.value
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-		background-color: #fff;
-	}
-    .mescroll-body{
-		min-height: calc(100% - 330upx) !important;
-	}
-	.content {
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-
-		.top-content {
-			width: 100%;
-			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;
-					}
-				}
-			}
-		}
-
-		.medic-box {
-			display: flex;
-
-			.cate-list {
-				box-sizing: border-box;
-				width: 200upx;
-				background: #F2F5F9;
-				display: flex;
-				flex-direction: column;
-				// padding: 20upx 0;
-				overflow-y: scroll;
-                margin-top: 30rpx;
-				.item {
-					height: 100upx;
-					line-height: 100upx;
-					padding-left: 30upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #333333;
-					position: relative;
-					 // overflow: hidden;
-					&.active {
-						background: #FFFFFF;
-						font-weight: 600;
-						// box-shadow: 12px 0 12px 0 #ffffff, -12px 0 12px 0 #ffffff;
-						// border-radius: 12px 12px 0 0;
-                        
-						&::after {
-							content: "";
-							width: 6upx;
-							height: 28upx;
-							background: #008FD3;
-							position: absolute;
-							top: 50%;
-							left: 0;
-							transform: translateY(-50%);
-							border-radius: 0upx 6upx 6upx 0;
-						}
-							
-					}
-					
-				}
-
-				
-			}
-
-			.medic {
-				box-sizing: border-box;
-				width: calc(100% - 200upx);
-				height: 100%;
-				padding: 0 30upx;
-
-				.banner-box {
-					margin-top: 30rpx;
-					width: 100%;
-					height: 160upx;
-					border-radius: 10upx;
-					overflow: hidden;
-
-					.swiper,
-					.swiper-item,
-					.swiper-item image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-	.inner-list {
-						display: flex;
-						flex-wrap: wrap;
-                        padding-top: 30upx;
-						.definite {
-							width: calc(33% - 20upx);
-							margin-right: 30upx;
-							margin-bottom: 30upx;
-
-							.img-box {
-								width: 100%;
-								height: 144upx;
-								background: #F5F5F5;
-								border-radius: 8upx;
-								overflow: hidden;
-								display: flex;
-								align-items: center;
-
-								image {
-									max-width: 100%;
-								}
-							}
-
-							.name {
-								width: 100%;
-								margin-top: 20upx;
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #666666;
-								text-align: center;
-								padding: 10rpx 16rpx;
-							}
-
-							.select-name {
-								background: #EFF3F7;
-								color: #222426;
-								border-radius:10upx ;
-							}
-
-							&:nth-child(3n) {
-								margin-right: 0;
-							}
-						}
-					}
-
-					.line {
-						width: 100%;
-						height: 0rpx;
-						border-top: 1rpx solid #ECECEC;
-					}
-
-				.medic-list {
-					box-sizing: border-box;
-					padding: 30upx 0;
-					overflow-y: auto;
-					height: calc(100% - 330upx);
-					position: relative;
-					// .item{
-					// 	.title{
-					// 		font-size: 28upx;
-					// 		font-family: PingFang SC;
-					// 		font-weight: bold;
-					// 		color: #333333;
-					// 		padding-top: 20upx;
-					// 		margin-bottom: 30upx;
-					// 	}
-
-					// }
-				
-					.product-list {
-						padding: 32rpx 0 0;
-						.product-title {
-							font-weight: 500;
-							font-size: 28rpx;
-							color: #222426;
-						}
-					}
-			.medic-list2{
-				// padding: 20upx;
-				.product-title{
-					font-size: 28upx;
-					display: block;
-					// padding-top: 30upx;
-				}
-				.item{
-					box-sizing: border-box;
-					min-height: 200upx;
-					background: #FFFFFF;
-					// border: 4upx solid #FFFFFF;
-					border-radius: 20upx;
-					// margin-bottom: 20upx;
-					// padding: 40upx 0upx;
-					padding-top: 30upx;
-					display: flex;
-					
-					.img-box{
-						width: 200upx;
-						height: 200upx;
-						margin-right: 30upx;
-						position: relative;
-						border-radius: 20upx;
-						    overflow: hidden;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-						
-					}
-					
-					.info-box{
-						width: calc(100% - 210upx);
-						display: grid;
-						    justify-items: left;
-						.title{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							line-height: 40upx;
-							height: 80upx;
-						}
-						.intro{
-							// font-size: 26upx;
-							// font-family: PingFang SC;
-							// font-weight: 500;
-							// color: #999999;
-							// line-height: 1;
-							// margin-top: 26upx;
-							display: flex;
-							.intro-zk{
-								border: 1px solid #FF4B33;
-								padding:0 8rpx ;
-								border-radius: 8rpx;
-								margin-right: 10rpx;
-								line-height: 5rpx;
-								display: flex;
-								text{
-									font-size:24rpx;
-									color:#FF4B33 ;
-									display: flex;
-									    align-items: center;
-								}
-							}
-						}
-					 .price-box{
-					 	display: flex;
-					 	align-items: flex-end;
-					 	.now{
-					 		display: flex;
-					 		align-items: flex-end;
-					 		margin-right: 20upx;
-					 		.num{
-					 			font-size: 36upx;
-					 			font-family: PingFang SC;
-					 			font-weight: bold;
-					 			color: #FF5030;
-					 			line-height: 1;
-					 		}
-					 	}
-					 	.old{
-					 		font-size: 24upx;
-					 		font-family: PingFang SC;
-					 		// font-weight: 500;
-					 		text-decoration: line-through;
-					 		color: #BBBBBB;
-					 		line-height: 1.1;
-					 	}
-					 }
-						.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;
-								}
-								 
-							}
-						}
-					}
-				}
-			}
-				}
-			}
-		}
-
-	}
-</style>

+ 0 - 342
pages/shopping/payOrder.vue

@@ -1,342 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<!-- 时间、价格 -->
-			<view class="time-price">
-				<text class="time">请在{{payLimitTime}}前完成支付</text>
-				<view class="price-box">
-					<text class="unit">¥</text>
-					<text class="num">{{order.payPrice}}</text>
-				</view>
-			</view>
-			<!-- 支付方式 -->
-			<view class="pay-type">
-				<view class="title">支付方式</view>
-				<view class="item">
-					<view class="left">
-						<image src="../../static/images/wecha_pay.png" mode=""></image>
-						<text class="text">微信支付</text>
-					</view>
-					<label>
-						<checkbox disabled value="" :checked="wxPay" />
-					</label>
-				</view>
-			</view>
-			<!-- 订单详情查看 -->
-			<view class="order-info">
-				<view class="title">订单信息</view>
-				<view class="item">
-					<text class="label">订单编号</text>
-					<view class="sn-box">
-						<text class="text">{{order.orderCode}}</text>
-						<view class="copy-btn" @click="copyOrderSn(order.orderCode)">复制</view>
-					</view>
-				</view>
-				<view class="item">
-					<text class="label">下单时间</text>
-					<text class="text">{{order.createTime}}</text>
-				</view>
-				<view class="item">
-					<text class="label">支付方式</text>
-					<text class="text">微信支付</text>
-				</view>
-				 
-			</view>
-			
-		</view>
-		<view class="btn-box">
-			<view class="btn" @click="payOrder()">去支付</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {pay,getStoreOrderById} from '@/api/storeOrder'
-	export default {
-		data() {
-			return {
-				payLimitTime:null,
-				order:null,
-				// 默认选中微信支付
-				wxPay: true,
-			}
-		},
-		onLoad: function(options) {
-		    if (options.hasOwnProperty('q') && options.q) {
-				// 通过下面这步解码,可以拿到url的值
-				const url = decodeURIComponent(options.q)
-				this.url=url;
-				// // 对url中携带的参数提取处理
-				const obj = this.utils.urlToObj(url)
-				this.orderId=obj.orderId;
-		    }
-			else if(options!=null&&options.orderId!=null){
-				this.orderId=options.orderId;
-			}
-		},
-		onShow() {
-			this.getStoreOrderById();
-		},
-		methods: {
-			copyOrderSn(text) {
-				// 复制方法
-				uni.setClipboardData({
-					data:text,
-					success:()=>{
-						uni.showToast({
-							title:'内容已成功复制到剪切板',
-							icon:'none'
-						})
-					}
-				});
-			},
-			getStoreOrderById(){
-				var data = {orderId:this.orderId};
-				var that=this;
-				uni.showLoading();
-				getStoreOrderById(data).then(
-					res => {
-						if(res.code==200){
-							 console.log(res);
-							  uni.hideLoading();
-							  that.order=res.order;
-							  that.payLimitTime=res.payLimitTime;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			payOrder(){
-				var data = {orderId:this.order.id};
-				var that=this;
-				uni.showLoading();
-				pay(data).then(
-					res => {
-						if(res.code==200){
-							 console.log(res);
-							 uni.requestPayment({
-							 	provider: 'wxpay',
-							 	timeStamp: res.result.timeStamp,
-							 	nonceStr: res.result.nonceStr,
-							 	package: res.result.packageValue,
-							 	signType: res.result.signType,
-							 	paySign: res.result.paySign,
-							 	success: function(res) {
-							 		 uni.hideLoading();
-									 if(that.order.isPrescribe){
-										 //如果是处方订单开处方
-										uni.redirectTo({
-										 	url:"prescribe?orderId="+that.order.id
-										})
-									 }
-									 else{
-										//如果是普通订单
-										uni.redirectTo({
-											url:"success?order="+JSON.stringify(that.order)
-										}) 
-									 }
-							 	},
-							 	fail: function(err) {
-							 		console.log('fail:' + JSON.stringify(err));
-							 		uni.hideLoading();
-							 	}
-							 });
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-		background-color: #F2F5F9;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		.inner{
-			padding: 20upx;
-			.time-price{
-				box-sizing: border-box;
-				height: 200upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				padding-top: 50upx;
-				.time{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-					text-align: center;
-				}
-				.price-box{
-					display: flex;
-					align-items: flex-end;
-					margin-top: 28upx;
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.3;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 56upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.pay-type{
-				box-sizing: border-box;
-				height: 192upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-top: 20upx;
-				padding: 40upx 30upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-				}
-				.item{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.left{
-						display: flex;
-						align-items: center;
-						image{
-							width: 44upx;
-							height: 44upx;
-							margin-right: 20upx;
-						}
-						.text{
-							font-size: 30upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #222222;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.order-info{
-				margin-top: 20upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				padding: 40upx 30upx;
-				.title{
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #222222;
-					line-height: 1;
-				}
-				.item{
-					margin-top: 40upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.label{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						line-height: 1;
-					}
-					.text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						line-height: 32upx;
-					}
-					.cont-text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						.bold{
-							color: #111111;
-						}
-					}
-					.sn-box{
-						display: flex;
-						align-items: center;
-						.copy-btn{
-							width: 58upx;
-							height: 32upx;
-							line-height: 32upx;
-							text-align: center;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #222222;
-							background: #F5F5F5;
-							border-radius: 4upx;
-							margin-left: 24upx;
-						}
-					}
-					 
-				}
-				.line{
-					width: 100%;
-					height: 1px;
-					background: #F0F0F0;
-					margin-top: 30upx;
-				}
-			}
-		}
-		.btn-box{
-			height: 121upx;
-			background: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			.btn{
-				width: 91.73%;
-				height: 88upx;
-				line-height: 88upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				text-align: center;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-	
-</style>

+ 0 - 669
pages/shopping/paymentOrder.vue

@@ -1,669 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<!-- 时间、价格 -->
-			<view class="time-price">
-				<text class="time">请在{{payLimitTime}}前完成支付</text>
-				<view class="price-box">
-					<text class="unit">¥</text>
-					<text class="num" >{{payMoney.toFixed(2)}}</text>
-				</view>
-				<text class="desc" v-if="payType==2">代收金额{{payDelivery.toFixed(2)}},请您在收到快递后支付尾款给快递人员。</text>
-				<text class="desc" v-if="payType==3">货到付款金额{{payDelivery.toFixed(2)}},请您在收到快递后支付给快递人员。</text>
-			</view>
-			<!-- 支付方式 -->
-			<view class="pay-type">
-				<view class="title">支付方式</view>
-				<!-- 改价订单只能选择微信支付和物流代收 -->
-				<radio-group  @change="payTypeChange" v-if="order.isEditMoney!=null&&order.isEditMoney==1">
-					<view class="item"  >
-						<view class="left"  >
-							<image src="/static/images/wecha_pay.png" mode=""></image>
-							<text class="text">微信支付</text>
-						</view>
-						<label>
-							<radio :value="1" :checked="order.payType=='1'" />
-						</label>
-					</view>
-					<view class="item"  >
-						<view class="left">
-							<image src="/static/images/pay_de.png" mode=""></image>
-							<text class="text">物流代收</text>
-						</view>
-						<label>
-							<radio  :value="2" :checked="order.payType=='2'" />
-						</label>
-					</view>
-				</radio-group>
-				 
-				<radio-group @change="payTypeChange" v-else-if="order.orderCreateType!=null&& order.orderCreateType==3">
-					<view class="item"  >
-						<view class="left" >
-							<image src="/static/images/wecha_pay.png" mode=""></image>
-							<text class="text">微信支付</text>
-						</view>
-						<label>
-							<radio :value="1" :checked="order.payType=='1'" />
-						</label>
-					</view>
-					<view class="item" >
-						<view class="left">
-							<image src="../../static/images/pay_de.png" mode=""></image>
-							<text class="text">物流代收</text>
-						</view>
-						<label>
-							<radio  :value="2" :checked="order.payType=='2'" />
-						</label>
-					</view>
-					<view class="item" v-if="user!=null&&user.level==1 ">
-						<view class="left">
-							<image src="../../static/images/pay_1.png" mode=""></image>
-							<text class="text">货到付款</text>
-						</view>
-						<label>
-							<radio  :value="3" :checked="order.payType=='3'" />
-						</label>
-					</view>
-				</radio-group>
-				<radio-group @change="payTypeChange" v-else-if="order.orderCreateType!=null&& order.orderCreateType==2">
-					<view class="item" v-if="payType==1||payType==4" >
-						<view class="left" >
-							<image src="/static/images/wecha_pay.png" mode=""></image>
-							<text class="text">微信支付</text>
-						</view>
-						<label>
-							<radio :value="1" :checked="order.payType=='1'" />
-						</label>
-					</view>
-					<view class="item" v-if="payType==2||payType==4">
-						<view class="left" >
-							<image src="../../static/images/pay_de.png" mode=""></image>
-							<text class="text">物流代收</text>
-						</view>
-						<label>
-							<radio  :value="2" :checked="order.payType=='2'" />
-						</label>
-					</view>
-					<view class="item" v-if="user!=null&&user.level==1 ">
-						<view class="left">
-							<image src="../../static/images/pay_1.png" mode=""></image>
-							<text class="text">货到付款</text>
-						</view>
-						<label>
-							<radio  :value="3" :checked="order.payType=='3'" />
-						</label>
-					</view>
-				</radio-group>
-				<radio-group @change="payTypeChange" v-else-if="order.orderCreateType!=null&&(order.orderCreateType==1)">
-					<view class="item"  >
-						<view class="left" >
-							<image src="/static/images/wecha_pay.png" mode=""></image>
-							<text class="text">微信支付</text>
-						</view>
-						<label>
-							<radio :value="1" checked />
-						</label>
-					</view>
-				</radio-group>
-			</view>
-			<!-- 订单详情查看 -->
-			<view class="order-info">
-				<view class="title">订单信息</view>
-				<view class="item">
-					<text class="label">订单编号</text>
-					<view class="sn-box">
-						<view>
-							<view class="text" v-for="item in order.orderCodes" :key="item">{{item}}</view>
-						</view>
-						<view class="copy-btn" @click="copyOrderSn(orderCode)">复制</view>
-					</view>
-				</view>
-				<view class="item">
-					<text class="label">下单时间</text>
-					<text class="text">{{order.createTime}}</text>
-				</view>
-				<view class="item">
-					<text class="label">订单金额</text>
-					<text class="text" v-if="order!=null">{{order.payPrice.toFixed(2)}}</text>
-				</view>
-				 
-				<!-- <view class="item">
-					<text class="label">支付方式</text>
-					<text class="text">微信支付</text>
-				</view> -->
-				 
-			</view>
-			
-		</view>
-		<view class="btn-box">
-			<view class="btn" @click="payOrder()">去支付</view>
-			<view class="other-btn" >
-				亲友代付
-				<button  class="share" data-name="shareBtn" open-type="share">分享</button>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getUserInfo} from '@/api/user'
-	
-	import {getStoreConfig} from '@/api/common'
-	import {editPayType,pay,getStoreOrderById,payByCombinationId,getStoreOrderByCombinationId,editPayTypeByCombinationId} from '@/api/storeOrder'
-	export default {
-		data() {
-			return {
-				orderId:null,
-				payDelivery:0,
-				payMoney:0,
-				config:null,
-				payType:1,
-				payLimitTime:null,
-				order:null,
-				user:null,
-				combinationOrderId: '',
-				orderCode: "",
-				// 需要开处方的订单id
-				prescribeOrder: ""
-			}
-		},
-		onLoad(option) {
-			this.combinationOrderId = option.combinationOrderId ? decodeURIComponent(option.combinationOrderId) : ''
-			this.orderId=option.orderId ? JSON.parse(option.orderId) : '';
-			if(this.combinationOrderId) {
-				this.getStoreOrderByCombinationId()
-			} else {
-				this.getStoreOrderById();
-			}
-			this.getStoreConfig();
-			this.getUserInfo();
-			uni.showShareMenu({
-				withShareTicket:true,
-				//小程序的原生菜单中显示分享按钮,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
-				menus:["shareAppMessage"] //不设置默认发送给朋友
-			})
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			const combinationOrderId = this.combinationOrderId ? `&combinationOrderId=${encodeURIComponent(this.combinationOrderId)}` : ''
-			return {
-				title: "帮TA支付",
-				path: '/pages_user/user/otherPaymentOrder?orderId='+this.orderId + combinationOrderId,
-				imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-			
-		},
-		methods: {
-			getUserInfo(){
-				getUserInfo().then(
-					res => {
-						if(res.code==200){
-							if(res.user!=null){
-								this.user=res.user;
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getStoreConfig(){
-				getStoreConfig().then(
-					res => {
-						if(res.code==200){
-							this.config=res.data
-							console.log(this.config);
-						}
-					},
-					rej => {}
-				);
-			},
-			payTypeChange(e){
-				if(this.combinationOrderId) {
-					this.editPayTypeByCombinationId(e.detail.value)
-				} else {
-					this.editPayType(e.detail.value)
-				}
-			},
-			copyOrderSn(text) {
-				// 复制方法
-				uni.setClipboardData({
-					data:text,
-					success:()=>{
-						uni.showToast({
-							title:'内容已成功复制到剪切板',
-							icon:'none'
-						})
-					}
-				});
-			},
-			getStoreOrderById(){
-				var data = {orderId:this.orderId};
-				var that=this;
-				uni.showLoading();
-				getStoreOrderById(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res);
-							uni.hideLoading();
-							that.order=res.order;
-							that.order.orderCodes = that.order.orderCode ? [that.order.orderCode]:[]
-							that.orderCode = that.order.orderCode
-							that.payLimitTime=res.payLimitTime;
-							//套餐订单处理
-							if(res.productPackage!=null){
-								this.payType=res.productPackage.payType;
-								console.log(this.payType)
-								if(this.order.payType==4){
-									this.order.payType=1;
-								}
-							}
-							this.editPayType(this.order.payType)
-							
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			editPayType(payType){
-				var data = {orderId:this.orderId,payType:payType};
-				var that=this;
-				uni.showLoading();
-				editPayType(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res);
-							uni.hideLoading();
-							that.order=res.order;
-							that.order.orderCodes = that.order.orderCode ? [that.order.orderCode]:[]
-							that.orderCode = that.order.orderCode
-							// this.payType=this.order.payType
-							this.payMoney=this.order.payMoney;
-							this.payDelivery=this.order.payDelivery;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			getStoreOrderByCombinationId() {
-				var data = {combinationId:this.combinationOrderId};
-				var that=this;
-				uni.showLoading();
-				getStoreOrderByCombinationId(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res);
-							uni.hideLoading();
-							that.order=res.order;
-							that.orderCode = res.order.orderCodes ? res.order.orderCodes.join(',') : "";
-							that.payLimitTime=res.payLimitTime;
-							//套餐订单处理
-							if(res.productPackage!=null){
-								this.payType=res.productPackage.payType;
-								console.log(this.payType)
-								if(this.order.payType==4){
-									this.order.payType=1;
-								}
-							}
-							that.prescribeOrder = res.prescribeOrder;
-							this.editPayTypeByCombinationId(this.order.payType)
-							
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			editPayTypeByCombinationId(payType){
-				var data = {combinationOrderId:this.combinationOrderId,payType:payType};
-				var that=this;
-				uni.showLoading();
-				editPayTypeByCombinationId(data).then(
-					res => {
-						if(res.code==200){
-							console.log(res);
-							uni.hideLoading();
-							that.order=res.order;
-							that.orderCode = res.order.orderCodes ? res.order.orderCodes.join(',') : "";
-							//this.payType=this.order.payType
-							this.payMoney=this.order.payMoney;
-							this.payDelivery=this.order.payDelivery;
-							that.prescribeOrder = res.prescribeOrder;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			otherPayOrder(){
-				// uni.navigateTo({
-				// 	url: '/pages_user/user/otherPaymentOrder?orderId='+this.orderId
-				// })
-				uni.navigateTo({
-					url: '/pages_user/user/otherPaymentOrder?combinationOrderId='+encodeURIComponent(this.combinationOrderId)
-				})
-			},
-			payOrder(){
-				if(this.combinationOrderId) {
-					let data = {combinationOrderId:this.combinationOrderId,payType:this.order.payType};
-					let that=this;
-					uni.showLoading();
-					payByCombinationId(data).then(
-						res => {
-							if(res.code==200){
-								this.payfun(res)
-							}else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-						},
-						rej => {}
-					);
-				} else {
-					let data = {orderId:this.order.id,payType:this.order.payType};
-					let that=this;
-					uni.showLoading();
-					pay(data).then(
-						res => {
-							if(res.code==200){
-								this.payfun(res)
-							}else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-						},
-						rej => {}
-					);
-				}
-			},
-			payfun(res) {
-				const that = this
-				console.log(res.result);
-				if(res.payType==1||res.payType==2){
-					 uni.requestPayment({
-						provider: 'wxpay',
-						timeStamp: res.result.timeStamp,
-						nonceStr: res.result.nonceStr,
-						// package: res.result.packageValue,
-						package: res.result.packageStr,
-						signType: res.result.signType,
-						paySign: res.result.paySign,
-						success: function(res) {
-							 uni.hideLoading();
-							  uni.redirectTo({
-								url:"success?order="+JSON.stringify(that.order)
-							  }) 
-						},
-						fail: function(err) {
-							uni.showToast({
-								icon:'none',
-								title:'fail:' + JSON.stringify(err),
-							});
-							console.log('fail:' + JSON.stringify(err));
-							uni.hideLoading();
-						}
-					 });
-				}
-				else if(res.payType==3){
-					 uni.hideLoading();
-					 if(that.order.isPrescribe){
-						 //如果是处方订单开处方
-						// uni.redirectTo({
-						// 	url:"prescribe?orderId="+that.order.id
-						// })
-						uni.redirectTo({
-							url:"prescribe?orderId="+that.prescribeOrder+"&combinationOrderId="+encodeURIComponent(that.order.combinationOrderId)
-						})
-					 }
-					 else{
-						//如果是普通订单
-						uni.redirectTo({
-							url:"success?order="+JSON.stringify(that.order)
-						}) 
-					 }
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		.inner{
-			padding: 20upx;
-			.time-price{
-				box-sizing: border-box;
-				padding: 50upx 0upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				.time{
-					font-size: 32upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #222222;
-					line-height: 1;
-					text-align: center;
-				}
-				.desc{
-					margin: 30upx 0upx 15upx;
-					font-size: 26upx;
-					font-family: PingFang SC;
-					color: #999999;
-					line-height: 1;
-					text-align: center;
-				}
-				.price-box{
-					display: flex;
-					align-items: flex-end;
-					margin-top: 28upx;
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.3;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 56upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.pay-type{
-				box-sizing: border-box;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-top: 20upx;
-				padding: 40upx 30upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.title{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-					margin-bottom: 10upx;
-				}
-				.item{
-					padding: 15upx 0upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.left{
-						display: flex;
-						align-items: center;
-						image{
-							width: 44upx;
-							height: 44upx;
-							margin-right: 20upx;
-						}
-						.text{
-							font-size: 30upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #222222;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.order-info{
-				margin-top: 20upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				padding: 40upx 30upx;
-				.title{
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #222222;
-					line-height: 1;
-				}
-				.item{
-					margin-top: 40upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.label{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						line-height: 1;
-					}
-					.text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						line-height: 32upx;
-					}
-					.cont-text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						.bold{
-							color: #111111;
-						}
-					}
-					.sn-box{
-						display: flex;
-						align-items: center;
-						.copy-btn{
-							width: 58upx;
-							height: 32upx;
-							line-height: 32upx;
-							text-align: center;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #222222;
-							background: #F5F5F5;
-							border-radius: 4upx;
-							margin-left: 24upx;
-						}
-					}
-					 
-				}
-				.line{
-					width: 100%;
-					height: 1px;
-					background: #F0F0F0;
-					margin-top: 30upx;
-				}
-			}
-		}
-		.btn-box{
-			height: 242upx;
-			background: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex-direction: column;
-			.btn{
-				width: 91.73%;
-				height: 88upx;
-				line-height: 88upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				text-align: center;
-				background: #0bb3f2;
-				border-radius: 44upx;
-				margin-bottom: 10rpx;
-			}
-			.other-btn{
-				width: 91.73%;
-				height: 88upx;
-				line-height: 88upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #0bb3f2;
-				border: 1rpx solid #0bb3f2;
-				text-align: center;
-				background: #FFFFFF;
-				border-radius: 44upx;
-				margin-bottom: 10rpx;
-				position: relative;
-				.share{
-					display: inline-block;
-					position: absolute;
-					top: 0;
-					left: 0;
-					width: 100%;
-					height: 100%;
-					opacity: 0;
-				}
-			}
-		}
-	}
-	
-</style>

+ 0 - 854
pages/shopping/prescribe.vue

@@ -1,854 +0,0 @@
-<template>
-	<view class="content">
-		<view class="fixed-top-box">
-			<view class="status_bar" :style="{height: statusBarHeight}"></view>
-			<view class="back-box" @click="back">
-				<image src="../../static/images/back_white.png" mode=""></image>
-				<text class="title">填写处方信息</text>
-				<text></text>
-			</view>
-		</view>
-		<view class="inner">
-			<view :style="{height: statusBarHeight}"></view>
-			<!-- 步骤 -->
-			<view class="steps-box">
-				<view class="item active">填写信息</view>
-				<image class="arrow" src="../../static/images/arrow4.png" mode=""></image>
-				<view class="item">医生开方</view>
-				<image class="arrow" src="../../static/images/arrow4.png" mode=""></image>
-				<view class="item">支付订单</view>
-				<image class="arrow" src="../../static/images/arrow4.png" mode=""></image>
-				<view class="item">厂家发货</view>
-			</view>
-			<!-- 提示 -->
-			<view class="tip-box">
-				<view class="top">
-					<image src="../../static/images/safe2.png" mode=""></image>
-					<text class="text">依据国家规定、处方药需凭处方购买</text>
-				</view>
-				<view class="time-tip">填写问诊人信息、处方信息</view>
-			</view>
-			<view class="info-box">
-				<!-- 选择问诊人 -->
-				<view class="chose-people">
-					<view class="title-box">
-						<text class="title">选择问诊人</text>
-						<view class="add-box" @click="addPeople()">
-							<image src="../../static/images/add26.png" mode=""></image>
-							<text >添加</text>
-						</view>
-					</view>
-					<view class="peop-list" v-if="patient.length>0">
-						<view v-for="(item,index) in patient" :key="index" :class="patientId == item.patientId?'item active':'item'" @click="chosePatient(item)">
-							<view class="name">{{ item.patientName }}</view>
-							<view class="info">
-								<text class="sex" v-if="item.gender==1">男</text>
-								<text class="sex" v-if="item.gender==2">女</text>
-								<text class="ege">{{utils.getAge(item.birthday)}}岁</text>
-							</view>
-							<!-- 选中的对号角标 -->
-							<image v-if="patientId == item.patientId" class="active-img" src="../../static/images/sel_right50.png" mode=""></image>
-						</view>
-					</view>
-				</view>
-				<view class="text-content">
-					<view class="title">
-						<text class="black">主诉</text>
-						<text class="gray">(选填)</text>
-					</view>
-					<textarea class="textArea" maxlength="200" @input="chiefComplaintInput" placeholder="请填写主诉内容"></textarea>
-				</view>
-				<view class="text-content">
-					<view class="title">
-						<text class="black">既往病史</text>
-						<text class="gray">(选填)</text>
-					</view>
-					<textarea class="textArea" maxlength="200" @input="historyIllnessInput" placeholder="请填写既往病史内容"></textarea>
-				</view>
-				<view class="img-content">
-					<view class="title">
-						<text class="black">复诊凭证</text>
-						<text class="gray">(选填) {{imgList.length}}/4</text>
-					</view>
-					<view class="upload-img">
-						<view class="img" v-for="(item,index) in imgList" :key="index"  >
-							<image :src="item" mode="aspectFill"  @click="previewImage(index)"></image>
-							<view class="del" @click="delImg(index)" >
-								<image src="/static/images/del2.png"></image>
-							</view>
-						</view>
-						<view class="chose-img" @tap="chooseImage(1)" v-if="imgList.length<4">
-							<image src="/static/images/adds.png"></image>
-						</view>
-					</view>
-					
-					 
-				</view>
-				<!-- 疾病选择 -->
-				<!-- <view class="disease-select">
-					<view class="title">
-						<text class="black">本次用药的确诊疾病</text>
-						<text class="gray">(可多选)</text>
-					</view>
-					<view class="dise-list">
-						<view 
-							v-for="(item,index) in diseaseList" 
-							:key="index" 
-							:class="activeDise == index?'item active':'item'"
-							@click="choseDise(index)"
-						>
-							{{ item }}
-						</view>
-					</view>
-				</view> -->
-				<!-- 是否使用过此药 -->
-				<view class="check-box">
-					<view class="left">
-						<image src="../../static/images/yao.png" mode=""></image>
-						<text class="text">是否有过敏史</text>
-					</view>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio value="1" :checked="isAllergic==true" style="margin-right: 16upx;" />
-							<text class="my-radio-text">是</text>
-						</label>
-						<label>
-							<radio value="0" :checked="isAllergic==false" style="margin-right: 16upx;" />
-							<text class="my-radio-text">否</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="check-box">
-					<view class="left">
-						<image src="../../static/images/yao.png" mode=""></image>
-						<text class="text">肝功能是否异常</text>
-					</view>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio value="1" :checked="isLiver==true" style="margin-right: 16upx;" />
-							<text class="my-radio-text">是</text>
-						</label>
-						<label>
-							<radio value="0" :checked="isLiver==false" style="margin-right: 16upx;" />
-							<text class="my-radio-text">否</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="check-box">
-					<view class="left">
-						<image src="../../static/images/yao.png" mode=""></image>
-						<text class="text">肾功能是否异常</text>
-					</view>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio value="1" :checked="isRenal==true" style="margin-right: 16upx;" />
-							<text class="my-radio-text">是</text>
-						</label>
-						<label>
-							<radio value="0" :checked="isRenal==false" style="margin-right: 16upx;" />
-							<text class="my-radio-text">否</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="check-box">
-					<view class="left">
-						<image src="../../static/images/yao.png" mode=""></image>
-						<text class="text">是否是备孕/怀孕/哺乳期</text>
-					</view>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio value="1" :checked="isLactation==true" style="margin-right: 16upx;" />
-							<text class="my-radio-text">是</text>
-						</label>
-						<label>
-							<radio value="0" :checked="isLactation==false" style="margin-right: 16upx;" />
-							<text class="my-radio-text">否</text>
-						</label>
-					</radio-group>
-				</view>
-			</view>
-		</view>
-		<view class="btn-box">
-			<view class="btn" @click="submit()">去开处方</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getStoreOrderById,getStoreOrderByCombinationId} from '@/api/storeOrder'
-	import {getWeixinPrescribeTemps} from '@/api/common'
-	import {doPrescribe} from '@/api/prescribe'
-	import {getPatientList,delPatient} from '@/api/patient'
-	export default {
-		data() {
-			return {
-				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
-				order:null,
-				temps:[],
-				imgList: [],  
-				orderId:null,
-				patient:[],
-				patientId:null,
-				pickPatient:null,
-				// 疾病列表
-				// diseaseList: ['消化不良','心血管','呼吸系统','感染病','皮肤病','口腔','妇科','耳鼻喉'],
-				// 选中的疾病
-				// activeDise: 0,
-				isAllergic: false,
-				isLiver: false,
-				isRenal: false,
-				isLactation: false,
-				chiefComplaint:null,
-				historyIllness:null,
-				combinationOrderId: '',
-				// 需要开处方的id
-				prescribeOrder: ""
-			}
-		},
-		onLoad(option) {
-			this.combinationOrderId = option.combinationOrderId ? decodeURIComponent(option.combinationOrderId) : ''
-			this.orderId=option.orderId
-			this.getPatientList();
-			uni.$on('refreshPatient', () => {
-				this.getPatientList()
-			})
-			this.getWeixinPrescribeTemps();
-			if(this.combinationOrderId) {
-				this.getStoreOrderByCombinationId()
-			} else {
-				this.getStoreOrderById();
-			}
-		},
-		onShow() {
-			this.getPatientList();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				var user=JSON.parse(uni.getStorageSync('userInfo'))
-				var combinationOrderId = this.combinationOrderId ? '&combinationOrderId='+decodeURIComponent(option.combinationOrderId) : ''
-				return {
-					title: "填写处方信息",
-					path: "/pages/shopping/prescribe?orderId="+this.prescribeOrder + combinationOrderId,
-					imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-		},
-		methods: {
-			back(){
-			  // uni.showToast({
-			  // 	icon:'none',
-			  // 	title: "请填写资料提交处方,否则将无法发货"
-			  // });
-			  uni.navigateBack();
-			},
-			getStoreOrderById:function(){
-				var data = {orderId:this.orderId};
-				getStoreOrderById(data).then(
-					res => {
-						if(res.code==200){
-							this.order=res.order
-						}else{
-							 
-						}
-					},
-					rej => {}
-				);
-			},
-			getStoreOrderByCombinationId() {
-				var data={combinationId:this.combinationOrderId}
-				getStoreOrderByCombinationId(data).then(
-					res => {
-						if(res.code==200){
-							this.order=res.order
-							this.prescribeOrder = res.prescribeOrder || ''
-						}else{
-							 
-						}
-					},
-					rej => {}
-				);
-			},
-			getWeixinPrescribeTemps:function(){
-				getWeixinPrescribeTemps().then(
-					res => {
-						if(res.code==200){
-							this.temps=res.temp
-							console.log(this.temps)
-						}else{
-							 
-						}
-					},
-					rej => {}
-				);
-			},
-			chiefComplaintInput(e) {
-				this.chiefComplaint = e.detail.value
-			},
-			historyIllnessInput(e) {
-				this.historyIllness = e.detail.value
-			},
-			// 选择图片
-			chooseImage(type) {
-				var that=this;
-				uni.chooseImage({
-					count: 4, //默认9
-					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['album', 'camera'], //从相册选择
-					success: (res) => {
-						uni.uploadFile({
-							url: uni.getStorageSync('requestPath')+'/app/common/uploadOSS', //仅为示例,非真实的接口地址
-							filePath: res.tempFilePaths[0],
-							name: 'file',
-							success: (res) => {
-								that.imgList.push(JSON.parse( res.data).url)
-							}
-						});
-					}
-				});
-			},
-			//图片预览
-			previewImage(index){
-				//预览图片
-				uni.previewImage({
-					urls: this.imgList,
-					current: this.imgList[index]
-				});
-			},
-			delImg(index) {
-				uni.showModal({
-					title: '提示',
-					content: '确定要删除这张图片吗?',
-					cancelText: '取消',
-					confirmText: '确定',
-					success: res => {
-						if (res.confirm) {
-							this.imgList.splice(index, 1);
-						}
-					}
-				})
-			},
-			submit(){
-				var that=this;
-				if(this.patientId==null){
-					uni.showToast({
-						icon:'none',
-						title: "请选择患者"
-					});
-					return;
-				}
-				// if(this.pickPatient.isAuth==0){
-				// 	uni.showToast({
-				// 		icon:'none',
-				// 		title: "该问诊人未实名认证"
-				// 	});
-				// 	return;
-				// }
-				 
-				uni.showLoading({
-					title:"正在处理中"
-				})
-				var data={
-					patientId:this.patientId,
-					combinationOrderId: this.combinationOrderId,
-					orderIds:this.orderId,
-					isAllergic:this.isAllergic,
-					isLiver:this.isLiver,
-					isRenal:this.isRenal,
-					isLactation:this.isLactation,
-					chiefComplaint:this.chiefComplaint,
-					historyIllness:this.historyIllness,
-					recordPic:this.imgList.toString()
-				}
-				 doPrescribe(data).then(
-				 	res => {
-				 		if(res.code==200){
-							 uni.hideLoading()
-				 			 uni.showToast({
-				 			 	icon:'success',
-				 			 	title:res.msg,
-				 			 });
-							 var order =res.ordersRes;
-							 uni.requestSubscribeMessage({
-							 	tmplIds: this.temps,
-							 	success(res) {
-									setTimeout(function(){
-										if(order.some(item=>item.paid!=1)){
-											uni.redirectTo({
-												url: './paymentOrder?combinationOrderId='+encodeURIComponent(that.order.combinationOrderId)
-											})
-										}
-										else{
-											uni.navigateBack({  
-												delta: 1
-											});
-											
-										}
-										
-									},500);
-							 	},
-							 	fail(res) {
-							 		setTimeout(function(){
-										if(order.some(item=>item.paid!=1)){
-											uni.redirectTo({
-												url: './paymentOrder?combinationOrderId='+encodeURIComponent(that.order.combinationOrderId)
-											})
-										}
-										else{
-											uni.navigateBack({  
-												delta: 1
-											});
-											
-										}
-							 			 
-							 		},500);
-							 	}
-							 })
-							 
-				 			
-				 		}else{
-				 			uni.showToast({
-								icon:'none',
-				 				title: res.msg,
-				 			});
-				 		}
-				 	},
-				 	rej => {}
-				 );
-				
-			},
-			getPatientList(){
-			 	uni.showLoading({
-			 		title:"正在加载中"
-			 	})
-			 	getPatientList().then(
-			 		res => {
-			 			uni.hideLoading()
-			 			if(res.code==200){
-			 				this.patient=res.data;
-			 			}else{
-			 				uni.showToast({
-			 					icon:'none',
-			 					title: "请求失败",
-			 				});
-			 			}
-			 		},
-			 		rej => {}
-			 	);
-			},
-			// 选中问诊人
-			chosePatient(item) {
-				this.patientId = item.patientId;
-				this.pickPatient=item;
-			},
-			// 添加问诊人
-			addPeople() {
-				uni.navigateTo({
-					url:"/pages_user/user/patient"
-				})
-			},
-			// 疾病选择
-			choseDise(index) {
-				this.activeDise = index
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		.fixed-top-box{
-			width: 100%;
-			background: linear-gradient(135deg, #66b2ef 0%, #0bb3f2 100%);
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 1000;
-			.back-box{
-				height: 88upx;
-				padding-left: 22upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding: 0 20upx;
-				image{
-					width: 40upx;
-					height: 40upx;
-				}
-				.title{
-					font-size: 36upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #FFFFFF;
-				}
-			}
-		}
-		.inner{
-			margin-top: 88rpx;
-			.steps-box{
-				height: 88upx;
-				background: #FFFFFF;
-				padding: 0 48upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				.item{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					&.active{
-						font-weight: bold;
-						color: #0bb3f2;
-					}
-				}
-				.arrow{
-					width: 12upx;
-					height: 22upx;
-				}
-			}
-			.tip-box{
-				box-sizing: border-box;
-				height: 130upx;
-				background: #FFF4E6;
-				padding: 26upx 0 30upx 50upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.top{
-					display: flex;
-					align-items: center;
-					image{
-						width: 26upx;
-						height: 31upx;
-						margin-right: 10upx;
-					}
-					.text{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #EF8A07;
-						line-height: 1;
-					}
-				}
-				.time-tip{
-					padding-left: 40upx;
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-				}
-			}
-			.info-box{
-				padding: 20upx;
-				.chose-people{
-					box-sizing: border-box;
-					background: #FFFFFF;
-					border-radius: 16upx;
-					padding: 40upx 30upx 30upx;
-					.title-box{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.title{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-						}
-						.add-box{
-							display: flex;
-							align-items: center;
-							image{
-								width: 26upx;
-								height: 26upx;
-								margin-right: 11upx;
-							}
-							text{
-								font-size: 28upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-							}
-						}
-					}
-					.peop-list{
-						display: flex;
-						flex-wrap: wrap;
-						margin-top: 30upx;
-						.item{
-							box-sizing: border-box;
-							padding: 18upx 30upx;
-							width: 31.28%;
-							height: 110upx;
-							background: #F7F7F7;
-							border-radius: 16upx;
-							margin: 0 20upx 10upx 0;
-							border: 2upx solid #F7F7F7;
-							display: flex;
-							flex-direction: column;
-							justify-content: space-between;
-							&:nth-child(3n){
-								margin-right: 0;
-							}
-							&.active{
-								background: rgba(230, 250, 247, 0);
-								border: 2upx solid #0bb3f2;
-								position: relative;
-							}
-							.active-img{
-								width: 50upx;
-								height: 50upx;
-								position: absolute;
-								right: -2upx;
-								bottom: -2upx;
-							}
-							.name{
-								font-size: 30upx;
-								line-height: 1;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #111111;
-							}
-							.info{
-								display: flex;
-								align-items: center;
-								.sex,
-								.ege{
-									font-size: 26upx;
-									font-family: PingFang SC;
-									line-height: 1;
-									font-weight: 500;
-									color: #666666;
-								}
-								.ege{
-									margin-left: 19upx;
-								}
-							}
-						}
-					}
-				}
-				.disease-select{
-					box-sizing: border-box;
-					min-height: 286upx;
-					background: #FFFFFF;
-					border-radius: 16upx;
-					padding: 40upx 30upx 22upx;
-					margin-top: 20upx;
-					.title{
-						display: flex;
-						align-items: center;
-						align-items: flex-end;
-						.black{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-						.gray{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							color: #999999;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-					}
-					.dise-list{
-						display: flex;
-						flex-wrap: wrap;
-						margin-top: 26upx;
-						.item{
-							box-sizing: border-box;
-							height: 64upx;
-							line-height: 64upx;
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #0bb3f2;
-							background: #F5FFFE;
-							border: 1px solid #8AD5CE;
-							padding: 0 20upx;
-							border-radius: 32upx;
-							margin: 0 20upx 20upx 0;
-							&.active{
-								background: #0bb3f2;
-								border: 1px solid #0bb3f2;
-								color: #FFFFFF;
-							}
-						}
-					}
-				}
-				.text-content{
-					box-sizing: border-box;
-					min-height: 286upx;
-					background: #FFFFFF;
-					border-radius: 16upx;
-					padding: 40upx 30upx 22upx;
-					margin-top: 20upx;
-					.title{
-						display: flex;
-						align-items: center;
-						align-items: flex-end;
-						.black{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-						.gray{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							color: #999999;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-					}
-					.textArea{
-						margin: 30rpx 0rpx 0rpx 0rpx;
-						width: 100%;
-					}
-					 
-					
-					 
-				}
-				.img-content{
-					box-sizing: border-box;
-					min-height: 286upx;
-					background: #FFFFFF;
-					border-radius: 16upx;
-					padding: 40upx 30upx 22upx;
-					margin-top: 20upx;
-					margin-bottom: 20upx;
-					.title{
-						display: flex;
-						align-items: center;
-						align-items: flex-end;
-						.black{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #111111;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-						.gray{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							color: #999999;
-							line-height: 1;
-							margin-left: 10upx;
-						}
-					}
-					.textArea{
-						margin: 30rpx 0rpx 0rpx 0rpx;
-						width: 100%;
-					}
-					.upload-img{
-						margin: 30rpx 0rpx 0rpx 0rpx;
-						width: 100%;
-						display: flex;
-						align-items: flex-start;
-						.img{
-							margin-right: 10rpx;
-							width: 100rpx;
-							height: 100rpx;
-							position: relative;
-							image{
-								width: 100%;
-								height: 100%;
-							}
-							.del{
-								right:0rpx;
-								top:0rpx;
-								position: absolute;
-								image{
-									width: 30rpx;
-									height:30rpx;
-								}
-							}
-						}
-						.chose-img{
-							border-radius: 5rpx;
-							border: 1px solid #eee;
-							padding: 5rpx;
-							display: flex;
-							align-items: center;
-							justify-content: center;
-							width: 100rpx;
-							height: 100rpx;
-							image{
-								width: 50rpx;
-								height: 50rpx;
-							}
-							
-						}
-					}
-					
-					 
-				}
-
-				.check-box{
-					height: 88upx;
-					background: #FFFFFF;
-					border-radius: 16upx;
-					padding: 0 30upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.left{
-						display: flex;
-						align-items: center;
-						image{
-							width: 21upx;
-							height: 27upx;
-							margin-right: 20upx;
-						}
-						.text{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #666666;
-						}
-					}
-					.my-radio-text{
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 30upx;
-					}
-				}
-			}
-		}
-		.btn-box{
-			height: 120upx;
-			padding: 30upx;
-			// background: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			.btn{
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				text-align: center;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-	
-</style>

+ 0 - 2108
pages/shopping/productDetails.vue

@@ -1,2108 +0,0 @@
-<template>
-	<view class="content">
-			<view class="share-box centerV ">
-				<image class="w48 h48 " src="/static/images/weixin.png" mode=""></image>
-				<text class="color-text mt8 weight-500 fs20">微信分享</text>
-				<button class="share" data-name="shareBtn" open-type="share"></button>
-			</view>
-		<!-- 商品轮播图片 -->
-		<view class="shop-banner" @click="showImg()">
-			<swiper
-				class="swiper" 
-				:indicator-dots="false" 
-				:circular="true" 
-				:autoplay="true" 
-				:interval="3000" 
-				:duration="1000"
-				indicator-color="rgba(255, 255, 255, 0.6)"
-				indicator-active-color="#ffffff"
-				@change="swiperChange">
-				<swiper-item  class="swiper-item" v-for="(item,index) in  banner" :key="index">
-					<image :src="item" mode="aspectFill"></image>
-					<view class="cf-box" v-if="product.productType==2">
-						<view class="title">处方药</view>
-						<view class="subTitle">请在医师指导下使用</view>
-					</view>
-				</swiper-item>
-			</swiper>
-			<!-- 底部遮罩 -->
-			<view class="banner-mask"></view>
-			<!-- 数量 -->
-			<view class="num-box"><text class="weight-500">{{ activeBanner }}</text>/{{ banner.length }}</view>
-		</view>
-		<!-- 详细信息 -->
-		<view class="det-info">
-			<view class="price-box">
-				<view class="price">
-					<text class="label">会员价</text>
-					<text class="unit">¥</text>
-					<text class="num" >{{product.price}}</text>
-					<text class="fs24 color-text2">零售价</text>
-					<text class="old" >¥{{product.otPrice}}</text>
-				</view>
-			<!-- 	<view class="share-box">
-					<text class="text">分享</text>
-					<image src="../../static/images/share1.png" mode=""></image>
-					<button  class="share" data-name="shareBtn" open-type="share">分享</button>
-				</view> -->
-					<text class="fs24 color-text2">月售{{product.sales}}件</text>
-			</view>
-			<view class="name-box">
-				<view class="tag">{{utils.getDictLabelName("storeProductType",product.productType)}}</view>{{product.productName}}
-			</view>
-			<view class="intro" v-if="product.productInfo!=null" v-html="product.productInfo.replace(/\n/g,'<br>')">
-			</view>
-			<!-- <view class="intro-box">
-				<text class="title-1">药品说明</text>
-				<view class="line"></view>
-				<view class="intro-text">
-					<text class="title-2">药品说明:</text>
-					<view class="intro-content ellipsis2" v-if="product.productInfo!=null" v-html="product.productInfo.replace(/\n/g,'<br>')">
-					</view>
-				</view>
-				<view class="line"></view>
-				<view class="intro-text">
-					<text class="title-2">常见用法:</text>
-					<view class="intro-content ellipsis2" v-if="product.productInfo!=null" v-html="product.productInfo.replace(/\n/g,'<br>')">
-					</view>
-				</view>
-				<view class="line"></view>
-				<view class="intro-text2">
-					<text class="title-2">贮藏:</text>
-					<view class="intro-content ellipsis2" v-if="product.productInfo!=null" v-html="product.productInfo.replace(/\n/g,'<br>')">
-					</view>
-				</view>
-			</view> -->
-			<!-- <view class="safe-box">
-				<image src="../../static/images/safe.png" mode=""></image>
-				<text class="text">免邮发货</text>
-				<view class="line"></view>
-				<text class="text">药师服务</text>
-				<view class="line"></view>
-				<text class="text">隐私保护</text>
-			</view> -->
-		</view>
-		<view class="guige">
-			<!-- <view class="guige-gg">
-				<text class="gg-text">规格</text>
-				<text class="gg-text2">{{productAttr.attrValues||'-'}}</text>
-			</view> -->
-			<view class="safe-box">
-				<text class="text">服务</text>
-				<view class="box">
-					<view>
-						<image src="../../static/images/service_icon14.png" mode=""></image>
-						<text>免邮发货</text>
-					</view>
-					<view>
-						<image src="../../static/images/service_icon14.png" mode=""></image>
-						<text>药师服务</text>
-					</view>
-					<view>
-						<image src="../../static/images/service_icon14.png" mode=""></image>
-						<text>隐私保护</text>
-					</view>
-					<view @click="openEditMoney()">
-						<image class='w48 h48' src="/static/images/right.png"></image>
-					</view>
-				</view>
-				
-			</view>
-			<view class="popup-box" v-if="editShow">
-			  <view class="info-mask"  @tap="cancelEditMoney()" ></view>
-			  <view class="info-form">
-				  <view class="top">
-					<view class="title">服务</view>
-					<view class="close" @click="cancelEditMoney()">
-						<image class='w48 h48' src="../../static/images/close_icon24.png" mode=""></image>
-					</view>
-					</view>
-					<view class="line"></view>
-					<view class="form-box">
-						<view class="form-item2">
-							<view class="form-item-box">
-								<image class='w28 h28' src="../../static/images/service_icon14.png" mode=""></image>
-								<text>免邮发货</text>
-							</view>
-							<view class="form-content">
-								订单支付成功后48小时内发货,若未在48小时内发货,平台审核后消费者将会收到至少3元无门槛红包(特殊商品及不可抗力因素除外)
-							</view>
-						</view>
-						<view class="form-item2">
-							<view class="form-item-box">
-								<image class='w28 h28' src="../../static/images/service_icon14.png" mode=""></image>
-								<text>药师服务</text>
-							</view>
-							<view class="form-content">
-								用药关怀认证药师,24小时专业用药咨询
-							</view>
-						</view>
-						<view class="form-item2">
-							<view class="form-item-box">
-								<image class='w28 h28' src="../../static/images/service_icon14.png" mode=""></image>
-								<text>隐私保护</text>
-							</view>
-							<view class="form-content">
-								除患者本人或其授权的代理人外,其他人员未经允许不得随意查阅患者的医疗记录
-							</view>
-						</view>
-					</view>
-					<view class="btns">
-						<view class="sub-btn" @click="cancelEditMoney()">确定</view>
-					</view>
-			  </view>
-			</view>
-		</view>
-		<!-- 购买人数、库存 -->
-		<!-- <view class="inventor">
-			<view class="left">
-				
-				<view class="head-box">
-					<view class="head" v-for="(item,j) in 5" :key="j">
-						<image src="../../static/images/head.jpg" mode=""></image>
-					</view>
-				</view>
-				
-				<view class="num-box">
-					已有 <text class="text">{{product.sales}}</text> 人购买
-				</view>
-				
-			</view>
-			
-			<view class="right">
-				库存 <text class="text">{{product.stock}}{{product.unitName}}</text>
-			</view>
-			<view class="right">
-				 <text class="text">库存{{product.stock>0?'充足':'售罄'}} </text>
-			</view>
-			
-		</view>
-		 -->
-		<!-- 功效 -->
-	<!-- 	<view class="effect">
-			<view class="label">药品说明书</view>
-			<view class="label">查看</view>
-		</view> -->
-		
-		<view class="shop x-bc" v-if="storeSelectInfo.storeId">
-			<view class="x-bc" style="flex: 1;overflow: hidden;">
-				<view class="logo">
-					<image :src="storeSelectInfo.logoUrl" mode="aspectFill"></image>
-				</view>
-				<view class="txtBox y-b">
-					<view class="name">{{storeSelectInfo.storeName}}</view>
-					<view class="desc">24小时营业 · 月售{{utils.formatSalesNum(storeSelectInfo.salesCount) }} · 支持预订</view>
-				</view>
-			</view>
-			
-			<button class="goShop" @click="navgetTo('/pages_shopping/store/index?storeId='+productValueSelect.storeId)">进店</button>
-			
-		</view>
-		
-		
-		<!-- 图文详情 -->
-		<view class="det-box">
-			<view class="title">药品详情</view>
-			<!-- <view class="det-title">
-				<view class="tt">说明书</view>
-				<view class="det-right">
-					<text>查看详情</text>
-					<image class='w48 h48' src="/static/images/right.png"></image>
-				</view>
-			</view> -->
-			<!-- <view class="det-table">
-				<view class="row">
-					<text class="cell cell-1">通用名称</text>
-					<text class="cell cell-2">云南白药气雾剂</text>
-				</view>
-				<view class="row">
-				    <text class="cell cell-1">成份</text>
-					<text class="cell cell-2">国家保密方,本品含草乌(制)、雪上一枝蒿(制),其余成份略。</text>
-				</view>
-				<view class="row">
-				    <text class="cell cell-1">性状</text>
-					<text class="cell cell-2">云南白药气雾剂为非定量阀门气雾剂,在耐压容器中的药液为淡黄...</text>
-				</view>
-			</view> -->
-			<!-- <view class="det-table">
-				<uni-table border stripe emptyText="暂无更多数据" >
-					
-					<uni-tr>
-						<uni-th align="center">通用名称</uni-th>
-						<uni-th align="center">成份</uni-th>
-						<uni-th align="left">性状</uni-th>
-					</uni-tr>
-					
-					<uni-tr>
-						<uni-td>云南白药气雾剂</uni-td>
-						<uni-td>国家保密方,本品含草乌(制)、雪上一枝蒿(制),其余成份略。</uni-td>
-						<uni-td>云南白药气雾剂为非定量阀门气雾剂,在耐压容器中的药液为淡黄...</uni-td>
-					</uni-tr>
-				</uni-table>
-			</view> -->
-			
-			<view class="inner">
-				<view  v-html="product.description" style="font-size:0"></view>
-			</view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="menu-box">
-				<view class="item" @click="goHome">
-					<image src="../../static/images/tab_home_icon24.png" mode=""></image>
-					<text class="label">首页</text>
-				</view>
-				<view class="item" style="position: relative;">
-					<image src="../../static/images/customer_service_icon24.png" mode=""></image>
-					<text class="label">咨询</text>
-					<button class="contact-btn" open-type="contact"></button>
-				</view>
-				<view class="item" @click="navgetTo('./cart')">
-					<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error">
-						<image src="../../static/images/shopping_car_icon20.png" mode=""></image>
-					</uni-badge>
-					<text class="label">购物车</text>
-				</view>
-			</view>
-			<view class="btn-box">
-				<view class="btn cart" @click="addCart('cart')">加入购物车</view>
-				<view class="btn buy" @click="addCart('buy')">{{buyText}}</view>
-			</view>
-		</view>
-		
-		<!-- 选择药品规格弹窗 -->
-		<popupBottom ref="popup" :visible.sync="specVisible" title=" "  radius="32"  maxHeight="1024">
-		    <view class="product-spec">
-				<!-- 商品信息 -->
-				<view class="pro-info">
-					<view class="img-box" @click="showImg(productValueSelect.image)">
-						<image :src="productValueSelect.image==null||productValueSelect.image==''?product.image:productValueSelect.image" mode="aspectFill"></image>
-					</view>
-					<view class="info-text">
-						<view class="info-title">{{product.productName}}</view>
-						<view class="price">
-							<view class="label">会员价</view>
-							<text class="unit">¥</text>
-							<text class="num">{{ productValueSelect.price ? productValueSelect.price.toFixed(2) : '0.00' }}</text>
-						</view>
-						<view class="desc-box">
-							<text class="text">月售{{product.sales}}件</text>
-						</view>
-					</view>
-				</view>
-			<!-- 	<view class="pro-info">
-					<view class="img-box" @click="showImg(productValueSelect.image)">
-						<image :src="productValueSelect.image==null||productValueSelect.image==''?product.image:productValueSelect.image" mode="aspectFill"></image>
-					</view>
-					<view class="info-text">
-						<view class="price">
-							<text class="unit">¥</text>
-							<text class="num">{{ productValueSelect.price ? productValueSelect.price.toFixed(2) : '0.00' }}</text>
-						</view>
-						<view class="desc-box">
-							<text class="text" v-if="showServiceFee">服务费:¥{{ productValueSelect.serviceFee ? productValueSelect.serviceFee.toFixed(2) : '0.00' }}</text>
-							<text class="text">已选:{{ productValueSelect.sku }}</text>
-							<text class="text">库存:{{ productValueSelect.stock }}</text>
-						</view>
-					</view>
-				</view> -->
-				<!-- 健康师 -->
-			<!-- 	<view class="tech-pBox" style="margin-top: 20rpx;">
-					<view class="label">选择健康管理师</view>
-					<view 
-						v-for="(item,index) in storePriceList.slice(0,2)"
-						:key="index"
-						:class="productValueSelect.storeId ==  item.storeId ? 'item hover':'item'"
-						@click="storeChange(item,index)"
-					>
-					
-						<image mode="aspectFill" :src="productValueSelect.image==null||productValueSelect.image==''?product.image:productValueSelect.image"></image>
-						<view class="tech-right">
-							<view class="tech-right-top">
-								<text class="title-1">秦宇</text>
-								<text class="title-2">健康管理师/执业药师</text>
-							</view>
-							<view class="tech-right-bottom">{{item.storeName}}</view>
-						</view>
-					</view>	
-				</view> -->
-				<!-- 门店 -->
-				<!-- <view class="spec-box form-item" v-if="stores.length>0">
-					<text class="label">所属门店</text>
-					<picker  class="birth-picker"  mode="selector" :value="storeIdx" :range="storeNames" @change="pickerChange"  @columnchange="pickerColumnchange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" v-model="storeName" placeholder="请选择门店" class="form-input" disabled="disabled" />
-							</view>
-							<image class="arrow" src="../../static/images/arrow_gray.png" mode=""></image>
-						</view>
-					</picker>
-				</view> -->
-				<view class="shop-pBox" style="margin-top: 20rpx;" v-if="storePriceList&&storePriceList.length>0">
-					<view 
-						v-for="(item,index) in storePriceList.slice(0,3)"
-						:key="index"
-						:class="productValueSelect.storeId ==  item.storeId ? 'item hover':'item'"
-						@click="storeChange(item,index)"
-					>
-						<view class="top x-bc">
-							<view class="price"><b>¥</b>{{ item.price.toFixed(2) }}</view>
-							<view class="num">销售{{utils.formatSalesNum(item.sales) }}</view>
-						</view>
-						<view class="bot x-bc shop-pBox-name">
-							<view class="name">{{item.storeName}}</view>
-							<view @click.stop="navgetTo('/pages_shopping/store/index?storeId='+item.storeId)">
-								<u-icon name="arrow-right" color="#000" size="14"></u-icon>
-							</view>
-						</view>
-					</view>	
-					<view class="shop-morebtn" @click="openStorePicker" v-show="storePriceList.length > 3">
-						<view>查看全部</view>
-						<view v-show="storeIdx > 2">
-							<text>已选</text> 
-							<text style="margin: 0 10rpx;">{{storeSelectInfo.storeName}}</text>
-							<text>¥{{productValueSelect.price.toFixed(2)}}</text>
-						</view>
-					</view>
-				</view>
-				<!-- 店铺弹窗 -->
-				<u-popup :show="showStorePicker" :round="16" mode="bottom">
-					<view class="storepopup">
-						<view class="storepopup-title">
-							选择店铺
-						<image class="close-icon" src="@/static/images/close40.png" mode="widthFix" @click="closeStorePicker"></image></view>
-						<scroll-view class="shop-pBox storepopup-box" scroll-y="true">
-							<view 
-								v-for="(item,index) in storePriceList"
-								:key="index"
-								:class="productValueSelect.storeId ==  item.storeId ? 'item hover':'item'"
-								@click="pickerStore(item,index)"
-							>
-								<view class="top x-bc">
-									<view class="price"><b>¥</b>{{ item.price.toFixed(2) }}</view>
-									<view class="num">销售{{utils.formatSalesNum(item.sales) }}</view>
-								</view>
-								<view class="bot x-bc shop-pBox-name">
-									<view class="name">{{item.storeName}}</view>
-									<u-icon name="arrow-right" color="#000" size="14" @click.native.stop="navgetTo('/pages_shopping/store/index?storeId='+item.storeId)"></u-icon>
-								</view>
-							</view>
-						</scroll-view>
-					</view>
-				</u-popup>
-				
-				<!-- 规格 -->
-				<view class="spec-box">
-					<view v-for="(item,index) in attrs">
-						<view class="title">{{item.attrName}}</view>
-						<view class="spec-list">
-							<view 
-								v-for="(subItem,subindex) in item.values" 
-								:key="subindex" 
-								:class="subindex==item.index?'item active':'item'" 
-								@click="choseSpec(index,subindex)">
-								{{ subItem }}
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 数量 -->
-				<view class="price-num">
-					<view class="label">数量</view>
-					<view class="num-box">
-						<view class="img-box" @click="lessNum()">
-							<image v-if="specNum <= 1" src="../../static/images/jian.png" mode=""></image>
-							<image v-else src="../../static/images/jian2.png" mode=""></image>
-						</view>
-						<input   type="number" @change="changeNum" v-model="specNum"   />
-						<view class="img-box" @click="addNum()">
-							<image src="../../static/images/add.png" mode=""></image>
-						</view>
-					</view>
-				</view>
-				<view class="sub-btn" @click="submit">确定</view>
-			</view>
-		</popupBottom>
-		<view class="loadding" v-if="loadding==true">
-			<image src="../..https://user.test.ylrztop.com/images/logo.png"></image>
-			<text class="text">加载中...</text>
-		</view>
-		<u-modal :show="showModal" title="温馨提示" content="处方药须凭处方在药师指导下购买和使用" @confirm="hideModal()"></u-modal>
-	</view>
-</template>
-
-<script>
-	import {getDicts} from '@/api/index'
-	import {getProductDetails,getProductStoreStock,getCartCount,addCart} from '@/api/product'
-	import {getProductConfig} from '@/api/common'
-	import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
-	export default {
-		components: {
-			item:{},
-			popupBottom
-		},
-		data() {
-			return {
-				editShow:false,
-				loadding:true,
-				buyText:"立即购买",
-				// mTitle:"温馨提示",
-				// mContent:"处方药须凭处方在药师指导下购买和使用",
-				type:null,
-				productValueSelect:{
-					price:0,
-					serviceFee:0
-				},
-				banner:[],
-				productId:null,
-				attrs:[],
-				values:[],
-				stores:[],
-				storeId:null,
-				storeNames:[],
-				storeIdx:0,  
-				storeName:"",
-				product:{
-					price:0,
-					otPrice:0,
-				},
-				showModal:false,
-				// 当前轮播的图片
-				activeBanner: 1,
-				// 购物车数量
-				cartCount: 0,
-				// 规格弹窗
-				specVisible: false,
-				// 规格数量
-				specNum: 1,
-				config:null,
-				showServiceFee:false,
-				selectVal:"",
-				// 链接带的storeId
-				urlStoreId: undefined, 
-				showStorePicker: false,
-				// 所选规格门店店铺价格
-				storePriceList: [],
-				// 所选店铺
-				storeSelectInfo: {},
-				// 保存选的规格
-				choseSpecSubIndex: 0,
-				choseSpecIndex: 0,
-			};
-		},
-		onLoad(options) {
-			this.urlStoreId = options.storeId || undefined
-			if(options.userId!=null){
-				uni.setStorageSync('tuiUserId',options.userId);
-			}
-			else if (options.hasOwnProperty('q') && options.q) {
-				// 通过下面这步解码,可以拿到url的值
-				const url = decodeURIComponent(options.q)
-				this.url=url;
-				// // 对url中携带的参数提取处理
-				const obj = this.utils.urlToObj(url)
-				uni.setStorageSync('tuiUserId',obj.userId);
-			}
-			uni.showShareMenu({
-				withShareTicket:true,
-				//小程序的原生菜单中显示分享按钮,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
-				menus:["shareAppMessage","shareTimeline"] //不设置默认发送给朋友
-			})
-			this.getDicts();
-			this.productId = options.productId;
-			if(this.utils.checkToken()){
-				this.getCartCount();
-			}
-			// this.getProductConfig();
-		},
-		onShow() {
-			this.getProductDetails();
-			// this.getStoreList();
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			if(this.utils.isLogin()){
-				var user=JSON.parse( uni.getStorageSync('userInfo'))
-				return {
-					title: this.product.productName,
-					path: '/pages/shopping/productDetails?productId='+this.product.productId+"&userId="+user.userId,
-					imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			if(this.utils.isLogin()){
-				var user=JSON.parse( uni.getStorageSync('userInfo'))
-				return {
-					title: this.product.productName,
-					query:'productId='+this.product.productId+"&userId="+user.userId,//页面参数
-					imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-				}
-			}
-			
-		},
-		methods: {
-			getDicts:function(){
-				getDicts().then(
-					res => {
-						if(res.code==200){
-							uni.setStorageSync('dicts',JSON.stringify(res));
-						} 
-					},
-					rej => {}
-				);
-			},
-			getStoreList(){
-				getStoreList().then(
-					res => {
-						if(res.code==200){
-							// uni.setStorageSync('dicts',JSON.stringify(res));
-						} 
-					},
-					rej => {}
-				);
-			},
-			showImg(img) {
-				if(img!=null){
-					var imgs=[];
-					imgs.push(img)
-					//预览图片
-					uni.previewImage({
-						urls: imgs,
-						current: imgs[0]
-					});
-				}
-				else{
-					//预览图片
-					uni.previewImage({
-						urls: this.banner,
-						current: this.banner[0]
-					});
-				}
-			},
-			//服务弹窗
-			openEditMoney(){
-				this.editShow = true
-			},
-			cancelEditMoney(){
-				this.editShow = false
-			},
-			doAddCart(type){
-				if(this.specNum==0){
-					uni.showToast({
-						icon:'none',
-						title: "库存不足",
-					});
-					return;
-				}
-				var isBuy=type=="buy"?1:0;
-				console.log(this.productValueSelect,'ppp')
-				let data = {isBuy:isBuy,cartNum:this.specNum,productId:this.productValueSelect.productId,attrValueId:this.productValueSelect.id};
-				addCart(data).then(
-					res => {
-						if(res.code==200){
-							if(type=="buy"){
-								const selectCarts = [{
-									storeId: this.storeId,
-									data: {
-									  type: this.type,
-									  cartIds: res.id,
-									}
-								}]
-								uni.navigateTo({
-									url: '/pages/shopping/confirmOrder?type='+this.type+'&orderType='+this.orderType + '&confirmParam='+ encodeURIComponent(JSON.stringify(selectCarts))
-								})
-								// uni.navigateTo({
-								// 	url: '/pages/shopping/confirmOrder?type='+this.type+"&cartIds="+res.id+"&orderType="+this.orderType+"&storeId="+this.storeId
-								// })
-							}
-							else
-							{
-								this.getCartCount()
-								uni.showToast({
-									icon:'success',
-									title: "添加成功",
-								});
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							this.getProductDetails()
-						}
-					},
-					rej => {}
-				);
-			},
-			
-			getCartCount(){
-				let data = {productId:this.productId};
-				getCartCount(data).then(
-					cartRes => {
-						if(cartRes.code==200){
-							 this.cartCount=cartRes.data;
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			// swiper变化事件
-			swiperChange(event) {
-				this.activeBanner = event.detail.current + 1
-			},
-			// 回到首页
-			goHome() {
-				uni.switchTab({
-					url: '/pages/home/index'
-				})
-			},
-			// 跳转页面
-			navgetTo(url) {
-				console.log("跳转")
-				this.utils.isLogin().then(res => {
-					if(res){
-						uni.navigateTo({
-							url: url
-						})
-					}
-				})
-			},
-			// 加入购物车
-			addCart(type) {
-				this.utils.isLogin().then(res => {
-					if(res){
-						this.type=type;
-						this.specVisible = true
-					}
-				});
-			},
-			getProductDetails(){
-				let data = {
-					productId:this.productId,
-					storeId: this.urlStoreId || ""
-				};
-				getProductDetails(data).then(
-					res => {
-						this.loadding=false
-						if(res.code==200){
-							this.product=res.product;
-							if(this.product.productType==1){
-								this.buyText="立即购买"
-							}
-							else if(this.product.productType==2){
-								this.showModal=true;
-								this.buyText="开方购买"
-							}
-							this.product.otPrice=this.product.otPrice.toFixed(2);
-							this.product.price=this.product.price.toFixed(2);
-							if(this.product.sliderImage!=null){
-								this.banner=this.product.sliderImage.split(',');
-							}
-							else{
-								this.banner=[]
-							}
-							this.attrs=res.productAttr;
-							this.attrs.forEach((item,index,arr)=>{
-							     item.values=item.attrValues.split(',');
-								 item.index=0
-							});
-							this.values=res.productValues;
-							this.stores=res.stores;
-							// this.storeNames=this.stores.map(store => store.storeName);
-							if(this.stores.length>0 ){
-								// this.storeName=this.storeNames[this.storeIdx];
-								// urlStoreId存在表示在店铺内购买的商品
-								this.storeId= this.urlStoreId || this.stores[this.storeIdx].storeId;
-							}
-							
-							this.choseSpec(0,0)
-						}
-						else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							setTimeout(function(){
-								uni.reLaunch({
-									url: '/pages/home/index',
-								})
-							},2000)
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			getProductStoreStock(type){
-				let data = {productId:this.productId,storeId:this.storeId};
-				getProductStoreStock(data).then(
-					res => {
-						//this.loadding=false
-						if(res.code==200){
-							this.attrs=res.productAttr;
-							this.attrs.forEach((item,index,arr)=>{
-							     item.values=item.attrValues.split(',');
-								 item.index=0
-							});
-							this.values=res.productValues;
-							if(type == 'chooseStore') {
-								this.choseSpec(this.choseSpecIndex,this.choseSpecSubIndex)
-							} else {
-								this.choseSpec(0,0)
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							setTimeout(function(){
-								uni.reLaunch({
-									url: '/pages/home/index',
-								})
-							},2000)
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			
-			// 规格选择
-			choseSpec(index,subIndex) {
-				this.choseSpecIndex = index
-				this.choseSpecSubIndex = subIndex
-				this.attrs[index].index = subIndex;
-				this.$forceUpdate();
-				let productAttr = this.attrs;
-				let values = [];
-				for (let i = 0; i < productAttr.length; i++) {
-				   for (let j = 0; j < productAttr[i].values.length; j++) {
-					  if (productAttr[i].index === j) {  //筛选出默认规格
-					     values.push(productAttr[i].values[j]);
-					  }
-				   }
-				}
-				let selectVal=values.sort().join(","); //返回值:默认
-				this.selectVal=selectVal;
-				console.log("qxj selectVal:"+selectVal);
-				// var valueSelect=this.values.filter((item)=>{
-				//      return item.sku==selectVal;
-				// });
-				var valueSelect=this.getValueSelect();
-				console.log("qxj valueSelect:"+JSON.stringify(valueSelect));
-				if(valueSelect!=null&&valueSelect.length>0){
-					this.productValueSelect=valueSelect[0];
-				}
-				console.log("qxj productValueSelect:"+JSON.stringify(this.productValueSelect));
-				this.updateSpecNum();
-				if(this.stores.length>0 && !this.urlStoreId){
-					this.getStorePriceList()
-				}
-				
-			},
-			//更新数量
-			updateSpecNum(){
-				if(this.productValueSelect.stock==0){
-					this.specNum=0;
-				}
-				else{
-					this.specNum=1;
-				}
-			},
-			changeNum(e) {
-				this.specNum = e.detail.value.replace(/\D/g, '')
-				if(this.specNum < 1) {
-					this.specNum = 1
-				}
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-			},
-			// 数量减法
-			lessNum() {
-				this.specNum--
-				if(this.specNum < 1) {
-					this.specNum = 1
-				}
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-			},
-			// 数量加法
-			addNum() {
-				this.specNum++
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-				console.log(this.specNum,'===')
-			},
-			// 确定选择该规格
-			submit() {
-				this.specVisible = false
-				this.doAddCart(this.type);
-			},
-			hideModal(){
-				this.showModal=false;
-			},
-			getProductConfig(){
-				getProductConfig().then(
-					res => {
-						if(res.code==200){
-							this.config=res.data;
-							this.showServiceFee=this.config.isShowProductDetails;
-							console.log(this.config);
-						}
-					},
-					rej => {}
-				);
-			},
-			getValueSelect(){
-				var valueSelect;
-				if(this.stores.length>0 && !this.urlStoreId){
-					valueSelect=this.values.filter((item)=>{
-						 // return item.sku==this.selectVal;
-						 if(item.storeId) {
-							 return item.sku==this.selectVal && item.storeId==this.storeId;
-						 } else {
-							 return item.sku==this.selectVal;
-						 }
-					});
-				}else{
-					valueSelect=this.values.filter((item)=>{
-					     return item.sku==this.selectVal;
-					});
-				}
-				return valueSelect;
-			},
-			// pickerChange(e) {
-			// 	this.storeIdx = parseInt(e.detail.value);
-			// 	this.storeName=this.storeNames[this.storeIdx];
-			// 	this.storeId=this.stores[this.storeIdx].storeId;
-			// 	var valueSelect= this.getValueSelect();
-			// 	this.productValueSelect=valueSelect[0];
-			// 	this.getProductStoreStock();
-				
-			// },
-			// pickerColumnchange(e){
-					
-			// },
-			closeStorePicker() {
-				this.showStorePicker = false
-			},
-			openStorePicker() {
-				this.showStorePicker = true
-			},
-			pickerStore(item,index) {
-				this.showStorePicker = false
-				this.storeChange(item,index)
-			},
-			// 选择店铺价格
-			storeChange(item,index) {
-				this.storeIdx = index;
-				this.storeId = item.storeId;
-				var valueSelect= this.getValueSelect();
-				this.productValueSelect=valueSelect[0];
-				// this.getProductStoreStock("chooseStore");
-			},
-			// 更新所选规格的店铺价格
-			getStorePriceList() {
-				const priceList = this.values.filter(item => item.sku === this.productValueSelect.sku && item.storeId); 
-				this.storePriceList = priceList.map(item =>{ 
-					const store = this.stores.find(it => item.storeId === it.storeId); 
-					if(store){ 
-						return { ...item, storeName: store.storeName }; 
-					} 
-				}); 
-				// 获取页面店铺相关数据
-				const selectStore = this.stores.find(it => this.productValueSelect.storeId === it.storeId);
-				this.storeSelectInfo = selectStore || {} 
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.share-box{
-		// position: absolute;
-		 position: fixed;
-		right: 24rpx;
-		top: 70%;
-		z-index: 99;
-		width: 112rpx;
-		height: 112rpx;
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-		border: 1rpx solid #EFF3F7;
-		background-color: #FFFFFF;
-		.share{
-			display: inline-block;
-					position: absolute;
-					top: 0;
-					left: 0;
-					width: 100%;
-					height: 100%;
-					opacity: 0;
-		}
-	}
-	.shop-banner{
-		height: 756upx;
-		background-color: #FFFFFF;
-		position: relative;
-		.swiper-item{
-			box-sizing: border-box;
-			position: relative;
-		}
-		.swiper,
-		.swiper-item,
-		.swiper-item image{
-			width: 100%;
-			height: 100%;
-		}
-		.banner-mask{
-			width: 100%;
-			height: 44upx;
-			// background: linear-gradient(0deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
-			// opacity: 0.8;
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			z-index: 9;
-			background-image: url(../../static/images/black_mask.png);
-			background-size: 20upx 44upx;
-			background-repeat: repeat-x;
-		}
-		.num-box{
-			width: 80upx;
-			height: 40upx;
-			line-height: 40upx;
-			text-align: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			// font-weight: 500;
-			color: #FFFFFF;
-			background: rgba(0, 0, 0, .7);
-			border-radius: 20upx;
-			position: absolute;
-			right: 40upx;
-			bottom: 34upx;
-			z-index: 10;
-		}
-	    .cf-box{
-	    	position: absolute;
-	    	z-index: 10;
-	    	left: 0;
-	    	right:0;
-	    	top: calc(50% - 200rpx);
-	    	bottom: calc(50% - 200rpx);
-	    	background-color: rgba(0,0,0, 0.3);
-	    	backdrop-filter: blur(2rpx); /* 背景模糊度 */
-	    	display: flex;
-	    	flex-direction: column;
-	    	flex: 1;
-	    	justify-content: center;
-	    	align-items: center;
-			color: #EDEEEF;
-	    	.title{
-	    		font-size: 40rpx;
-	    		font-weight: bold;
-	    	}
-	    	.subTitle{
-	    		font-size: 28rpx;
-	    		font-weight: bold;
-	    		margin-top: 10rpx;
-	    	}
-	    }
-	    
-	
-	}
-	.guige{
-		padding:24upx;
-		border-radius: 16upx;
-		background: #fff;
-		width: auto;
-		font-size: 24upx;
-		color: #222426;
-		margin: 24upx;
-		.guige-gg{
-			.gg-text{
-				color: #898E91 ;
-				margin-right: 40upx;
-			}
-		}
-		.safe-box{
-			display: flex;
-			align-items: center;
-			// padding-top: 24upx;
-			font-size: 24upx;
-			color: #222426;
-			.text{
-				color: #999999;
-				margin-right: 40upx;
-			}
-			.box{
-				display: flex;
-				align-items: center;
-				image{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 10upx;
-				}
-				view{
-					display: flex;
-					align-items: center;
-					margin-right: 40upx;
-					&:last-child{
-						margin-right: 0;
-						image{
-							margin-right: 0;
-						}
-					}
-				}
-			}
-			
-		}
-		.popup-box{
-			position: fixed;
-			top: 0;
-			right: 0;
-			left: 0;
-			bottom: 0;
-			z-index: 999;
-			display: flex;
-			justify-content: center;
-			align-items: flex-end;
-			.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: 100%;
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items: center;
-				padding:0 30upx 60upx;
-				background: #FFFFFF;
-				border-radius: 40upx;
-				.top{
-					display: flex;
-				}
-				.line{
-					border-top: 1px solid  #F1F1F1;
-					width: 100%;
-				}
-				.title{
-					padding: 30upx;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					font-size: 36upx;
-					font-weight: bold;
-					line-height: 44upx;
-					font-family: PingFang SC;
-					color: #222222;
-				}
-				.close{
-					padding-top:30rpx;
-					position: absolute;
-					right: 30upx;
-				}
-				.form-box{
-					width: 100%;
-					padding-top: 30upx;
-					.form-item2{
-						padding-bottom: 30upx;
-						// display: flex;
-						// align-items: flex-start;
-						// border-bottom: 1px solid #F1F1F1;
-						.form-item-box{
-							display: flex;
-							align-items: center;
-							text{
-								font-size: 28upx;
-								color: #222426;
-								margin-left: 10upx;
-								font-weight: bold;
-							}
-						}
-						 .form-content{
-							 font-size:24upx ;
-							 text-align: left;
-							 color: #626468 ;
-							 margin-top: 20upx;
-							 line-height: 40upx;
-						 }
-					}
-				}
-				.btns{
-					width: 100%;
-					height: 120upx;
-					padding:20upx 30upx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					.sub-btn{
-						width: 100%;
-						height: 88upx;
-						line-height: 88upx;
-						text-align: center;
-						font-size: 36upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FFFFFF;
-						background: #008FD3;
-						border-radius: 44upx;
-					}
-				}
-				
-			}
-		}
-	}
-	.det-info{
-		// background: #FFFFFF;
-		// padding: 36upx 30upx 25upx;
-		background: #FFFFFF;
-		    padding: 24rpx;
-		    margin: 24rpx;
-		    border-radius: 16rpx;
-		
-		.price-box{
-			display: flex;
-			align-items: flex-end;
-			justify-content: space-between;
-			.price{
-				display: flex;
-				align-items: flex-end;
-				.label{
-					font-weight: 500;
-					font-size: 24rpx;
-					color: #FF5030;
-					font-family: PingFang SC;
-					line-height: 1.3;
-					margin-right: 10upx;
-				}
-				.unit{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6633;
-					line-height: 1.3;
-				}
-				.num{
-					font-size: 48upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF5030;
-					margin-right: 20upx;
-					line-height: 1;
-				}
-				
-				.old{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 400;
-					// text-decoration: line-through;
-					color: #898E91;
-					margin-left: 10upx;
-					// line-height: 1.3;
-				}
-			}
-			// .share-box{
-			// 	width: 120upx;
-			// 	height: 46upx;
-			// 	border: 1px solid #0bb3f2;
-			// 	border-radius: 23upx;
-			// 	display: flex;
-			// 	align-items: center;
-			// 	justify-content: center;
-			// 	position: relative;
-			// 	.text{
-			// 		font-size: 26upx;
-			// 		font-family: PingFang SC;
-			// 		font-weight: 500;
-			// 		color: #0bb3f2;
-			// 	}
-			// 	image{
-			// 		margin-left: 2rpx;
-			// 		width: 25upx;
-			// 		height: 24upx;
-			// 	}
-			// 	.share{
-			// 		display: inline-block;
-			// 		position: absolute;
-			// 		top: 0;
-			// 		left: 0;
-			// 		width: 100%;
-			// 		height: 100%;
-			// 		opacity: 0;
-			// 	}
-			// }
-			
-			.spec{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 36upx;
-			}
-		}
-		.name-box{
-			font-size: 32upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #111111;
-			line-height: 44upx;
-			margin-top: 32upx;
-			.tag{
-				display: inline-block;
-				padding: 2upx 8upx;
-				height: 32upx;
-				background: #F5A623;
-				border-radius: 4upx;
-				margin-right: 10upx;
-				font-weight: 400;
-				font-size: 20rpx;
-				color: #FFFFFF;
-				line-height: 30upx;
-				float: left;
-				margin-top: 7upx;
-			}
-		}
-		.intro{
-			font-size: 26upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 36upx;
-			padding: 18upx 0 23upx;
-			// border-bottom: 1px solid #f7f7f7;
-		}
-		.intro-box{
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			padding:20upx;
-			border-radius: 16upx;
-			background: #F5F7FA;
-			width: auto;
-			.title-1{
-				font-size: 24upx;
-				color:#222426  ;
-				font-weight: bold;
-				width: 40%;
-				text-align: center;
-			}
-			.title-2{
-				font-size: 24upx;
-				color:#222426;
-				font-weight: bold;
-				display: block;
-			}
-			.intro-text{
-	          // padding: 0 20upx;
-			}
-			.intro-text2{
-				width:50%;
-			}
-			.intro-content{
-				color: #898E91;
-				font-size: 24upx;
-			}
-			.line{
-				width: 1px;
-				    height: 40upx;
-				    background: #EDEEEF;
-				    margin: 0 20upx;
-			}
-		}
-		.safe-box{
-			display: flex;
-			align-items: center;
-			padding-top: 24upx;
-			image{
-				width: 20upx;
-				height: 24upx;
-				margin-right: 20upx;
-			}
-			.text{
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 1;
-			}
-			.line{
-				width: 1px;
-				height: 23upx;
-				background: #EDEEEF;
-				margin: 0 20upx;
-			}
-		}
-	}
-	.inventor{
-		height: 88upx;
-		padding: 0 39upx 0 30upx;
-		margin-top: 10upx;
-		background: #FFFFFF;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			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%;
-					}
-				}
-			}
-			.num-box{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				.text{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-			}
-		}
-		.right{
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			.text{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-			}
-		}
-	}
-	.effect{
-		box-sizing: border-box;
-		padding: 20upx 30upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		line-height: 1.8;
-		margin-top: 10upx;
-		display: flex; 
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		.label{
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			line-height: 1.8;
-		}
-	}
-	
-	
-	.shop{
-		// box-sizing: border-box;
-		// padding: 20upx 30upx;
-		// background: #FFFFFF;
-		// font-size: 28upx;
-		// font-family: PingFang SC;
-		// font-weight: 500;
-		// color: #666666;
-		// line-height: 1.8;
-		// margin-top: 10upx;
-		// background: url(../../static/images/chu_query.png) no-repeat  center center / cover;
-		
-		
-		box-sizing: border-box;
-				background: #FFFFFF;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1.8;
-				padding: 24rpx;
-		  margin: 24rpx;
-		  border-radius: 16rpx;
-				
-		.logo{
-			flex-shrink: 0;
-			width: 100rpx;
-			height: 100rpx;
-			border-radius: 16rpx;
-			overflow: hidden;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-		
-		.txtBox{
-			flex: 1;
-			overflow: hidden;
-			margin:0 30rpx;
-		}
-		
-		.name{
-			font-size: 32upx;
-			font-weight: 600;
-			color: #333;
-			text-align: left;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		
-		.desc{
-			font-size: 24upx;
-			font-weight: normal;
-			color: #222426;
-			text-align: left;
-		}
-		
-		
-		.goShop{
-			flex-shrink: 0;
-			width: 96rpx;
-			height: 56rpx;
-			background: #fff;
-			border-radius: 30rpx;
-			color: #008FD3;
-			font-size: 24upx;
-			margin: 0;
-			border: 1px solid  #008FD3;
-			padding: 0;
-			line-height: 56rpx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-	}
-.tech-pBox{
-		box-sizing: border-box;
-		padding: 0upx 0upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		.label{
-			font-family: PingFang SC, PingFang SC;
-			font-weight: bold;
-			font-size: 26rpx;
-			color: #222426;
-			text-align: left;
-			padding: 24rpx 0;
-		}
-		.item{
-			border: 1px solid #fff;
-			border-radius: 12rpx;
-			padding:30upx;
-			border: 1px solid #EFF3F7;
-			display: flex;
-			align-items: center;
-		      margin-bottom: 20rpx;
-			.price{
-				font-size: 42rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FF6633;
-				display: flex;
-				flex: 1;
-				b{ font-size: 30rpx;line-height: 46rpx; margin-top: 14rpx; }
-			}
-			
-			.num{
-				font-size: 28rpx;
-				font-family: PingFang SC;
-				font-weight: normal;
-				color: #999;
-				width:200rpx;
-				text-align: right;
-			}
-			
-			.name{
-				max-width: 60%;
-				margin-right: 10rpx;
-				font-size: 28upx;
-				font-weight: normal;
-				color: #333;
-				text-align: left;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-			image{
-				width: 100rpx;
-				height: 100rpx;
-				border-radius: 50%;
-				margin-right: 30rpx;
-			}
-			.tech-right{
-			flex:1;
-			&-bottom{
-				font-family: PingFang SC;
-				color: #898E91;
-				font-size:24upx;
-			}
-			&-top{
-				display: flex;
-				align-items: flex-end;
-				margin-bottom: 10upx;
-				.title-1{
-					font-family: PingFang SC;
-					font-size:32upx;
-					color:#222426;
-					margin-right: 14upx;
-				}
-				.title-2{
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size:24upx;
-					color:#222426;
-				}
-			}
-			}
-			
-		}
-	
-		.hover{
-			border:1rpx solid #008FD3;
-			background: #F0FAFF;
-		}
-		.shop-morebtn {
-			margin-top: 14rpx;
-			box-sizing: border-box;
-			padding: 12rpx 30rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			background: #F7F7F7;
-			border-radius: 32rpx;
-			text-align: center;
-			text {
-				color: #999;
-			}
-		}
-	}
-	.shop-pBox{
-		box-sizing: border-box;
-		padding: 0upx 0upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		
-		.item{
-			border: 1px solid #fff;
-			border-radius: 12rpx;
-			padding:18rpx 20rpx 24rpx;
-			.price{
-				font-size: 42rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FF6633;
-				display: flex;
-				flex: 1;
-				b{ font-size: 30rpx;line-height: 46rpx; margin-top: 14rpx; }
-			}
-			
-			.num{
-				font-size: 28rpx;
-				font-family: PingFang SC;
-				font-weight: normal;
-				color: #999;
-				width:200rpx;
-				text-align: right;
-			}
-			
-			.name{
-				max-width: 60%;
-				margin-right: 10rpx;
-				font-size: 28upx;
-				font-weight: normal;
-				color: #333;
-				text-align: left;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-			
-		}
-		.hover{
-			border:1rpx solid #FF6633;
-		}
-		.shop-morebtn {
-			margin-top: 14rpx;
-			box-sizing: border-box;
-			padding: 12rpx 30rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			background: #F7F7F7;
-			border-radius: 32rpx;
-			text-align: center;
-			text {
-				color: #999;
-			}
-		}
-	}
-	.shop-pBox-name {
-		display: flex;
-		align-items: center;
-		justify-content: flex-start;
-	}
-	.storepopup {
-		padding: 40rpx 20rpx 20rpx 20rpx;
-		.storepopup-title {
-			text-align: center;
-			margin-bottom: 30rpx;
-			position: relative;
-			.close-icon {
-				width: 40rpx;
-				height: 40rpx;
-				position: absolute;
-				right: 0;
-				top: 50%;
-				transform: translate(0, -50%);
-			}
-		}
-		.storepopup-box {
-			height: 60vh;
-		}
-	}
-	
-	.det-box{
-		// margin-top: 10upx;
-		// padding: 40upx 30upx 130upx 30upx;
-		// background-color: #FFFFFF;
-		margin-top: 10upx;
-		background-color: #FFFFFF;
-		padding:24rpx;
-		margin: 24upx 24upx 175upx 24upx;
-		    border-radius: 16rpx;
-		.title{
-			font-size: 32upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			line-height: 60upx;
-			margin-bottom: 30upx;
-			padding-bottom: 24upx;
-			border-bottom: 1px solid #ECECEC;
-		}
-		.det-title{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-		 .tt{
-			 font-size: 28upx;
-			 font-weight: bold;
-			 color: #222426;
-		 }
-		}
-		.det-right{
-			display: flex;
-			font-size: 24upx;
-			color:#898E91;
-			align-items: center;
-		}
-		.det-table{
-			width: 100%;
-			margin: 24rpx 0;
-			background: #FFFFFF;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			border: 1rpx solid #ECECEC;
-			overflow: hidden;
-			font-size: 24rpx;
-			.row {
-				display: table-row;
-				
-			}
-			.row:last-child .cell-1,.row:last-child .cell-2{
-				border-bottom: 0;
-			}
-			.cell {
-				display: table-cell;
-				padding: 24rpx;
-				// padding: 10px;
-				// margin: 10px;
-				// border: 1rpx solid #ECECEC;
-				&.cell-1{
-					width: 30%;
-					text-align: center;
-					color: #626468;
-					background: #F5F7FA;
-					border-right: 1rpx solid #ECECEC;
-					border-bottom: 1rpx solid #ECECEC;
-				}
-				&.cell-2{
-					color: #222426;
-					text-align: center;
-					border-bottom: 1rpx solid #ECECEC;
-				}
-			}
-		}
-	}
-	
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 151upx;
-		background: #FFFFFF;
-		padding: 0 24upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.menu-box{
-			display: flex;
-			align-items: center;
-			.item{
-				display: flex;
-				align-items: center;
-				flex-direction: column;
-				margin-right: 48upx;
-				&:last-child{
-					margin-right: 0;
-				}
-				image{
-					width: 40upx;
-					height: 40upx;
-					margin-bottom: 10upx;
-				}
-				.label{
-					font-size: 20upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #626468;
-					text-align: center;
-				}
-			}
-			::v-deep .uni-badge--x{
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-			::v-deep .uni-badge{
-				border: none;
-				background-color: #FF3636;
-				font-family: Roboto;
-			}
-		}
-		.btn-box{
-			display: flex;
-			align-items: center;
-			.btn{
-				width: 200upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				border-radius: 44upx;
-				margin-left: 20upx;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				&:first-child{
-					margin-left: 0;
-				}
-				&.cart{
-					background: #FF5030;
-				}
-				&.buy{
-					background: #008FD3;
-				}
-			}
-		}
-	}
-	.product-spec{
-		padding-bottom: 30upx;
-		.pro-info{
-			display: flex;
-			align-items: center;
-			.img-box{
-				width: 200upx;
-				height: 200upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				overflow: hidden;
-				margin-right: 30upx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.info-text{
-				height: 200upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.info-title{
-					font-family: PingFang SC;
-					font-weight: 600;
-					font-size: 28rpx;
-					color: #222426;
-					text-align: left;
-				}
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.label{
-						    font-weight:500;
-						    font-size: 24rpx;
-						    color: #FF5030;
-						    font-family: PingFang SC;
-						    line-height: 1.3;
-						    margin-right: 10rpx;
-					}
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 50upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-				.desc-box{
-					display: flex;
-					flex-direction: column;
-					padding-bottom: 9upx;
-					.text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						margin-top: 27upx;
-						line-height: 1;
-						&:first-child{
-							margin-top: 0;
-						}
-					}
-				}
-			}
-		}
-		.spec-box{
-			padding-top: 50upx;
-			.title{
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #111111;
-				line-height: 1;
-			}
-			.spec-list{
-				display: flex;
-				flex-wrap: wrap;
-				margin-top: 30upx;
-				.item{
-					box-sizing: border-box;
-					height: 64upx;
-					padding: 0 30upx;
-					line-height: 64upx;
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					background: #F7F7F7;
-					border: 1px solid #F7F7F7;
-					border-radius: 32upx;
-					margin-right: 20upx;
-					margin-bottom: 30upx;
-					&.active{
-						background: #F1FFFE;
-						border: 1px solid #008FD3;
-						color: #008FD3;
-					}
-				}
-			}
-		}
-		.price-num{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-top: 14upx;
-			.label{
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #111111;
-			}
-			.num-box{
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 60upx;
-					height: 60upx;
-					// border-radius: 4upx;
-					border: 1px solid #dddddd;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					image{
-						width: 25rpx;
-						height: 25rpx;
-					}
-				}
-				input{
-					width: 60upx;
-					height: 60upx;
-					line-height: 60upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					// border-radius: 4upx;
-					border-top: 1px solid #dddddd;
-					border-bottom: 1px solid #dddddd;
-					text-align: center;
-					// margin: 0 16upx;
-				}
-			}
-		}
-		.sub-btn{
-			width: 100%;
-			height: 88upx;
-			line-height: 88upx;
-			text-align: center;
-			font-size: 32upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #FFFFFF;
-			background:#008FD3;
-			border-radius: 44upx;
-			margin-top: 30upx;
-			// margin-bottom: 30upx;
-			
-		}
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-	.loadding{
-		background-color: #fff;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 9999;
-		image{
-			border-radius: 50%;
-			animation: load linear 1s infinite;
-			width: 120rpx;
-			height:120rpx;
-		}
-		.text{
-			font-size: 28rpx;
-			margin-top: 20rpx;
-		}
-	}
-
-    .form-item{
-    	padding: 30upx 0;
-    	display: flex;
-    	align-items: flex-start;
-    	border-bottom: 1px solid #F1F1F1;
-    	&:last-child{
-    		border-bottom: none;
-    	}
-    	.label{
-    		width: 180upx;
-    		text-align: left;
-    		font-size: 30upx;
-    		line-height: 44upx;
-    		font-family: PingFang SC;
-    		font-weight: 500;
-    		color: #222222;
-    		flex-shrink: 0;
-    	}
-    	input{
-    		text-align: left;
-    	}
-    	.form-input{
-    		font-size: 30upx;
-    		font-family: PingFang SC;
-    		font-weight: 500;
-    		color: #999999;
-    		text-align: left;
-    	}
-    	.form-textarea{
-    		font-size: 30upx;
-    		color: #999999;
-    		height: 100upx;
-    		padding: 4upx 0;
-    	}
-    	 
-    	.birth-picker {
-    		flex: 1;
-    		display: flex;
-    		align-items: center;
-    		
-    		.right-box{
-    			width: 100%;
-    			display: flex;
-    			align-items: center;
-    			.input-box{
-    				width: 470upx;
-    			}
-    			.arrow{
-    				width: 13upx;
-    				height: 23upx;
-    				margin-left: 20upx;
-    			}
-    		}
-    	}
-    }
-
-
-</style>

+ 0 - 524
pages/shopping/productList.vue

@@ -1,524 +0,0 @@
-<template>
-	<view>
-		<view class="top-fixed">
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="../../static/images/search.png" mode=""></image>
-					<input type="text" :value="productName" @confirm="goSearch" 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="../../static/images/search1.png" mode=""></image>
-					<image @click="showChange(1)" v-if="showType==2"  src="../../static/images/search2.png" mode=""></image>
-				</view>
-			</view>
-			<!-- tab切换 -->
-			<view class="pub-tab-box">
-				<view class="tab-inner">
-					<view 
-						v-for="(item,index) in cates" 
-						:key="index"
-						:class="cateId == item.cateId?'item active':'item'"
-						@click="cateChange(item)">
-						<view class="text">
-							{{ item.cateName }}
-							<image v-show="cateId == item.cateId" class="tab-bg" src="../../static/images/tab_bg.png" mode=""></image>
-						</view>
-					</view>
-					
-				</view>
-			</view>
-		</view>
-		<!-- 数据列表 --> 
-		<mescroll-body  top="190upx" 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 class="cf-box" v-if="item.productType==2">
-							<view class="title">处方药</view>
-							<view class="subTitle">请在医师指导下使用</view>
-						</view>
-					</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}} {{item.unitName}}</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view> -->
-			<view class="goods-list">
-				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
-					<view class="img-box">
-						<image :src="item.image" mode="aspectFit"></image>
-						<view class="cf-box" v-if="item.productType==2">
-							<view class="title">处方药</view>
-							<view class="subTitle">请在医师指导下使用</view>
-						</view>
-					</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>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getSalesProducts} from '@/api/companyOrder'
-	import {getProductCateByPid,getProducts} from '@/api/product'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				productName: "",
-				showType:2,
-				cates:[],
-				cateId:null,
-				defaultOrder:'desc',
-				pid:null,
-				//上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据',
-						
-					},
-					textNoMore:"已经到底了",
-				},
-				// 列表数据
-				dataList: [],
-				storeId: "",
-				// 'company'表示销售管理的进来的
-				from: ""
-			};
-		},
-		onLoad(options) {
-			this.from = options.from || ""
-			this.storeId =  options.storeId || ""
-			this.cateId = options.cateId;
-			this.pid=options.pid;
-			console.log(this.cateId)
-			//获取分类列表
-			this.getProductCateByPid();
-		 
-		},
-		methods: {
-			goSearch(e) {
-				this.productName = e.detail.value;
-				this.mescroll.resetUpScroll();
-			},
-			showChange(type){
-				this.showType=type;
-			},
-			getProductCateByPid(){
-				let data = {pid:this.pid};
-				getProductCateByPid(data).then(
-					res => {
-						if(res.code==200){
-							this.cates=res.data;
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// tab切换
-			cateChange(item) {
-				this.cateId = item.cateId;
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				this.mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					cateId:this.cateId,
-					defaultOrder:this.defaultOrder,
-					page: page.num,
-					pageSize: page.size,
-					productName: this.productName || "",
-					storeId: this.storeId
-				};
-				if(this.from == 'company') {
-					this.getSalesProducts(page,data)
-				} else {
-					this.getProducts(page,data)
-				}
-			},
-			getProducts(page,data) {
-				var that = this;
-				getProducts(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();
-					}
-				});
-			},
-			getSalesProducts(page,data) {
-				var that = this;
-				getSalesProducts(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) {
-				if(this.from == 'company') {
-					uni.navigateTo({
-						url: '/pages_company/order/productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
-					})
-				} else {
-					uni.navigateTo({
-						url: './productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
-					})
-				}
-			}
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-fixed{
-		width: 100%;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 11;
-	}
-	.pub-tab-box{
-		box-sizing: border-box;
-		width: 100%;
-		padding: 0 33upx;
-		background-color: #FFFFFF;
-		.tab-inner{
-			height: 88upx;
-			line-height: 88upx;
-			display: flex;
-			overflow-x: auto;
-			justify-content: flex-start;
-			align-items: center;
-			
-		}
-		.item{
-			font-size: 28upx;
-			white-space: nowrap;
-			line-height: 1;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #666666;
-			margin-right: 60upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			&:last-child{
-				margin-right: 0;
-			}
-			&.active{
-				font-weight: bold;
-				color: #333333;
-			}
-			.text{
-				position: relative;
-				z-index: 1;
-			}
-			.tab-bg{
-				width: 72upx;
-				height: 28upx;
-				position: absolute;
-				top: 17upx;
-				left: 50%;
-				transform: translateX(-36upx);
-				z-index: -1;
-			}
-		}
-		
-	}
-	 
-	.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;
-			
-			.img-box{
-				width: 200upx;
-				height: 200upx;
-				margin-right: 30upx;
-				position: relative;
-				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;
-		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;
-				position: relative;
-				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;
-					}
-				}
-			}
-		}
-	}
-	.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;
-			}
-			
-		}
-	}
-   
-    .cf-box{
-    	position: absolute;
-    	z-index: 10;
-    	left: 0;
-    	right:0;
-    	top: 0rpx;
-    	bottom: 0rpx;
-    	background-color: rgba(0,0,0, 0.3);
-		backdrop-filter: blur(2rpx); /* 背景模糊度 */
-    	display: flex;
-    	flex-direction: column;
-    	flex: 1;
-    	justify-content: center;
-    	align-items: center;
-    	.title{
-    		font-size: 34rpx;
-    		font-weight: bold;
-    		color: #fff;
-    	}
-    	.subTitle{
-    		font-size: 28rpx;
-    		font-weight: bold;
-			margin-top: 4rpx;
-    		color: #fff;
-    	}
-    }
-    
-
-</style>

+ 0 - 203
pages/shopping/success.vue

@@ -1,203 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<view class="top">
-				<text class="title">支付成功</text>
-				 <image class="icon" src="../../static/images/success.png" ></image>
-				 <view   class="btn-box">
-				 	<view class="btn cancel" @click="goOrderDetails(order.id)"> 查看订单</view>
-				 </view>
-			</view>
-			<!-- 订单详情查看 -->
-			<view class="order-info">
-				<view class="title">订单信息</view>
-				<view class="item">
-					<text class="label">订单编号</text>
-					<view class="sn-box">
-						<view>
-							<view class="text" v-for="item in order.orderCodes" :key="item">{{item}}</view>
-						</view>
-						<view class="copy-btn" @click="copyOrderSn(orderCode)">复制</view>
-					</view>
-				</view>
-				<view class="item">
-					<text class="label">下单时间</text>
-					<text class="text">{{order.createTime}}</text>
-				</view>
-				 
-			</view>
-			
-		</view>
-		 
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				order:null,
-				orderCode: "",
-				ids: []
-			}
-		},
-		onLoad(option) {
-			this.order=JSON.parse(decodeURIComponent(option.order))
-			// orderCodes和ids字段表示店铺订单
-			this.orderCode = this.order && this.order.orderCodes ? this.order.orderCodes.join(',') : this.order.orderCode || '';
-			this.ids = this.order && this.order.ids ? this.order.ids : this.order.id ?  [this.order.id] : [];
-		},
-		methods: {
-			copyOrderSn(text) {
-				// 复制方法
-				uni.setClipboardData({
-					data:text,
-					success:()=>{
-						uni.showToast({
-							title:'内容已成功复制到剪切板',
-							icon:'none'
-						})
-					}
-				});
-			},
-			goOrderDetails(id){
-				if(this.ids && this.ids.length > 1) {
-					uni.navigateTo({
-						url: '/pages_user/user/storeOrder?status='
-					})
-				} else {
-					uni.redirectTo({
-						url: "/pages_user/user/storeOrderDetail?id="+this.ids[0]
-					}) 
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		.inner{
-			padding: 20upx;
-			.top{
-				box-sizing: border-box;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				padding: 50upx 0upx;
-				.title{
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #222222;
-					line-height: 1;
-					text-align: center;
-				}
-				.icon{
-					margin: 60upx 0upx;
-					width: 100upx;
-					height: 100upx;
-				}
-				 
-			}
-			 
-			.order-info{
-				margin-top: 20upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				padding: 40upx 30upx;
-				.title{
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #222222;
-					line-height: 1;
-				}
-				.item{
-					margin-top: 40upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.label{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						line-height: 1;
-					}
-					.text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						line-height: 32upx;
-					}
-					.cont-text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						.bold{
-							color: #111111;
-						}
-					}
-					.sn-box{
-						display: flex;
-						align-items: center;
-						.copy-btn{
-							width: 58upx;
-							height: 32upx;
-							line-height: 32upx;
-							text-align: center;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #222222;
-							background: #F5F5F5;
-							border-radius: 4upx;
-							margin-left: 24upx;
-						}
-					}
-					 
-				}
-				.line{
-					width: 100%;
-					height: 1px;
-					background: #F0F0F0;
-					margin-top: 30upx;
-				}
-			}
-		}
-		.btn-box{
-			margin-top: 20upx;
-			box-sizing: border-box;
-			display: flex;
-			align-items: center;
-			.btn{
-				width: 155upx;
-				height: 64upx;
-				line-height: 64upx;
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				text-align: center;
-				border-radius: 32upx;
-				&.cancel{
-					border: 1px solid #DDDDDD;
-					color: #666666;
-				}
-				 
-			}
-		}
-	}
-	
-</style>

+ 198 - 0
pages/task/index.vue

@@ -0,0 +1,198 @@
+<template>
+	<view>
+		<view class="task-list">
+			<view class="item" v-for="(item,index) in tabs" :key="index" >
+				<view class="left">
+					<image :src="item.icon" mode=""></image>
+					<view class="title-l">{{item.name}}</view>
+				</view>
+				<view class="right" @click="showDetail(item.url)">
+					<view class="num" v-if="item.num!==0">{{item.num}}</view>
+					<image src="@/static/image/icon_more.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<Server/>
+	</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";
+	import Server from '@/components/Server.vue'
+	export default {
+		mixins: [MescrollMixin], 
+		components: {
+			Server
+		},
+		data() {
+			return {
+				tabs:[
+					{name:'在线讲座',num:12,icon:'/static/image/icon_task_zxjz.png',url:'/pages_task/onlineLecture'},
+					{name:'空中课堂',num:3,icon:'/static/image/icon_task_kzkt.png',url:'/pages_task/airClassroom'},
+					{name:'用药调研',num:8,icon:'/static/image/icon_task_yydy.png',url:'/pages_task/medicationSurvey'},
+					{name:'问卷调查',num:0,icon:'/static/image/icon_task_wjdc.png',url:'/pages_task/airClassroom'},
+					{name:'科普创作',num:0,icon:'/static/image/icon_task_kpcz.png',url:'/pages_task/science'},
+				],
+				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://user.test.ylrztop.com/images/empty_icon.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(url) {
+				uni.navigateTo({
+					url: url
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.task-list{
+		padding: 24rpx;
+		display: flex;
+		align-items: center;
+		flex-direction: column;
+		justify-content: flex-start;
+		width: 100%;
+		  box-sizing: border-box; 
+		.item{
+			width: 100%;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			background: #FFFFFF;
+			box-shadow: 0rpx 8rpx 16rpx 0rpx rgba(199,226,254,0.22);
+			border-radius: 24rpx 24rpx 24rpx 24rpx;
+			padding:28rpx 32rpx;
+			box-sizing: border-box; // 核心:padding不撑宽item
+			margin-bottom: 24rpx;
+			.left{
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				image{
+					width: 72rpx;
+					height: 72rpx;
+					margin-right: 28rpx;
+				}
+				.title-l{
+					font-family: PingFang SC, PingFang SC;
+					font-weight: 400;
+					font-size: 28rpx;
+					color: #333333;
+				}
+			}
+			.right{
+				display: flex;
+				align-items: center;
+				.num{
+					text-align: center;
+					width: 50rpx;
+					height: 36rpx;
+					line-height: 36rpx;
+					background: rgba(56,139,255,0.16);
+					border-radius: 34rpx 34rpx 34rpx 34rpx;
+					font-family: PingFang SC, PingFang SC;
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #388BFF;
+				}
+				image{
+					width: 32rpx;
+					height: 32rpx;
+					margin-left: 12rpx;
+				}
+			}
+		}
+	}
+</style>

+ 174 - 192
pages/user/index.vue

@@ -1,24 +1,38 @@
 <template>
 	<view>
 		<view class="top-cont">
+			<image class="bg" src="@/static/image/top_bg.png" mode="widthFix"></image>
 			<view class="top-inner">			
 				<!-- 这里是状态栏 -->
 				<view class="status_bar" :style="{height: statusBarHeight}"></view>
 				<view class="user-info">
 					<view class="left">
 						<view class="head-img">
-							<image :src="user.avatar==null?'/static/images/detault_head.jpg':user.avatar" mode="aspectFill"></image>
+							<image :src="user.avatar==null?'/static/image/my_heads_icon64.png':user.avatar" mode="aspectFill"></image>
 						</view>
 						<view class="name-phone">
-							<view class="name">{{user.nickname||'微信用户'}}</view>
-							<view class="phone">
+							<view class="x-f">
+								<view class="name" v-if="UserInfo">{{user.nickname}}</view>
+								<view class="name" v-else>请先登录</view>
+								<text>{{user.phone?utils.parsePhone(user.phone):'-'}}</text>
+							</view>
+							
+							<!-- <view class="phone">
 							<image class="w32 h32" src="../../static/images/company/phone_icon16.png" mode=""></image>
 							<text>{{user.phone?utils.parsePhone(user.phone):'-'}}</text>
+							</view> -->
+							
+							<view class="vip">
+								<image class="w24 h24" src="../../static/image/icon_v.png" mode=""></image>
+								已认证
 							</view>
 						</view>
 					</view>
 					<view class="right">
-						<uni-badge size="small" :text="msgNum" absolute="rightTop" type="error">
+						<view class="set" @click="navgetTo('/pages_user/user/personInfo')">
+							<image class="w48 h48" src="../../static/image/right_arrow_black_icon24.png" mode=""></image>
+						</view>
+						<!-- <uni-badge size="small" :text="msgNum" absolute="rightTop" type="error">
 							<view class="set" @click="navgetTo('/pages_user/user/personInfo')">
 								<image class="w48 h48" src="../../static/images/user/center_set_icon.png" mode=""></image>
 							</view>
@@ -27,7 +41,7 @@
 							<view class="msg-box" @click="navgetTo('/pages_user/user/message')">
 								<image class="w48 h48" src="../../static/images/user/center_new_icon.png" mode=""></image>
 							</view>
-						</uni-badge>
+						</uni-badge> -->
 					<!-- 	<uni-badge size="small" absolute="rightTop" type="error">
 						<view class="msg-box ml10" @click="navgetTo('/pages_user/user/complaint')">
 							<u-icon name="edit-pen" color="#222426" size="28"></u-icon>
@@ -35,173 +49,26 @@
 						</uni-badge> -->
 					</view>
 				</view>
-				<view class="balance">
-					<view class="left">
-						<view class="align-center">
-							<view class="text">账户余额</view>
-							<image @click="seeChange" class="w32 h32" :src="isShow?'../../static/images/user/eye_open_icon.png':'../../static/images/user/eye_close_icon.png'" mode=""></image>
-						</view>
-						<view v-if="isShow" class="num">{{user.money||0}}</view>
-						<view v-else class="num">{{utils.parsePrice(user.money||0)}}</view>
-					</view>
-					<view class="right" @click="navgetTo('/pages_user/recharge/index')">充值</view>
-				</view>
-				<!-- 我的订单 -->
-				<view class="my-order">
-					<view class="inner">
-						<view class="title-box">
-							<text class="title">我的订单</text>
-							<view class="all-order" @click="showOrder('')">
-								<text class="text">全部订单</text>
-								<image class="w48 h48"  src="../../static/images/right.png" mode=""></image>
-							</view>
-						</view>
-						<view class="status-box">
-							<uni-badge size="small" :text=count0 absolute="rightTop" type="error">
-								<view class="item" @click="showOrder('0')">
-									<image src="../../static/images/user/obligation_icon24.png" mode=""></image>
-									<text class="text">待付款</text>
-								</view>
-							</uni-badge>
-							<uni-badge size="small" :text=count1 absolute="rightTop" type="error">
-							<view class="item" @click="showOrder('1')">
-								<image src="../../static/images/user/pending_shipment_icon24.png" mode=""></image>
-								<text class="text">待发货</text>
-							</view>
-							</uni-badge>
-							<uni-badge size="small" :text=count2 absolute="rightTop" type="error">
-							<view class="item" @click="showOrder('2')">
-								<image src="../../static/images/user/dai_shouhuo_icon24.png" mode=""></image>
-								<text class="text">待收货</text>
-							</view>
-							</uni-badge>
-							<view class="item" @click="showOrder('3')">
-								<image src="../../static/images/user/completed_icon24.png" mode=""></image>
-								<text class="text">已完成</text>
-							</view>
-							<uni-badge size="small" :text=afterSalesCount absolute="rightTop" type="error">
-							<view class="item" @click="navgetTo('/pages_user/user/refundOrderList')">
-								<image src="../../static/images/user/after_sales_icon24.png" mode=""></image>
-								<text class="text">售后/退款</text>
-							</view>
-							</uni-badge>
-						</view>
-					</view>
+				<view class="vipbox" @click="goVip">
+					<image src="@/static/image/img_renzheng.png" mode="widthFix"></image>
 				</view>
+				
 				<view class="content">
-					<!-- 常用工具 -->
-					<view class="used-tools">
-						<view class="title">常用工具</view>
-						<view class="tools-list">
-							<!-- <view 
-								v-for="(item,index) in toolsArr" 
-								:key="index" 
-								@click="navgetTo(item.url)" 
-								:class="(toolsArr.length - index) > toolsRemain?'item':'item no-marin-bottom'">
-								<image :src="item.img" mode=""></image>
-								<text class="text">{{ item.name }}</text>
-								<button v-if="item.url == ''" class="contact-btn" open-type="contact"></button>
-							</view> -->
-							<!-- <view class="item" @click="navgetTo('/pages_user/user/doctorOrder')">
-								<image src="../../static/images/my_ask.png" mode=""></image>
-								<text class="text">我的问诊</text>
-							</view> -->
-							<view class="item" @click="navgetTo('/pages_user/user/prescribeOrder')">
-								<image src="../../static/images/user/purple_my_prescription_icon24.png" mode=""></image>
-								<text class="text">我的处方</text>
-							</view>
-							<view class="item" @click="navgetTo('/pages_user/user/patient')">
-								<image src="../../static/images/user/purple_the_patient_icon24.png" mode=""></image>
-								<text class="text">就诊人管理</text>
-							</view>
-							<view class="item" @click="navgetTo('/pages_user/user/address')">
-								<image src="../../static/images/user/purple_address_management_icon24.png" mode=""></image>
-								<text class="text">收货地址</text>
-							</view>
-							<view class="item no-marin-bottom" @click="navgetTo('/pages_user/user/integral')">
-								<image src="../../static/images/user/purple_points_management_icon24.png" mode=""></image>
-								<text class="text">积分管理</text>
-							</view>
-							<!-- <view class="item no-marin-bottom" @click="navgetTo('/pages_user/user/pointsMall')">
-								<image src="../../static/images/user/purple_points_management_icon24.png" mode=""></image>
-								<text class="text">积分管理</text>
-							</view> -->
-							<view class="item no-marin-bottom"  @click="navgetTo('/pages_shopping/shopping/myCoupon')">
-								<image src="../../static/images/user/purple_coupon_icon24.png" mode=""></image>
-								<text class="text">优惠券</text>
-							</view>
-							<view class="item no-marin-bottom" @click="navgetTo('/pages_user/user/storeProductRelation')">
-								<image src="../../static/images/user/purple_my_footprint_icon24.png" mode=""></image>
-								<text class="text">我的足迹</text>
-							</view>
-							<view class="item no-marin-bottom" @click="openH5('/web/userAgreement')">
-								<image src="../../static/images/user/purple_user_agreement_icon24.png" mode=""></image>
-								<text class="text">用户协议</text>
+					<view class="task-list">
+						<view class="item" v-for="(item,index) in tabs" :key="index"  @click="openLink(item)">
+							<view class="left">
+								<image :src="item.icon" mode=""></image>
+								<view class="title-l">{{item.name}}</view>
 							</view>
-							<view class="item no-marin-bottom align-top"  @click="openH5('/web/privacyPolicy')">
-								<image src="../../static/images/user/purple_privacy_protection_icon24.png" mode=""></image>
-								<text class="text">隐私保护</text>
+							<view class="right">
+								<!-- <view class="num" v-if="item.num!==0">{{item.num}}</view> -->
+								<image src="@/static/image/icon_my_more.png" mode=""></image>
 							</view>
-							<view class="item no-marin-bottom">
-								<image src="../../static/images/user/purple_service_center_icon24.png" mode=""></image>
-								<text class="text">专属客服</text>
-								<button class="contact-btn" open-type="contact"></button>
-							</view>
-							<view v-if="user.isPromoter==0" class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/userTuiAdd')">
-								<image src="../../static/images/user/purple_health_ambassador_icon24.png" mode=""></image>
-								<text class="text">申请健康大使</text>
-							</view>
-							<view v-if="user.isPromoter==1" class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/userTui')">
-								<image src="../../static/images/user/purple_health_ambassador_icon24.png" mode=""></image>
-								<text class="text">我的推广</text>
-							</view>
-							<view class="item no-marin-bottom"  @click="navgetTo('/pages/home/cert')">
-								<image src="../../static/images/user/purple_qualification_certificate_icon24.png" mode=""></image>
-								<text class="text">资质证书</text>
-							</view>
-	
-							<view class="item no-marin-bottom" @click="toManager()">
-								<image src="../../static/images/user/purple_sales_management_icon24.png" mode=""></image>
-								<text class="text">销售管理</text>
-							</view>
-							 <view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/reportList')">
-							  	<image src="../../static/images/user/my_physical_examination_report_icon24.png" mode=""></image>
-							  	<text class="text">体检报告</text>
-							  </view>
-							  <view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/myFolder')">
-							   	<image src="../../static/images/user/my_attachment_icon.png" mode=""></image>
-							   	<text class="text">我的附件</text>
-							   </view>
-							   
-							  
-								<view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/dietList')">
-								 	<image src="../../static/images/user/dietary_status_icon.png" mode=""></image>
-								 	<text class="text">饮食情况</text>
-								 </view>
-								 <view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/schedule')">
-								  	<image src="../../static/images/user/my_schedule_icon.png" mode=""></image>
-								  	<text class="text">行程管理</text>
-								  </view>
-								<view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/pointsMall')">
-								  	<image src="../../static/images/user/points_mall_icon24.png" mode=""></image>
-								  	<text class="text">积分商城</text>
-								  </view>
-								  <view class="item no-marin-bottom"  @click="navgetTo('/pages_user/user/complaint')">
-								   	<image src="../../static/images/user/complaint feedback_icon24.png" mode=""></image>
-								   	<text class="text">投诉反馈</text>
-								   </view>
 						</view>
 					</view>
 					<!-- 退出登录按钮 -->
 					<view class="log-out" @click="logOut">退出登录</view>
 				</view>
-				<view class="banner">
-					<image src="https://qinggetai.oss-rg-china-mainland.aliyuncs.com/qgt/20230705/786baeb728d34b6aa29ae62d0b173b19.png"></image>
-					<view class="tel_btn" @click="callService()"></view>
-				</view>
-				<view class="like-product">
-					<likeProduct  ref="product" />
-				</view>
 			</view>
 			
 		</view>
@@ -212,17 +79,20 @@
 <script>
 	import {getOrderCount} from '@/api/storeOrder'
 	import {getUserInfo} from '@/api/user'
-	import likeProduct from '@/components/likeProduct.vue'
 	export default {
-		components: {
-			likeProduct
-		},
 		data() {
 			return {
 				count0:0,
 				count1:0,
 				count2:0,
 				afterSalesCount:0,
+				tabs:[
+					{name:'我的积分',num:12,icon:'/static/image/icon_my_points.png',url:'/pages_user/points'},
+					{name:'服务单确认',num:3,icon:'/static/image/icon_my_servicelist.png',url:''},
+					{name:'银行卡',num:8,icon:'/static/image/icon_my_card.png',url:''},
+					{name:'设置密码',num:0,icon:'/static/image/icon_my_password.png',url:''},
+					{name:'用户协议',num:0,icon:'/static/image/icon_my_useragreement.png',url:'/web/userAgreement'},
+				],
 				user:{
 					isPromoter:0,
 					isWeixinAuth:0,
@@ -234,8 +104,8 @@
 				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
 				// 消息数量
 				msgNum: 0,
-			 isShow:true
-				 
+			 isShow:true,
+				 UserInfo: uni.getStorageSync('AppToken')
 			};
 		},
 		onLoad() {
@@ -243,8 +113,8 @@
 		},
 		onShow() {
 			console.log("onshow")
-			this.getUserInfo();
-			this.getOrderCount();
+			//this.getUserInfo();
+			//this.getOrderCount();
 		},
 		onReachBottom() {
 			console.log("onReachBottom")
@@ -300,6 +170,27 @@
 			 		}
 			 	})
 			 },
+			 goVip(){
+				 uni.navigateTo({
+				 	url: '/pages_user/certification'
+				 })
+			 },
+			 openLink(item){
+				 if(item.name=='用户协议'){
+					 this.openH5()
+					 return;
+				 }
+				 uni.navigateTo({
+				 	url: item.url
+				 })
+				 // this.utils.isLogin().then(res => {
+				 // 	if(res){
+				 // 		uni.navigateTo({
+				 // 			url: url+'?userId='+this.user.userId
+				 // 		})
+				 // 	}
+				 // })
+			 },
 			toManager(){
 				// uni.navigateTo({
 				// 	url: '/pages_company/index'
@@ -367,12 +258,17 @@
 <style lang="scss">
 	.top-cont{
 		width: 100%;
-		height: 494upx;
+		height: 600rpx;
 		position: relative;
-		// background-image: url(../../static/images/personl_top_bg.png);
-		// background-repeat: repeat-x;
-		// background-size: 40upx 100%;
-		background: linear-gradient(266deg, #CDEAFE 0%, #EBF4F9 100%);
+		// background-image: url(../../static/image/top_bg.png);
+		// background-repeat:no-repeat;
+		// background-size:100%;
+		.bg{
+			width: 100%;
+			position: absolute;
+			top: 0;
+			left: 0;
+		}
 		.top-inner{
 			width: 100%;
 			height: 100%;
@@ -381,7 +277,7 @@
 			left: 0;
 			z-index: 2;
 			.user-info{
-				padding: 88upx 30upx 0 30upx;
+				padding: 88upx 30upx 32upx 30upx;
 				display: flex;
 				align-items: center;
 				justify-content: space-between;
@@ -389,20 +285,24 @@
 					position: relative;
 					display: flex;
 					.head-img{
-						width: 120upx;
-						height: 120upx;
+						width: 112upx;
+						height: 112upx;
 						border-radius: 50%;
 						overflow: hidden;
-						margin-right: 30upx;
+						margin-right: 32upx;
 						border: 4upx solid #FFFFFF;
-						box-shadow: 0px 5px 15px 2px rgba(0,0,0,0.1);
+						//box-shadow: 0px 5px 15px 2px rgba(0,0,0,0.1);
 						image{
 							width: 100%;
 							height: 100%;
 						}
 					}
 					.name-phone{
-						padding-top: 15upx;
+						// padding-top: 15upx;
+						display: flex;
+						align-items: flex-start;
+						flex-direction: column;
+						justify-content: space-around;
 						.name{
 							font-size: 40upx;
 							font-family: PingFang SC;
@@ -410,6 +310,11 @@
 							color: #111111;
 							line-height: 1;
 						}
+						text{
+							font-family: PingFang SC, PingFang SC;
+							font-weight: 600;
+							font-size: 28rpx;
+						}
 						.phone{
 							width: 220rpx;
 							height: 48rpx;
@@ -430,6 +335,19 @@
 							}
 							
 						}
+						.vip{
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							width: 120rpx;
+							height: 40rpx;
+							background: linear-gradient( 90deg, #FFEBAA 0%, #FFD45D 100%);
+							border-radius: 38rpx 38rpx 38rpx 38rpx;
+							font-family: PingFang SC, PingFang SC;
+							font-weight: 500;
+							font-size: 20rpx;
+							color: #694511;
+						}
 					}
 				}
 				.right{
@@ -447,9 +365,9 @@
 					}
 					.set{
 						
-						width: 48upx;
-						height: 48upx;
-						margin-right: 20rpx;
+						width: 48rpx;
+						height: 48rpx;
+						// margin-right: 20rpx;
 						// image{
 						// 	width: 100%;
 						// 	height: 100%;
@@ -571,12 +489,76 @@
 			
 		}
 	}
+	.vipbox{
+	   margin-top: 24upx;
+	   padding: 0 24upx;
+	   image{
+		   width: 100%;
+	   }
+	}
 	.content{
-		margin-top: 20upx;
-		padding: 0 20upx;
+		margin-top: 24upx;
+		padding: 0 24upx;
 		// display: flex;
 		align-items: center;
 		justify-content: center;
+		.task-list{
+			// padding: 24rpx;
+			display: flex;
+			align-items: center;
+			flex-direction: column;
+			justify-content: flex-start;
+			width: 100%;
+			  box-sizing: border-box; 
+			  border-radius: 24rpx;
+			  background: #FFFFFF;
+			.item{
+				width: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				padding:28rpx 24rpx;
+				box-sizing: border-box; 
+				// margin-bottom: 24rpx;
+				.left{
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					image{
+						width: 48rpx;
+						height: 48rpx;
+						margin-right: 32rpx;
+					}
+					.title-l{
+						font-family: PingFang SC, PingFang SC;
+						font-weight: 400;
+						font-size: 32rpx;
+						color: #333333;
+					}
+				}
+				.right{
+					display: flex;
+					align-items: center;
+					.num{
+						text-align: center;
+						width: 50rpx;
+						height: 36rpx;
+						line-height: 36rpx;
+						background: rgba(56,139,255,0.16);
+						border-radius: 34rpx 34rpx 34rpx 34rpx;
+						font-family: PingFang SC, PingFang SC;
+						font-weight: 400;
+						font-size: 24rpx;
+						color: #388BFF;
+					}
+					image{
+						width: 32rpx;
+						height: 32rpx;
+						margin-left: 12rpx;
+					}
+				}
+			}
+		}
 		.used-tools{
 			box-sizing: border-box;
 			background: #FFFFFF;
@@ -629,16 +611,16 @@
 			}
 		}
 		.log-out{
-			height: 80upx;
-			line-height: 80upx;
+			height: 88upx;
+			line-height: 88upx;
 			text-align: center;
-			font-size: 26upx;
-			font-family: PingFang SC;
+			font-family: PingFang SC, PingFang SC;
 			font-weight: 500;
+			font-size: 28rpx;
 			color: #666666;
 			background: #FFFFFF;
 			border-radius: 16upx;
-			margin-top: 20upx;
+			margin-top: 52upx;
 		}
 	}
 	.sub-btn{

+ 0 - 391
pages_company/addCompetitors.vue

@@ -1,391 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<view class="form-box">
-				<view class="form-item">
-					<text class="label">竞品公司<text class="color-price">*</text></text>
-					<input  class="input-width" type="text" v-model="form.competitorCompany" placeholder="请输入竞品公司"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">产品<text class="color-price">*</text></text>
-					<input class="input-width" type="text" v-model="form.product" placeholder="请输入产品"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">价格<text class="color-price">*</text></text>
-					<input  class="input-width" type="digit" v-model="form.price" placeholder="请输入价格"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">服务<text class="color-price">*</text></text>
-					<input class="input-width" type="text" v-model="form.service" placeholder="请输入竞品公司服务方式"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">免费服务次数<text class="color-price">*</text></text>
-					<input class="input-width" type="number" v-model="form.freeServiceTimes" placeholder="请输入服务次数"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-		</view>
-		<view class="btn-box">
-			<view class="sub-btn" @click="submit()">
-				<image src="/static/images/health/nav_add_icon24.png" class="w48 h48"></image>
-				<text>新增竞品信息</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		getCompetitorById,saveCompetitor,updateCompetitor
-	} from '@/api/companyUser.js'
-	export default {
-		data() {
-			return {
-				type: null,
-				patientId: null,
-				famaleurl:"/static/images/health/female_profile.png",
-				maleurl:"/static/images/health/my_heads.png",
-				checked:1,
-				array:['是','否'],
-				tags: [{
-					name: '心脏病',
-					checked:true,
-					id: 1
-				},
-				{
-					name: '脑梗死',
-						checked:false,
-					id: 2
-				},{
-					name: '肾病',
-						checked:false,
-					id: 3
-				},{
-					name: '脂肪肝',
-						checked:false,
-					id: 4
-				}],
-				form: {
-					"competitorCompany": null,
-					"freeServiceTimes":null,
-					"price":null,
-					"product": null,
-					"remark": null,
-					"service": null,
-				},
-				id:null
-			};
-		},
-		onLoad(options) {
-			this.type = options.type;
-			this.form.userId=options.userId
-			this.form.companyUserId=options.companyUserId;
-			console.log(this.type)
-			if (this.type == 'edit') {
-				this.id=options.id;
-				this.getCompetitorInfo();
-			}
-		},
-		methods: {
-			getCompetitorInfo() {
-				var data = {
-					id: this.id
-				};
-				getCompetitorById(data).then(
-					res => {
-						if (res.code == 200) {
-							this.form = res.data;
-
-						} else {
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			submit() {
-				if (this.form.competitorCompany == null || this.form.competitorCompany == '') {
-					uni.showToast({
-						icon: 'none',
-						title: "公司名称不能为空",
-					});
-					return;
-				}
-				if (this.form.product == null || this.form.product == '') {
-					uni.showToast({
-						icon: 'none',
-						title: "产品不能为空",
-					});
-					return;
-				}
-				if (this.form.price == null || this.form.price == '') {
-					uni.showToast({
-						icon: 'none',
-						title: "价格不能为空",
-					});
-					return;
-				}
-				if (this.form.service == null || this.form.service == '') {
-					uni.showToast({
-						icon: 'none',
-						title: "服务不能为空",
-					});
-					return;
-				}
-				if (this.form.freeServiceTimes == null || this.form.freeServiceTimes == '') {
-					uni.showToast({
-						icon: 'none',
-						title: "次数不能为空",
-					});
-					return;
-				}
-				if (this.type == "add") {
-					this.saveCompetitor()
-				} else if (this.type == "edit") {
-					this.updateCompetitor()
-				}
-			},
-			updateCompetitor() {
-				updateCompetitor(this.form).then(
-					res => {
-						if (res.code == 200) {
-							uni.showToast({
-								icon: 'success',
-								title: "操作成功",
-							});
-							setTimeout(function() {
-								uni.$emit('refreshBuyOrder');
-								uni.navigateBack({
-									delta: 1
-								})
-							}, 500);
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			saveCompetitor() {
-				saveCompetitor(this.form).then(
-					res => {
-						if (res.code == 200) {
-							uni.showToast({
-								icon: 'success',
-								title: "操作成功",
-							});
-							setTimeout(function() {
-								uni.$emit('refreshBuyOrder');
-								uni.navigateBack({
-									delta: 1
-								})
-							}, 500);
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content {
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-
-		.inner {
-			// height: calc(100% - 120upx);
-			padding: 20upx;
-
-			.form-box {
-				padding: 0 30upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-
-				.form-title {
-					font-family: PingFang SC;
-					font-weight: 600;
-					font-size: 40rpx;
-					color: #222426;
-					text-align: left;
-					padding: 30rpx 0;
-					display: block;
-				}
-
-				.form-item {
-					padding: 30upx 0;
-					display: flex;
-					align-items: flex-start;
-					border-bottom: 1px solid #F1F1F1;
-
-					&:last-child {
-						border-bottom: none;
-					}
-        
-					.label {
-						width: 300upx;
-						text-align: left;
-						font-size: 32upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-
-					input {
-						text-align: right;
-					}
-               
-					.form-input {
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						text-align: right;
-					}
-
-					.form-item-tag{
-						margin-right: 16rpx;
-						.tag{
-							border-radius: 8rpx 8rpx 8rpx 8rpx;
-							border: 2rpx solid #ECECEC;
-							display: flex;
-							align-items: center;
-							padding: 24rpx;
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							&.active{
-								background: #F0FAFF;
-								border: 2rpx solid #008FD3;
-								color: #008FD3;
-							}
-						}
-						
-						
-						
-					}
-					.right{
-						display: flex;
-						align-items: center;
-					}
-					.sex-box{
-						flex:1;
-						display: flex;
-						align-items: center;
-						justify-content: flex-end;
-						.sex-item{
-							width: 146rpx;
-							height: 64rpx;
-							display: flex;
-							align-items: center;
-							justify-content: center;
-							background: #F5F7FA;
-							border-radius: 32rpx 32rpx 32rpx 32rpx;
-							margin-left: 16rpx;
-							.u-icon__icon{
-								margin: 0;
-							}
-							text{
-								// font-family: PingFang SC, PingFang SC;
-								font-weight: 400;
-								font-size: 28rpx;
-								color: #898E91;
-								margin-left: 12rpx;
-							}
-							&.active{
-								background: #FCF0E7;
-								text{
-									color:#FF5030
-								}
-							}
-						}
-					}
-					.form-textarea{
-						font-size: 30upx;
-						color: #999999;
-						height: 100upx;
-						padding: 4upx 0;
-					}
-					 
-					.birth-picker {
-						flex: 1;
-						display: flex;
-						align-items: center;
-						
-						.right-box{
-							width: 100%;
-							display: flex;
-							align-items: center;
-							.input-box{
-								// width: 470upx;
-							}
-							.arrow{
-								width: 13upx;
-								height: 23upx;
-								margin-left: 20upx;
-							}
-						}
-					}
-				}
-			}
-		}
-
-		.btn-box {
-			height: 120upx;
-			padding: 0 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-
-			// position: fixed;
-			// width: 90%;
-			// bottom: 0;
-			// left: 50%;
-			// transform: translate(-50%,-50%);
-			// background: #FFFFFF;
-			.sub-btn {
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3 ;
-				border-radius: 44upx;
-				margin-bottom: 40upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 620
pages_company/addDoc.vue

@@ -1,620 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<view class="form-box">
-				<text class="form-title">身体信息</text>
-				<view class="form-item">
-					<text class="label">身高<text class="color-price">*</text></text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.height" placeholder="请输入身高"
-						placeholder-class="form-input" />
-					<text class="unit">cm</text>
-				</view>
-				<view class="form-item">
-					<text class="label">体重<text class="color-price">*</text></text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.weight" placeholder="请输入体重"
-						placeholder-class="form-input" />
-					<text class="unit">kg</text>
-				</view>
-				<view class="form-item">
-					<text class="label">腰围<text class="color-price">*</text></text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.waistCircumference"
-						placeholder="请输入腰围" placeholder-class="form-input" />
-					<text class="unit">cm</text>
-				</view>
-				<view class="form-item">
-					<text class="label">臀围<text class="color-price">*</text></text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.hipCircumference"
-						placeholder="请输入臀围" placeholder-class="form-input" />
-					<text class="unit">cm</text>
-				</view>
-
-
-			</view>
-			<view class="form-box">
-				<text class="form-title">疾病史</text>
-				<view class="form-item">
-					<text class="label">高血糖</text>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperglycemiaChange(0)" value="0" :checked="form.hyperglycemia==0"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">无</text>
-						</label>
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperglycemiaChange(1)" value="1" :checked="form.hyperglycemia==1"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">轻微</text>
-						</label>
-						<label>
-							<radio @click="hyperglycemiaChange(2)" value="2" :checked="form.hyperglycemia==2"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">严重</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="form-item">
-					<text class="label">测量值</text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.hyperglycemiaValue"
-						placeholder="请输入测量值" placeholder-class="form-input" />
-					<text class="unit">mmol/L</text>
-				</view>
-				<view class="form-item">
-					<text class="label">高血压</text>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio @click="hypertensionChange(0)" value="0" :checked="form.hypertension==0"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">无</text>
-						</label>
-						<label style="margin-right: 50upx;">
-							<radio @click="hypertensionChange(1)" value="1" :checked="form.hypertension==1"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">轻微</text>
-						</label>
-						<label>
-							<radio @click="hypertensionChange(2)" value="2" :checked="form.hypertension==2"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">严重</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="form-item">
-					<text class="label">收缩压</text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.systolicPressure"
-						placeholder="请输入测量值" placeholder-class="form-input" />
-					<text class="unit">mmHg</text>
-				</view>
-				<view class="form-item">
-					<text class="label">舒张压</text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.diastolicPressure"
-						placeholder="请输入测量值" placeholder-class="form-input" />
-					<text class="unit">mmHg</text>
-				</view>
-				<view class="form-item">
-					<text class="label">高血脂</text>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperlipidemiaChange(0)" value="0" :checked="form.hyperlipidemia==0"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">无</text>
-						</label>
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperlipidemiaChange(1)" value="1" :checked="form.hyperlipidemia==1"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">轻微</text>
-						</label>
-						<label>
-							<radio @click="hyperlipidemiaChange(2)" value="2" :checked="form.hyperlipidemia==2"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">严重</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="form-item">
-					<text class="label">高尿酸</text>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperuricemiaChange(0)" value="0" :checked="form.hyperuricemia==0"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">无</text>
-						</label>
-						<label style="margin-right: 50upx;">
-							<radio @click="hyperuricemiaChange(1)" value="1" :checked="form.hyperuricemia==1"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">轻微</text>
-						</label>
-						<label>
-							<radio @click="hyperuricemiaChange(2)" value="2" :checked="form.hyperuricemia==2"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">严重</text>
-						</label>
-					</radio-group>
-				</view>
-				<view class="form-item">
-					<text class="label">测量值</text>
-					<input maxlength="10" class="input-width" type="digit" v-model="form.hyperuricemiaValue"
-						placeholder="请输入测量值" placeholder-class="form-input" />
-					<text class="unit">μmol/L</text>
-				</view>
-				<view class="form-item">
-					<text class="label">高体重</text>
-					<radio-group style="display: flex;align-items: center;">
-						<label style="margin-right: 50upx;">
-							<radio @click="bodyWeightStatusChange(0)" value="0" :checked="form.bodyWeightStatus==0"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">正常</text>
-						</label>
-						<label style="margin-right: 50upx;">
-							<radio @click="bodyWeightStatusChange(1)" value="1" :checked="form.bodyWeightStatus==1"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">偏瘦</text>
-						</label>
-						<label>
-							<radio @click="bodyWeightStatusChange(2)" value="2" :checked="form.bodyWeightStatus==2"
-								style="margin-right: 16upx;" />
-							<text class="sex-text">偏重</text>
-						</label>
-					</radio-group>
-				</view>
-
-			</view>
-			<view class="form-box">
-				<text class="form-title">其他病史</text>
-				<view class="form-item wrap">
-					<view class="form-item-tag mb16" v-for="(item, index) in tags" :key="index"
-						@click="tagsClick(item)">
-						<view :class="checkedItems.includes(item.dictValue)?'tag active':'tag'">
-							{{item.dictLabel}}
-						</view>
-					</view>
-					<!-- 其他选项 -->
-					<view class="form-item-tag" @click="toggleOther">
-						<view :class="otherSelected ? 'tag active' : 'tag'">
-							+ 其他
-						</view>
-					</view>
-				</view>
-				<view class="form-item" v-if="otherSelected">
-					<text class="label">其他病史</text>
-					<input class="input-width" type="text" v-model="symptom" placeholder="请输入病史"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">症状史</text>
-				<view class="form-item wrap">
-					<view class="form-item-tag mb16" v-for="(item, index) in cates" :key="index"
-						@click="catesClick(item)">
-						<view :class="checkedItems2.includes(item.dictValue)?'tag active':'tag'">
-							{{item.dictLabel}}
-						</view>
-					</view>
-					<!-- 其他选项 -->
-					<view class="form-item-tag" @click="toggleOther2">
-						<view :class="otherSelected2 ? 'tag active' : 'tag'">
-							+ 其他
-						</view>
-					</view>
-				</view>
-<!-- 其他症状输入框(选中"其他"时显示) -->
-			<view class="form-item" v-if="otherSelected2">
-				<text class="label">其他症状</text>
-				<input class="input-width" type="text" v-model="symptom2" placeholder="请输入症状"
-					placeholder-class="form-input" />
-			</view>
-			</view>
-			
-		</view>
-		<view class="btn-box">
-			<view class="sub-btn" @click="submit()">保存</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		getDoc,
-		addDoc,
-		updateDoc
-	} from '@/api/health.js'
-	import {
-		getDictByKey
-	} from '@/api/common.js'
-	export default {
-		data() {
-			return {
-				type: null,
-				patientId: null,
-				symptom: null,
-				symptom2: null,
-				famaleurl: "/static/images/health/female_profile.png",
-				maleurl: "/static/images/health/my_heads.png",
-				// 存储所有选中的症状值
-				checkedItems: [],
-				checkedItems2: [],
-				text: [],
-				text2: [],
-				// 其他选项是否选中
-				otherSelected: false,
-				otherSelected2: false,
-				// 其他症状输入内容
-				tags: [
-					// 	{
-					// 	name: '心脏病',
-					// 	checked:true,
-					// 	id: 1
-					// },
-					// {
-					// 	name: '脑梗死',
-					// 		checked:false,
-					// 	id: 2
-					// },{
-					// 	name: '肾病',
-					// 		checked:false,
-					// 	id: 3
-					// },{
-					// 	name: '脂肪肝',
-					// 		checked:false,
-					// 	id: 4
-					// },
-				],
-				cates: [],
-				form: {
-					"height": null,
-					"weight": null,
-					"waistCircumference": null,
-					"hipCircumference": null,
-					"hyperglycemia": 0,
-					"hyperglycemiaValue": null,
-					"hypertension": 0,
-					"systolicPressure": null,
-					"diastolicPressure": null,
-					"hyperlipidemia": 0,
-					"hyperuricemia": 0,
-					"hyperuricemiaValue": null,
-					"bodyWeightStatus": 0,
-					"otherMedicalHistory": null,
-					"symptomHistory": null,
-				}
-
-			};
-		},
-		onLoad(options) {
-			// this.type = options.type;
-			this.companyUserId = options.companyUserId;
-			this.form.userId =options.userId;
-			this.form.companyUserId = options.companyUserId;
-			console.log(this.type)
-			// if (this.type == 'edit') {
-				this.getDoc();
-			// }
-			this.getDictByKey('other_medical_history')
-			this.getDictByKey('medical_history')
-		},
-		methods: {
-			sexChange(type) {
-				this.form.sex = type
-			},
-			//血糖
-			hyperglycemiaChange(e) {
-				this.form.hyperglycemia = e
-			},
-			//血压
-			hypertensionChange(e) {
-				this.form.hypertension = e
-			},
-			//血脂
-			hyperlipidemiaChange(e) {
-				this.form.hyperlipidemia = e
-			},
-			//尿酸
-			hyperuricemiaChange(e) {
-				this.form.hyperuricemia = e
-			},
-			bodyWeightStatusChange(e) {
-				this.form.bodyWeightStatus = e
-			},
-			tagsClick(item) {
-				const index = this.checkedItems.indexOf(item.dictValue);
-				if (index > -1) {
-					// 如果已选中则移除
-					this.checkedItems.splice(index, 1);
-				} else {
-					// 如果未选中则添加
-					this.checkedItems.push(item.dictValue);
-					this.text.push(item.dictLabel)
-				}
-			},
-			catesClick(item) {
-				const index = this.checkedItems2.indexOf(item.dictValue);
-				if (index > -1) {
-					// 如果已选中则移除
-					this.checkedItems2.splice(index, 1);
-				} else {
-					// 如果未选中则添加
-					this.checkedItems2.push(item.dictValue);
-					this.text2.push(item.dictLabel)
-				}
-			},
-			// 切换其他选项
-			toggleOther() {
-				this.otherSelected = !this.otherSelected;
-				// 清空其他症状输入
-				if (!this.otherSelected) {
-					this.symptom = null;
-				}
-				},
-				toggleOther2() {
-						this.otherSelected2 = !this.otherSelected2;
-						// 清空其他症状输入
-						if (!this.otherSelected2) {
-							this.symptom2 = null;
-						}
-					},
-					getDictByKey(key) {
-						var data = {
-							key: key
-						}
-						getDictByKey(data).then(
-							res => {
-								if (res.code == 200) {
-									if (key == "other_medical_history") {
-										this.tags = res.data;
-									}
-									if (key == "medical_history") {
-										this.cates = res.data;
-									}
-								}
-							},
-							err => {}
-						);
-
-					},
-				getDoc() {
-					var data = {
-						userId: this.form.userId
-					};
-					getDoc(data).then(
-						res => {
-							if (res.code == 200) {
-								if(res.data==null){
-									this.type='add'
-								}else{
-									this.type='edit'
-									this.form = res.data;
-								}
-							} else {
-								uni.showToast({
-									title: res.msg,
-								});
-							}
-						},
-						rej => {}
-					);
-				},
-					submit() {
-						if (this.form.height == null) {
-							uni.showToast({
-								icon: 'none',
-								title: "身高不能为空",
-							});
-							return;
-						}
-						if (this.form.weight == null) {
-							uni.showToast({
-								icon: 'none',
-								title: "体重不能为空",
-							});
-							return;
-						}
-						if (this.form.waistCircumference == null) {
-							uni.showToast({
-								icon: 'none',
-								title: "腰围不能为空",
-							});
-							return;
-						}
-						if (this.form.hipCircumference == null) {
-							uni.showToast({
-								icon: 'none',
-								title: "臀围不能为空",
-							});
-							return;
-						}
-						// console.log(this.text,'---')
-			this.form.otherMedicalHistory = this.utils.joinWithSymptom(this.text, this.symptom)
-			this.form.symptomHistory = this.utils.joinWithSymptom(this.text2, this.symptom2)
-						if (this.type == "add") {
-							this.addDoc()
-						} else if (this.type == "edit") {
-							this.editDoc()
-						}
-
-					},
-					editDoc() {
-						updateDoc(this.form).then(
-							res => {
-								if (res.code == 200) {
-									uni.showToast({
-										icon: 'success',
-										title: "操作成功",
-									});
-									setTimeout(function() {
-										uni.$emit('refreshClientDetail');
-										uni.navigateBack({
-											delta: 1
-										})
-									}, 500);
-								} else {
-									uni.showToast({
-										icon: 'none',
-										title: res.msg,
-									});
-								}
-							},
-							rej => {}
-						);
-					},
-					addDoc() {
-						addDoc(this.form).then(
-							res => {
-								if (res.code == 200) {
-									uni.showToast({
-										icon: 'success',
-										title: "操作成功",
-									});
-									setTimeout(function() {
-										uni.$emit('refreshClientDetail');
-										uni.navigateBack({
-											delta: 1
-										})
-									}, 500);
-								} else {
-									uni.showToast({
-										icon: 'none',
-										title: res.msg,
-									});
-								}
-							},
-							rej => {}
-						);
-					},
-					// 出生日期选择
-					bindDateChange: function(e) {
-						this.form.birthdate = e.target.value
-					},
-			}
-		}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content {
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-
-		.inner {
-			// height: calc(100% - 120upx);
-			padding: 20upx;
-
-			.form-box {
-				padding: 0 30upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-
-				.form-title {
-					font-family: PingFang SC;
-					font-weight: 600;
-					font-size: 40rpx;
-					color: #222426;
-					text-align: left;
-					padding: 30rpx 0;
-					display: block;
-				}
-
-				.form-item {
-					padding: 30upx 0;
-					display: flex;
-					align-items: flex-start;
-					border-bottom: 1px solid #F1F1F1;
-
-					&:last-child {
-						border-bottom: none;
-					}
-
-					.label {
-						width: 150upx;
-						text-align: left;
-						font-size: 32upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-
-					input {
-						text-align: left;
-					}
-
-					.unit {
-						width: 150upx;
-						text-align: right;
-						font-size: 32upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-
-					.form-input {
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						text-align: left;
-					}
-
-					.form-item-tag {
-						margin-right: 16rpx;
-
-						.tag {
-							border-radius: 8rpx 8rpx 8rpx 8rpx;
-							border: 2rpx solid #ECECEC;
-							display: flex;
-							align-items: center;
-							padding: 24rpx;
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-
-							&.active {
-								background: #F0FAFF;
-								border: 2rpx solid #008FD3;
-								color: #008FD3;
-							}
-						}
-
-
-
-					}
-				}
-			}
-		}
-
-		.btn-box {
-			height: 120upx;
-			padding: 0 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-
-			// position: fixed;
-			// width: 90%;
-			// bottom: 0;
-			// left: 50%;
-			// transform: translate(-50%,-50%);
-			// background: #FFFFFF;
-			.sub-btn {
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				margin-bottom: 40upx;
-			}
-		}
-	}
-</style>

+ 0 - 733
pages_company/addUser.vue

@@ -1,733 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<view class="form-box">
-				<text class="form-title">基本信息</text>
-				<view class="form-item justify-between">
-					<text class="label">头像</text>
-					<view class="right">
-						<image :src="form.avatar==null?maleurl:form.avatar" class="w90 h90"></image>
-						<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						<button class="wx-head" type="balanced" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
-						</button>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">姓名<text class="color-price">*</text></text>
-					<input class="input-width" type="text" v-model="form.username" placeholder="请输入姓名"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">性别<text class="color-price">*</text></text>
-					<view class="sex-box">
-						<view :class="form.sex==0?'sex-item active':'sex-item'"  @click="sexChange(0)" >
-							<u-icon name="man" :color="form.sex==0?'#008FD3':'#898E91'" size="20"></u-icon>
-							<text>男</text>
-						</view>
-						<view :class="form.sex==1?'sex-item active2':'sex-item'"  @click="sexChange(1)" >
-							<u-icon name="woman" :color="form.sex==1?'#FF5030':'#898E91'" size="20"></u-icon>
-							<text>女</text>
-						</view>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">出生年月<text class="color-price">*</text></text>
-					<picker class="birth-picker" mode="date"   @change="bindDateChange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.birthdate" placeholder="请选择出生年月" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-				</view>
-				<view class="form-item">
-					<text class="label">手机号<text class="color-price">*</text></text>
-					<input maxlength="11" class="input-width" type="number" v-model="form.phone" placeholder="请输入手机号" placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">身份证号<text class="color-price">*</text></text>
-					<input maxlength="18" class="input-width" type="idcard" v-model="form.idCard" placeholder="请如实填写身份证号" placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">退休前工作单位<text class="color-price">*</text></text>
-					<input class="input-width" type="text" v-model="form.previousEmployer" placeholder="请输入工作单位"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">可支配收入<text class="color-price">*</text></text>
-					<input  class="input-width" type="digit" v-model="form.disposableIncome" placeholder="请输入支配收入"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">实际消费<text class="color-price">*</text></text>
-					<input class="input-width" type="digit" v-model="form.actualConsumption" placeholder="请输入实际消费"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">家庭地址及居住情况</text>
-				
-				<view class="form-item">
-					<text class="label">市区<text class="color-price">*</text></text>
-					<picker class="birth-picker" mode="region" level="city"  @change="bindCityChange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.city" placeholder="请选择市区" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-					
-				</view>
-				<view class="form-item">
-					<text class="label">小区名称</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.residentialCommunity" placeholder="请输入小区名称"
-						placeholder-class="form-input" />
-				
-				</view>
-				<view class="form-item">
-					<text class="label">门牌</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.houseNumber" placeholder="请输入门牌号"
-						placeholder-class="form-input" />
-				
-				</view>
-				
-				
-				<view class="form-item">
-					<text class="label">面积</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.area" placeholder="请输入面积"
-						placeholder-class="form-input" />
-				</view>
-				
-                 <view class="form-item">
-					<text class="label">楼层</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.floor" placeholder="请输入楼层"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">家庭情况</text>
-				<view class="form-item">
-					<text class="label">伴侣</text>
-					<input class="input-width" type="text" v-model="form.partnerName" placeholder="请输入伴侣姓名"
-						placeholder-class="form-input" />
-				
-				</view>
-				<view class="form-item">
-					<text class="label">伴侣年龄</text>
-					<input class="input-width" type="number" v-model="form.partnerAge" placeholder="请输入伴侣年龄"
-						placeholder-class="form-input" />
-				
-				</view>
-				
-				
-				<view class="form-item">
-					<text class="label">子辈单位</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.partnerEmployer" placeholder="请输入子辈工作单位"
-						placeholder-class="form-input" />
-				</view>
-				
-				 <view class="form-item">
-					<text class="label">孙辈学校</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.grandchildrenSchool" placeholder="请输入所在学校"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">会员情况</text>
-				<view class="form-item justify-between">
-					<text class="label">是否是会员</text>
-				<radio-group style="display: flex;align-items: center;">
-					<label style="margin-right: 50upx;">
-						<radio @click="radioClick(1)" value="1" :checked="form.isMember==1"
-							style="margin-right: 16upx;" />
-						<text class="sex-text">是</text>
-					</label>
-					<label>
-						<radio @click="radioClick(0)" value="0" :checked="form.isMember==0"
-							style="margin-right: 16upx;" />
-						<text class="sex-text">否</text>
-					</label>
-				</radio-group>
-				</view>
-				<view class="form-item">
-					<text class="label">会员分类</text>
-					<picker class="birth-picker" mode="selector"  @change="bindMemberChange($event,tags)" :range="tags" range-key="dictLabel">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.memberLevel" placeholder="请选择会员分类" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-				
-				</view>
-				
-				
-				<view class="form-item">
-					<text class="label">加入时间</text>
-					<picker class="birth-picker" mode="date"   @change="bindJoinChange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.joinTime" placeholder="请选择加入时间" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-				</view>
-				
-				 <view class="form-item">
-					<text class="label">到期时间</text>
-					<picker class="birth-picker" mode="date"   @change="bindEndChange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.expiryTime" placeholder="请选择到期时间" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-				</view>
-				<view class="form-item">
-					<text class="label">管理月份</text>
-					<picker class="birth-picker" mode="date" fields="month" @change="bindMonthChange">
-						<view class="right-box">
-							<view class="input-box">
-								<input type="text" :value="form.managementMonth" placeholder="请选择管理月份" placeholder-class="form-input" disabled="disabled" />
-							</view>
-							<image class="w48 h48" src="/static/images/health/right_arrow_right_icon24.png"></image>
-						</view>
-					</picker>
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">特殊情况</text>
-				<view class="form-item">
-					<text class="label">职位</text>
-					<input class="input-width" type="text" v-model="form.position" placeholder="请输入职位"
-						placeholder-class="form-input" />
-				
-				</view>
-				<view class="form-item">
-					<text class="label">癖好</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.hobbies" placeholder="请输入癖好"
-						placeholder-class="form-input" />
-				
-				</view>
-				
-				
-				<view class="form-item">
-					<text class="label">平日喜好</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.specialties" placeholder="请输入平日喜好"
-						placeholder-class="form-input" />
-				</view>
-				
-				 <view class="form-item">
-					<text class="label">信仰</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.faith" placeholder="请输入信仰"
-						placeholder-class="form-input" />
-				</view>
-				<view class="form-item">
-					<text class="label">担忧</text>
-					<input maxlength="10" class="input-width" type="text" v-model="form.concerns" placeholder="请输入担忧"
-						placeholder-class="form-input" />
-				</view>
-			</view>
-			<view class="form-box">
-				<text class="form-title">其他<text class="color-price">*</text></text>
-				<view class="form-item">
-				<!-- 	<text class="label">备注</text> -->
-					<textarea maxlength="200" class="form-textarea" v-model="form.problemsToSolve" placeholder="请输入用户想解决的问题"  placeholder-class="textarea-input" />
-				</view>
-				<view class="form-item">
-					<!-- <text class="label">备注</text> -->
-					<textarea maxlength="200" class="form-textarea" v-model="form.healthSuggestions" placeholder="请输入健康管理师对用户的建议"   placeholder-class="textarea-input"/>
-				</view>
-			</view>
-		
-		</view>
-		<view class="btn-box">
-			<view class="sub-btn" @click="submit()">保存</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getInfo,updateInfo,deleteInfo,addInfo,getMember} from '@/api/health.js'
-	import {
-		getDocDetails,
-		addDoc,
-		editDoc
-	} from '@/api/doc.js'
-	export default {
-		data() {
-			return {
-				type: null,
-				patientId: null,
-				famaleurl:"/static/images/health/female_profile.png",
-				maleurl:"/static/images/health/my_heads.png",
-				checked:1,
-				array:[
-					{id:1,name:'是'},
-					{id:0,name:'否'},
-					],
-				tags: [],
-				 municipalities: ['北京市', '上海市', '天津市', '重庆市'],
-				isAdd:null,
-				form: {
-					"username": null,
-					avatar:null,
-					"sex":0, 
-					"birthdate": null, 
-					"age": 0,
-					"phone":  null,
-					"idCard":  null,
-					"previousEmployer":  null,
-					"disposableIncome": null,
-					"actualConsumption":  null,
-					"city":  null,
-					"residentialCommunity": null,
-					"houseNumber": null, 
-					"area":  null, 
-					"floor":  null,
-					"partnerName":  null,
-					"partnerAge":  null,
-					"partnerEmployer":  null,
-					"grandchildrenSchool": null,
-					"isMember":  1, 
-					"memberLevel":  null, 
-					"joinTime": null,
-					"expiryTime": null,
-					"managementMonth":null,
-					"position":null,
-					"hobbies": null,
-					"specialties": null,
-					"faith": null, 
-					"concerns": null,
-					"problemsToSolve": null,
-					"healthSuggestions": null,
-				}
-			};
-		},
-		onLoad(options) {
-			this.type = options.type;
-			this.userId=options.userId;
-			this.companyUserId=options.companyUserId;
-			this.form.userId=options.userId;
-			this.form.companyUserId=options.companyUserId;
-			if (this.type == 'edit') {
-				this.getInfo();
-			}
-			this.getMember()
-		},
-		methods: {
-			sexChange(type) {
-				this.form.sex = type
-			},
-			radioClick(id) {
-			        this.form.isMember=id
-			      },
-			getMember(){
-				getMember().then(
-					res => {
-						if (res.code == 200) {
-							this.tags= res.data;
-						    
-						} else {
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		getInfo() {
-			var data = {
-				userId: this.userId
-			};
-			getInfo(data).then(
-				res => {
-					if (res.code == 200) {
-		                this.form = res.data;
-					} else {
-						uni.showToast({
-							title: res.msg,
-						});
-					}
-				},
-				rej => {}
-			);
-		},
-			onChooseAvatar(e){
-				// 处理用户取消的情况
-				    if (e.detail.errMsg && e.detail.errMsg.includes('cancel')) {
-				      console.log('选择头像已取消')
-				      return
-				    }
-				let {
-					avatarUrl
-				} = e.detail;
-				uni.uploadFile({
-					url: uni.getStorageSync('requestPath')+'/app/common/uploadOSS', //仅为示例,非真实的接口地址
-					filePath: avatarUrl,
-					name: 'file',
-					formData: {
-						'user': 'test'  // 上传附带参数
-					},
-					success: (uploadFileRes) => {
-						this.form.avatar =JSON.parse(uploadFileRes.data).url
-					}
-				});
-			},
-			submit() {
-				if (this.form.username == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "姓名不能为空",
-					});
-					return;
-				}
-				if (this.form.phone == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "手机号不能为空",
-					});
-					return;
-				}
-				if (this.form.idCard == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "身份证号不能为空",
-					});
-					return;
-				}
-				if (this.form.sex == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "性别不能为空",
-					});
-					return;
-				}
-				if (this.form.birthdate == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "出生年月不能为空",
-					});
-					return;
-				}
-				if (this.form.city == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "市区不能为空",
-					});
-					return;
-				}
-				if (this.form.problemsToSolve == null) {
-					uni.showToast({
-						icon: 'none',
-						title: "用户问题不能为空",
-					});
-					return;
-				}
-				if(this.type=="add"){
-					this.addDoc()
-				}
-				else if(this.type=="edit"){
-					this.editDoc()
-				}
-                // uni.navigateTo({
-                // 	url: '/pages_health/doc?type=edit&docId='
-                // })
-			},
-	editDoc() {
-		updateInfo(this.form).then(
-			res => {
-				if (res.code == 200) {
-					uni.showToast({
-						icon: 'success',
-						title: "操作成功",
-					});
-					setTimeout(function() {
-						uni.$emit('refreshDoc');
-						uni.navigateBack({
-							delta: 1
-						})
-					}, 500);
-				} else {
-					uni.showToast({
-						icon: 'none',
-						title: res.msg,
-					});
-				}
-			},
-			rej => {}
-		);
-	},
-	addDoc() {
-		addInfo(this.form).then(
-			res => {
-				if (res.code == 200) {
-					uni.showToast({
-						icon: 'success',
-						title: "操作成功",
-					});
-					setTimeout(function() {
-						uni.$emit('refreshDoc');
-						uni.navigateBack({
-							delta: 1
-						})
-					}, 500);
-				} else {
-					uni.showToast({
-						icon: 'none',
-						title: res.msg,
-					});
-				}
-			},
-			rej => {}
-		);
-	},
-			// 出生日期选择
-			bindDateChange: function(e) {
-				this.form.birthdate = e.target.value
-			},
-			//市区
-			bindCityChange:function(e) {
-				const region = e.detail.value; // 格式: [省, 市, 区]
-				      let displayText = '';
-				      // 处理直辖市重复问题
-				      if (this.municipalities.includes(region[0])) {
-				        // 直辖市:省和市名称相同,只显示一次
-				        // 格式变为 "北京市 海淀区" 而非 "北京市 北京市 海淀区"
-				        displayText = `${region[0]}`;
-				      } else {
-				        // 非直辖市:正常显示省市区
-				        displayText = region;
-				      }
-				      this.form.city = displayText;
-				
-				},
-				//会员情况
-				// bindIsMemberChange:function(e) {
-				// 	this.form.isMember = e
-				// 	},
-				//会员分类
-				bindMemberChange:function(e,list) {
-					var index=e.target.value
-					this.form.memberLevel = list[e.target.value].dictLabel
-					},
-					//加入时间
-					bindJoinChange:function(e) {
-						this.form.joinTime = e.target.value
-						},
-						//到期时间
-						bindEndChange:function(e) {
-							this.form.expiryTime = e.target.value
-							},
-							//月份
-							bindMonthChange:function(e) {
-								this.form.managementMonth = e.target.value
-								},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content {
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-
-		.inner {
-			// height: calc(100% - 120upx);
-			padding: 20upx;
-
-			.form-box {
-				padding: 0 30upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-
-				.form-title {
-					font-family: PingFang SC;
-					font-weight: 600;
-					font-size: 40rpx;
-					color: #222426;
-					text-align: left;
-					padding: 30rpx 0;
-					display: block;
-				}
-
-				.form-item {
-					padding: 30upx 0;
-					display: flex;
-					align-items: flex-start;
-					border-bottom: 1px solid #F1F1F1;
-
-					&:last-child {
-						border-bottom: none;
-					}
-        
-					.label {
-						width: 300upx;
-						text-align: left;
-						font-size: 32upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-
-					input {
-						text-align: right;
-					}
-               
-					.form-input {
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						text-align: right;
-					}
-
-					.form-item-tag{
-						margin-right: 16rpx;
-						.tag{
-							border-radius: 8rpx 8rpx 8rpx 8rpx;
-							border: 2rpx solid #ECECEC;
-							display: flex;
-							align-items: center;
-							padding: 24rpx;
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							&.active{
-								background: #F0FAFF;
-								border: 2rpx solid #008FD3;
-								color: #008FD3;
-							}
-						}
-						
-						
-						
-					}
-					.right{
-						display: flex;
-						align-items: center;
-						position: relative;
-						image{
-							border-radius: 50%;
-						}
-						.wx-head{
-							position: absolute;
-							width: 140upx;
-							height: 80upx;
-							opacity: 0;
-						}
-					}
-					.sex-box{
-						flex:1;
-						display: flex;
-						align-items: center;
-						justify-content: flex-end;
-						.sex-item{
-							width: 146rpx;
-							height: 64rpx;
-							display: flex;
-							align-items: center;
-							justify-content: center;
-							background: #F5F7FA;
-							border-radius: 32rpx 32rpx 32rpx 32rpx;
-							margin-left: 16rpx;
-							.u-icon__icon{
-								margin: 0;
-							}
-							text{
-								// font-family: PingFang SC, PingFang SC;
-								font-weight: 400;
-								font-size: 28rpx;
-								color: #898E91;
-								margin-left: 12rpx;
-							}
-							&.active{
-								background: #EBF8FF;
-								text{
-									color:#008FD3
-								}
-							}
-							&.active2{
-								background: #FCF0E7;
-								text{
-									color:#FF5030
-								}
-							}
-						}
-					}
-					.form-textarea{
-						font-size: 30upx;
-						// color: #999999;
-						height: 100upx;
-						padding: 4upx 0;
-					}
-					 .textarea-input{
-						 color: #999999;
-					 }
-					.birth-picker {
-						flex: 1;
-						display: flex;
-						align-items: center;
-						
-						.right-box{
-							width: 100%;
-							display: flex;
-							align-items: center;
-							.input-box{
-								// width: 470upx;
-							}
-							.arrow{
-								width: 13upx;
-								height: 23upx;
-								margin-left: 20upx;
-							}
-						}
-					}
-				}
-			}
-		}
-
-		.btn-box {
-			height: 120upx;
-			padding: 0 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-
-			// position: fixed;
-			// width: 90%;
-			// bottom: 0;
-			// left: 50%;
-			// transform: translate(-50%,-50%);
-			// background: #FFFFFF;
-			.sub-btn {
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3 ;
-				border-radius: 44upx;
-				margin-bottom: 40upx;
-			}
-		}
-	}
-</style>

+ 0 - 104
pages_company/alipayImg.vue

@@ -1,104 +0,0 @@
-<template>
-  <view class="content">
-    <view class="images">
-       <image class="slide-image" :src="url" mode="widthFix" show-menu-by-longpress />
-    </view>
-	<view class="btn-box">
-		<view class="btn" @click="shareQr()">分享</view>
-	</view>
-    
-  </view>
-</template>
-<script>
- 
-import {getUserInfo,getQrImg} from '@/api/companyUser'
-export default {
-  name: 'Poster',
-  components: {
-  },
-  props: {},
-  data: function() {
-    return {
-       url:null,
-    }
-  },
-  mounted: function() {
-    this.getQrImg()
-  },
-  methods: {
-	getQrImg(){
-	  	var data={token:uni.getStorageSync('CompanyUserToken')}
-	  	getQrImg(data).then(
-	  		res => {
-	  			var path=uni.getStorageSync('requestPath')
-	  			this.url =path+ "/"+res.url
-	  		},
-	  		rej => {}
-	  	);
-	},
-	shareQr(){
-		wx.downloadFile({
-		    url: this.url,
-		    success: (res) => {
-		      wx.showShareImageMenu({
-		        path: res.tempFilePath
-		      })
-		    }
-		})
-	},
-     
-     
-  },
-}
-</script>
-
-<style lang="less">
-page {
-	height: 100%;
-}
-
-.content {
-	width: 100%;
-	height: 100%;
-  
-}
-
-.images {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	padding-bottom:140upx ;
-	height: 100%;
-}
-
-.images .slide-image {
-	width: 80%;
-	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:#0bb3f2 !important;
- 		border-radius: 44upx;
- 	}
- }
-</style>

+ 0 - 145
pages_company/auth/login.vue

@@ -1,145 +0,0 @@
-<template>
-  <view class="content">
-  	<view class="inner">
-  		<view class="form-box">
-  			<view class="form-item">
-  				<text class="label">员工帐号</text>
-  				<input type="text" v-model="form.userName" placeholder="登录帐号" placeholder-class="form-input" />
-  			</view>
-  			<view class="form-item">
-  			 	<text class="label">员工密码</text>
-  			 	<input type="password" v-model="form.password"   placeholder="登录密码" placeholder-class="form-input" />
-  			</view>
-  		</view>
-  	</view>
-  	<view class="btn-box">
-  		<view class="sub-btn" @click="submit()">员工登录</view>
-  	</view>
-  </view>
-</template>
-
-<script>
-import {login} from '@/api/companyUser'
-export default {
-  data() {
-    return {
-		form:{
-			userName:null,
-			password:null,
-		}
-    }
-  },
-  computed: {
-  },
-  onLoad() {
-  },
-  onHide() {
-  },
-  onUnload() {
-  },
-  mounted() {
-    
-  },
-  methods: {
-	submit(){
-		
-	 	login(this.form).then(
-	 		res => {
-	 			if(res.code==200){
-	 				 uni.showToast({
-	 				 	icon:'success',
-	 				 	title: "登录成功",
-	 				 });
-					 uni.setStorageSync('CompanyUserToken',res.companyUserToken);
-					 //写入TOKEN
-					 uni.navigateBack({
-						delta:1,//返回层数,2则上上页
-					 })
-					 uni.navigateTo({
-					 	url: '/pages_company/index'
-					 }) 
-	 				
-	 			}else{
-	 				uni.showToast({
-	 					icon:'none',
-	 					title: res.msg,
-	 				});
-	 			}
-	 		},
-	 		rej => {}
-	 	);
-	 },
-  },
-  
-}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		
-		.inner{
-			padding: 20upx;
-			.form-box{
-				padding: 0 30upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				.form-item{
-					padding: 30upx 0;
-					display: flex;
-					align-items: flex-start;
-					border-bottom: 1px solid #F1F1F1;
-					&:last-child{
-						border-bottom: none;
-					}
-					.label{
-						width: 150upx;
-						text-align: left;
-						font-size: 30upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-					input{
-						text-align: left;
-					}
-					.form-input{
-						font-size: 30upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						text-align: left;
-					}
-					 
-				}
-			}
-			 
-		}
-		.btn-box{
-			height: 120upx;
-			padding: 0 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			.sub-btn{
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-</style>

+ 0 - 558
pages_company/buyOrder.vue

@@ -1,558 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-fixed">
-			<!-- tab切换 -->
-			<view class="pub-tab-box">
-				<view class="tab-inner">
-					<view 
-						v-for="(item,index) in orderStatus" 
-						:key="index"
-						:class="item.val == orderStatusValue?'item active':'item'"
-						@click="orderStatusChange(item)"
-					>
-						<view class="text">
-							{{ item.name }}
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="consu-list">
-			<mescroll-body top="88upx" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-				<view v-if="orderStatusValue==0">
-				<view v-for="(item,index) in dataList" :key="index" class="item" >
-					<view class="item-top">
-						<view class="item-title">
-							<view class="ask-text">{{item.productName}}</view>
-							<view class="fs28">X {{item.purchaseQuantity}}</view>
-						</view>
-						<view class="ask-time">购买次数:{{item.purchaseTimes}}</view>
-						<view class="ask-time">购买时间:{{utils.timeFormat(item.createTime,'yyyy-mm-dd hh:MM')}}</view>
-						<view class="ask-time">备注:{{item.remark||''}}</view>
-					</view>
-					<view class="bottom-box">
-						<view class="amount-paid">
-							<text class="label">订单金额:</text>
-							<view class="price-box">
-								<view class="unit">¥</view>
-								<view class="num">{{item.amount.toFixed(2)}}</view>
-							</view>
-						</view>
-						<view class="btn-box">
-							<view class="btn cancel" @click="deleteService(item)">删除</view>
-							<view class="btn pay" @click="showDetail(orderStatusValue,item)">编辑</view>
-						</view>
-					</view>
-				</view>
-				</view>
-				<view v-if="orderStatusValue==1">
-				<view v-for="(item,index) in dataList" :key="index" class="item" >
-					<view class="item-top">
-						<view class="item-title">
-							<view class="ask-text">{{item.product}}</view>
-							<!-- <view class="fs28">X {{item.freeServiceTimes}}</view> -->
-						</view>
-						<view class="ask-time">服务次数:{{item.freeServiceTimes}}</view>
-						<view class="ask-time">购买时间:{{utils.timeFormat(item.createTime,'yyyy-mm-dd hh:MM')}}</view>
-						<view class="ask-time">备注:{{item.remark||''}}</view>
-					</view>
-					<view class="bottom-box">
-						<view class="amount-paid">
-							<text class="label">订单金额:</text>
-							<view class="price-box">
-								<view class="unit">¥</view>
-								<view class="num">{{item.price.toFixed(2)}}</view>
-							</view>
-						</view>
-						<view class="btn-box">
-							<view class="btn cancel" @click="deleteCompetitor(item)">删除</view>
-							<view class="btn pay" @click="showDetail(orderStatusValue,item)">编辑</view>
-						</view>
-					</view>
-				</view>
-				</view>
-				<view class="h160"></view>
-			</mescroll-body>
-		</view>
-		<view class="btn-box2">
-			<view class="sub-btn" @click="navgetTo(orderStatusValue)">
-				<image src="/static/images/health/nav_add_icon24.png" class="w48 h48"></image>
-				<text>新增</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getServiceList,getCompetitorList,deleteCompetitor,deleteService} from '@/api/companyUser.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				orderStatus:[
-					{name:"购买服务信息",val:0},
-					{name:"购买竞品信息",val:1},
-				],
-				orderStatusValue:0,
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'https://user.test.ylrztop.com/images/empty_icon.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: [],
-			}
-		},
-		onLoad(options) {
-			this.userId=options.userId;
-			this.companyUserId=options.companyUserId;
-			uni.$on('refreshBuyOrder', () => {
-				this.mescroll.resetUpScroll()
-			})
-		},
-		methods: {
-			navgetTo(index){
-				uni.navigateTo({
-					url: index==0?'/pages_company/addServe?type=add&userId='+this.userId+"&companyUserId="+this.companyUserId:'/pages_company/addCompetitors?type=add&userId='+this.userId+"&companyUserId="+this.companyUserId
-				})
-			},
-			// tab切换
-			orderStatusChange(item) {
-				this.orderStatusValue = item.val
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				if(this.orderStatusValue==0){
-					this.getServiceList(page)
-				}else if(this.orderStatusValue==1){
-					this.getCompetitorList(page)
-				}
-			},
-			getServiceList(page){
-				//联网加载数据
-				var that = this;
-				var data = {
-					userId:this.userId,
-					// status:this.orderStatusValue,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getServiceList(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();
-					}
-				});
-			},
-			getCompetitorList(page){
-				//联网加载数据
-				var that = this;
-				var data = {
-					// status:this.orderStatusValue,
-					userId:this.userId,
-					// companyUserId:this.companyUserId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getCompetitorList(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();
-					}
-				});
-			},
-			//删除商品
-			deleteService(item){
-				var that=this;
-				uni.showModal({
-				    title: '提示',
-				    content: '确定删除商品订单吗',
-				    success: function (res) {
-				        if (res.confirm) {
-							var data = {
-								id:item.id
-							};
-							deleteService(data).then(res => {
-								if(res.code==200){
-									uni.showToast({
-										icon:'success',
-										title: '订单已删除',
-									});
-									 that.mescroll.resetUpScroll()
-								}else{
-									uni.showToast({
-										icon:'none',
-										title: res.msg,
-									});
-								}
-							});
-				        } 
-						else if (res.cancel) {
-				        }
-				    }
-				});
-			},
-			//删除竞品
-			deleteCompetitor(item){
-				var that=this;
-				uni.showModal({
-				    title: '提示',
-				    content: '确定删除竞品订单吗',
-				    success: function (res) {
-				        if (res.confirm) {
-							var data = {
-								id:item.id
-							};
-							deleteCompetitor(data).then(res => {
-								if(res.code==200){
-									uni.showToast({
-										icon:'success',
-										title: '订单已删除',
-									});
-									 that.mescroll.resetUpScroll()
-								}else{
-									uni.showToast({
-										icon:'none',
-										title: res.msg,
-									});
-								}
-							});
-				        } 
-						else if (res.cancel) {
-				        }
-				    }
-				});
-			},
-			showDetail(index,item) {
-				uni.navigateTo({
-					url: index==0?'/pages_company/addServe?type=edit&id='+item.id+'&userId='+this.userId+"&companyUserId="+this.companyUserId:'/pages_company/addCompetitors?type=edit&id='+item.id+'&userId='+this.userId+"&companyUserId="+this.companyUserId
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		padding: 20upx;
-		.top-fixed{
-			width: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 10;
-		}
-		.pub-tab-box{
-			box-sizing: border-box;
-			width: 100%;
-			padding: 0 40upx;
-			background-color: #FFFFFF;
-			.tab-inner{
-				height: 88upx;
-				line-height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				overflow-x: auto;
-			}
-			.item{
-				font-size: 28upx;
-				white-space: nowrap;
-				line-height: 1;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				margin-right: 60upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				&:last-child{
-					margin-right: 0;
-				}
-				&.active{
-					font-weight: bold;
-					color: #333333;
-					&::after {
-						content: "";
-						width: 48rpx;
-						height: 8rpx;
-						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
-						position: absolute;
-						bottom: 0;
-						border-radius: 6upx 6upx 0upx 0;
-					}
-				}
-				.text{
-					position: relative;
-					z-index: 1;
-				}
-				.tab-bg{
-					width: 72upx;
-					height: 28upx;
-					position: absolute;
-					top: 17upx;
-					left: 50%;
-					transform: translateX(-36upx);
-					z-index: -1;
-				}
-			}
-		}
-		.btn-box2{
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-			
-			 
-			.sub-btn{
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-		}
-		.consu-list{
-			.item{
-				background: #FFFFFF;
-				border-radius: 16upx;
-				padding: 32rpx;
-				position: relative;
-				margin-bottom: 20upx;
-				.item-top{
-					padding-bottom:40rpx ;
-					border-bottom: 1px solid #ECECEC;
-					.item-title{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						margin-bottom: 12rpx;
-						
-					}
-					.ask-text{
-						font-family: PingFang SC;
-						font-weight: 500;
-						font-size: 36rpx;
-						color: #222426;
-						text-align: left;
-					}
-					.ask-time{
-						font-size: 24rpx;
-						color: #898E91;
-						text-align: left;
-						line-height: 40rpx;
-					}
-				}
-				.ordersn-box{
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					padding: 0upx 0 20upx;
-					.num{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-					.status-box{
-						display: flex;
-						align-items: center;
-						.recom-box{
-							width: 108upx;
-							height: 30upx;
-							line-height: 30upx;
-							text-align: left;
-							padding-left: 8upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #FFFFFF;
-							// background-image: url(../../static/images/recom.png);
-							background-repeat: no-repeat;
-							background-size: 100% 100%;
-							margin-right: 8upx;
-						}
-						.text{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							line-height: 1;
-							&.success{
-								color: #0bb3f2;
-							}
-							&.black{
-								color: #111111;
-							}
-							&.info{
-								color: #999999;
-							}
-						}
-					}
-				}
-				.doctor-info{
-					display: flex;
-					align-items: center;
-					.img-box{
-						width: 80upx;
-						height: 80upx;
-						background: #E0FFF8;
-						border-radius: 50%;
-						overflow: hidden;
-						margin-right: 20upx;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-					.name{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						line-height: 48upx;
-						text{
-							margin-right: 10upx;
-						}
-					}
-				}
-				
-				.patient-text{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					margin-bottom: 24upx;
-				}
-			
-				.bottom-box{
-					height: 80upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					margin-top: 20rpx;
-					.amount-paid{
-						display: flex;
-						align-items: center;
-						.label{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-						.price-box{
-							display: flex;
-							align-items: flex-end;
-							.unit{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 600;
-								color: #FF5030;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-							.num{
-								font-size: 36upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #FF5030;
-								line-height: 1;
-							}
-						}
-					}
-					.btn-box{
-						box-sizing: border-box;
-						display: flex;
-						align-items: center;
-						.btn{
-						   width: 128rpx;
-						    height: 60rpx;
-							line-height: 60upx;
-							font-size: 24upx;
-							font-family: PingFang SC;
-							text-align: center;
-							border-radius: 32upx;
-							margin-left: 15upx;
-							&:first-child{
-								margin-left: 0;
-							}
-							&.cancel{
-								border: 1px solid #B2B2B2;
-								color: #666666;
-							}
-							&.pay{
-								border: 1px solid #008FD3;
-								color: #008FD3;
-							}
-						}
-					}
-				}
-			}
-		}
-		
-	}
-</style>

+ 0 - 105
pages_company/card.vue

@@ -1,105 +0,0 @@
-<template>
-  <view class="content">
-    <view class="images">
-       <image class="slide-image" :src="url" mode="widthFix" show-menu-by-longpress />
-    </view>
-	<view class="btn-box">
-		<view class="btn" @click="shareQr()">分享</view>
-	</view>
-    
-  </view>
-</template>
-<script>
- 
-import { getCompanyUserCard} from '@/api/companyUser'
-export default {
-  components: {
-  },
-  props: {},
-  data: function() {
-    return {
-       url:null,
-	   cardId:null,
-    }
-  },
-  onLoad(options) {
-		if(options.id!=null){
-			this.cardId=options.id;
-		}
-		this.getCompanyUserCard()
-  },
-  methods: {
-	getCompanyUserCard(){
-	  	var data={cardId:this.cardId}
-	  	getCompanyUserCard(data).then(
-	  		res => {
-	  			this.url =res.data.imageUrl
-	  		},
-	  		rej => {}
-	  	);
-	},
-	shareQr(){
-		wx.downloadFile({
-		    url: this.url,
-		    success: (res) => {
-		      wx.showShareImageMenu({
-		        path: res.tempFilePath
-		      })
-		    }
-		})
-	},
-     
-     
-  },
-}
-</script>
-
-<style lang="less">
-page {
-	height: 100%;
-}
-
-.content {
-	width: 100%;
-	height: 100%;
-  
-}
-
-.images {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	height: 100%;
-}
-
-.images .slide-image {
-	width: 80%;
-	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:#0bb3f2 !important;
- 		border-radius: 44upx;
- 	}
- }
-</style>

+ 0 - 589
pages_company/clientDetail.vue

@@ -1,589 +0,0 @@
-<template>
-	<view class="content">
-		<view class="user-info2">
-			<view class="align-center justify-between">
-				<view class="left">
-					<view class="head-img">
-						<image :src="user.avatar==null?'../static/images/health/my_heads.png':user.avatar"
-							mode="aspectFill"></image>
-					</view>
-					<view class="name-phone">
-						<view class="name">{{user.username||'微信用户'}}</view>
-						<view class="phone-box" v-if="user!=null">
-							<image class="w32 h32" src="../static/images/company/address_icon.png" mode=""></image>
-							<view class="address">
-								{{user.city||'-'}}
-							</view>
-							<view class="phone">
-								{{user.phone?utils.parsePhone(user.phone):'-'}}
-							</view>
-						</view>
-					</view>
-				</view>
-				<image class="w80 h80" src="../static/images/company/phone_icon.png" mode=""></image>
-			</view>
-			<view class="tag-box">
-				<view class="align-center justify-between mb32">
-					<view class="title">他的标签</view>
-					<view class="title2">编辑标签</view>
-				</view>
-				<view class="align-start wrap">
-					<view class="tag" v-for="(item,index) in tags" :key="index">{{item}}</view>
-					<!-- <view class="tag">高血压</view> -->
-					<view class="add-tag">
-						<image class="w24 h24" src="../static/images/company/add_blue_icon.png" mode=""></image>
-						<view>添加标签</view>
-					</view>
-				</view>
-			</view>
-			<view class="demands">
-				<view class="title">健康诉求</view>
-				<view class="text">{{user.problemsToSolve||'-'}}</view>
-			</view>
-
-		</view>
-		<view class="used-tools2">
-			<view class="title">管理</view>
-			<view class="tools-list">
-				<view class="item" @click="toHealth()">
-					<image src="../static/images/company/health_records_icon.png" mode=""></image>
-					<text class="text">健康档案</text>
-				</view>
-				<view class="item" @click="toReport()">
-					<image src="../static/images/company/physical_examination_icon.png" mode=""></image>
-					<text class="text">体检信息</text>
-				</view>
-				<view class="item" @click="navgetTo()">
-					<image src="../static/images/company/execution_record_icon.png" mode=""></image>
-					<text class="text">执行记录</text>
-				</view>
-				<view class="item" @click="navgetTo()">
-					<image src="../static/images/company/return_records_icon.png" mode=""></image>
-					<text class="text">回访记录</text>
-				</view>
-				<view class="item" @click="toOrder()">
-					<image src="../static/images/company/consumables_mall_icon.png" mode=""></image>
-					<text class="text">购买信息</text>
-				</view>
-				<view class="item" @click="toData()">
-					<image src="../static/images/company/comparison_indicators_icon.png" mode=""></image>
-					<text class="text">指标对比</text>
-				</view>
-				<view class="item" @click="navgetTo()">
-					<image src="../static/images/company/evaluation_record_icon.png" mode=""></image>
-					<text class="text">测评记录</text>
-				</view>
-				<view class="item" @click="navgetTo()">
-					<image src="../static/images/company/follow_up_records_icon.png" mode=""></image>
-					<text class="text">跟进记录</text>
-				</view>
-			</view>
-		</view>
-		<view class="used-tools2">
-			<view class="title">备注信息</view>
-			<view class="tools-list">
-				<view class="remark">暂无</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		getUserInfo,
-		getQrImg
-	} from '@/api/companyUser'
-	import {
-		getInfo,
-		homeInfo
-	} from '@/api/health.js'
-	export default {
-		data() {
-			return {
-				statusBarHeight: '',
-				top: 0,
-				// user:{
-				// 	nickName:'健康管家小左',
-				// 	phonenumber:'13996660261',
-				// 	deptName:'测试企业',
-				// 	avatar:null
-				// },
-				tags: [],
-				user: null,
-				info: null
-			};
-		},
-		computed: {
-			// 计算属性的 getter
-			bgColor: function() {
-				var top = this.top / 30;
-				return 'rgba(11,179,242, ' + top + ')';
-			},
-		},
-		onLoad(options) {
-			this.userId = options.userId;
-			this.companyId = options.companyId;
-			this.companyUserId = options.companyUserId;
-			
-			uni.$on('refreshClientDetail', () => {
-				this.mescroll.resetUpScroll()
-				// this.getUserInfo()
-			})
-		},
-		onShow() {
-			console.log("onshow")
-           this.getUserInfo()
-			// this.getHome()
-		},
-		methods: {
-			getUserInfo() {
-				// var data={token:uni.getStorageSync('CompanyUserToken')}
-				getInfo({
-					userId: this.userId
-				}).then(
-					res => {
-						if (res.code == 200) {
-							this.user = res.data;
-							this.getHome()
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			alipay() {
-				// var url="http://alipay.yjf.runtzh.com/#/?companyId="+this.user.companyId+"&companyUserId="+this.user.userId
-				// uni.setClipboardData({
-				// 	data:url,
-				// 	success:()=>{
-				// 		uni.showToast({
-				// 			title:'收款地址已复制到剪切板',
-				// 			icon:'none'
-				// 		})
-
-				// 	}
-				// });
-
-				uni.navigateTo({
-					url: '/pages_company/alipayImg'
-				})
-			},
-			toHealth() {
-
-				uni.navigateTo({
-					url: '/pages_company/addDoc?userId=' + this.userId + "&companyUserId=" + this.companyUserId
-				})
-			},
-			toReport() {
-
-				uni.navigateTo({
-					url: '/pages_user/user/reportList?userId=' + this.userId + "&companyUserId=" + this
-						.companyUserId
-				})
-			},
-			toRecord() {
-
-				uni.navigateTo({
-					url: '/pages_company/executionRecord?userId=' + this.userId + "&companyUserId=" + this
-						.companyUserId
-				})
-			},
-			toData() {
-
-				uni.navigateTo({
-					url: '/pages_user/user/dataAnalysis?userId=' + this.userId + "&companyUserId=" + this
-						.companyUserId
-				})
-			},
-
-			toCard() {
-				uni.navigateTo({
-					url: '/pages_company/card?cardId=' + this.user.cardId
-				})
-			},
-			toCreateOrder() {
-				uni.navigateTo({
-					url: '/pages_company/order/productList'
-				})
-			},
-			toPay() {
-				uni.navigateTo({
-					url: '/pages_user/user/pay?companyId=' + this.user.companyId + "&companyUserId=" + this.user
-						.userId
-				})
-			},
-			toOrder() {
-				uni.navigateTo({
-					url: '/pages_company/buyOrder?userId=' + this.user.userId + "&companyUserId=" + this
-						.companyUserId
-				})
-			},
-			toPackage() {
-				uni.navigateTo({
-					url: '/pages_company/storeProductPackage?companyId=' + this.user.companyId +
-						"&companyUserId=" + this.user.userId
-				})
-			},
-			toCoupon() {
-				uni.navigateTo({
-					url: '/pages_company/coupon'
-				})
-			},
-			toCreateCoupon() {
-				uni.navigateTo({
-					url: '/pages_company/order/coupon'
-				})
-			},
-			toCreateOrderCoupon() {
-				uni.navigateTo({
-					url: '/pages_company/order/coupon'
-				})
-			},
-
-			getHome() {
-				// var data={token:uni.getStorageSync('CompanyUserToken')}
-				homeInfo({
-					userId: this.userId
-				}).then(
-					res => {
-						if (res.code == 200) {
-							this.info = res.data;
-							this.tags = res.data.otherMedicalHistory?res.data.otherMedicalHistory.split('、') :[];
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			logout() {
-				uni.showModal({
-					title: "提示",
-					content: "确认退出登录吗?",
-					showCancel: true,
-					cancelText: '取消',
-					confirmText: '确定',
-					success: res => {
-						if (res.confirm) {
-							uni.setStorageSync('CompanyUserToken', null);
-							uni.navigateBack({
-								delta: -1
-							})
-						} else {}
-					}
-				})
-			},
-
-			// 跳转页面
-			navgetTo(url) {
-				uni.showToast({
-					icon: 'none',
-					title: '暂无更多',
-				});
-				// this.utils.isLogin().then(res => {
-
-				// 	// if(res){
-				// 	// 	uni.navigateTo({
-				// 	// 		url: url+'?companyId='+this.companyId+"&companyUserId="+this.companyUserId
-				// 	// 	})
-				// 	// }
-				// })
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.bg {
-		width: 100%;
-		height: 380rpx;
-		position: absolute;
-		top: 0;
-		left: 0;
-		z-index: -1;
-	}
-
-	.content {
-		padding: 20upx;
-		background: linear-gradient(180deg, #008FD3 0%, #EFF3F7 24%, #EFF3F7 100%);
-		height: 100vh;
-		box-sizing: border-box;
-		padding-top: 32rpx;
-
-		.user-info2 {
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			margin-bottom: 20rpx;
-
-			.left {
-				position: relative;
-				display: flex;
-
-				.head-img {
-					width: 112upx;
-					height: 112upx;
-					border-radius: 50%;
-					overflow: hidden;
-					margin-right: 30upx;
-
-					image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-
-				.name-phone {
-					// padding-top: 15upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-
-					.name {
-						font-size: 36upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-						// line-height: 1;
-					}
-
-					.phone-box {
-						display: flex;
-						align-items: center;
-						margin-top: 14rpx;
-
-						.phone {
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							color: #626468;
-							line-height: 36rpx;
-						}
-
-						.address {
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							color: #626468;
-							margin-left: 8rpx;
-							margin-right: 30rpx;
-						}
-					}
-
-				}
-			}
-
-			.tag-box {
-				padding-top: 40rpx;
-				padding-bottom: 40rpx;
-				border-bottom: 1rpx solid #ECECEC;
-
-				.title {
-					font-family: PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-				}
-
-				.title2 {
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 24rpx;
-					color: #626468;
-				}
-
-				.tag {
-					margin-right: 16rpx;
-					min-width: 112rpx;
-					height: 56rpx;
-					padding: 0 10rpx;
-					margin-bottom: 10rpx;
-					line-height: 56rpx;
-					text-align: center;
-					background: #F0FAFF;
-					border-radius: 8rpx 8rpx 8rpx 8rpx;
-					font-size: 24rpx;
-					color: #008FD3;
-				}
-
-				.add-tag {
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 160rpx;
-					height: 56rpx;
-					background: #FFFFFF;
-					border-radius: 8rpx 8rpx 8rpx 8rpx;
-					border: 1rpx solid #008FD3;
-					font-size: 22rpx;
-					color: #008FD3;
-
-					image {
-						margin-right: 8rpx;
-					}
-				}
-			}
-
-			.demands {
-				.title {
-					font-family: PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					padding: 28rpx 0;
-				}
-
-				.text {
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #898E91;
-				}
-			}
-
-			.msg-box {
-				width: 144rpx;
-				height: 56rpx;
-				line-height: 56rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				font-size: 24rpx;
-				color: #FFFFFF;
-				text-align: center;
-				background: linear-gradient(90deg, #FEA501 0%, #FECB8A 100%);
-				border-radius: 28rpx 28rpx 28rpx 28rpx;
-				border: 1rpx solid #FEDDB9;
-			}
-		}
-
-		.used-tools2 {
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			margin-bottom: 20rpx;
-
-			.title {
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #222222;
-				line-height: 1;
-			}
-
-			.tools-list {
-				margin-top: 50upx;
-				display: flex;
-				flex-wrap: wrap;
-				width: 100%;
-
-				.item {
-					box-sizing: border-box;
-					width: 25%;
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					justify-content: center;
-					margin-bottom: 50upx;
-					position: relative;
-
-					image {
-						width: 44upx;
-						height: 44upx;
-					}
-
-					.text {
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 1;
-						margin-top: 20upx;
-					}
-
-					.contact-btn {
-						display: inline-block;
-						position: absolute;
-						top: 0;
-						left: 0;
-						width: 100%;
-						height: 100%;
-						opacity: 0;
-					}
-				}
-
-				.remark {
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #898E91;
-					text-align: left;
-				}
-			}
-
-			.index-box {
-				margin-top: 30rpx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.box-title {
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 24rpx;
-					color: #626468;
-					margin: 0 14rpx;
-				}
-
-				.prop {
-					font-family: Roboto Slab;
-					font-weight: 500;
-					font-size: 48rpx;
-					color: #222426;
-				}
-
-				.task {
-					width: 311rpx;
-					height: 142rpx;
-					background: #EBF8FF;
-					border-radius: 16rpx 16rpx 16rpx 16rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-					align-items: center;
-				}
-
-				.work {
-					width: 311rpx;
-					height: 142rpx;
-					background: #FFF3DE;
-					border-radius: 16rpx 16rpx 16rpx 16rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-					align-items: center;
-				}
-			}
-		}
-
-		.log-out {
-			height: 80upx;
-			line-height: 80upx;
-			text-align: center;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #666666;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-		}
-	}
-</style>

+ 0 - 481
pages_company/clientList.vue

@@ -1,481 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-bg">
-				<view class="top-title">我的下级人数</view>
-				<view class="num">285</view>
-		</view>
-		<view class="search-cont">
-			<view class="inner">
-				<image class="icon-search" src="/static/images/search.png" mode=""></image>
-				<input type="text" value="" placeholder="搜索名称或编号" confirm-type="搜索"   placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-			</view>
-			<view class="btn-serach" @click="goSearch" >搜索</view>
-		</view>
-		<view class="top-title">下级列表</view>
-		<!-- 订单列表 -->
-		<!-- <mescroll-body ref="mescrollRef"> -->
-			<view class="client-list">
-				<view v-for="(item,index) in dataList" :key="index" class="item"  @click="showDetail()">
-					<view class="top-box">
-						<image :src="item.img==null?'../static/images/health/my_heads.png':item.img" mode="aspectFill"></image>
-						<view class="right">
-							<view class="name">{{item.name}}</view>
-							<view class="align-end">
-								<view class="proxy">
-									<view class="title">代理价格</view>
-									<view class="price">¥{{item.proxyPrice.toFixed(2)}}</view>
-								</view>
-								<view class="sale">
-									<view class="title">销售价格</view>
-									<view class="price">¥{{item.salePrice.toFixed(2)}}</view>
-								</view>
-							</view>
-							<view class="phone">手机号:{{item.phone}}</view>
-							<view class="time">注册时间:{{item.createTime}}</view>
-						</view>
-					</view>
-					<view class="btn-box">
-						<view  class="btn-proxy" @click.stop="openEditMoney(1)">
-							设置代理价格
-						</view>
-						<view  class="btn-sale" @click.stop="openEditMoney(2)">
-							设置销售价格
-						</view>
-					</view>
-				</view>
-				
-			</view>
-			<view class="h20"></view>
-		<!-- </mescroll-body> -->
-		<view class="popup-box" v-if="editShow">
-		  <view class="info-mask"  @click.stop="cancelEditMoney()" ></view>
-		  <view class="info-form" >
-				<view class="title">{{type==1?'设置代理价格':'设置销售价格'}}</view>
-				<view class="form-box">
-					<view class="form-item">
-						<text class="label">{{type==1?'代理价格':'销售价格'}}</text>
-						<input type="text" v-model="proxyPrice" maxlength="10" placeholder="请输入价格" class="form-input" />
-					</view>
-				</view>
-				<view class="btns">
-					<view class="sub-btn" @click.stop="confirmEditMoney()">提交</view>
-				</view>
-		  </view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getCompanyStoreOrderList} from '@/api/storeOrder'
-	import {getUserInfo} from '@/api/companyUser'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				searchKey:"",
-				mescroll:null,
-				type:0,
-				editShow:false,
-				proxyPrice:0,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: [
-					{name:'西航宇',phone:'18056647845',proxyPrice:0.8,salePrice:0.6,createTime:'2025-06-10 14:20',img:'/static/images/health/my_heads.png'},
-				]
-				
-			};
-		},
-		onLoad(options) {
-			var that=this;
-			// uni.$on('refreshOrder', () => {
-			// 	that.mescroll.resetUpScroll()
-			// })
-			this.companyId=options.companyId;
-			this.companyUserId=options.companyUserId;
-		},
-		methods: {
-			goSearch(e) {
-				this.searchKey=e.detail.value;
-				this.mescroll.resetUpScroll()
-			},
-			// getUserInfo(){
-			// 	var data={token:uni.getStorageSync('CompanyUserToken')}
-			// 	getUserInfo(data).then(
-			// 		res => {
-			// 			if(res.code==200){
-			// 				  this.user=res.data;
-			// 			}
-			// 			else if(res.code==403){
-			// 				uni.setStorageSync('CompanyUserToken',null);
-			// 				uni.navigateBack({
-			// 					delta:-1
-			// 				})			
-			// 			}else{
-			// 				uni.showToast({
-			// 					icon:'none',
-			// 					title: res.msg,
-			// 				});
-			// 			}
-			// 		},
-			// 		rej => {}
-			// 	);
-			// },
-			openEditMoney(value){
-				this.type=value
-				this.editShow = true
-			},
-			cancelEditMoney(){
-				this.editShow = false
-			},
-			confirmEditMoney(){
-				if(parseFloat(this.proxyPrice)>=0){
-					var that=this;
-					// var data={orderId:this.order.id,token:uni.getStorageSync('CompanyUserToken'),money:this.payMoney}
-					// editOrderMoney(data).then(
-					// 	res => {
-					// 		if(res.code==200){
-					// 			this.editShow = false
-					// 			this.getMyStoreOrderById();
-					// 		}else{
-					// 			uni.showToast({
-					// 				icon:'none',
-					// 				title: res.msg,
-					// 			});
-					// 		}
-					// 	},
-					// 	rej => {}
-					// );
-					
-				}
-				else{
-					uni.showToast({
-						icon:'none',
-						title: "价格应大于等于0",
-					});
-				}
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.searchKey,
-					companyId:this.companyId,
-					companyUserId:this.companyUserId,
-					page: page.num,
-					pageSize: page.size
-				};
-			},
-			showDetail(item) {
-				// uni.navigateTo({
-				// 	url: './clientDetail?companyId='+this.companyId+"&companyUserId="+this.companyUserId
-				// })
-			},
-			
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		padding:20upx;
-	}
-	.top-bg{
-		background: linear-gradient( 266deg, #FEA603 0%, #E83924 100%);
-		border-radius: 16rpx 16rpx 16rpx 16rpx;
-		padding: 30rpx;
-		margin-bottom: 30rpx;
-		.top-title{
-			font-family: PingFang SC;
-			font-weight: 500;
-			font-size: 28rpx;
-			color: #FFFFFF;
-			text-align: left;
-		}
-		.num{
-			font-family: Roboto;
-			font-weight: 500;
-			font-size: 64rpx;
-			color: #FFFFFF;
-			text-align: left;
-		}
-	}
-	.search-cont{
-		// padding: 16upx 30upx;
-		// background-color: #FFFFFF;
-		display: flex;
-		align-items: center;
-		justify-content:space-between;
-		.inner{
-			box-sizing: border-box;
-			width: 80%;
-			height: 64rpx;
-			background: #fff;
-			border-radius: 32upx;
-			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;
-			}
-		}
-		.btn-serach{
-			width: 112rpx;
-			height: 64rpx;
-			line-height: 64rpx;
-			text-align: center;
-			font-weight: 600;
-			font-size: 24rpx;
-			color: #fff;
-			background: #008FD3;
-			border-radius: 34rpx 34rpx 34rpx 34rpx;
-		}
-	}
-	.top-title{
-		font-family: PingFang SC, PingFang SC;
-		font-weight: 600;
-		font-size: 36rpx;
-		color: #222426;
-		text-align: left;
-		padding:22rpx ;
-	}
-	.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: 650rpx;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			align-items: center;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			.title{
-				padding: 30rpx 0rpx 15rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				font-size: 40upx;
-				line-height: 44upx;
-				font-family: PingFang SC;
-				color: #222222;
-			}
-			.form-box{
-				width: 100%;
-				.form-item{
-					padding: 30upx 0;
-					display: flex;
-					align-items: flex-start;
-					border-bottom: 1px solid #F1F1F1;
-					.label{
-						width: 160upx;
-						text-align: left;
-						font-size: 30upx;
-						line-height: 44upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						flex-shrink: 0;
-					}
-					input{
-						text-align: left;
-					}
-					.form-input{
-						font-size: 34upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #222222;
-						text-align: left;
-					}
-					 
-				}
-			}
-			.btns{
-				width: 100%;
-				height: 120upx;
-				padding: 0 30upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				.sub-btn{
-					width: 100%;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					background: #008FD3;
-					border-radius: 44upx;
-				}
-			}
-			
-		}
-	}
-	.client-list{
-		.item{
-			background: #fff;
-			border-radius: 0rpx 0rpx 0rpx 0rpx;
-			padding: 30rpx;
-			margin-bottom: 20rpx;
-			.top-box{
-				padding-bottom: 30rpx;
-				display: flex;
-				align-items: flex-start;
-				border-bottom: 1rpx solid #ECECEC;
-				image{
-					width: 112rpx;
-					height: 112rpx;
-					background: #EAEAEA;
-					border-radius:50%;
-					margin-right: 22rpx;
-				}
-				.right{
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					.name{
-						font-family: PingFang SC;
-						font-weight: 500;
-						font-size: 32rpx;
-						color: #222426;
-						text-align: left;
-						margin-bottom: 10rpx;
-					}
-					.proxy{
-						// width: 166rpx;
-						// height: 36rpx;
-						border-radius: 4rpx 4rpx 4rpx 4rpx;
-						border: 1rpx solid #008FD3;
-						display: flex;
-						    align-items: center;
-							margin-right: 16rpx;
-						.title{
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 20rpx;
-							color: #FFFFFF;
-							background: #008FD3;
-							padding: 8rpx;
-						}
-						.price{
-							font-weight: 500;
-							font-size: 20rpx;
-							color: #008FD3;
-							padding: 4rpx 12rpx;
-						}
-					}
-					.sale{
-						// width: 166rpx;
-						// height: 36rpx;
-						border-radius: 4rpx 4rpx 4rpx 4rpx;
-						border: 1rpx solid #FF5030;
-						display: flex;
-						    align-items: center;
-						.title{
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 20rpx;
-							color: #FFFFFF;
-							background: #FF5030;
-							padding: 8rpx;
-						}
-						.price{
-							font-weight: 500;
-							font-size: 20rpx;
-							color: #FF5030;
-							padding: 4rpx 12rpx;
-						}
-					}
-					.phone,.time{
-						font-family: PingFang SC;
-						font-weight: 400;
-						font-size: 24rpx;
-						color: #898E91;
-						text-align: left;
-						margin-top: 16rpx;
-					}
-				}
-				
-			}
-			.btn-box{
-				padding-top: 30rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				.btn-proxy{
-					width: 224rpx;
-					height: 60rpx;
-					font-weight: 400;
-					font-size: 24rpx;
-					color: #FFFFFF;
-	                text-align: center;
-					line-height:60rpx;
-					background: #008FD3;
-					border-radius: 30rpx 30rpx 30rpx 30rpx;
-					margin-right: 16rpx;
-				}
-				.btn-sale{
-					width: 224rpx;
-					height: 60rpx;
-					font-weight: 400;
-					font-size: 24rpx;
-					text-align: center;
-					line-height:60rpx;
-					color: #FFFFFF;
-					background: #FF5030;
-					border-radius: 30rpx 30rpx 30rpx 30rpx;
-				}
-			}
-		
-		}
-	}
-	
-</style>

+ 0 - 522
pages_company/complaintDetail.vue

@@ -1,522 +0,0 @@
-<template>
-	<view class="content">
-			    <view class="datebox">
-					<!-- <view class="form-item">
-						<text class="label">日期</text>
-						<view class="right-box">
-							<view class="input-box">
-								{{form.completeTime}}
-							</view>
-						</view>
-						<picker class="birth-picker" mode="date"   @change="bindDateChange">
-							<view class="right-box">
-								<view class="input-box">
-									<input type="text" :value="form.dueDate" placeholder="请选择日期" placeholder-class="form-input" disabled="disabled" />
-								</view>
-								<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-							</view>
-						</picker>
-					</view> -->
-					<view class="form-item">
-						<text class="label">创建时间</text>
-						<view class="right-box">
-							<view class="input-box">
-								{{utils.timeFormat(form.createTime,'yyyy-mm-dd hh:MM:ss')}}
-							</view>
-						</view>
-					</view>
-					<view class="form-item">
-						<text class="label">联系方式</text>
-						<view class="right-box">
-							<view class="input-box">
-								{{form.contactPhone}}
-							</view>
-						</view>
-					</view>
-					
-					<view class="form-item">
-						<text class="label">处理状态</text>
-						<picker class="birth-picker"  mode="selector"  @change="bindStatusChange($event,tags)" :range="tags" range-key="dictLabel">
-							<view class="right-box">
-								<view class="input-box">
-									<input type="text" :value="form.statusName" placeholder="请选择状态" placeholder-class="form-input" disabled="disabled" />
-								</view>
-								<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-							</view>
-						</picker>
-					</view>
-			    </view>
-				
-			      <view class="datebox2">
-					  <view class="bold">投诉内容</view>
-					  <view class="textinput">
-					  	<textarea  v-model="form.content" auto-height maxlength='500' placeholder="请输入事项情况" disabled="true"/>
-					  </view>
-					  </view>
-		<view class="btn-box">
-			<view  class="sub-btn" @click="submit()">
-				确定
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getComplaintById,updateComplaint,getCategory} from '@/api/companyUser.js'
-	import {getDictByKey} from '@/api/common.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				time:this.utils.timeFormat(new Date(),'yyyy-mm-dd'),
-				type:null,
-				showType:1,
-				mescroll:null,
-				tags:[
-					{id:1,dictLabel:'待处理'},
-					{id:2,dictLabel:'处理中'},
-					{id:3,dictLabel:'已完成'},
-					{id:4,dictLabel:'已关闭'},
-				],
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				form:{
-				}
-			}
-		},
-		onLoad(option) {
-			this.type=option.type;
-			console.log(this.type)
-			if(this.type=='edit'){
-				this.id=option.id;
-				this.getInfo();
-			}
-			// this.getDictByKey()
-		},
-		methods: {
-			navgetTo(url){
-				uni.navigateTo({
-					url:url
-				})
-			},
-			bindDateChange: function(e) {
-				this.form.dueDate= e.target.value
-			},
-			bindTimeChange: function(e) {
-				this.form.completeTime = e.target.value
-			},
-			bindStatusChange: function(e,list) {
-				this.form.status = list[e.target.value].id
-				this.form.statusName=list[e.target.value].dictLabel
-			},
-			getDictByKey(){
-				// var data={key:'todo_item_status'}
-				getCategory().then(
-					res => {
-						if(res.code==200){
-							this.tags=res.data;
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			getInfo(){
-				// var data={id:this.recordId};
-				getComplaintById(this.id).then(
-					res => {
-						if(res.code==200){
-							  this.form=res.data;
-							  // this.form.completeTime=this.form.completeTime.slice(0,5)
-							  
-						}else{
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		    submit(){
-		    	if(this.form.status==null){
-		    		uni.showToast({
-		    			icon:'none',
-		    			title: "请选择状态",
-		    		});
-		    		return;
-		    	}
-		    	// if(this.form.recordTime==null){
-		    	// 	uni.showToast({
-		    	// 		icon:'none',
-		    	// 		title: "记录时间不能为空",
-		    	// 	});
-		    	// 	return;
-		    	// }
-		    	// if(this.form.mealDescription==null){
-		    	// 	uni.showToast({
-		    	// 		icon:'none',
-		    	// 		title: "用餐情况不能为空",
-		    	// 	});
-		    	// 	return;
-		    	// }
-		    	if(this.type=="add"){
-		    		this.addRecord()
-		    	}
-		    	else if(this.type=="edit"){
-		    		this.updateById()
-		    	}
-		    	
-		    },
-		    updateById(){
-		    	updateComplaint(this.id,this.form).then(
-		    		res => {
-		    			if(res.code==200){
-		    				 uni.showToast({
-		    				 	icon:'success',
-		    				 	title: "操作成功",
-		    				 });
-		    				 setTimeout(function() {
-		    					 uni.$emit('refreshComplaintList');
-		    					 uni.navigateBack({
-		    						 delta: 1
-		    					 })
-		    				 }, 500);
-		    			}else{
-		    				uni.showToast({
-		    					icon:'none',
-		    					title: res.msg,
-		    				});
-		    			}
-		    		},
-		    		rej => {}
-		    	);
-		    },
-		    addRecord(){
-		    	addRecord(this.form).then(
-		    		res => {
-		    			if(res.code==200){
-		    				 uni.showToast({
-		    				 	icon:'success',
-		    				 	title: "操作成功",
-		    				 });
-		    				 setTimeout(function() {
-		    					uni.$emit('refreshToDoList');
-		    					 uni.navigateBack({
-		    						 delta: 1
-		    					 })
-		    				 }, 500);
-		    			}else{
-		    				uni.showToast({
-		    					icon:'none',
-		    					title: res.msg,
-		    				});
-		    			}
-		    		},
-		    		rej => {}
-		    	);
-		    },
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	@mixin u-flex($flexD, $alignI, $justifyC) {
-		display: flex;
-		flex-direction: $flexD;
-		align-items: $alignI;
-		justify-content: $justifyC;
-	}
-	.flex-bt {
-		@include u-flex(row, center, space-between);
-	}
-	.default {
-		font-weight: 400;
-		font-size: 28rpx;
-		color: #999999;
-	}
-	.content{
-		padding: 20upx;
-		.datebox {
-			padding: 0 30rpx;
-			margin-bottom: 20rpx;
-			background: #FFFFFF;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			.form-item{
-				padding: 30upx 0;
-				display: flex;
-				align-items: flex-start;
-				border-bottom: 1px solid #F1F1F1;
-				&:last-child{
-					border-bottom: none;
-				}
-				.label{
-					flex:1;
-					font-family: PingFang SC, PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					line-height: 34rpx;
-					text-align: left;
-				}
-				input{
-					text-align: right;
-				}
-				.form-input{
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					text-align: right;
-				}
-				.form-textarea{
-					font-size: 30upx;
-					color: #999999;
-					height: 100upx;
-					padding: 4upx 0;
-				}
-				 
-				.birth-picker {
-					flex: 1;
-					display: flex;
-					align-items: center;
-					
-					.right-box{
-						width: 100%;
-						display: flex;
-						align-items: center;
-						.input-box{
-							// width: 470upx;
-						}
-						.arrow{
-							width: 13upx;
-							height: 23upx;
-							margin-left: 20upx;
-						}
-					}
-				}
-			}
-		}
-		.datebox2{
-			background: #FFFFFF;
-			padding:30rpx;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			.textinput{
-				margin-top: 30rpx;
-				height:200rpx;
-				color: #999;
-				overflow-y: scroll;
-			}
-		}
-		.top-fixed{
-			width: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 10;
-		}
-		.pub-tab-box{
-			box-sizing: border-box;
-			width: 100%;
-			padding: 0 40upx;
-			background-color: #FFFFFF;
-			.tab-inner{
-				height: 88upx;
-				line-height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				overflow-x: auto;
-			}
-			.item{
-				flex:1;
-				font-size: 28upx;
-				white-space: nowrap;
-				line-height: 1;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #626468;
-				// margin-right: 60upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				&:last-child{
-					margin-right: 0;
-				}
-				&.active{
-					font-weight: bold;
-					color:#008FD3;
-					&::after {
-						content: "";
-						width: 48rpx;
-						height: 8rpx;
-						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
-						position: absolute;
-						bottom: 0;
-						border-radius: 6upx 6upx 0upx 0;
-					}
-				}
-				.text{
-					position: relative;
-					z-index: 1;
-				}
-				.tab-bg{
-					width: 72upx;
-					height: 28upx;
-					position: absolute;
-					top: 17upx;
-					left: 50%;
-					transform: translateX(-36upx);
-					z-index: -1;
-				}
-			}
-		}
-		.btn-box{
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			// position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			 padding-bottom: 40rpx;
-			.sub-btn{
-				flex:1;
-				// width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				 border: 2rpx solid #008FD3;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-			.sub-btn2{
-					flex:1;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 32rpx;
-					color: #008FD3;
-					font-family: PingFang SC;
-					font-weight: bold;
-					background: #FFFFFF;
-						 border-radius: 44rpx 44rpx 44rpx 44rpx;
-						 border: 2rpx solid #008FD3;
-						 margin-right: 20rpx;
-			}
-		}
-	   .phone-list{
-		   // padding: 30rpx;
-		  
-		   .item{
-			   display: flex;
-			   align-items: center;
-			   justify-content: space-between;
-			   background: #FFFFFF;
-			   border-radius: 16rpx 16rpx 16rpx 16rpx;
-			   // border-bottom: 1rpx solid #ECECEC;
-			   padding: 20rpx;
-			   margin-bottom: 20rpx;
-			   &:last-child{
-				    margin-bottom: 0;
-					
-			   }
-			   .phone-name{
-				   display: flex;
-				   flex-direction: column;
-				   align-items: flex-start;
-				   // justify-content: flex-start;
-				   // padding-left: 24rpx;
-				       flex: 1;
-				   .name{
-				   				   font-family: PingFang SC, PingFang SC;
-				   				   font-weight: 500;
-				   				   font-size: 32rpx;
-				   				   color: #222426;
-				   				   text-align: left;
-				   }
-				   .type{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 28rpx;
-					   color: #626468;
-					   text-align: right;
-				   }
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #898E91;
-					   text-align: left;
-					   margin-top: 14rpx;
-				   }
-			   }
-			   
-		   }
-	   }
-	   .sms-list{
-		   .item{
-			   padding: 30rpx;
-			   background: #FFFFFF;
-			   border-radius: 16rpx 16rpx 16rpx 16rpx;
-			   margin-bottom: 20rpx;
-			   .title{
-				   font-family: PingFang SC;
-				   font-weight: 500;
-				   font-size: 32rpx;
-				   color: #222426;
-				   text-align: left;
-			   }
-			   .box{
-				   display: flex;
-				   align-items: center;
-				   justify-content: space-between;
-				   padding-top: 22rpx;
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #898E91;
-					   text-align: left;
-				   }
-				   .state{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #2CAE5C;
-					   text-align: right;
-				   }
-			   }
-		   }
-	   }
-		
-	}
-</style>

+ 0 - 362
pages_company/complaintList.vue

@@ -1,362 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-fixed">
-			<!-- 事项列表 -->
-			<view class="filter">
-				<view :class="isShow==false?'time-box':'time-box active'"  @tap="openCalendar()">
-					<view class="title">选择日期</view>
-					<image :src="isShow==false?'/static/images/company/time_arrow_icon.png':'/static/images/company/time_arrow_blue_icon.png'" class="w24 h24"></image>
-				</view>
-				<!-- <view class="list-box">
-					<image src="/static/images/company/list_matters_icon.png" class="w32 h32"></image>
-					<view class="title">事项列表</view>
-				</view> -->
-			</view>
-			</view>
-			<u-popup :show="isShow" mode="top" :round="12" customStyle="top: 110rpx;" @close="close">
-				<view class="calendar-box">
-			           <pushangyuqi-calendar @onDayClick="onDayClick"></pushangyuqi-calendar>
-				</view>
-			</u-popup>
-		<mescroll-body top="110upx" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="sms-list">
-				<view v-for="(item,index) in dataList" :key="index" class="item" @click="showDetail(item)">
-					<view class="justify-between align-center">
-						<view class="title">{{item.categoryName}}</view>
-						<view class="state" :style="{'color':item.status==1?'#FF5030':item.status==2?'#FDBD27':'#2CAE5C'}">
-							{{item.status==1?'待处理':item.status==2?'处理中':item.status==3?'已完成':'已关闭'}}</view>
-					</view>
-					<view class="personnel">
-						{{utils.timeFormat(item.createTime,'yyyy-mm-dd hh:MM:ss')}}
-					</view>
-				</view>
-			</view>
-			<view class="h20"></view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import pushangyuqiCalendar from '../components/pushangyuqi-calendar/pushangyuqi-calendar.vue'
-	import {
-		getComplaintList
-	} from '@/api/companyUser.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin],
-		components:{
-		           pushangyuqiCalendar
-		        },
-		data() {
-			return {
-				taskType: [{
-						name: "全部",
-						val: null
-					},
-					{
-						name: "固定任务",
-						val: 0
-					},
-					{
-						name: "工作计划",
-						val: 1
-					},
-				],
-				isShow:false,
-				showType: null,
-				mescroll: null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll: true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon: 'https://user.test.ylrztop.com/images/empty_icon.png',
-						tip: '暂无数据'
-					}
-				},
-				dataList: [],
-			}
-		},
-		onLoad(opt) {
-			if(opt.type!==null){
-				this.showType=opt.type
-			}
-			uni.$on('refreshComplaintList', () => {
-				this.mescroll.resetUpScroll()
-			})
-		},
-		methods: {
-			//时间筛选
-			openCalendar(){
-				this.isShow=!this.isShow
-			},
-			close(){
-				this.isShow=false
-			},
-			//日历
-			onDayClick(data){
-			                this.curDate = data;
-							 this.isShow = false
-							 this.mescroll.resetUpScroll()
-			            },
-			navgetTo(index) {
-				uni.navigateTo({
-					url: index == 0 ? '/pages_health/addServe' : '/pages_health/addCompetitors'
-				})
-			},
-			// tab切换
-			orderStatusChange(item) {
-				this.showType = item.val
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					startTime: this.curDate,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getComplaintList(data).then(res => {
-					if(res.code==200){
-						//设置列表数据
-						if (page.num == 1) {
-							that.dataList = res.data; 
-
-						} else {
-							that.dataList = that.dataList.concat(res.data);
-
-						}
-						that.mescroll.endBySize(res.data.length, res.data.total);
-
-					}else{
-						uni.showToast({
-							icon:'none',
-							title: "请求失败",
-						});
-						that.dataList = null;
-						that.mescroll.endErr();
-					}
-				});
-			},
-			showDetail(item) {
-				// if (item.orderType == 1) {
-					uni.navigateTo({
-						url: '/pages_company/complaintDetail?type=edit&id=' + item.id
-					})
-				// }
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color:#EFF3F7;
-		background: #EFF3F7;
-	}
-	.calendar-box{
-		padding:0 30rpx;
-	}
-	.content {
-		padding: 20upx;
-
-		.top-fixed {
-			width: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index:10076;
-		}
-		.top-fixed2 {
-			width: 100%;
-			position: fixed;
-			top: 110rpx;
-			left: 0;
-			z-index: 10;
-		}
-        .filter{
-			background: #FFFFFF;
-			padding: 20rpx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.time-box{
-				display: flex;
-				align-items: center;
-				padding:16rpx 48rpx;
-				background: #F5F7FA;
-				border-radius: 32rpx 32rpx 32rpx 32rpx;
-				.title{
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #626468;
-					text-align: center;
-					padding-right: 20rpx;
-				}
-				&.active{
-					background: #F0FAFF;
-					.title{
-						color:#008FD3
-					}
-				}
-			}
-			.list-box{
-				display: flex;
-				align-items: center;
-				.title{
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #222426;
-					text-align: center;
-					padding-left: 16rpx;
-				}
-			}
-		}
-		.pub-tab-box {
-			box-sizing: border-box;
-			width: 100%;
-			padding: 0 20upx;
-		    background-color: #EFF3F7;
-
-			.tab-inner {
-				height: 110upx;
-				line-height: 110upx;
-				display: flex;
-				align-items: center;
-				// justify-content: space-between;
-				overflow-x: auto;
-			}
-
-			.item {
-				// flex: 1;
-				font-size: 28upx;
-				white-space: nowrap;
-				line-height: 1;
-				font-family: PingFang SC;
-				font-weight: 400;
-				color: #222426;
-				margin-right: 16upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-                background: #FFFFFF;
-                border-radius: 36rpx 36rpx 36rpx 36rpx;
-				padding:16rpx 48rpx;
-				&:last-child {
-					margin-right: 0;
-				}
-
-				&.active {
-					font-weight: bold;
-					color: #fff;
-                    background: linear-gradient(120deg, #31A1FE 0%, #008FD3 100%);
-				}
-
-				.text {
-					position: relative;
-					z-index: 1;
-				}
-
-				.tab-bg {
-					width: 72upx;
-					height: 28upx;
-					position: absolute;
-					top: 17upx;
-					left: 50%;
-					transform: translateX(-36upx);
-					z-index: -1;
-				}
-			}
-		}
-
-		.btn-box2 {
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-
-
-			.sub-btn {
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-
-				image {
-					margin-right: 16rpx;
-				}
-			}
-		}
-
-		.sms-list {
-			.item {
-				padding: 30rpx;
-				background: #FFFFFF;
-				border-radius: 16rpx 16rpx 16rpx 16rpx;
-				margin-bottom: 20rpx;
-
-				.title {
-					font-family: PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					text-align: left;
-				}
-
-				.title {
-					font-family: PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					text-align: left;
-				}
-
-				.state {
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 26rpx;
-					text-align: right;
-				}
-
-				.personnel {
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #898E91;
-					text-align: left;
-					margin-top: 16rpx;
-				}
-
-			}
-		}
-
-	}
-</style>

+ 0 - 379
pages_company/coupon.vue

@@ -1,379 +0,0 @@
-<template>
-  <view ref="container">
-	<view class="top-fixed">
-		<view class="cate-list">
-			<!-- 关键字列表 -->
-			<scroll-view   scroll-x="true" >
-				<view class="inner">
-					<view v-for="(item,index) in cates" :key="index" :class="cateId == item.dictValue?'item active':'item'" @click="choseCate(item)">
-						{{ item.dictLabel }}
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-	<!-- <image src="/static/images/banner_coupon.png" mode="widthFix" class="tui-coupon-banner"></image> -->
-    <view class="tui-coupon-list">
-      <view class="tui-coupon-item tui-top20" v-for="(item, index) in couponsList" :key="index">
-         <image src="/static/images/bg_coupon_3x.png" class="tui-coupon-bg" mode="widthFix"></image>
-		<view class="tui-coupon-item-left">
-          <view class="tui-coupon-price-box" :class="{ 'tui-color-grey': item.receiveCount>0 }">
-            <view class="tui-coupon-price-sign">¥</view>
-            <view class="tui-coupon-price" :class="{ 'tui-price-small': false }">{{ item.couponPrice }}</view>
-          </view>
-          <view class="tui-coupon-intro">满{{ item.useMinPrice }}元可用</view>
-        </view>
-        <view class="tui-coupon-item-right">
-          <view class="tui-coupon-content">
-            <view class="tui-coupon-title-box">
-              <view class="tui-coupon-title">{{ item.couponName }}</view>
-            </view>
-            <view class="tui-coupon-rule">
-              <view class="tui-rule-box tui-padding-btm">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">不可叠加使用</view>
-              </view>
-              <view class="tui-rule-box">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">{{ item.limitTime }} 到期</view>
-            
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="tui-btn-box">
-			<view class="btn receive"   @click="show(item)">查看</view>
-        </view>
-      </view>
-    </view>
-	<Loading :loaded="loadend" :loading="loading"></Loading>
-	<!--暂无优惠券-->
-	<view v-if="couponsList.length == 0 && page > 1" class="no-data-box" >
-		<image src="/static/images/no_data.png" mode="aspectFit"></image>
-		<view class="empty-title">暂无数据</view>
-	</view>
-  </view>
-</template>
-<script>
-import { getCompanyCouponIssueList, receive } from '@/api/coupon'
-import Loading from '@/components/Loading'
-export default {
-  name: 'getCoupon',
-  components: {
-    Loading,
-  },
-  props: {},
-  data: function() {
-    return {
-		cateId:0,
-		cates:[],
-		page: 1,
-		limit: 10,
-		couponsList: [],
-		loading: false,
-		loadend: false,
-    }
-  },
-  onLoad(options) {
-		var cate={dictLabel:"全部",dictValue:0};
-		this.cates.push(cate);
-		this.cates=this.cates.concat(this.utils.getDict("storeProductPackageCate"));
-  },
-  mounted: function() {
-    
-  },
-  
-  onShow() {
-  	this.getCompanyCouponIssueList()
-  },
-  onReachBottom() {
-    !this.loading && this.getCompanyCouponIssueList()
-  },
-  methods: {
-	choseCate(item){
-	  	this.cateId = item.dictValue;
-		this.couponsList=[];
-		this.loading=false;
-		this.loadend=false;
-		this.page=1;
-		this.getCompanyCouponIssueList();
-	  	 
-	},
-    show(item){
-		uni.navigateTo({
-			url: './couponDetails?id=' +item.id
-		})
-	},
-    getCompanyCouponIssueList() {
-      if (this.loading) return //阻止下次请求(false可以进行请求);
-      if (this.loadend) return //阻止结束当前请求(false可以进行请求);
-      this.loading = true
-      let q = { couponType:1,page: this.page, pageSize: this.limit,cateId:this.cateId }
-      getCompanyCouponIssueList(q).then(res => {
-        this.loading = false
-        this.couponsList.push.apply(this.couponsList, res.data.list)
-        this.loadend = res.data.list.length < this.limit //判断所有数据是否加载完成;
-        this.page = this.page + 1
-      })
-    },
-  },
-}
-</script>
-
-<style lang="less" scoped>
-page {
-  background-color: #f5f5f5;
-}
-
-.container {
-  padding-bottom: env(safe-area-inset-bottom);
-}
-.top-fixed{
-	width: 100%;
-	position: fixed;
-	top: 0;
-	left: 0;
-	z-index: 99999;
-	.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: #0bb3f2;
-			background: #F5FFFE;
-			border: 1px solid #8AD5CE;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-}
-.tui-coupon-list {
-	margin-top: 120upx;
-	width: 100%;
-	padding: 0 25rpx;
-	box-sizing: border-box;
-}
-
-.tui-coupon-banner {
-  width: 100%;
-}
-
-.tui-coupon-item {
-  width: 100%;
-  height: 210rpx;
-  position: relative;
-  display: flex;
-  align-items: center;
-  padding-right: 30rpx;
-  box-sizing: border-box;
-  overflow: hidden;
- 
-}
-
-.tui-coupon-bg {
-  width: 100%;
-  height: 210rpx;
-  position: absolute;
-  left: 0;
-  top: 0;
-  z-index: 1;
-}
-
-.tui-coupon-sign {
-  height: 110rpx;
-  width: 110rpx;
-  position: absolute;
-  z-index: 9;
-  top: -30rpx;
-  right: 40rpx;
-}
-
-.tui-coupon-item-left {
-  width: 218rpx;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-  flex-shrink: 0;
-}
-
-.tui-coupon-price-box {
-  display: flex;
-  color: #e41f19;
-  align-items: flex-end;
-}
-
-.tui-coupon-price-sign {
-  font-size: 30rpx;
-}
-
-.tui-coupon-price {
-  font-size: 70rpx;
-  line-height: 68rpx;
-  font-weight: bold;
-}
-
-.tui-price-small {
-  font-size: 58rpx !important;
-  line-height: 56rpx !important;
-}
-
-.tui-coupon-intro {
-  background: #f7f7f7;
-  padding: 8rpx 10rpx;
-  font-size: 26rpx;
-  line-height: 26rpx;
-  font-weight: 400;
-  color: #666;
-  margin-top: 18rpx;
-}
-
-.tui-coupon-item-right {
-  flex: 1;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  padding-left: 24rpx;
-  box-sizing: border-box;
-  overflow: hidden;
-}
-
-.tui-coupon-content {
-  width: 82%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-}
-
-.tui-coupon-title-box {
-  display: flex;
-  align-items: center;
-}
-
-.tui-coupon-btn {
-  padding: 6rpx;
-  background: #ffebeb;
-  color: #e41f19;
-  font-size: 25rpx;
-  line-height: 25rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  transform: scale(0.9);
-  transform-origin: 0 center;
-  border-radius: 4rpx;
-  flex-shrink: 0;
-}
-
-.tui-color-grey {
-  color: #888 !important;
-}
-
-.tui-bg-grey {
-  background: #f0f0f0 !important;
-  color: #888 !important;
-}
-
-.tui-coupon-title {
-  width: 100%;
-  font-size: 26rpx;
-  color: #333;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.tui-coupon-rule {
-  padding-top: 52rpx;
-}
-
-.tui-rule-box {
-  display: flex;
-  align-items: center;
-  transform: scale(0.8);
-  transform-origin: 0 100%;
-}
-
-.tui-padding-btm {
-  padding-bottom: 6rpx;
-}
-
-.tui-coupon-circle {
-  width: 8rpx;
-  height: 8rpx;
-  background: rgb(160, 160, 160);
-  border-radius: 50%;
-}
-
-.tui-coupon-text {
-  font-size: 28rpx;
-  line-height: 28rpx;
-  font-weight: 400;
-  color: #666;
-  padding-left: 8rpx;
-  white-space: nowrap;
-}
-
-.tui-top20 {
-  margin-top: 20rpx;
-}
-
-.tui-coupon-title {
-  font-size: 28rpx;
-  line-height: 28rpx;
-}
-
-.tui-coupon-radio {
-  transform: scale(0.7);
-  transform-origin: 100% center;
-}
-
-.tui-btn-box {
-  position: absolute;
-  right: 20rpx;
-  bottom: 40rpx;
-  z-index: 10;
-  .btn{
-  	width: 155upx;
-  	height: 64upx;
-  	line-height: 64upx;
-  	font-size: 26upx;
-  	font-family: PingFang SC;
-  	font-weight: 500;
-  	text-align: center;
-  	border-radius: 32upx;
-  	margin-left: 15upx;
-
-  	&.cancel{
-  		border: 1px solid red;
-  		color: red;
-  	}
-  	&.receive{
-  		background: red;
-  		color: #FFFFFF;
-  	}
-  }
-}
-</style>

+ 0 - 375
pages_company/couponDetails.vue

@@ -1,375 +0,0 @@
-<template>
-  <view class="container">
-    <view class="tui-coupon-list">
-      <view class="tui-coupon-item tui-top20"  >
-         <image src="/static/images/bg_coupon_3x.png" class="tui-coupon-bg" mode="widthFix"></image>
-		<view class="tui-coupon-item-left">
-          <view class="tui-coupon-price-box"  >
-            <view class="tui-coupon-price-sign">¥</view>
-            <view class="tui-coupon-price" :class="{ 'tui-price-small': false }">{{ item.couponPrice }}</view>
-          </view>
-          <view class="tui-coupon-intro">满{{ item.useMinPrice }}元可用</view>
-        </view>
-        <view class="tui-coupon-item-right">
-          <view class="tui-coupon-content">
-            <view class="tui-coupon-title-box">
-              <view class="tui-coupon-title">{{ item.couponName }}</view>
-            </view>
-            <view class="tui-coupon-rule">
-              <view class="tui-rule-box tui-padding-btm">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">不可叠加使用</view>
-              </view>
-              <view class="tui-rule-box">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">{{ item.limitTime }} 到期</view>
-            
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="tui-btn-box">
-			<view class="btn cancel" v-if="item.receiveCount>0"  >已领取</view>
-			<view class="btn cancel" v-else-if="item.receiveCount==item.totalCount" >已领完</view>
-			<view class="btn receive" v-else @click="receive(item.id,index)">立即领取</view>
-        </view>
-      </view>
-    </view>
-	<!-- <view class="banner" @click="showImg()">
-		<image class="img" src="https://hos-1309931967.cos.ap-chongqing.myqcloud.com/fs/20221116/99f6dedb47394b43adb61a1aa1b2e7e2.jpg"></image>
-	</view> -->
-	
-	<view class="ad">
-		<ad unit-id="adunit-4768dead82e0c4ff" ad-type="video" ad-theme="white"></ad>
-	</view>
-  </view>
-</template>
-<script>
-import { getCouponIssueById, receive } from '@/api/coupon'
-export default {
-  name: 'getCoupon',
- 
-  props: {},
-  data: function() {
-    return {
-		id:null,
-		item:null,
-      
-    }
-  },
-  onLoad(options) {
-	console.log(options.id)
-	this.id=JSON.parse(options.id);
-  	uni.showShareMenu({
-  		withShareTicket:true,
-  		//小程序的原生菜单中显示分享按钮,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
-  		menus:["shareAppMessage"] //不设置默认发送给朋友
-  	})
-	this.getCouponIssueById();
-  },
-  //发送给朋友
-  onShareAppMessage(res) {
-  	return {
-  		title: this.item.couponName,
-  		path: `/pages_company/couponDetails?id=${this.item.id}`
-  	}
-  },
-  mounted: function() {
-  },
-  onShow() {
-  },
-  methods: {
-	showImg() {
-		var url=['https://hos-1309931967.cos.ap-chongqing.myqcloud.com/fs/20221116/99f6dedb47394b43adb61a1aa1b2e7e2.jpg']
-	  	uni.previewImage({
-	  	 	urls: url,
-	  	 	current: url[0]
-	  	});
-	},
-	getCouponIssueById: function() {
-	  	let that = this
-	  	var data={id:this.id}
-	  	getCouponIssueById(data)
-	  	  .then(function(res) {
-				that.item=res.data;
-				
-	  	  })
-	  	  .catch(function(err) {
-	  	    uni.showToast({
-	  	      title: err.msg ,
-	  	      icon: 'none',
-	  	      duration: 2000,
-	  	    })
-	  	  })
-	    
-	},
-    receive: function() {
-		if(this.utils.isLogin()){
-			let that = this
-			var data={id:this.item.id}
-			receive(data)
-			  .then(function(res) {
-				  if(res.code==200){
-					  uni.showToast({
-					    title: '领取成功',
-					    icon: 'success',
-					    duration: 2000,
-					  })
-				  }
-				  else{
-					  uni.showToast({
-					    title: res.msg,
-					    duration: 2000,
-					  })
-				  }
-			    
-					   
-			  })
-			  .catch(function(err) {
-			    uni.showToast({
-			      title: err.msg ,
-			      icon: 'none',
-			      duration: 2000,
-			    })
-			  })
-		}
-      
-    },
-  },
-}
-</script>
-
-<style lang="less" scoped>
-page {
-  background-color: #f5f5f5;
-}
-
-.container {
-	height: 100%;
-	display: flex;
-	flex-direction: column;
-}
-
-.tui-coupon-list {
-  width: 100%;
-  padding: 0 25rpx;
-  box-sizing: border-box;
-}
-
-.tui-coupon-banner {
-  width: 100%;
-}
-
-.tui-coupon-item {
-  width: 100%;
-  height: 210rpx;
-  position: relative;
-  display: flex;
-  align-items: center;
-  padding-right: 30rpx;
-  box-sizing: border-box;
-  overflow: hidden;
- 
-}
-
-.tui-coupon-bg {
-  width: 100%;
-  height: 210rpx;
-  position: absolute;
-  left: 0;
-  top: 0;
-  z-index: 1;
-}
-
-.tui-coupon-sign {
-  height: 110rpx;
-  width: 110rpx;
-  position: absolute;
-  z-index: 9;
-  top: -30rpx;
-  right: 40rpx;
-}
-
-.tui-coupon-item-left {
-  width: 218rpx;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-  flex-shrink: 0;
-}
-
-.tui-coupon-price-box {
-  display: flex;
-  color: #e41f19;
-  align-items: flex-end;
-}
-
-.tui-coupon-price-sign {
-  font-size: 30rpx;
-}
-
-.tui-coupon-price {
-  font-size: 70rpx;
-  line-height: 68rpx;
-  font-weight: bold;
-}
-
-.tui-price-small {
-  font-size: 58rpx !important;
-  line-height: 56rpx !important;
-}
-
-.tui-coupon-intro {
-  background: #f7f7f7;
-  padding: 8rpx 10rpx;
-  font-size: 26rpx;
-  line-height: 26rpx;
-  font-weight: 400;
-  color: #666;
-  margin-top: 18rpx;
-}
-
-.tui-coupon-item-right {
-  flex: 1;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  padding-left: 24rpx;
-  box-sizing: border-box;
-  overflow: hidden;
-}
-
-.tui-coupon-content {
-  width: 82%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-}
-
-.tui-coupon-title-box {
-  display: flex;
-  align-items: center;
-}
-
-.tui-coupon-btn {
-  padding: 6rpx;
-  background: #ffebeb;
-  color: #e41f19;
-  font-size: 25rpx;
-  line-height: 25rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  transform: scale(0.9);
-  transform-origin: 0 center;
-  border-radius: 4rpx;
-  flex-shrink: 0;
-}
-
-.tui-color-grey {
-  color: #888 !important;
-}
-
-.tui-bg-grey {
-  background: #f0f0f0 !important;
-  color: #888 !important;
-}
-
-.tui-coupon-title {
-  width: 100%;
-  font-size: 26rpx;
-  color: #333;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.tui-coupon-rule {
-  padding-top: 52rpx;
-}
-
-.tui-rule-box {
-  display: flex;
-  align-items: center;
-  transform: scale(0.8);
-  transform-origin: 0 100%;
-}
-
-.tui-padding-btm {
-  padding-bottom: 6rpx;
-}
-
-.tui-coupon-circle {
-  width: 8rpx;
-  height: 8rpx;
-  background: rgb(160, 160, 160);
-  border-radius: 50%;
-}
-
-.tui-coupon-text {
-  font-size: 28rpx;
-  line-height: 28rpx;
-  font-weight: 400;
-  color: #666;
-  padding-left: 8rpx;
-  white-space: nowrap;
-}
-
-.tui-top20 {
-  margin-top: 20rpx;
-}
-
-.tui-coupon-title {
-  font-size: 28rpx;
-  line-height: 28rpx;
-}
-
-.tui-coupon-radio {
-  transform: scale(0.7);
-  transform-origin: 100% center;
-}
-
-.tui-btn-box {
-  position: absolute;
-  right: 20rpx;
-  bottom: 40rpx;
-  z-index: 10;
-  .btn{
-  	width: 155upx;
-  	height: 64upx;
-  	line-height: 64upx;
-  	font-size: 26upx;
-  	font-family: PingFang SC;
-  	font-weight: 500;
-  	text-align: center;
-  	border-radius: 32upx;
-  	margin-left: 15upx;
-
-  	&.cancel{
-  		border: 1px solid red;
-  		color: red;
-  	}
-  	&.receive{
-  		background: red;
-  		color: #FFFFFF;
-  	}
-  }
-}
-.banner{
-	margin: 25rpx;
-	.img{
-		height: 700rpx;
-		width: 100%;
-	}
-}
-.ad{
-	margin: 0rpx 0rpx 60rpx;
-}
-</style>

+ 0 - 482
pages_company/distribution.vue

@@ -1,482 +0,0 @@
-<template>
-	<view class="content">
-		<view class="align-center justify-center">
-			<text class="fs32">恭喜成为推广大使!</text>
-		</view>
-	</view>
-</template>
-<script>
-	import {getFindById,updateByI,bindPromoter} from '@/api/companyUser.js'
-	import {getDictByKey} from '@/api/common.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				time:this.utils.timeFormat(new Date(),'yyyy-mm-dd'),
-				type:null,
-				showType:1,
-				mescroll:null,
-				tags:[
-					// {id:0,name:'未完成'},
-					// {id:1,name:'进行中'},
-					// {id:2,name:'已完成'},
-				],
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				form:{
-				},
-				userCode:null
-			}
-		},
-		onLoad(options) {
-			this.userCode= options.scene
-			this.getBindPromoter()
-		},
-		methods: {
-			navgetTo(url){
-				uni.navigateTo({
-					url:url
-				})
-			},
-		getBindPromoter(){
-			var data = {
-				userCode:this.userCode
-			};
-			bindPromoter(data).then(
-				res => {
-					if (res.code == 200) {
-						uni.showToast({
-							icon:'success',
-							title: "成为推广大使成功!",
-						});
-						// this.tuiModalControl = false
-					} else {
-						uni.showToast({
-							icon: 'none',
-							title: res.msg,
-						});
-					}
-				},
-				rej => {}
-			);
-		},
-			bindDateChange: function(e) {
-				this.form.dueDate= e.target.value
-			},
-			bindTimeChange: function(e) {
-				this.form.completeTime = e.target.value
-			},
-			bindStatusChange: function(e,list) {
-				this.form.status = list[e.target.value].dictValue
-				this.form.statusText=list[e.target.value].dictLabel
-			},
-			getDictByKey(){
-				var data={key:'todo_item_status'}
-				getDictByKey(data).then(
-					res => {
-						if(res.code==200){
-							this.tags=res.data;
-						}
-					},
-					err => {
-					}
-				);
-				
-			},
-			getInfo(){
-				var data={id:this.recordId};
-				getFindById(data).then(
-					res => {
-						if(res.code==200){
-							  this.form=res.data;
-							  // this.form.completeTime=this.form.completeTime.slice(0,5)
-							  
-						}else{
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		    submit(){
-		    	if(this.form.status==null){
-		    		uni.showToast({
-		    			icon:'none',
-		    			title: "请选择状态",
-		    		});
-		    		return;
-		    	}
-		    	// if(this.form.recordTime==null){
-		    	// 	uni.showToast({
-		    	// 		icon:'none',
-		    	// 		title: "记录时间不能为空",
-		    	// 	});
-		    	// 	return;
-		    	// }
-		    	// if(this.form.mealDescription==null){
-		    	// 	uni.showToast({
-		    	// 		icon:'none',
-		    	// 		title: "用餐情况不能为空",
-		    	// 	});
-		    	// 	return;
-		    	// }
-		    	if(this.type=="add"){
-		    		this.addRecord()
-		    	}
-		    	else if(this.type=="edit"){
-		    		this.updateById()
-		    	}
-		    	
-		    },
-		    updateById(){
-		    	updateById(this.form).then(
-		    		res => {
-		    			if(res.code==200){
-		    				 uni.showToast({
-		    				 	icon:'success',
-		    				 	title: "操作成功",
-		    				 });
-		    				 setTimeout(function() {
-		    					 uni.$emit('refreshToDoList');
-		    					 uni.navigateBack({
-		    						 delta: 1
-		    					 })
-		    				 }, 500);
-		    			}else{
-		    				uni.showToast({
-		    					icon:'none',
-		    					title: res.msg,
-		    				});
-		    			}
-		    		},
-		    		rej => {}
-		    	);
-		    },
-		    addRecord(){
-		    	addRecord(this.form).then(
-		    		res => {
-		    			if(res.code==200){
-		    				 uni.showToast({
-		    				 	icon:'success',
-		    				 	title: "操作成功",
-		    				 });
-		    				 setTimeout(function() {
-		    					uni.$emit('refreshToDoList');
-		    					 uni.navigateBack({
-		    						 delta: 1
-		    					 })
-		    				 }, 500);
-		    			}else{
-		    				uni.showToast({
-		    					icon:'none',
-		    					title: res.msg,
-		    				});
-		    			}
-		    		},
-		    		rej => {}
-		    	);
-		    },
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	@mixin u-flex($flexD, $alignI, $justifyC) {
-		display: flex;
-		flex-direction: $flexD;
-		align-items: $alignI;
-		justify-content: $justifyC;
-	}
-	.flex-bt {
-		@include u-flex(row, center, space-between);
-	}
-	.default {
-		font-weight: 400;
-		font-size: 28rpx;
-		color: #999999;
-	}
-	.content{
-		padding: 20upx;
-		.datebox {
-			padding: 0 30rpx;
-			margin-bottom: 20rpx;
-			background: #FFFFFF;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			.form-item{
-				padding: 30upx 0;
-				display: flex;
-				align-items: flex-start;
-				border-bottom: 1px solid #F1F1F1;
-				&:last-child{
-					border-bottom: none;
-				}
-				.label{
-					flex:1;
-					font-family: PingFang SC, PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #222426;
-					line-height: 34rpx;
-					text-align: left;
-				}
-				input{
-					text-align: right;
-				}
-				.form-input{
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					text-align: right;
-				}
-				.form-textarea{
-					font-size: 30upx;
-					color: #999999;
-					height: 100upx;
-					padding: 4upx 0;
-				}
-				 
-				.birth-picker {
-					flex: 1;
-					display: flex;
-					align-items: center;
-					
-					.right-box{
-						width: 100%;
-						display: flex;
-						align-items: center;
-						.input-box{
-							// width: 470upx;
-						}
-						.arrow{
-							width: 13upx;
-							height: 23upx;
-							margin-left: 20upx;
-						}
-					}
-				}
-			}
-		}
-		.datebox2{
-			background: #FFFFFF;
-			padding:30rpx;
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-			.textinput{
-				margin-top: 30rpx;
-				height:200rpx;
-				overflow-y: scroll;
-			}
-		}
-		.top-fixed{
-			width: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 10;
-		}
-		.pub-tab-box{
-			box-sizing: border-box;
-			width: 100%;
-			padding: 0 40upx;
-			background-color: #FFFFFF;
-			.tab-inner{
-				height: 88upx;
-				line-height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				overflow-x: auto;
-			}
-			.item{
-				flex:1;
-				font-size: 28upx;
-				white-space: nowrap;
-				line-height: 1;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #626468;
-				// margin-right: 60upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				&:last-child{
-					margin-right: 0;
-				}
-				&.active{
-					font-weight: bold;
-					color:#008FD3;
-					&::after {
-						content: "";
-						width: 48rpx;
-						height: 8rpx;
-						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
-						position: absolute;
-						bottom: 0;
-						border-radius: 6upx 6upx 0upx 0;
-					}
-				}
-				.text{
-					position: relative;
-					z-index: 1;
-				}
-				.tab-bg{
-					width: 72upx;
-					height: 28upx;
-					position: absolute;
-					top: 17upx;
-					left: 50%;
-					transform: translateX(-36upx);
-					z-index: -1;
-				}
-			}
-		}
-		.btn-box{
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			// position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			 padding-bottom: 40rpx;
-			.sub-btn{
-				flex:1;
-				// width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				 border: 2rpx solid #008FD3;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-			.sub-btn2{
-					flex:1;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 32rpx;
-					color: #008FD3;
-					font-family: PingFang SC;
-					font-weight: bold;
-					background: #FFFFFF;
-						 border-radius: 44rpx 44rpx 44rpx 44rpx;
-						 border: 2rpx solid #008FD3;
-						 margin-right: 20rpx;
-			}
-		}
-	   .phone-list{
-		   // padding: 30rpx;
-		  
-		   .item{
-			   display: flex;
-			   align-items: center;
-			   justify-content: space-between;
-			   background: #FFFFFF;
-			   border-radius: 16rpx 16rpx 16rpx 16rpx;
-			   // border-bottom: 1rpx solid #ECECEC;
-			   padding: 20rpx;
-			   margin-bottom: 20rpx;
-			   &:last-child{
-				    margin-bottom: 0;
-					
-			   }
-			   .phone-name{
-				   display: flex;
-				   flex-direction: column;
-				   align-items: flex-start;
-				   // justify-content: flex-start;
-				   // padding-left: 24rpx;
-				       flex: 1;
-				   .name{
-				   				   font-family: PingFang SC, PingFang SC;
-				   				   font-weight: 500;
-				   				   font-size: 32rpx;
-				   				   color: #222426;
-				   				   text-align: left;
-				   }
-				   .type{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 28rpx;
-					   color: #626468;
-					   text-align: right;
-				   }
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #898E91;
-					   text-align: left;
-					   margin-top: 14rpx;
-				   }
-			   }
-			   
-		   }
-	   }
-	   .sms-list{
-		   .item{
-			   padding: 30rpx;
-			   background: #FFFFFF;
-			   border-radius: 16rpx 16rpx 16rpx 16rpx;
-			   margin-bottom: 20rpx;
-			   .title{
-				   font-family: PingFang SC;
-				   font-weight: 500;
-				   font-size: 32rpx;
-				   color: #222426;
-				   text-align: left;
-			   }
-			   .box{
-				   display: flex;
-				   align-items: center;
-				   justify-content: space-between;
-				   padding-top: 22rpx;
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #898E91;
-					   text-align: left;
-				   }
-				   .state{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #2CAE5C;
-					   text-align: right;
-				   }
-			   }
-		   }
-	   }
-		
-	}
-</style>

+ 0 - 393
pages_company/doc.vue

@@ -1,393 +0,0 @@
-<template>
-	<view class="content">
-		<view class="inner">
-			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption"
-				:up="upOption">
-				<u-swipe-action>
-					<view class="form-swipe mb20" v-for="(item,index) in dataList" :key="index">
-						<u-swipe-action-item :options="options" @click="cancel(item,index)" :name="index"
-							:ref="'swipeAction' + index">
-			<view class="item" @click="showDetail(item)">
-				<view class="user-info">
-					<view class="user-top">
-						<view class="user-left">
-							<image :src="item.avatar==null?maleurl:item.avatar" class="w112 h112"></image>
-							<view class="ml32">
-								<view class="name">{{item.username!==null?item.username:'微信用户'}}</view>
-								<view class="age-box"  :style="{'background-color':item.sex==1?'#FCF0E7':'#EBF8FF'}">
-									<u-icon :color="item.sex==1?'#FF5030':'#008FD3'" :name="item.sex==1?'woman':'man'"></u-icon>
-									<view class="age">{{utils.getAge(item.birthdate)}}岁</view>
-								</view>
-							</view>
-							
-						</view>
-						<view class="user-phone">{{utils.parsePhone(item.phone)}}</view>
-					</view>
-					<view class="user-bottom">
-						<view class="btn" @click.stop="toBuy(item)">购买信息</view>
-						<view class="btn" @click.stop="toUser(item)">基本信息</view>
-						<view class="btn" @click.stop="toDoc(item)">健康档案</view>
-					</view>
-				</view>
-			</view>
-			</u-swipe-action-item>
-			</view>
-			</u-swipe-action>
-			<view class="h150"></view>
-			</mescroll-body>
-			<!-- <view v-if="docs.length == 0" class="no-data-box" @click="getMyDocList()">
-				<image src="https://user.test.ylrztop.com/images/empty_icon.png" mode="aspectFit"></image>
-				<view class="empty-title">暂无数据</view>
-			</view> -->
-			
-		</view>
-		<view class="btn-box">
-			<view class="sub-btn" @click="addDoc">
-				<image src="/static/images/health/nav_add_icon24.png" class="w48 h48"></image>
-				<text>创建用户信息</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getInfoList,deleteInfo} from '@/api/health.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				famaleurl:"/static/images/health/female_profile.png",
-				maleurl:"/static/images/health/my_heads.png",
-				dataList:[
-					// {userName:'西航宇',sex:1,birthday:'1990-01-01',phone:'16666666666'},
-					// {userName:'蓝西',sex:2,birthday:'1990-06-01',phone:'1888888888'},
-					// {userName:'西航宇',sex:1,birthday:'1993-01-01',phone:'16666666666'},
-					// {userName:'蓝西',sex:2,birthday:'1994-06-01',phone:'1888888888'},
-					// {userName:'蓝西',sex:2,birthday:'1994-06-01',phone:'1888888888'}
-				],
-				options: [{
-					text: '删除',
-					style: {
-						backgroundColor: '#FF5030'
-					}
-				}],
-				mescroll: null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll: true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon: 'https://user.test.ylrztop.com/images/empty_icon.png',
-						tip: '暂无数据'
-					}
-				},
-			}
-		},
-		onLoad(options) {
-			this.companyId=options.companyId;
-			this.companyUserId=options.companyUserId;
-			uni.$on('refreshDoc', () => {
-				this.mescroll.resetUpScroll()
-				// this.getMyDocList()
-			})
-		},
-		methods: {
-			navgetTo(url){
-				uni.navigateTo({
-					url: url
-				})
-			},
-			
-			
-			
-			toBuy(item){
-				uni.navigateTo({
-					url: '/pages_company/buyOrder?userId='+item.userId+'&companyUserId='+this.companyUserId
-				})
-			},
-			toUser(item){
-				uni.navigateTo({
-					url: '/pages_company/addUser?type=edit&userId='+item.userId+'&companyUserId='+this.companyUserId
-				})
-			},
-			toDoc(item){
-				uni.navigateTo({
-					url: '/pages_company/addDoc?userId='+item.userId+'&companyUserId='+this.companyUserId
-				})
-			},
-			showDetail(item){
-				uni.navigateTo({
-					url: '/pages_company/clientDetail?userId='+item.userId+"&companyUserId="+this.companyUserId
-				})
-			},
-			editDoc(item){
-				uni.navigateTo({
-					url: './addDoc?type=edit&docId='+item.docId
-				})
-			},
-			cancel(item, index) {
-				var that = this;
-				let test = 'swipeAction' + index
-				uni.showModal({
-					title: '提示',
-					content: '确定删除用户信息吗',
-					success: function(res) {
-						if (res.confirm) {
-							var data = {
-								userId:item.userId
-							};
-							deleteInfo(data).then(res => {
-								if (res.code == 200) {
-									uni.showToast({
-										icon: 'success',
-										title: '操作成功',
-									});
-									that.$refs[test][0].closeHandler()
-									that.mescroll.resetUpScroll()
-								} else {
-									uni.showToast({
-										icon: 'none',
-										title: res.msg,
-									});
-								}
-							});
-						} else if (res.cancel) {
-							that.$refs[test][0].closeHandler()
-						}
-					}
-				});
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					// companyUserId:this.companyUserId,
-					pageNum: page.num,
-					pageSize: page.size
-				};
-				getInfoList(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();
-					}
-				});
-			},
-			addDoc() {
-				uni.navigateTo({
-					url: '/pages_company/addUser?type=add&companyId='+this.companyId+"&companyUserId="+this.companyUserId
-				})
-			}
-			 
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		height: 100%;
-	}
-	.content{
-		height: 100%;
-		display: flex;
-		// flex-direction: column;
-		// justify-content: space-between;
-		.inner{
-			flex: 1;
-			padding: 20upx 20upx 160upx;
-			.item{
-				background: #FFFFFF;
-				border-radius: 20upx;
-				margin-bottom: 20upx;
-				// padding: 40upx 30upx;
-				padding: 32rpx;
-				&:last-child{
-					margin-bottom: 0;
-				}
-				.user-info{
-					.user-top{
-						display: flex;
-						align-items: flex-start;
-						justify-content: space-between;
-						border-bottom: 1px solid #ECECEC;
-						padding-bottom: 40rpx;
-						.user-left{
-							display: flex;
-							align-items: center;
-							justify-content: flex-start;
-							image{
-								border-radius: 50%;
-							}
-							.name{
-								font-family: PingFang SC;
-								font-weight: 500;
-								font-size: 36rpx;
-								color: #222426;
-								text-align: left;
-							}
-							.age-box{
-								display: flex;
-								align-items: center;
-								justify-content: center;
-								border-radius: 24rpx 24rpx 24rpx 24rpx;
-								margin-top: 16rpx;
-								width: 114rpx;
-								    height: 40rpx;
-								.age{
-									font-weight: 400;
-									font-size: 22rpx;
-									color: #626468;
-									line-height: 22rpx;
-									text-align: left;
-								}
-							}
-							
-						}
-						.user-phone{
-							font-family: PingFang SC;
-							font-weight: 500;
-							font-size: 28rpx;
-							color: #222426;
-							text-align: right;
-						}
-					}
-					.user-bottom{
-						display: flex;
-						align-items: center;
-						justify-content: flex-end;
-						padding-top: 20rpx;
-						.btn{
-							width: 176rpx;
-							height: 60rpx;
-							border-radius: 30rpx 30rpx 30rpx 30rpx;
-							border: 1rpx solid #B2B2B2;
-							font-size: 24rpx;
-							color: #222426;
-							line-height: 60rpx;
-							text-align: center;
-							margin-left:16rpx ;
-							&:last-child{
-								border: 1rpx solid #008FD3;
-								color: #008FD3;
-							}
-						}
-						
-					}
-					.gray-tag{
-						height: 46upx;
-						line-height: 46upx;
-						padding: 0 16upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #333333;
-						background: #F7F7F7;
-						border-radius: 8upx;
-						margin-right: 10upx;
-					}
-					.blue-tag{
-						height: 46upx;
-						line-height: 46upx;
-						padding: 0 16upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #4BC9B1;
-						background: #E2F6F2;
-						border-radius: 8upx;
-					}
-				}
-				.stage-box{
-					white-space: nowrap;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					margin-top: 34upx;
-					.stage{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 1;
-					}
-					.stage-text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #666666;
-						line-height: 1;
-					}
-				}
-				.progress-box{
-					margin-top: 18upx;
-				}
-				.period{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-					margin-top: 40upx;
-				}
-			}
-			 
-		}
-		.btn-box{
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-			
-	 
-			.sub-btn{
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-		}
-		 
-	}
-</style>

+ 0 - 393
pages_company/executionRecord.vue

@@ -1,393 +0,0 @@
-<template>
-	<view class="content">
-		<ren-calendar ref='ren' :markDays='markDays' :headerBar='false' :open="false" @onDayClick='onDayClick'></ren-calendar>
-		<view class="inner">
-			<view class="title-box align-center justify-between">
-				<text>用药情况</text>
-				<view class="select-box" @click="navgetTo()">
-					<text>打卡 (0/2)</text>
-					<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-				</view>
-			</view>
-			<view class="form-box">
-				<view class="form-item">
-					<view class="left">
-						<text class="label">阿仑单抗 1.0mg</text>
-						<text class="time">11:30</text>
-					</view>
-					<view class="check">
-						<u-icon name="checkmark-circle-fill" color="#008FD3" size="18"></u-icon>
-						<text>已用药</text>
-					</view>
-				</view>
-			</view>
-			<view class="title-box align-center justify-between">
-				<text class="left">饮食情况</text>
-				<view class="select-box2" @click="navgetTo('/pages_user/user/dietList')">
-					<image class="w24 h24" src="@/static/images/company/edit_add_icon.png"></image>
-					<text>记录饮食</text>
-				</view>
-			</view>
-			<view class="form-box mb20"  v-if="foods.length>0">
-				<view class="form-item" v-for="(item,index) in foods">
-					<text class="label">{{item.mealDescription}}</text>
-					<text class="time2 ml20">{{item.recordTime.slice(0,5)}}</text>
-				</view>
-			</view>
-			<view class="title-box">
-				健康数据
-			</view>
-			<view class="form-box">
-				<view class="form-item">
-					<text class="label">腰围</text>
-					<view class="num">
-						<text>70cm</text>
-						<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">臀围</text>
-					<view class="num">
-						<text>70cm</text>
-						<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">血糖</text>
-					<view class="num">
-						<text>4.0</text>
-						<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">血压</text>
-					<view class="num">
-						<text>--</text>
-						<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">尿酸</text>
-					<view class="num">
-						<text>正常</text>
-						<image class="w48 h48" src="@/static/images/health/right_arrow_right_icon24.png"></image>
-					</view>
-				</view>
-			</view>
-			<view class="title-box align-center justify-between">
-				<text class="left">指标信息</text>
-				<view class="select-box2" @click="navgetTo('/pages_user/user/editIndicator')">
-					<image class="w24 h24" src="@/static/images/company/edit_add_icon.png"></image>
-					<text>选择指标项</text>
-				</view>
-			</view>
-			<view class="form-box">
-				<view class="form-item">
-					<text class="label">促甲状腺素受体抗体(A-TSHR)</text>
-					<view class="num">
-						<text>2.12 1U/L</text>
-					</view>
-				</view>
-				<view class="form-item">
-					<text class="label">低密度脂蛋白胆固醇(LDL)</text>
-					<view class="num">
-						<text>3.00 mmol/L</text>
-					</view>
-				</view>
-			</view>
-			
-			<view class="title-box">
-				其他
-			</view>
-			<view class="form-box mb20">
-				<view class="form-item">
-					<text class="label">口感舌燥,恶心</text>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getMyRecordList} from '@/api/companyUser.js'
-	import RenCalendar from '@/components/ren-calendar/ren-calendar.vue'
-	import {
-		getDocDetails,
-		addDoc,
-		editDoc
-	} from '@/api/doc.js'
-	export default {
-		components:{
-		            RenCalendar
-		        },
-		data() {
-			return {
-				curDate:'',
-				markDays:[],
-				foods:[],
-				type: null,
-				patientId: null,
-				famaleurl:"/static/images/health/female_profile.png",
-				maleurl:"/static/images/health/my_heads.png",
-				checked:1,
-				tags: [{
-					name: '心脏病',
-					checked:true,
-					id: 1
-				},
-				{
-					name: '脑梗死',
-						checked:false,
-					id: 2
-				},{
-					name: '肾病',
-						checked:false,
-					id: 3
-				},{
-					name: '脂肪肝',
-						checked:false,
-					id: 4
-				}],
-				form: {
-					userName: null,
-					idCard: null,
-					sex: null,
-					birthday: null,
-					remark: null,
-				}
-			};
-		},
-		onLoad(option) {
-			let today = this.$refs.ren.getToday().date;
-			            this.curDate = today;
-			            this.markDays.push(today);
-			this.type = option.type;
-			var that=this;
-			this.userId=option.userId;
-			uni.$on('refreshExecutionRecord', () => {
-				this.getMyRecordList()
-			})
-			this.getMyRecordList()
-		},
-		onShow(){
-			
-		},
-		methods: {
-			//日历
-			onDayClick(data){
-			                this.curDate = data.date;
-							this.getMyRecordList()
-			            },
-			navgetTo(url){
-				uni.navigateTo({
-					url:url
-				})
-			},
-			//饮食
-			getMyRecordList() {
-				// var user=JSON.parse(uni.getStorageSync('userInfo'));
-				var data = {
-					userId:this.userId,
-					startDate:this.curDate,
-					  "pageNum": 1,
-					  "pageSize": 10,
-				};
-				getMyRecordList(data).then(
-					res => {
-						if (res.code == 200) {
-							this.foods = res.data.list;
-			
-						} else {
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getDocDetails() {
-				var data = {
-					docId: this.docId
-				};
-				getDocDetails(data).then(
-					res => {
-						if (res.code == 200) {
-							this.form = res.data;
-
-						} else {
-							uni.showToast({
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-		
-			// 出生日期选择
-			bindDateChange: function(e) {
-				this.form.birthday = e.target.value
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content {
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-
-		.inner {
-			// height: calc(100% - 120upx);
-			padding:0 20upx;
-            .title-box{
-				font-family: PingFang SC, PingFang SC;
-				font-weight: 500;
-				font-size: 32rpx;
-				color: #626468;
-				padding: 24rpx 0;
-               .select-box{
-               	display: flex;
-               	align-items: center;
-				justify-content: center;
-               	text{
-               		font-family: PingFang SC;
-               		font-weight: 400;
-               		font-size: 24rpx;
-               		color: #626468;
-               		margin-left: 8rpx;
-               	}
-               }
-			   .select-box2{
-			   	width: 216rpx;
-			   	height: 64rpx;
-			   	background: #FFFFFF;
-			   	border-radius: 32rpx 32rpx 32rpx 32rpx;
-			   	display: flex;
-			   	align-items: center;
-			   				justify-content: center;
-			   	text{
-			   		font-family: PingFang SC;
-			   		font-weight: 400;
-			   		font-size: 24rpx;
-			   		color: #626468;
-			   		margin-left: 5rpx;
-			   	}
-			   }
-				
-			}
-			.form-box {
-				padding: 0 30upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				// margin-bottom: 20upx;
-                
-				.form-title {
-					font-family: PingFang SC;
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #626468;
-					text-align: left;
-					padding: 30rpx 0;
-					display: block;
-				}
-
-				.form-item {
-					padding: 30upx 0;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					border-bottom: 1px solid #F1F1F1;
-
-					&:last-child {
-						border-bottom: none;
-					}
-                    .left{
-						display: flex;
-						flex-direction: column;
-						align-items: flex-start;
-						.time{
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 28rpx;
-							color: #898E91;
-							text-align: left;
-						}
-					}
-					.time2{
-						font-family: PingFang SC;
-						font-weight: 400;
-						font-size: 28rpx;
-						color: #898E91;
-						text-align: right;
-					}
-					.check{
-						
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						text{
-							// font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							color: #008FD3;
-							margin-left: 16rpx;
-						}
-					}
-					.label {
-						// width: 150upx;
-						text-align: left;
-						font-weight: 500;
-						font-size: 32rpx;
-						color: #222426;
-						text-align: left;
-					}
-                    .num{
-						font-family: PingFang SC;
-						font-weight: 400;
-						font-size: 32rpx;
-						color: #222426;
-						line-height: 34rpx;
-						display: flex;
-						align-items: center;
-					}
-				}
-			}
-		}
-
-		.btn-box {
-			height: 120upx;
-			padding: 0 30upx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-
-			// position: fixed;
-			// width: 90%;
-			// bottom: 0;
-			// left: 50%;
-			// transform: translate(-50%,-50%);
-			// background: #FFFFFF;
-			.sub-btn {
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				margin-bottom: 40upx;
-			}
-		}
-	}
-</style>

+ 0 - 601
pages_company/index.vue

@@ -1,601 +0,0 @@
-<template>
-	<view class="top-cont">
-		<image class="bg" src="https://user.test.ylrztop.com/images/sales_management_top_bg.png" mode="widthFix"></image>
-		<view :style="{height: statusBarHeight,background: bgColor }"></view>
-		<u-navbar title="销售管理" titleStyle="font-weight: 500;" @rightClick="rightClick" :autoBack="true"
-			:bg-color="bgColor">
-		</u-navbar>
-		<view class="content">
-			<!-- <view class="user-info">
-				<view class="left">
-					<view class="name-phone">
-						<view class="name">{{user.nickName}}</view>
-						<view class="phone" v-if="user!=null">{{utils.parsePhone(user.phonenumber)}}</view>
-					</view>
-				</view>
-				<view class="msg-box"  >
-					 {{user.deptName}}
-				</view>
-			</view> -->
-			<!-- 常用工具 -->
-		<!-- 	<view class="used-tools">
-				<view class="title">常用工具</view>
-				<view class="tools-list">
-					<view class="item" @click="toCreateOrder()">
-						<image src="../static/images/order.png" mode=""></image>
-						<text class="text">商品制单</text>
-					</view>
-					<view class="item" @click="toCreateCoupon()">
-						<image src="../static/images/icon_coupon.png" mode=""></image>
-						<text class="text">制单优惠券</text>
-					</view>
-					<view class="item" @click="toPay()">
-						<image src="../static/images/money.png" mode=""></image>
-						<text class="text">微信收款</text>
-					</view>
-					<view class="item" @click="alipay()">
-						<image src="../static/images/money.png" mode=""></image>
-						<text class="text">支付宝收款</text>
-					</view>
-					<view class="item" @click="toOrder()">
-						<image src="../static/images/order.png" mode=""></image>
-						<text class="text">我的订单</text>
-					</view>
-					<view class="item" @click="toPackage()">
-						<image src="../static/images/package.png" mode=""></image>
-						<text class="text">商品套餐</text>
-					</view>
-					<view class="item" @click="toCoupon()">
-						<image src="../static/images/icon_coupon.png" mode=""></image>
-						<text class="text">套餐优惠券</text>
-					</view>
-					 
-				</view>
-			</view> -->
-			<view class="user-info2">
-				<view class="left">
-					<view class="head-img">
-						<image :src="user.avatar==null || user.avatar==''?'../static/images/health/my_heads.png':user.avatar" mode="aspectFill"></image>
-					</view>
-					<view class="name-phone">
-						<view class="align-end">
-							<view class="name">{{user.nickName}}</view>
-							<image class="w48 h48" src="../static/images/company/right_arrow_black_icon24.png" mode=""></image>
-						</view>
-						<view class="phone-box" v-if="user!=null">
-							<image class="w32 h32" src="../static/images/company/phone_icon16.png" mode=""></image>
-							<view class="phone">
-								{{user.phonenumber}}
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="msg-box" v-if='user.deptName!==null'>
-					 {{user.deptName||''}}
-				</view>
-			</view>
-			<view class="used-tools2">
-				<view class="title">指标汇总</view>
-				<view class="index-box">
-					<view class="task">
-						<view class="align-center" @click="navgetTo('/pages_company/todoList?type=0')">
-							<image class="w48 h48" src="../static/images/company/appointed_task_icon.png" mode=""></image>
-							<view class="box-title">指派任务</view>
-							<image class="w24 h24" src="../static/images/company/right_arrow_right_icon.png" mode=""></image>
-						</view>
-						<view class="prop">{{(data[0].completionRate||0.00)+ "%"}}</view>
-					</view>
-					<view class="work">
-						<view class="align-center" @click="navgetTo('/pages_company/todoList?type=1')">
-							<image class="w48 h48" src="../static/images/company/work_item_icon.png" mode=""></image>
-							<view class="box-title">工作事项</view>
-						<image class="w24 h24" src="../static/images/company/right_arrow_right_icon.png" mode=""></image>
-						</view>
-						<view class="prop">{{(data[1].completionRate||0.00)+ "%"}}</view>
-					</view>
-				</view>
-			</view>
-			<view class="used-tools2">
-				<view class="title">常用工具</view>
-				<view class="tools-list">
-					<view class="item" @click="navgetTo('/pages_user/user/userTui')">
-						<image src="../static/images/company/my_promotion_icon.png" mode=""></image>
-						<text class="text">我的推广</text>
-					</view>
-					<view class="item" @click="navgetTo('/pages_company/todoList')">
-						<image src="../static/images/company/to_do_list_icon.png" mode=""></image>
-						<text class="text">待办事项</text>
-					</view>
-					<view class="item" @click="toUser()">
-						<image src="../static/images/company/customer_profile_icon.png" mode=""></image>
-						<text class="text">客户档案</text>
-					</view>
-					<view class="item" @click="navgetTo()">
-						<image src="../static/images/company/manager_examine_icon.png" mode=""></image>
-						<text class="text">管理师考核</text>
-					</view>
-					<!-- <view class="item" @click="navgetTo('/pages_company/clientList')">
-						<image src="../static/images/company/my_subordinate.png" mode=""></image>
-						<text class="text">我的下级</text>
-					</view> -->
-					<view class="item" @click="navgetTo('/pages_company/complaintList')">
-						<image src="../static/images/company/customer_complaints_icon.png" mode=""></image>
-						<text class="text">客户投诉</text>
-					</view>
-					 
-				</view>
-			</view>
-			<!-- 退出登录按钮 -->
-			<view class="log-out" @click="logout">退出登录</view>
-		</view>
-		
-	</view>
-</template>
-
-<script>
-	import {getUserInfo,getQrImg,queryCateStatis} from '@/api/companyUser'
-	export default {
-		data() {
-			return {
-				statusBarHeight:'',
-				top:0,
-				// user:{
-				// 	nickName:'健康管家小左',
-				// 	phonenumber:'13996660261',
-				// 	deptName:'测试企业',
-				// 	avatar:null
-				// },
-				 user:null,
-				 data:null,
-			};
-		},
-		computed: {
-			// 计算属性的 getter
-			bgColor: function() {
-				var top = this.top / 30;
-				return 'rgba(11,179,242, ' + top + ')';
-			},
-		},
-		onLoad() {
-			console.log("onload")
-		},
-		onShow() {
-			console.log("onshow")
-			this.getUserInfo()
-			this.queryCateStatis()
-			// this.queryCateStatis(1)
-		},
-		methods: {
-			// navgetTo(url){
-			// 	uni.navigateTo({
-			// 		url:url
-			// 	})
-			// },
-			alipay(){
-				// var url="http://alipay.yjf.runtzh.com/#/?companyId="+this.user.companyId+"&companyUserId="+this.user.userId
-				// uni.setClipboardData({
-				// 	data:url,
-				// 	success:()=>{
-				// 		uni.showToast({
-				// 			title:'收款地址已复制到剪切板',
-				// 			icon:'none'
-				// 		})
-						
-				// 	}
-				// });
-				
-				uni.navigateTo({
-					url:'/pages_company/alipayImg'
-				})
-			},
-			toUser(){
-				// uni.navigateTo({
-				// 	url:'/pages_company/clientList?companyId='+this.user.companyId+"&companyUserId="+this.user.userId
-				// })
-				
-				uni.navigateTo({
-					url:'/pages_company/doc?companyId='+this.user.companyId+"&companyUserId="+this.user.userId
-				})
-			},
-			//客户档案
-			toCard(){
-				uni.navigateTo({
-					url:'/pages_company/card?cardId='+this.user.cardId
-				})
-			},
-			toCreateOrder(){
-				uni.navigateTo({
-					url:'/pages_company/order/productList'
-				})
-			},
-			toPay(){
-				uni.navigateTo({
-					url:'/pages_user/user/pay?companyId='+this.user.companyId+"&companyUserId="+this.user.userId
-				})
-			},
-			toOrder(){
-				uni.navigateTo({
-					url:'/pages_company/storeOrder?companyId='+this.user.companyId+"&companyUserId="+this.user.userId
-				})
-			},
-			toPackage(){
-				uni.navigateTo({
-					url:'/pages_company/storeProductPackage?companyId='+this.user.companyId+"&companyUserId="+this.user.userId
-				})
-			},
-			toCoupon(){
-				uni.navigateTo({
-					url:'/pages_company/coupon'
-				})
-			},
-			toCreateCoupon(){
-				uni.navigateTo({
-					url:'/pages_company/order/coupon'
-				})
-			},
-			toCreateOrderCoupon(){
-				uni.navigateTo({
-					url:'/pages_company/order/coupon'
-				})
-			},
-			queryCateStatis(e){
-				queryCateStatis().then(
-					res => {
-						if(res.code==200){
-							  this.data=res.data;
-						}
-						else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getUserInfo(){
-				var data={token:uni.getStorageSync('CompanyUserToken')}
-				getUserInfo(data).then(
-					res => {
-						if(res.code==200){
-							  this.user=res.data;
-						}
-						else if(res.code==403){
-							uni.setStorageSync('CompanyUserToken',null);
-							uni.navigateBack({
-								delta:-1
-							})			
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			logout(){
-			 	uni.showModal({
-			 		title:"提示",
-			 		content:"确认退出登录吗?",
-			 		showCancel:true,
-			 		cancelText:'取消',
-			 		confirmText:'确定',
-			 		success:res=>{
-			 			if(res.confirm){
-			 				uni.setStorageSync('CompanyUserToken',null);
-			 				uni.navigateBack({
-			 					delta:-1
-			 				})							
-			 			}else{
-			 			}
-			 		}
-			 	})
-			 },
-			 
-			// 跳转页面
-			navgetTo(url) {
-				this.utils.isLogin().then(res => {
-					if(res){
-						uni.navigateTo({
-							url: url
-						})
-					}
-				})
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.bg {
-		width: 100%;
-		height: 380rpx;
-		position: absolute;
-		top: 0;
-		left: 0;
-		z-index: -1;
-	}
-	.content{
-		padding-top: calc(var(--status-bar-height) + 140rpx) !important;
-		margin: 20upx 0upx;
-		padding:20upx;
-		// .user-info{
-		// 	padding: 30upx;
-		// 	display: flex;
-		// 	align-items: center;
-		// 	justify-content: space-between;
-		// 	.left{
-		// 		position: relative;
-		// 		display: flex;
-		// 		.head-img{
-		// 			width: 120upx;
-		// 			height: 120upx;
-		// 			border-radius: 50%;
-		// 			overflow: hidden;
-		// 			margin-right: 30upx;
-		// 			border: 4upx solid #FFFFFF;
-		// 			box-shadow: 0px 5px 15px 2px rgba(0,0,0,0.1);
-		// 			image{
-		// 				width: 100%;
-		// 				height: 100%;
-		// 			}
-		// 		}
-		// 		.name-phone{
-		// 			padding-top: 15upx;
-		// 			.name{
-		// 				font-size: 36upx;
-		// 				font-family: PingFang SC;
-		// 				font-weight: bold;
-		// 				color: #111111;
-		// 				line-height: 1;
-		// 			}
-		// 			.phone{
-		// 				font-size: 28upx;
-		// 				font-family: PingFang SC;
-		// 				font-weight: 500;
-		// 				color: #666666;
-		// 				line-height: 1;
-		// 				margin-top: 30upx;
-		// 			}
-		// 		}
-		// 	}
-		// 	.msg-box{
-		// 		padding: 5rpx 15upx;
-		// 		height: 30upx;
-		// 		line-height: 30upx;
-		// 		font-size: 22upx;
-		// 		font-family: PingFang SC;
-		// 		font-weight: 500;
-		// 		color: #FFFFFF;
-		// 		border-radius: 8rpx;
-		// 		background-color: #0bb3f2;
-		// 	}
-		// }
-		// .used-tools{
-		// 	box-sizing: border-box;
-		// 	background: #FFFFFF;
-		// 	border-radius: 16upx;
-		// 	padding: 40upx 30upx;
-			
-		// 	.title{
-		// 		font-size: 32upx;
-		// 		font-family: PingFang SC;
-		// 		font-weight: bold;
-		// 		color: #222222;
-		// 		line-height: 1;
-		// 	}
-		// 	.tools-list{
-		// 		margin-top: 50upx;
-		// 		display: flex;
-		// 		flex-wrap: wrap;
-		// 		width: 100%;
-		// 		.item{
-		// 			box-sizing: border-box;
-		// 			width: 25%;
-		// 			display: flex;
-		// 			flex-direction: column;
-		// 			align-items: center;
-		// 			justify-content: center;
-		// 			margin-bottom: 50upx;
-		// 			position: relative;
-		// 			image{
-		// 				width: 44upx;
-		// 				height: 44upx;
-		// 			}
-		// 			.text{
-		// 				font-size: 24upx;
-		// 				font-family: PingFang SC;
-		// 				font-weight: 500;
-		// 				color: #111111;
-		// 				line-height: 1;
-		// 				margin-top: 20upx;
-		// 			}
-		// 			.contact-btn{
-		// 				display: inline-block;
-		// 				position: absolute;
-		// 				top: 0;
-		// 				left: 0;
-		// 				width: 100%;
-		// 				height: 100%;
-		// 				opacity: 0;
-		// 			}
-		// 		}
-		// 	}
-		// }
-		.user-info2{
-			// padding: 30upx;
-			margin-bottom: 30rpx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-bottom: 20rpx;
-			.left{
-				position: relative;
-				display: flex;
-				.head-img{
-					width: 128upx;
-					height: 128upx;
-					border-radius: 50%;
-					overflow: hidden;
-					margin-right: 30upx;
-					border: 4upx solid #FFFFFF;
-					box-shadow: 0px 5px 15px 2px rgba(0,0,0,0.1);
-					image{
-						width: 100%;
-						height: 100%;
-					}
-				}
-				.name-phone{
-					// padding-top: 15upx;
-					display: flex;
-					flex-direction: column;
-					justify-content:center;
-					.name{
-						font-size: 40upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #111111;
-						// line-height: 1;
-					}
-					.phone-box{
-						width: 220rpx;
-						height: 48rpx;
-						background: #008FD3;
-						border-radius: 24rpx 24rpx 24rpx 24rpx;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-						margin-top: 14rpx;
-						.phone{
-							font-family: PingFang SC;
-							font-weight: 400;
-							font-size: 24rpx;
-							color: #FFFFFF;
-							line-height: 36rpx;
-							margin-left: 6rpx;
-						}
-					}
-					
-				}
-			}
-			.msg-box{
-				width: 144rpx;
-				height: 56rpx;
-				line-height: 56rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				font-size: 24rpx;
-				color: #FFFFFF;
-				text-align: center;
-				background: linear-gradient( 90deg, #FEA501 0%, #FECB8A 100%);
-				border-radius: 28rpx 28rpx 28rpx 28rpx;
-				border: 1rpx solid #FEDDB9;
-			}
-		}
-		.used-tools2{
-			box-sizing: border-box;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 40upx 30upx;
-			margin-bottom: 20rpx;
-			.title{
-				font-size: 32upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #222222;
-				line-height: 1;
-			}
-			.tools-list{
-				margin-top: 50upx;
-				display: flex;
-				flex-wrap: wrap;
-				width: 100%;
-				.item{
-					box-sizing: border-box;
-					width: 25%;
-					display: flex;
-					flex-direction: column;
-					align-items: center;
-					justify-content: center;
-					margin-bottom: 50upx;
-					position: relative;
-					image{
-						width: 48upx;
-						height: 48upx;
-					}
-					.text{
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 1;
-						margin-top: 20upx;
-					}
-					.contact-btn{
-						display: inline-block;
-						position: absolute;
-						top: 0;
-						left: 0;
-						width: 100%;
-						height: 100%;
-						opacity: 0;
-					}
-				}
-			}
-			.index-box{
-				margin-top: 30rpx;
-				display: flex;
-				    align-items: center;
-				    justify-content: space-between;
-				.box-title{
-					font-family: PingFang SC;
-					font-weight: 400;
-					font-size: 24rpx;
-					color: #626468;
-					margin: 0 14rpx;
-				}
-				.prop{
-					font-family: Roboto Slab;
-					font-weight: 500;
-					font-size: 48rpx;
-					color: #222426;
-				}
-				.task{
-					width: 311rpx;
-					height: 142rpx;
-					background: #EBF8FF;
-					border-radius: 16rpx 16rpx 16rpx 16rpx;
-					display: flex;
-					    flex-direction: column;
-					    justify-content: center;
-					    align-items: center;
-				}
-				.work{
-					width: 311rpx;
-					height: 142rpx;
-					background: #FFF3DE;
-					border-radius: 16rpx 16rpx 16rpx 16rpx;
-					display: flex;
-					    flex-direction: column;
-					    justify-content: center;
-					    align-items: center;
-				}
-			}
-		}
-		.log-out{
-			height: 80upx;
-			line-height: 80upx;
-			text-align: center;
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #666666;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-		}
-	}
-</style>

+ 0 - 500
pages_company/order/cart.vue

@@ -1,500 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 商品列表 -->
-		<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-			<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-				<label style="margin-right: 30upx;">
-					<checkbox :value="shop.checked" :checked="shop.checked" @click="checkShopChange(shop)" />
-				</label>
-				<text>{{shop.storeName}}</text>
-			</view>
-			<view class="goods-list">
-				<view class="item" v-for="(item,index) in shop.list" :key="index">
-					<label style="margin-right: 30upx;">
-						<checkbox :value="item.checked"  :checked="item.checked" @click="checkChange(item,shop)" />
-					</label>
-					<image class="goods-img" :src="item.productAttrImage==null||item.productAttrImage==''?item.productImage:item.productAttrImage" mode="aspectFit"></image>
-					<view class="info-box">
-						<view>
-							<view class="title-box">
-								<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>
-								<view class="title ellipsis">{{ item.productName }}</view>
-							</view>
-							<view class="intro ellipsis">{{item.productAttrName}}</view>
-						</view>
-						<view class="price-num">
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="text">{{item.price}}</text>
-							</view>
-							<view class="num-box">
-								<view class="img-box" @click="delNum(item)">
-									<image v-if="item.cartNum <= 1" src="../../static/images/jian.png" mode=""></image>
-									<image v-else src="../../static/images/jian2.png" mode=""></image>
-								</view>
-								<input type="text" @change="changeNum($event,item)" :value="item.cartNum" />
-								<view class="img-box" @click="addNum(item)">
-									<image src="../../static/images/add.png" mode=""></image>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view v-if="carts.length == 0" class="no-data-box">
-			<image src="../../static/images/no_data.png" mode="aspectFit"></image>
-			<view class="empty-title">暂无数据</view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="left">
-				<label>
-					<checkbox  :checked="checkAll" @click="handleCheckAll()" />
-				</label>
-				<text class="text">全选</text>
-				<text class="text" @click="delCart()">删除</text>
-			</view>
-			<view class="right">
-				<view class="total">
-					<text class="label">合计:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{totalMoney.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="submit">制单</view>
-			</view>
-		</view>
-		
-	</view>
-</template>
-
-<script>
-	import {getCarts,cartNum,delCart} from '@/api/product'
-	import {createSalesOrder} from '@/api/companyOrder.js'
-	export default {
-		 
-		data() {
-			return {
-				totalMoney:0.00,
-				carts:[],
-				checkAll:false,
-			}	
-		},
-		onLoad() {
-			this.getCarts();
- 
-		},
-		 
-		methods: {
-			changeNum(e,item) {
-				item.cartNum = e.detail.value.replace(/\D/g, '')
-				if (item.cartNum <= 1) {
-				  uni.showToast({
-				    title: "已经是底线啦!",
-				    icon: "none",
-				    duration: 2000
-				  });
-				  return;
-				}
-				if(item.cartNum < 1) {
-					item.cartNum = 1
-				}
-				if(item.cartNum>=item.stock){
-					item.cartNum=item.stock;
-				}
-				this.changeCartNum(item)
-			},
-			delCart(){
-				var selectCarts = this.carts.flatMap(item => item.list.filter(listItem => listItem.checked === true)).map(el => el.id);
-				
-				if(selectCarts.length==0){
-					uni.showToast({
-						icon:'none',
-						title: "请选择商品删除",
-					});
-					return;
-				}
-				let data = {ids:selectCarts};
-				delCart(data).then(
-					res => {
-						if(res.code==200){
-							uni.showToast({
-								icon:'success',
-								title: "操作成功",
-							});
-							this.getCarts()
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			computedMoney(){
-				var money=0;
-				var that=this;
-				this.carts.forEach((item,index,arr)=>{
-					item.list.forEach(it => {
-						if(it.checked){
-							money+=it.price*it.cartNum;
-						}
-					});
-				})
-				this.totalMoney=money;
-			},
-			handleCheckAll(){
-				this.checkAll=!this.checkAll;
-				var that=this;
-				this.carts.forEach((item,index,arr)=>{
-				     item.checked=that.checkAll;
-					 item.list.forEach(it => {
-					 	it.checked=that.checkAll;
-					 });
-				})
-				this.computedMoney();
-			},
-			checkShopChange(item) {
-				item.checked = !item.checked;
-				item.list.forEach(it => {
-					it.checked= item.checked;
-				});
-				this.computedMoney();
-			},
-			checkChange(item,shop){
-				item.checked=!item.checked;
-				shop.checked = shop.list.every(it => it.checked == true);
-				this.checkAll = this.carts.every(item=>item.checked)
-				this.computedMoney();
-			},
-			changeCartNum(item){
-				let data = {number:item.cartNum,id:item.id};
-				cartNum(data).then(
-					res => {
-						if(res.code==200){
-							uni.showToast({
-								icon:'none',
-								title: "操作成功",
-							});
-							this.computedMoney();
-							
-						}else{
-							
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			getCarts(){
-				getCarts().then(
-					res => {
-						if(res.code==200){
-							 this.carts=res.carts;
-							this.carts.forEach(item => {
-							  item.checked = false;
-							  item.list.forEach(it => {
-							    it.checked = false;
-							  });
-							});
-							 this.computedMoney();
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// 购物车减法
-			delNum(item) {
-				if (item.cartNum <= 1) {
-				  uni.showToast({
-				    title: "已经是底线啦!",
-				    icon: "none",
-				    duration: 2000
-				  });
-				  return;
-				}
-				item.cartNum --
-				if(item.cartNum < 1) {
-					item.cartNum = 1
-				}
-				 
-				this.changeCartNum(item)
-			},
-			// 购物车加法
-			addNum(item) {
-				item.cartNum++
-				if(item.cartNum>=item.stock){
-					item.cartNum=item.stock;
-				}
-				this.changeCartNum(item)
-			},
-			// 结算
-			submit() {
-				// var selectCarts=this.carts.filter(ele => ele.checked==true).map(ele => {
-				//   return ele.id
-				// });
-				let selectCarts = this.carts
-				  .filter(item => item.list.some(listItem => listItem.checked === true))
-				  .map(item => ({
-				    storeId: item.list[0].storeId || "",
-				    cartIds: item.list.filter(it=>it.checked == true).map(it => it.id).join(","),
-				  }));
-				if(selectCarts.length==0){
-					uni.showToast({
-						icon:'none',
-						title: "请选择商品",
-					});
-					return;
-				}
-				var data={token:uni.getStorageSync('CompanyUserToken'),data:selectCarts}
-				createSalesOrder(data).then(
-					res => {
-						if(res.code==200){
-							uni.navigateTo({
-								url: './confirmCompanyOrder?orderKey='+res.orderKey
-							})
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: "请求失败",
-							});
-						}
-					},
-					rej => {}
-				);
-			
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-	.content{
-		// height: 100%;
-		padding: 20upx;
-		padding-bottom: 140upx;
-		.shopbox {
-			background: #FFFFFF;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-		}
-		.shopbox-name {
-			padding: 30rpx 30rpx 0 30rpx;
-			font-family: PingFang SC, PingFang SC;
-			font-weight: 400;
-			font-size: 30rpx;
-			color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		.goods-list{
-			// padding-bottom: 120upx;
-			.item{
-				box-sizing: border-box;
-				height: 221upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				margin-bottom: 20upx;
-				padding: 30upx;
-				display: flex;
-				align-items: center;
-				&:last-child{
-					margin-bottom: 0;
-				}
-				.goods-img{
-					width: 160upx;
-					height: 160upx;
-					background: #FFFFFF;
-					margin-right: 30upx;
-					flex-shrink: 0;
-				}
-				.info-box{
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					width: calc(100% - 255upx);
-					.title-box{
-						width: 100%;
-						display: flex;
-						align-items: center;
-						.tag{
-							padding: 0 6upx;
-							height: 30upx;
-							line-height: 30upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							flex-shrink: 0;
-						}
-						.title{
-							flex: 1;
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							line-height: 1;
-						}
-					}
-					.intro{
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						margin-top: 22upx;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.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;
-							}
-							.text{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #FF6633;
-								line-height: 1;
-							}
-						}
-						.num-box{
-							display: flex;
-							align-items: center;
-							.img-box{
-								width: 60upx;
-								height: 60upx;
-								// border-radius: 4upx;
-								border: 1px solid #dddddd;
-								display: flex;
-								align-items: center;
-								justify-content: center;
-								image{
-									width: 25rpx;
-									height: 25rpx;
-								}
-							}
-							input{
-								width: 60upx;
-								height: 60upx;
-								line-height: 60upx;
-								font-size: 28upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								// border-radius: 4upx;
-								border-top: 1px solid #dddddd;
-								border-bottom: 1px solid #dddddd;
-								text-align: center;
-								// margin: 0 16upx;
-							}
-						}
-					}
-				}
-			}
-		}
-		.btn-foot{
-			box-sizing: border-box;
-			width: 100%;
-			height: 121upx;
-			background: #FFFFFF;
-			padding: 16upx 30upx 16upx 60upx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			position: fixed;
-			left: 0;
-			bottom: 0;
-			z-index: 99;
-			.left{
-				display: flex;
-				align-items: center;
-				.text{
-					margin-left: 14upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					line-height: 1;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.total{
-					display: flex;
-					align-items: flex-end;
-					margin-right: 36upx;
-					.label{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1.5;
-					}
-					.price{
-						display: flex;
-						align-items: flex-end;
-						.unit{
-							font-size: 32upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1.2;
-							margin-right: 10upx;
-						}
-						.num{
-							font-size: 30upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FF6633;
-							line-height: 1;
-						}
-					}
-				}
-				.btn{
-					width: 200upx;
-					height: 88upx;
-					line-height: 88upx;
-					text-align: center;
-					font-size: 30upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FFFFFF;
-					background: #0bb3f2;
-					border-radius: 44upx;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 552
pages_company/order/confirmCompanyOrder.vue

@@ -1,552 +0,0 @@
-<template>
-	<view>
-		<view class="inner-box">
-			<!-- 药品列表 -->
-			<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-				<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-				<!-- 	<label style="margin-right: 30upx;">
-						<checkbox :value="shop.checked" :checked="chooseOrderKey == shop.createOrderKey" @click="choose(shop)" />
-					</label> -->
-					<text>{{shop.storeName}}</text>
-				</view>
-				<view class="goods-list">
-					<view v-for="(item,index) in shop.list" :key="index" class="item" @click="showDetail(item)">
-						<view class="img-box">
-							<image :src="item.productAttrImage?item.productAttrImage:item.productImage" mode="aspectFill"></image>
-						</view>
-						<view class="info-box">
-							<view>
-								<view class="name-box ellipsis2">
-									<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
-								</view>
-								<view class="spec ellipsis2">{{item.productAttrName}}</view>
-							</view>
-							<view class="price-num">
-								<view class="price">
-									<text class="unit">¥</text>
-									<text class="num">{{item.price.toFixed(2)}}</text>
-								</view>
-								<view class="num">x{{item.cartNum}}</view>
-							</view>
-						</view>
-					</view>
-					<!-- 小计 -->
-					<view class="sub-total">
-						<view class="x-f">
-							<text class="label">合计金额:</text>
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="num">{{shop.totalMoney.toFixed(2)}}</text>
-							</view>
-						</view>
-						<view class="x-f" style="margin-left: 20rpx;">
-							<text class="label">实付金额:</text>
-							<view class="price">
-								<text class="unit">¥</text>
-								<text class="num">{{shop.payMoney.toFixed(2)}}</text>
-							</view>
-						</view>
-					</view>
-				</view>
-			 </view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="right">
-				<view class="total" >
-					<text class="label">总金额:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{price.totalPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				<view class="btn" @click="openUpdateMoney()" >
-					实收金额
-				</view>
-				<view class="btn"  >
-					分享
-					<button  class="share" data-name="shareBtn" open-type="share">分享</button>
-				</view>
-			</view>
-		</view>
-		<modal v-if="inputShow" title="实收金额" confirm-text="保存" cancel-text="取消" @cancel="cancelUpdateMoney" @confirm="confirmUpdateMoney">
-			<view style="margin-bottom: 20rpx;color: #333;">选择店铺:</view>
-			<view class="shopbox-pop">
-				<view v-for="(shop,idx) in carts" :key="idx">
-					<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'" style="margin-bottom: 20rpx;" @click="choose(shop,idx)">
-						<label style="margin-right: 20upx;">
-							<checkbox :value="shop.checked" :checked="chooseOrderKey == shop.createOrderKey"/>
-						</label>
-						<text>{{shop.storeName}}</text>
-					</view>
-				</view>
-			</view>
-			<view class="rowbox x-f" :style="{visibility: chooseOrderKey ? 'visible':'hidden',color: '#333'}">店铺合计金额:¥{{carts[idx].totalMoney.toFixed(2)}}</view>
-			<view class="rowbox x-f">
-				<text style="margin-right: 20upx;color: #333;flex-shrink: 0;">实收金额</text>
-				<input type="text" v-model="inputTxt" placeholder="请输入实收金额" class="intxt" maxlength="8" />
-			</view>
-			<!-- <view class="rowbox x-f">
-				<text style="margin-right: 20upx;color: #333;flex-shrink: 0;">代收金额</text>
-				<input type="text" v-model="inputTxt" placeholder="请输入代收金额" class="intxt" maxlength="8" />
-			</view> -->
-		</modal>
-	</view>
-</template>
-
-<script>
-	import {getSalesOrder,getSalesOrders,addUserCart,updateSalseOrderMoney,updateSaleOrderMoney} from '@/api/companyOrder.js'
-	export default {
-		data() {
-			return {
-				inputShow:false,
-				inputTxt:null,
-				orderKey:null,
-				price:{
-					payPrice:0.00,
-					totalPrice:0.00,
-				},
-				carts:[],
-				chooseOrderKey: '',
-				idx: 0
-				
-			}
-		},
-		onLoad(option) {
-			this.orderKey=option.orderKey;
-			this.getSalesOrder();
-			 
-		},
-		//发送给朋友
-		onShareAppMessage(res) {
-			return {
-				title: "壹柒玖康养集团-您的专属健康解决方案",
-				path: '/pages_company/order/confirmOrder?orderKey='+this.orderKey,
-				imageUrl: 'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-			
-		},
-		//分享到朋友圈
-		onShareTimeline(res) {
-			return {
-				title:"壹柒玖康养集团-您的专属健康解决方案",
-				query:'orderKey='+this.orderKey,
-				imageUrl:  'https://user.test.ylrztop.com/images/logo.png' //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
-			}
-		},
-		methods: {
-			choose(shop,idx) {
-				this.chooseOrderKey = this.chooseOrderKey == shop.createOrderKey ? "" : shop.createOrderKey
-				this.idx = this.chooseOrderKey ? idx : 0
-			},
-			openUpdateMoney(){
-				this.chooseOrderKey = ""
-				this.idx = 0
-				this.inputTxt = null
-				this.inputShow = true
-				// if(this.chooseOrderKey) {
-				// 	this.inputTxt = null
-				// 	this.inputShow = true
-				// } else {
-				// 	uni.showToast({
-				// 		title: "请先选择订单",
-				// 		icon: "none"
-				// 	})
-				// }
-			},
-			cancelUpdateMoney(){
-				this.chooseOrderKey = ""
-				this.idx = 0
-				this.inputShow = false
-			},
-			confirmUpdateMoney(){
-				if(!this.chooseOrderKey) {
-					uni.showToast({
-						title: "请先选择订单",
-						icon: "none"
-					})
-					return
-				}
-				if(parseFloat(this.inputTxt)>0){
-					// var that=this;
-					// var data={createOrderKey:this.chooseOrderKey,token:uni.getStorageSync('CompanyUserToken'),money:this.inputTxt}
-					// updateSalseOrderMoney(data).then(
-					// 	res => {
-					// 		if(res.code==200){
-					// 			this.chooseOrderKey = ""
-					// 			this.inputShow = false
-					// 			this.getSalesOrder();
-					// 		}else{
-					// 			uni.showToast({
-					// 				icon:'none',
-					// 				title: res.msg,
-					// 			});
-					// 		}
-					// 	},
-					// 	rej => {}
-					// );
-					// 多店铺修改实付金额
-					const param = {
-						token:uni.getStorageSync('CompanyUserToken'),
-						vos: this.carts.map(item => ({
-							createOrderKey: item.createOrderKey, // 购物车id
-							totalPrice: item.totalMoney,//原价
-							payPrice: item.createOrderKey == this.chooseOrderKey ? Number(this.inputTxt || 0) : item.payMoney//实收价
-						}))
-					}
-					console.log(param)
-					updateSaleOrderMoney(param).then(res => {
-							if(res.code==200){
-								this.chooseOrderKey = ""
-								this.idx = 0
-								this.inputShow = false
-								this.getSalesOrder();
-							}else{
-								uni.showToast({
-									icon:'none',
-									title: res.msg,
-								});
-							}
-						},
-						rej => {}
-					);
-				}
-				else{
-					uni.showToast({
-						icon:'none',
-						title: "价格应大于0",
-					});
-				}
-			},
-			showDetail(item) {
-				uni.navigateTo({
-					url: 'productDetails?productId='+item.productId
-				})
-			},
-			getSalesOrder(){
-				
-				var that=this;
-				that.price.payPrice=0;
-				that.price.totalPrice=0;
-				var data={createOrderKeys:this.orderKey}
-				getSalesOrders(data).then(
-					res => {
-						if(res.code==200){
-							this.carts=res.carts;
-							 this.carts.forEach(function(element) {
-								that.price.totalPrice += element.payMoney;
-								// element.payPrice = 0
-								// element.list.forEach(el=>{
-								// 	element.payPrice += el.price * el.cartNum;
-								// })
-							 });
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			 
-		}
-	}
-</script>
-
-<style lang="scss">
-	.intxt {
-		border: 1rpx solid #eee;
-		padding: 10rpx 20rpx;
-		border-radius: 10rpx;
-	}
-	.rowbox {
-		margin-bottom: 20rpx;
-	}
-	.shopbox-pop {
-		max-height: 40vh;
-		overflow-y: auto;
-		box-sizing: border-box;
-		margin-bottom: 30rpx;
-		.shopbox-name {
-			background-color: #fff;
-			padding: 20rpx;
-			border-radius: 10rpx;
-		}
-	}
-	.inner-box{
-		padding: 20upx 20upx 140upx;
-		 .shopbox {
-			 background-color: #FFFFFF;
-			 border-radius: 16upx;
-			 margin-bottom: 20upx;
-		 }
-		 .shopbox-name {
-		 	padding: 30rpx 30rpx 0 30rpx;
-		 	font-family: PingFang SC, PingFang SC;
-		 	font-weight: 400;
-		 	font-size: 30rpx;
-		 	color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		 }
-		.goods-list{
-			// margin-top: 20upx;
-			padding: 0 30upx;
-			background-color: #FFFFFF;
-			border-radius: 16upx;
-			.item{
-				padding: 30upx 0;
-				border-bottom: 1px solid #EDEEEF;
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 160upx;
-					height: 160upx;
-					margin-right: 30upx;
-					image{
-						width: 100%;
-						height: 100%;
-					}
-				}
-				.info-box{
-					width: calc(100% - 190upx);
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					.name-box{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 40upx;
-						.tag{
-							display: inline-block;
-							padding: 0 6upx;
-							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							line-height: 30upx;
-							float: left;
-							margin-top: 7upx;
-						}
-					}
-					.spec{
-						margin-top: 10upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.price{
-							display: flex;
-							align-items: flex-end;
-							.unit{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-							.num{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1;
-							}
-						}
-						.num{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.sub-total{
-				height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				.label{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-				.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: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-		}
-		.points{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			 
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				display: flex;
-				align-items: center;
-				image{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					 
-				}
-				image{
-					margin-left: 15upx;
-					width: 14upx;
-					height: 24upx;
-				}
-			}
-		}
-		.remarks{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-			display: flex;
-			align-items: center;
-			input{
-				width: 100%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #000000;
-			}
-			.input{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-		}
-	}
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		padding: 16upx 30upx;
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.right{
-			display: flex;
-			align-items: center;
-			.total{
-				display: flex;
-				align-items: flex-end;
-				margin-right: 15upx;
-				.label{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1.5;
-				}
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.unit{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.btn{
-				margin-left: 10rpx;
-				width: 180upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-				position: relative;
-				.share{
-					display: inline-block;
-					position: absolute;
-					top: 0;
-					left: 0;
-					width: 100%;
-					height: 100%rpx;
-					opacity: 0;
-				}
-			}
-		}
-	}
-</style>
- 

+ 0 - 587
pages_company/order/confirmOrder.vue

@@ -1,587 +0,0 @@
-<template>
-	<view>
-		<view class="inner-box">
-			<!-- 药品列表 -->
-			<view class="shopbox" v-for="(shop,idx) in carts" :key="idx">
-				<view class="shopbox-name" v-if="shop.storeName && shop.storeName != 'null'">
-					<text>{{shop.storeName}}</text>
-				</view>
-				<view class="goods-list">
-					<view v-for="(item,index) in shop.list" :key="index" class="item" @click="showDetail(item)">
-						<view class="img-box">
-							<image :src="item.productAttrImage?item.productAttrImage:item.productImage" mode="aspectFill"></image>
-						</view>
-						<view class="info-box">
-							<view>
-								<view class="name-box ellipsis2">
-									<view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
-								</view>
-								<view class="spec ellipsis2">{{item.productAttrName}}</view>
-							</view>
-							<view class="price-num">
-								<view class="price">
-									<text class="unit">¥</text>
-									<text class="num">{{item.price.toFixed(2)}} </text>
-								</view>
-								<view class="num">x{{item.cartNum}}</view>
-							</view>
-						</view>
-					</view>
-					<!-- 小计 -->
-					<view class="sub-total">
-						<text class="label">订单金额:</text>
-						<view class="price">
-							<text class="unit">¥</text>
-							<text class="num">{{shop.payMoney.toFixed(2)}}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="right">
-				<view class="total">
-					<text class="label">实付金额:</text>
-					<view class="price">
-						<text class="unit">¥</text>
-						<text class="num">{{price.payPrice.toFixed(2)}}</text>
-					</view>
-				</view>
-				 
-				<view class="btn" @click="submitOrder">支付{{price.payPrice.toFixed(2)}}</view>
-			</view>
-		</view>
-		<view class="message-box" v-if="messageShow">
-			<view class="left">
-				<image src="/static/images/close24.png" mode="" @click="closeOrder()" ></image>
-				<view class="text ellipsis">您有{{count0}}个待支付订单</view>
-			</view>
-			<view class="btn" @click="showOrder()">查看</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getOrderCount} from '@/api/storeOrder'
-	import {getSalesOrder,getSalesOrders,addUserCart} from '@/api/companyOrder.js'
-	export default {
-		data() {
-			return {
-				count0:0,
-				messageShow:false,
-				orderKey:null,
-				price:{
-					totalPrice:0.00,
-					payPrice:0.00,
-				},
-				carts:[],
-				
-			}
-		},
-		onLoad(option) {
-			if(this.utils.isLogin()){
-				this.getOrderCount();
-			}
-			this.orderKey=option.orderKey;
-			this.getSalesOrder();
-			 
-		},
-		methods: {
-			showOrder(){
-				this.utils.isLogin().then(res => {
-					if(res){
-						uni.navigateTo({
-							url: '/pages_user/user/storeOrder?status=0'
-						})
-					}
-				})
-			},
-			closeOrder(){
-				this.messageShow=false;
-			},
-			getOrderCount(){
-				getOrderCount().then(
-					res => {
-						if(res.code==200){
-							this.count0=res.count0;
-							if(this.count0>0){
-								this.messageShow=true;
-							}
-						} 
-					},
-					rej => {}
-				);
-			},
-			showDetail(item) {
-				uni.navigateTo({
-					url: './productShowDetails?productId='+item.productId
-				})
-			},
-			getSalesOrder(item){
-				var that=this;
-				that.price.payPrice=0;
-				var data={createOrderKeys:this.orderKey}
-				getSalesOrders(data).then(
-					res => {
-						if(res.code==200){
-							this.carts=res.carts;
-							this.carts.forEach(function(element) {
-								that.price.payPrice += element.payMoney;
-								// that.price.payPrice += element.totalMoney
-								// element.totalPrice = 0
-								// element.list.forEach(el=>{
-								// 	element.totalPrice += el.price * el.cartNum;
-								// })
-							});
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-						}
-					},
-					rej => {}
-				);
-			},
-			// 提交订单
-			submitOrder() {
-				this.utils.isLogin().then(res => {
-					if(res){
-						var data={createOrderKeys:this.orderKey}
-						addUserCart(data).then(
-							res => {
-								if(res.code==200){
-									const confirmParam = this.carts.map((item,i)=>({
-										storeId: item.list[0].storeId,
-										data: {
-										  type: "buy",
-										  cartIds: res.cartIds && res.cartIds.length > 0 ? res.cartIds[i] || ''  : ''
-										}
-									}))
-									const companyId = res.companyIds && res.companyIds.length > 0 ? res.companyIds[0] : ''
-									const companyUserId = res.companyUserIds && res.companyUserIds.length > 0 ? res.companyUserIds[0] : ''
-									uni.navigateTo({
-										url: '/pages/shopping/confirmCreateOrder?companyId='+companyId+"&companyUserId="+companyUserId+"&createOrderKey="+this.orderKey +'&confirmParam='+encodeURIComponent(JSON.stringify(confirmParam))
-									})
-									// uni.navigateTo({
-									// 	url: '/pages/shopping/confirmCreateOrder?type=buy&cartIds='+res.cartIds.toString()+"&companyId="+res.companyId+"&companyUserId="+res.companyUserId+"&createOrderKey="+this.orderKey
-									// })
-								}else{
-									uni.showToast({
-										icon:'none',
-										title: res.msg,
-									});
-								}
-							},
-							rej => {}
-						);
-						//将购物车产品更新为自己的购物车 
-					}
-				})
-				
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.inner-box{
-		padding: 20upx 20upx 140upx;
-		 .shopbox {
-			 background-color: #FFFFFF;
-			 border-radius: 16upx;
-			 margin-bottom: 20upx;
-		 }
-		 .shopbox-name {
-		 	padding: 30rpx 30rpx 0 30rpx;
-		 	font-family: PingFang SC, PingFang SC;
-		 	font-weight: 400;
-		 	font-size: 30rpx;
-		 	color: #111;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		 }
-		.goods-list{
-			// margin-top: 20upx;
-			padding: 0 30upx;
-			background-color: #FFFFFF;
-			border-radius: 16upx;
-			.item{
-				padding: 30upx 0;
-				border-bottom: 1px solid #EDEEEF;
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 160upx;
-					height: 160upx;
-					margin-right: 30upx;
-					image{
-						width: 100%;
-						height: 100%;
-					}
-				}
-				.info-box{
-					width: calc(100% - 190upx);
-					height: 160upx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-between;
-					.name-box{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #111111;
-						line-height: 40upx;
-						.tag{
-							display: inline-block;
-							padding: 0 6upx;
-							height: 30upx;
-							background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-							border-radius: 4upx;
-							margin-right: 10upx;
-							font-size: 22upx;
-							font-family: PingFang SC;
-							font-weight: bold;
-							color: #FFFFFF;
-							line-height: 30upx;
-							float: left;
-							margin-top: 7upx;
-						}
-					}
-					.spec{
-						margin-top: 10upx;
-						font-size: 24upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						line-height: 1;
-					}
-					.price-num{
-						display: flex;
-						align-items: center;
-						justify-content: space-between;
-						.price{
-							display: flex;
-							align-items: flex-end;
-							.unit{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1.2;
-								margin-right: 4upx;
-							}
-							.num{
-								font-size: 32upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #111111;
-								line-height: 1;
-							}
-						}
-						.num{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-					}
-				}
-			}
-			.sub-total{
-				height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-				.label{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-				.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: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-		}
-		.points{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			 
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left{
-				display: flex;
-				align-items: center;
-				image{
-					width: 28upx;
-					height: 28upx;
-					margin-right: 20upx;
-				}
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
-			}
-			.right{
-				display: flex;
-				align-items: center;
-				.text{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					 
-				}
-				image{
-					margin-left: 15upx;
-					width: 14upx;
-					height: 24upx;
-				}
-			}
-		}
-		.remarks{
-			height: 88upx;
-			padding: 0 30upx;
-			background: #FFFFFF;
-			border-radius: 16upx;
-			margin-top: 20upx;
-			display: flex;
-			align-items: center;
-			input{
-				width: 100%;
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #000000;
-			}
-			.input{
-				font-size: 28upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-			}
-		}
-	}
-	
-	
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		 
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.right{
-			display: flex;
-			align-items: center;
-			.total{
-				display: flex;
-				align-items: flex-end;
-				margin-right: 15upx;
-				.label{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1.5;
-				}
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.unit{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-			}
-			.btn{
-				margin-right: 15upx;
-				padding: 20rpx 30rpx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border-radius: 44upx;
-			}
-		}
-	}
-</style>
-<style lang="less" scoped>
-	.coupon {
-	  height: 100%;
-	}
-	/*优惠券列表公共*/
-	.coupon-list {
-	}
-	.coupon-list .item {
-	  display: flex;
-	  flex-direction: column;
-	  justify-content: center;
-	  align-items: center;
-	  width: 100%;
-	  height: 1.7 * 100rpx;
-	  margin-bottom: 0.16 * 100rpx;
-	}
-	
-	.coupon-list .item .money {
-	  background-size: 100% 100%;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  font-size: 0.36 * 100rpx;
-	  font-weight: bold;
-	  text-align: center;
-	  display: flex;
-	  flex-direction: column;
-	  align-items: center;
-	  justify-content: center;
-	  position: relative;
-	  
-	}
-	.coupon-list .item .money .img{
-	  position: absolute;
-	  width: 2.4 * 100rpx;
-	  height: 100%;
-	  color: #fff;
-	  
-	}
-	
-	.coupon-list .item .money .num {
-	  font-size: 0.6 * 100rpx;
-	}
-	.coupon-list .item .money .pic-num {
-	  font-size: 20rpx;
-	  z-index: 99;
-	}
-
-	
-	.coupon-list .item .text {
-	  width: 4.5 * 100rpx;
-	  padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
-	  background-color: #fff;
-	  box-sizing: border-box;
-	}
-	
-	.coupon-list .item .text .condition {
-	  font-size: 0.3 * 100rpx;
-	  color: #282828;
-	  height: 0.93 * 100rpx;
-	  line-height: 0.93 * 100rpx;
-	  border-bottom: 1px solid #f0f0f0;
-	}
-	
-	.coupon-list .item .text .data {
-	  font-size: 0.2 * 100rpx;
-	  color: #999;
-	  height: 0.76 * 100rpx;
-	}
-	
-	.coupon-list .item .text .data .bnt {
-	  width: 1.36 * 100rpx;
-	  height: 0.44 * 100rpx;
-	  border-radius: 0.22 * 100rpx;
-	  font-size: 0.22 * 100rpx;
-	  color: #fff;
-	  text-align: center;
-	  line-height: 0.44 * 100rpx;
-	  background-color: red;
-	}
-	
-	.coupon-list .item .text .data .bnt.gray {
-	  background-color: #ccc;
-	}
-	.message-box{
-		box-sizing: border-box;
-		width: 693upx;
-		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: 128upx;
-		z-index: 99;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding: 0 20upx 0 30upx;
-		.left{
-			width: 80%;
-			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: #0bb3f2;
-			}
-		}
-		.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%, #0bb3f2 100%);
-			border-radius: 24upx;
-			margin-left: 30upx;
-		}
-	}
-</style>
-

+ 0 - 352
pages_company/order/coupon.vue

@@ -1,352 +0,0 @@
-<template>
-  <view ref="container">
-	<!-- <image src="/static/images/banner_coupon.png" mode="widthFix" class="tui-coupon-banner"></image> -->
-    <view class="tui-coupon-list">
-      <view class="tui-coupon-item tui-top20" v-for="(item, index) in couponsList" :key="index">
-         <image src="/static/images/bg_coupon_3x.png" class="tui-coupon-bg" mode="widthFix"></image>
-		<view class="tui-coupon-item-left">
-          <view class="tui-coupon-price-box" :class="{ 'tui-color-grey': item.receiveCount>0 }">
-            <view class="tui-coupon-price-sign">¥</view>
-            <view class="tui-coupon-price" :class="{ 'tui-price-small': false }">{{ item.couponPrice }}</view>
-          </view>
-          <view class="tui-coupon-intro">满{{ item.useMinPrice }}元可用</view>
-        </view>
-        <view class="tui-coupon-item-right">
-          <view class="tui-coupon-content">
-            <view class="tui-coupon-title-box">
-              <view class="tui-coupon-title">{{ item.couponName }}</view>
-            </view>
-            <view class="tui-coupon-rule">
-              <view class="tui-rule-box tui-padding-btm">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">不可叠加使用</view>
-              </view>
-              <view class="tui-rule-box">
-                <view class="tui-coupon-circle"></view>
-                <view class="tui-coupon-text">{{ item.limitTime }} 到期</view>
-            
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="tui-btn-box">
-			<view class="btn receive"   @click="show(item)">查看</view>
-        </view>
-      </view>
-    </view>
-	<Loading :loaded="loadend" :loading="loading"></Loading>
-	<!--暂无优惠券-->
-	<view v-if="couponsList.length == 0 && page > 1" class="no-data-box" >
-		<image src="/static/images/no_data.png" mode="aspectFit"></image>
-		<view class="empty-title">暂无数据</view>
-	</view>
-  </view>
-</template>
-<script>
-import { getCompanyCouponIssueList, receive } from '@/api/coupon'
-import Loading from '@/components/Loading'
-export default {
-  name: 'getCoupon',
-  components: {
-    Loading,
-  },
-  props: {},
-  data: function() {
-    return {
-	limit: 10,
-		couponsList: [],
-		loading: false,
-		loadend: false,
-		page: 1,
-		limit: 10,
-    }
-  },
-  onLoad(options) {
-  },
-  mounted: function() {
-    
-  },
-  onShow() {
-  	this.getCompanyCouponIssueList()
-  },
-  onReachBottom() {
-    !this.loading && this.getCompanyCouponIssueList()
-  },
-  methods: {
-    show(item){
-		uni.navigateTo({
-			url: '../couponDetails?id=' +item.id
-		})
-	},
-    getCompanyCouponIssueList() {
-      if (this.loading) return //阻止下次请求(false可以进行请求);
-      if (this.loadend) return //阻止结束当前请求(false可以进行请求);
-      this.loading = true
-      let q = { page: this.page, pageSize: this.limit,couponType:2 }
-      getCompanyCouponIssueList(q).then(res => {
-        this.loading = false
-        this.couponsList.push.apply(this.couponsList, res.data.list)
-        this.loadend = res.data.list.length < this.limit //判断所有数据是否加载完成;
-        this.page = this.page + 1
-      })
-    },
-  },
-}
-</script>
-
-<style lang="less" scoped>
-page {
-  background-color: #f5f5f5;
-}
-
-.container {
-  padding-bottom: env(safe-area-inset-bottom);
-}
-.top-fixed{
-	width: 100%;
-	position: fixed;
-	top: 0;
-	left: 0;
-	z-index: 99999;
-	.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: #0bb3f2;
-			background: #F5FFFE;
-			border: 1px solid #8AD5CE;
-			border-radius: 32upx;
-			margin: 0 20upx 20upx 0;
-			&.active{
-				color: #FFFFFF;
-				background: #0bb3f2;
-				border: 1px solid #0bb3f2;
-			}
-		}
-	}
-}
-.tui-coupon-list {
-	width: 100%;
-	padding: 0 25rpx;
-	box-sizing: border-box;
-}
-
-.tui-coupon-banner {
-  width: 100%;
-}
-
-.tui-coupon-item {
-  width: 100%;
-  height: 210rpx;
-  position: relative;
-  display: flex;
-  align-items: center;
-  padding-right: 30rpx;
-  box-sizing: border-box;
-  overflow: hidden;
- 
-}
-
-.tui-coupon-bg {
-  width: 100%;
-  height: 210rpx;
-  position: absolute;
-  left: 0;
-  top: 0;
-  z-index: 1;
-}
-
-.tui-coupon-sign {
-  height: 110rpx;
-  width: 110rpx;
-  position: absolute;
-  z-index: 9;
-  top: -30rpx;
-  right: 40rpx;
-}
-
-.tui-coupon-item-left {
-  width: 218rpx;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-  flex-shrink: 0;
-}
-
-.tui-coupon-price-box {
-  display: flex;
-  color: #e41f19;
-  align-items: flex-end;
-}
-
-.tui-coupon-price-sign {
-  font-size: 30rpx;
-}
-
-.tui-coupon-price {
-  font-size: 70rpx;
-  line-height: 68rpx;
-  font-weight: bold;
-}
-
-.tui-price-small {
-  font-size: 58rpx !important;
-  line-height: 56rpx !important;
-}
-
-.tui-coupon-intro {
-  background: #f7f7f7;
-  padding: 8rpx 10rpx;
-  font-size: 26rpx;
-  line-height: 26rpx;
-  font-weight: 400;
-  color: #666;
-  margin-top: 18rpx;
-}
-
-.tui-coupon-item-right {
-  flex: 1;
-  height: 210rpx;
-  position: relative;
-  z-index: 2;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  padding-left: 24rpx;
-  box-sizing: border-box;
-  overflow: hidden;
-}
-
-.tui-coupon-content {
-  width: 82%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-}
-
-.tui-coupon-title-box {
-  display: flex;
-  align-items: center;
-}
-
-.tui-coupon-btn {
-  padding: 6rpx;
-  background: #ffebeb;
-  color: #e41f19;
-  font-size: 25rpx;
-  line-height: 25rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  transform: scale(0.9);
-  transform-origin: 0 center;
-  border-radius: 4rpx;
-  flex-shrink: 0;
-}
-
-.tui-color-grey {
-  color: #888 !important;
-}
-
-.tui-bg-grey {
-  background: #f0f0f0 !important;
-  color: #888 !important;
-}
-
-.tui-coupon-title {
-  width: 100%;
-  font-size: 26rpx;
-  color: #333;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.tui-coupon-rule {
-  padding-top: 52rpx;
-}
-
-.tui-rule-box {
-  display: flex;
-  align-items: center;
-  transform: scale(0.8);
-  transform-origin: 0 100%;
-}
-
-.tui-padding-btm {
-  padding-bottom: 6rpx;
-}
-
-.tui-coupon-circle {
-  width: 8rpx;
-  height: 8rpx;
-  background: rgb(160, 160, 160);
-  border-radius: 50%;
-}
-
-.tui-coupon-text {
-  font-size: 28rpx;
-  line-height: 28rpx;
-  font-weight: 400;
-  color: #666;
-  padding-left: 8rpx;
-  white-space: nowrap;
-}
-
-.tui-top20 {
-  margin-top: 20rpx;
-}
-
-.tui-coupon-title {
-  font-size: 28rpx;
-  line-height: 28rpx;
-}
-
-.tui-coupon-radio {
-  transform: scale(0.7);
-  transform-origin: 100% center;
-}
-
-.tui-btn-box {
-  position: absolute;
-  right: 20rpx;
-  bottom: 40rpx;
-  z-index: 10;
-  .btn{
-  	width: 155upx;
-  	height: 64upx;
-  	line-height: 64upx;
-  	font-size: 26upx;
-  	font-family: PingFang SC;
-  	font-weight: 500;
-  	text-align: center;
-  	border-radius: 32upx;
-  	margin-left: 15upx;
-
-  	&.cancel{
-  		border: 1px solid red;
-  		color: red;
-  	}
-  	&.receive{
-  		background: red;
-  		color: #FFFFFF;
-  	}
-  }
-}
-</style>

+ 0 - 1260
pages_company/order/productDetails.vue

@@ -1,1260 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 商品轮播图片 -->
-		<view class="shop-banner" @click="showImg()">
-			<swiper
-				class="swiper" 
-				:indicator-dots="false" 
-				:circular="true" 
-				:autoplay="true" 
-				:interval="3000" 
-				:duration="1000"
-				indicator-color="rgba(255, 255, 255, 0.6)"
-				indicator-active-color="#ffffff"
-				@change="swiperChange"
-			>
-				<swiper-item  class="swiper-item" v-for="(item,index) in  banner" :key="index">
-					<image :src="item" mode="aspectFill"></image>
-				</swiper-item>
-			</swiper>
-			<!-- 底部遮罩 -->
-			<view class="banner-mask"></view>
-			<!-- 数量 -->
-			<view class="num-box">{{ activeBanner }}/{{ banner.length }}</view>
-		</view>
-		<!-- 详细信息 -->
-		<view class="det-info">
-			<view class="price-box">
-				<view class="price">
-					<text class="label">会员价</text>
-					<text class="unit">¥</text>
-					<text class="num" >{{product.price}}</text>
-					<text class="label">零售价</text>
-					<text class="old" >¥{{product.otPrice}}</text>
-				</view>
-			</view>
-			<view class="name-box">
-				<view class="tag">{{utils.getDictLabelName("storeProductType",product.productType)}}</view>{{product.productName}}
-			</view>
-			<view class="intro">
-				{{product.productInfo}}
-			</view>
-			<view class="safe-box">
-				<image src="../../static/images/safe.png" mode=""></image>
-				<text class="text">免邮发货</text>
-				<view class="line"></view>
-				<text class="text">药师服务</text>
-				<view class="line"></view>
-				<text class="text">隐私保护</text>
-			</view>
-		</view>
-		<!-- 购买人数、库存 -->
-		<view class="inventor">
-			<view class="left">
-				<!-- <view class="head-box">
-					<view class="head" v-for="(item,j) in 5" :key="j">
-						<image src="../../static/images/head.jpg" mode=""></image>
-					</view>
-				</view> -->
-				<view class="num-box">
-					已有 <text class="text">{{product.sales}}</text> 人购买
-				</view>
-			</view>
-			<!-- <view class="right">
-				库存 <text class="text">{{product.stock}}{{product.unitName}}</text>
-			</view> -->
-			<!-- <view class="right">
-				 <text class="text">库存{{product.stock>0?'充足':'售罄'}} </text>
-			</view> -->
-		</view>
-		<!-- 功效 -->
-		<!-- <view class="effect">
-			<view class="label">药品说明书</view>
-			<view class="label">查看</view>
-			
-		</view> -->
-		
-		<view class="shop x-bc" v-if="storeSelectInfo.storeId">
-			<view class="x-bc" style="flex: 1;overflow: hidden;">
-				<view class="logo">
-					<image :src="storeSelectInfo.logoUrl" mode="aspectFill"></image>
-				</view>
-				<view class="txtBox y-b">
-					<view class="name">{{storeSelectInfo.storeName}}</view>
-					<view class="desc">销售{{utils.formatSalesNum(storeSelectInfo.salesCount) }} 24小时营业 支持预订</view>
-				</view>
-			</view>
-			
-			<button class="goShop" @click="navgetTo('/pages_shopping/store/index?storeId='+productValueSelect.storeId+'&from=company')">进店</button>
-			
-		</view>
-		
-		<!-- 图文详情 -->
-		<view class="det-box">
-			<view class="title">图文详情</view>
-			<view class="inner">
-				<view  v-html="product.description" style="font-size:0"></view>
-			</view>
-		</view>
-		<!-- 底部按钮 -->
-		<view class="btn-foot">
-			<view class="menu-box">
-				<view class="item" @click="goHome">
-					<image src="../../static/images/back_home.png" mode=""></image>
-					<text class="label">首页</text>
-				</view>
-				<view class="item" style="position: relative;">
-					<image src="../../static/images/consult_small.png" mode=""></image>
-					<text class="label">咨询</text>
-					<button class="contact-btn" open-type="contact"></button>
-				</view>
-				<view class="item" @click="navgetTo('./cart')">
-					<uni-badge size="small" :text="cartCount" absolute="rightTop" type="error">
-						<image src="../../static/images/cart36.png" mode=""></image>
-					</uni-badge>
-					<text class="label">购物车</text>
-				</view>
-			</view>
-			<view class="btn-box">
-				<view class="btn cart" @click="addCart('cart')">加入购物车</view>
-				<!-- <view class="btn buy" @click="addCart('buy')">{{buyText}}</view> -->
-			</view>
-		</view>
-		<!-- 选择药品规格弹窗 -->
-		<popupBottom ref="popup" :visible.sync="specVisible" title=" "  radius="32"  maxHeight="1024">
-		    <view class="product-spec">
-				<!-- 商品信息 -->
-				<view class="pro-info">
-					<view class="img-box">
-						<image :src="productValueSelect.image==null||productValueSelect.image==''?product.image:productValueSelect.image" mode="aspectFill"></image>
-					</view>
-					<view class="info-text">
-						<view class="price">
-							<text class="unit">¥</text>
-							<text class="num">{{ productValueSelect.price.toFixed(2) }}</text>
-						</view>
-						<view class="desc-box">
-							<text class="text">已选:{{ productValueSelect.sku }}</text>
-							<text class="text">库存{{ productValueSelect.stock?'充足':'售罄' }}</text>
-						</view>
-					</view>
-				</view>
-				<view class="shop-pBox" style="margin-top: 20rpx;" v-if="storePriceList&&storePriceList.length>0">
-					<view 
-						v-for="(item,index) in storePriceList.slice(0,3)"
-						:key="index"
-						:class="productValueSelect.storeId ==  item.storeId ? 'item hover':'item'"
-						@click="storeChange(item,index)"
-					>
-						<view class="top x-bc">
-							<view class="price"><b>¥</b>{{ item.price.toFixed(2) }}</view>
-							<view class="num">销售{{utils.formatSalesNum(item.sales) }}</view>
-						</view>
-						<view class="bot x-bc shop-pBox-name">
-							<view class="name">{{item.storeName}}</view>
-							<view @click.stop="navgetTo('/pages_shopping/store/index?storeId='+item.storeId+'&from=company')">
-								<u-icon name="arrow-right" color="#000" size="14"></u-icon>
-							</view>
-						</view>
-					</view>	
-					<view class="shop-morebtn" @click="openStorePicker" v-show="storePriceList.length > 3">
-						<view>查看全部</view>
-						<view v-show="storeIdx > 2">
-							<text>已选</text> 
-							<text style="margin: 0 10rpx;">{{storeSelectInfo.storeName}}</text>
-							<text>¥{{productValueSelect.price.toFixed(2)}}</text>
-						</view>
-					</view>
-				</view>
-				<!-- 店铺弹窗 -->
-				<u-popup :show="showStorePicker" :round="16" mode="bottom">
-					<view class="storepopup">
-						<view class="storepopup-title">
-							选择店铺
-						<image class="close-icon" src="@/static/images/close40.png" mode="widthFix" @click="closeStorePicker"></image></view>
-						<scroll-view class="shop-pBox storepopup-box" scroll-y="true">
-							<view 
-								v-for="(item,index) in storePriceList"
-								:key="index"
-								:class="productValueSelect.storeId ==  item.storeId ? 'item hover':'item'"
-								@click="pickerStore(item,index)"
-							>
-								<view class="top x-bc">
-									<view class="price"><b>¥</b>{{ item.price.toFixed(2) }}</view>
-									<view class="num">销售{{utils.formatSalesNum(item.sales) }}</view>
-								</view>
-								<view class="bot x-bc shop-pBox-name">
-									<view class="name">{{item.storeName}}</view>
-									<u-icon name="arrow-right" color="#000" size="14" @click.native.stop="navgetTo('/pages_shopping/store/index?storeId='+item.storeId+'&from=company')"></u-icon>
-								</view>
-							</view>
-						</scroll-view>
-					</view>
-				</u-popup>
-				<!-- 规格 -->
-				<view class="spec-box">
-					<view v-for="(item,index) in attrs">
-						<view class="title">{{item.attrName}}</view>
-						<view class="spec-list">
-							<view 
-								v-for="(subItem,subindex) in item.values" 
-								:key="subindex" 
-								:class="subindex==item.index?'item active':'item'" 
-								@click="choseSpec(index,subindex)"
-							>
-								{{ subItem }}
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 数量 -->
-				<view class="price-num">
-					<view class="label">数量</view>
-					<view class="num-box">
-						<view class="img-box" @click="lessNum()">
-							<image v-if="specNum <= 1" src="../../static/images/jian.png" mode=""></image>
-							<image v-else src="../../static/images/jian2.png" mode=""></image>
-						</view>
-						<input type="text" @change="changeNum" v-model="specNum"    />
-						<view class="img-box" @click="addNum()">
-							<image src="../../static/images/add.png" mode=""></image>
-						</view>
-					</view>
-				</view>
-				<view class="sub-btn" @click="submit">确定</view>
-			</view>
-		</popupBottom>
-	</view>
-</template>
-
-<script>
-	import {getDicts} from '@/api/index'
-	import {getProductDetails,getCartCount,getProductStoreStock,addCart} from '@/api/product'
-	import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
-	export default {
-		components: {
-			item:{},
-			popupBottom
-		},
-		data() {
-			return {
-				buyText:"立即购买",
-				type:null,
-				productValueSelect:{
-					price:0,
-				},
-				banner:[],
-				productId:null,
-				attrs:[],
-				values:[],
-				product:{
-					price:0,
-					otPrice:0,
-				},
-				 
-				// 当前轮播的图片
-				activeBanner: 0,
-				// 购物车数量
-				cartCount: 0,
-				// 规格弹窗
-				specVisible: false,
-				// 规格数量
-				specNum: 1,
-				stores:[],
-				storeId:null,
-				storeIdx:0, 
-				selectVal: "",
-				// 链接带的storeId
-				urlStoreId: undefined, 
-				showStorePicker: false,
-				// 所选规格门店店铺价格
-				storePriceList: [],
-				// 所选店铺
-				storeSelectInfo: {},
-				// 保存选的规格
-				choseSpecSubIndex: 0,
-				choseSpecIndex: 0,
-			};
-		},
-		onLoad(options) {
-			this.urlStoreId = options.storeId || undefined
-			this.getDicts();
-			this.productId = options.productId;
-			if(this.utils.checkToken()){
-				this.getCartCount();
-			}
-		},
-		onShow() {
-			this.getProductDetails();
-		},
-		 
-		methods: {
-			getDicts:function(){
-				getDicts().then(
-					res => {
-						if(res.code==200){
-							uni.setStorageSync('dicts',JSON.stringify(res));
-						} 
-						 
-					},
-					rej => {}
-				);
-			},
-			showImg() {
-				 //预览图片
-				 uni.previewImage({
-				 	urls: this.banner,
-				 	current: this.banner[0]
-				 });
-			},
-			doAddCart(type){
-				if(this.specNum==0){
-					uni.showToast({
-						icon:'none',
-						title: "库存不足",
-					});
-					return;
-				}
-				var isBuy=type=="buy"?1:0;
-				let data = {isBuy:isBuy,cartNum:this.specNum,productId:this.productValueSelect.productId,attrValueId:this.productValueSelect.id};
-				addCart(data).then(
-					res => {
-						if(res.code==200){
-							if(type=="buy"){
-								const selectCarts = [{
-									storeId: this.storeId,
-									data: {
-									  type: this.type,
-									  cartIds: res.id,
-									}
-								}]
-								uni.navigateTo({
-									url: '/pages/shopping/confirmOrder?type='+this.type + '&confirmParam='+ encodeURIComponent(JSON.stringify(selectCarts))
-								})
-								// uni.navigateTo({
-								// 	url: '/pages/shopping/confirmOrder?type='+this.type+"&cartIds="+res.id
-								// })
-							}
-							else
-							{
-								this.getCartCount()
-								uni.showToast({
-									icon:'success',
-									title: "添加成功",
-								});
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							this.getProductDetails()
-						}
-					},
-					rej => {}
-				);
-			},
-			getProductDetails(){
-				let data = {
-					productId:this.productId,
-					storeId: this.urlStoreId || ""
-				};
-				getProductDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.product=res.product;
-							if(this.product.productType==1){
-								this.buyText="立即购买"
-							}
-							else if(this.product.productType==2){
-								this.buyText="提交需求"
-							}
-							this.product.otPrice=this.product.otPrice.toFixed(2);
-							this.product.price=this.product.price.toFixed(2);
-							if(this.product.sliderImage!=null){
-								this.banner=this.product.sliderImage.split(',');
-							}
-							else{
-								this.banner=[]
-							}
-							this.attrs=res.productAttr;
-							this.attrs.forEach((item,index,arr)=>{
-							     item.values=item.attrValues.split(',');
-								 item.index=0
-							})
-							this.values=res.productValues;
-							this.stores=res.stores;
-							if(this.stores.length>0 ){
-								// urlStoreId存在表示在店铺内购买的商品
-								this.storeId= this.urlStoreId || this.stores[this.storeIdx].storeId;
-							}
-							this.choseSpec(0,0)
-							 
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							setTimeout(function(){
-								uni.reLaunch({
-									url: '/pages/home/index',
-								})
-							},2000)
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			getCartCount(){
-				let data = {productId:this.productId};
-				getCartCount(data).then(
-					cartRes => {
-						if(cartRes.code==200){
-							 this.cartCount=cartRes.data;
-						}
-					},
-					rej => {}
-				);
-				
-			},
-			// swiper变化事件
-			swiperChange(event) {
-				this.activeBanner = event.detail.current + 1
-			},
-			// 回到首页
-			goHome() {
-				uni.switchTab({
-					url: '/pages/home/index'
-				})
-			},
-			// 跳转页面
-			navgetTo(url) {
-				this.utils.isLogin().then(res => {
-					if(res){
-						uni.navigateTo({
-							url: url
-						})
-					}
-				})
-			},
-			// 加入购物车
-			addCart(type) {
-				this.utils.isLogin().then(res => {
-					if(res){
-						this.type=type;
-						this.specVisible = true
-					}
-				})
-			},
-			getProductStoreStock(type){
-				let data = {productId:this.productId,storeId:this.storeId};
-				getProductStoreStock(data).then(
-					res => {
-						//this.loadding=false
-						if(res.code==200){
-							this.attrs=res.productAttr;
-							this.attrs.forEach((item,index,arr)=>{
-							     item.values=item.attrValues.split(',');
-								 item.index=0
-							});
-							this.values=res.productValues;
-							if(type == 'chooseStore') {
-								this.choseSpec(this.choseSpecIndex,this.choseSpecSubIndex)
-							} else {
-								this.choseSpec(0,0)
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							setTimeout(function(){
-								uni.reLaunch({
-									url: '/pages/home/index',
-								})
-							},2000)
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			// 规格选择
-			choseSpec(index,subIndex) {
-				this.choseSpecIndex = index
-				this.choseSpecSubIndex = subIndex
-				this.attrs[index].index = subIndex;
-				this.$forceUpdate();
-				let productAttr = this.attrs;
-				let values = [];
-				for (let i = 0; i < productAttr.length; i++) {
-				  for (let j = 0; j < productAttr[i].values.length; j++) {
-				    if (productAttr[i].index === j) {
-				      values.push(productAttr[i].values[j]);
-				    }
-				  }
-				}
-				var selectVal=values.sort().join(",");
-				this.selectVal=selectVal;
-				console.log(selectVal)
-				// var valueSelect=this.values.filter((item)=>{
-				//      return item.sku==selectVal;
-				// })
-				var valueSelect=this.getValueSelect();
-				if(valueSelect!=null&&valueSelect.length==1){
-					this.productValueSelect=valueSelect[0];
-				}
-				
-				this.updateSpecNum();
-				if(this.stores.length>0 && !this.urlStoreId){
-					this.getStorePriceList()
-				}
-			},
-			changeNum(e) {
-				this.specNum = e.detail.value.replace(/\D/g, '')
-				if(this.specNum < 1) {
-					this.specNum = 1
-				}
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-			},
-			//更新数量
-			updateSpecNum(){
-				if(this.productValueSelect.stock==0){
-					this.specNum=0;
-				}
-				else{
-					this.specNum=1;
-				}
-			},
-			// 数量减法
-			lessNum(index) {
-				this.specNum--
-				if(this.specNum < 1) {
-					this.specNum = 1
-				}
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-			},
-			// 数量加法
-			addNum(index) {
-				this.specNum++
-				if(this.specNum>=this.productValueSelect.stock){
-					this.specNum=this.productValueSelect.stock
-				}
-			},
-			// 确定选择该规格
-			submit() {
-				this.specVisible = false
-				this.doAddCart(this.type);
-				 
-			},
-			getValueSelect(){
-				var valueSelect;
-				if(this.stores.length>0 && !this.urlStoreId){
-					valueSelect=this.values.filter((item)=>{
-						 // return item.sku==this.selectVal;
-						 if(item.storeId) {
-							 return item.sku==this.selectVal && item.storeId==this.storeId;
-						 } else {
-							 return item.sku==this.selectVal;
-						 }
-					});
-				}else{
-					valueSelect=this.values.filter((item)=>{
-					     return item.sku==this.selectVal;
-					});
-				}
-				return valueSelect;
-			},
-			closeStorePicker() {
-				this.showStorePicker = false
-			},
-			openStorePicker() {
-				this.showStorePicker = true
-			},
-			pickerStore(item,index) {
-				this.showStorePicker = false
-				this.storeChange(item,index)
-			},
-			// 选择店铺价格
-			storeChange(item,index) {
-				this.storeIdx = index;
-				this.storeId = item.storeId;
-				var valueSelect= this.getValueSelect();
-				this.productValueSelect=valueSelect[0];
-				this.getProductStoreStock("chooseStore");
-			},
-			// 更新所选规格的店铺价格
-			getStorePriceList() {
-				const priceList = this.values.filter(item => item.sku === this.productValueSelect.sku && item.storeId); 
-				this.storePriceList = priceList.map(item =>{ 
-					const store = this.stores.find(it => item.storeId === it.storeId); 
-					if(store){ 
-						return { ...item, storeName: store.storeName }; 
-					} 
-				}); 
-				// 获取页面店铺相关数据
-				const selectStore = this.stores.find(it => this.productValueSelect.storeId === it.storeId);
-				this.storeSelectInfo = selectStore || {} 
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.shop-banner{
-		height: 756upx;
-		background-color: #FFFFFF;
-		position: relative;
-		.swiper-item{
-			box-sizing: border-box;
-		}
-		.swiper,
-		.swiper-item,
-		.swiper-item image{
-			width: 100%;
-			height: 100%;
-		}
-		.banner-mask{
-			width: 100%;
-			height: 44upx;
-			// background: linear-gradient(0deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
-			// opacity: 0.8;
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			z-index: 9;
-			background-image: url(../../static/images/black_mask.png);
-			background-size: 20upx 44upx;
-			background-repeat: repeat-x;
-		}
-		.num-box{
-			width: 80upx;
-			height: 44upx;
-			line-height: 44upx;
-			text-align: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: rgba(0, 0, 0, .3);
-			border-radius: 22upx;
-			position: absolute;
-			right: 30upx;
-			bottom: 30upx;
-			z-index: 10;
-		}
-	}
-	.det-info{
-		background: #FFFFFF;
-		padding: 36upx 30upx 25upx;
-		.price-box{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.price{
-				display: flex;
-				align-items: flex-end;
-				.label{
-					color: #333;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					line-height: 1.3;
-					margin-right: 5upx;
-				}
-				.unit{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6633;
-					line-height: 1.3;
-				}
-				.num{
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6633;
-					margin: 0 20upx 0 10upx;
-					line-height: 1;
-				}
-				.old{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					text-decoration: line-through;
-					color: #BBBBBB;
-					line-height: 1.3;
-				}
-			}
-			.share-box{
-				width: 120upx;
-				height: 46upx;
-				border: 1px solid #0bb3f2;
-				border-radius: 23upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				position: relative;
-				.text{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #0bb3f2;
-				}
-				image{
-					margin-left: 2rpx;
-					width: 25upx;
-					height: 24upx;
-				}
-				.share{
-					display: inline-block;
-					position: absolute;
-					top: 0;
-					left: 0;
-					width: 100%;
-					height: 100%rpx;
-					opacity: 0;
-				}
-			}
-			.spec{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 36upx;
-			}
-		}
-		.name-box{
-			font-size: 32upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #111111;
-			line-height: 44upx;
-			margin-top: 32upx;
-			.tag{
-				display: inline-block;
-				padding: 0 6upx;
-				height: 30upx;
-				background: linear-gradient(90deg, #0bb3f2 0%, #2BC7A4 100%);
-				border-radius: 4upx;
-				margin-right: 10upx;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				line-height: 30upx;
-				float: left;
-				margin-top: 7upx;
-			}
-		}
-		.intro{
-			font-size: 26upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 36upx;
-			padding: 18upx 0 23upx;
-			border-bottom: 1px solid #f7f7f7;
-		}
-		.safe-box{
-			display: flex;
-			align-items: center;
-			padding-top: 24upx;
-			image{
-				width: 20upx;
-				height: 24upx;
-				margin-right: 20upx;
-			}
-			.text{
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 1;
-			}
-			.line{
-				width: 1px;
-				height: 23upx;
-				background: #EDEEEF;
-				margin: 0 20upx;
-			}
-		}
-	}
-	.inventor{
-		height: 88upx;
-		padding: 0 39upx 0 30upx;
-		margin-top: 10upx;
-		background: #FFFFFF;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			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%;
-					}
-				}
-			}
-			.num-box{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				.text{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-			}
-		}
-		.right{
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			.text{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-			}
-		}
-	}
-	.effect{
-		box-sizing: border-box;
-		padding: 20upx 30upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		line-height: 1.8;
-		margin-top: 10upx;
-		display: flex; 
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		.label{
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			line-height: 1.8;
-		}
-	}
-	.shop{
-		box-sizing: border-box;
-		padding: 20upx 30upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		line-height: 1.8;
-		margin-top: 10upx;
-		background: url(https://user.test.ylrztop.com/images/chu_query.png) no-repeat  center center / cover;
-		
-		.logo{
-			flex-shrink: 0;
-			width: 120rpx;
-			height: 80rpx;
-			border-radius: 10rpx;
-			image{
-				width: 100%;
-				height: 100%;
-			}
-		}
-		
-		.txtBox{
-			flex: 1;
-			overflow: hidden;
-			margin:0 15rpx;
-		}
-		
-		.name{
-			font-size: 32upx;
-			font-weight: 600;
-			color: #333;
-			text-align: left;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-		
-		.desc{
-			font-size: 26upx;
-			font-weight: normal;
-			color: #666;
-			text-align: left;
-		}
-		
-		
-		.goShop{
-			flex-shrink: 0;
-			width: 120rpx;
-			height: 60rpx;
-			background: #fff;
-			border-radius: 30rpx;
-			color: #333;
-			font-size: 28upx;
-			margin: 0;
-		}
-	}
-	.shop-pBox{
-		box-sizing: border-box;
-		padding: 0upx 0upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		
-		.item{
-			border: 1px solid #fff;
-			border-radius: 12rpx;
-			padding:18rpx 20rpx 24rpx;
-			.price{
-				font-size: 42rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FF6633;
-				display: flex;
-				flex: 1;
-				b{ font-size: 30rpx;line-height: 46rpx; margin-top: 14rpx; }
-			}
-			
-			.num{
-				font-size: 28rpx;
-				font-family: PingFang SC;
-				font-weight: normal;
-				color: #999;
-				width:200rpx;
-				text-align: right;
-			}
-			
-			.name{
-				max-width: 60%;
-				margin-right: 10rpx;
-				font-size: 28upx;
-				font-weight: normal;
-				color: #333;
-				text-align: left;
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-			
-		}
-		.hover{
-			border:1rpx solid #FF6633;
-		}
-		.shop-morebtn {
-			margin-top: 14rpx;
-			box-sizing: border-box;
-			padding: 12rpx 30rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			background: #F7F7F7;
-			border-radius: 32rpx;
-			text-align: center;
-			text {
-				color: #999;
-			}
-		}
-	}
-	.shop-pBox-name {
-		display: flex;
-		align-items: center;
-		justify-content: flex-start;
-	}
-	.storepopup {
-		padding: 40rpx 20rpx 20rpx 20rpx;
-		.storepopup-title {
-			text-align: center;
-			margin-bottom: 30rpx;
-			position: relative;
-			.close-icon {
-				width: 40rpx;
-				height: 40rpx;
-				position: absolute;
-				right: 0;
-				top: 50%;
-				transform: translate(0, -50%);
-			}
-		}
-		.storepopup-box {
-			height: 60vh;
-		}
-	}
-	.det-box{
-		margin-top: 10upx;
-		padding: 40upx 30upx 130upx 30upx;
-		background-color: #FFFFFF;
-		.title{
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			line-height: 1;
-			margin-bottom: 25upx;
-		}
-		
-	}
-	
-	.btn-foot{
-		box-sizing: border-box;
-		width: 100%;
-		height: 121upx;
-		background: #FFFFFF;
-		padding: 0 32upx 0 28upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 99;
-		.menu-box{
-			display: flex;
-			align-items: center;
-			.item{
-				display: flex;
-				align-items: center;
-				flex-direction: column;
-				margin-right: 48upx;
-				&:last-child{
-					margin-right: 0;
-				}
-				image{
-					width: 36upx;
-					height: 36upx;
-					margin-bottom: 10upx;
-				}
-				.label{
-					font-size: 20upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-					text-align: center;
-				}
-			}
-			::v-deep .uni-badge--x{
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-			::v-deep .uni-badge{
-				border: none;
-				background-color: #FF3636;
-				font-family: Roboto;
-			}
-		}
-		.btn-box{
-			display: flex;
-			align-items: center;
-			.btn{
-				width: 200upx;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				border-radius: 44upx;
-				margin-left: 20upx;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				&:first-child{
-					margin-left: 0;
-				}
-				&.cart{
-					background: #FF6633;
-				}
-				&.buy{
-					background: #0bb3f2;
-				}
-			}
-		}
-	}
-	.product-spec{
-		.pro-info{
-			display: flex;
-			align-items: center;
-			.img-box{
-				width: 200upx;
-				height: 200upx;
-				background: #FFFFFF;
-				border-radius: 16upx;
-				overflow: hidden;
-				margin-right: 30upx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.info-text{
-				height: 200upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.price{
-					display: flex;
-					align-items: flex-end;
-					.unit{
-						font-size: 32upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1.2;
-						margin-right: 10upx;
-					}
-					.num{
-						font-size: 50upx;
-						font-family: PingFang SC;
-						font-weight: bold;
-						color: #FF6633;
-						line-height: 1;
-					}
-				}
-				.desc-box{
-					display: flex;
-					flex-direction: column;
-					padding-bottom: 9upx;
-					.text{
-						font-size: 26upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-						margin-top: 27upx;
-						line-height: 1;
-						&:first-child{
-							margin-top: 0;
-						}
-					}
-				}
-			}
-		}
-		.spec-box{
-			padding-top: 50upx;
-			.title{
-				font-size: 34upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #111111;
-				line-height: 1;
-			}
-			.spec-list{
-				display: flex;
-				flex-wrap: wrap;
-				margin-top: 30upx;
-				.item{
-					box-sizing: border-box;
-					height: 64upx;
-					padding: 0 30upx;
-					line-height: 64upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					background: #F7F7F7;
-					border: 1px solid #F7F7F7;
-					border-radius: 32upx;
-					margin-right: 20upx;
-					margin-bottom: 30upx;
-					&.active{
-						background: #F1FFFE;
-						border: 1px solid #8AD5CE;
-						color: #0bb3f2;
-					}
-				}
-			}
-		}
-		.price-num{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-top: 14upx;
-			.label{
-				font-size: 34upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #111111;
-			}
-			.num-box{
-				display: flex;
-				align-items: center;
-				.img-box{
-					width: 60upx;
-					height: 60upx;
-					// border-radius: 4upx;
-					border: 1px solid #dddddd;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					image{
-						width: 25rpx;
-						height: 25rpx;
-					}
-				}
-				input{
-					width: 60upx;
-					height: 60upx;
-					line-height: 60upx;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #111111;
-					// border-radius: 4upx;
-					border-top: 1px solid #dddddd;
-					border-bottom: 1px solid #dddddd;
-					text-align: center;
-					// margin: 0 16upx;
-				}
-			}
-		}
-		.sub-btn{
-			width: 100%;
-			height: 88upx;
-			line-height: 88upx;
-			text-align: center;
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #FFFFFF;
-			background: #0bb3f2;
-			border-radius: 44upx;
-			margin-top: 30upx;
-			// margin-bottom: 30upx;
-			
-		}
-	}
-	.contact-btn{
-		display: inline-block;
-		position: absolute;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-		opacity: 0;
-		z-index: 9999;
-	}
-</style>

+ 0 - 480
pages_company/order/productList.vue

@@ -1,480 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-fixed">
-			<!-- 搜索框 -->
-			<view class="search-cont">
-				<view class="inner">
-					<image class="icon-search" src="../../static/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;" />
-				</view>
-				<view class="icon-search">
-					<image @click="showChange(2)" v-if="showType==1"  src="../../static/images/search1.png" mode=""></image>
-					<image @click="showChange(1)" v-if="showType==2"  src="../../static/images/search2.png" mode=""></image>
-					<image @click="openCart()"   src="../../static/images/carts.png" mode=""></image>
-				</view>
-			</view>
-			<!-- 排序框 -->
-			<view class="sort-box">
-				<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="../../static/images/price_arrow_up.png" mode="" @click="priceUp(true)"></image>
-						<image v-if="form.priceOrder=='asc'" src="../../static/images/price_arrow_up2.png" mode="" @click="priceUp(false)"></image>
-						<image v-if="form.priceOrder==null||form.priceOrder=='asc'" src="../../static/images/price_arrow_down.png" mode="" @click="priceDown(true)"></image>
-						<image v-if="form.priceOrder=='desc'" src="../../static/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="../../static/images/price_arrow_up.png" mode="" @click="saleUp(true)"></image>
-						<image v-if="form.salesOrder=='asc'" src="../../static/images/price_arrow_up2.png" mode="" @click="saleUp(false)"></image>
-						<image v-if="form.salesOrder==null||form.salesOrder=='asc'" src="../../static/images/price_arrow_down.png" mode="" @click="saleDown(true)"></image>
-						<image v-if="form.salesOrder=='desc'" src="../../static/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="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}} {{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>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getSalesProducts} from '@/api/companyOrder'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				showType:1,
-				form:{
-					defaultOrder:'desc',
-					newOrder:null,
-					priceOrder:null,
-					salesOrder:null,
-					productName:"",
-				},
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					},
-					textNoMore:"已经到底了",
-				},
-				// 列表数据
-				dataList: [],
-			};
-		},
-		onLoad(option) {
-			if(option.key!=undefined){
-				this.form.productName = option.key
-			}
-		},
-		methods:{
-			goSearch(e) {
-				this.form.productName=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){
-				this.showType=type;
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				this.form.page=page.num;
-				this.form.pageSize=page.size;
-				getSalesProducts(this.form).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();
-					}
-				});
-			},
-			// 价格升序是否选中
-			priceUp(value) {
-				this.priceIsUp = value
-				this.priceIsDown = false
-			},
-			// 价格降序是否选中
-			priceDown(value) {
-				this.priceIsDown = value
-				this.priceIsUp = false
-			},
-			// 销量升序是否选中
-			saleUp(value) {
-				this.saleIsUp = value
-				this.saleIsDown = false
-			},
-			// 销量降序是否选中
-			saleDown(value) {
-				this.saleIsDown = value
-				this.saleIsUp = false
-			},
-			// 查看详情
-			showDetail(item) {
-				uni.navigateTo({
-					url: 'productDetails?productId='+item.productId
-				})
-			},
-			openCart() {
-				uni.navigateTo({
-					url: './cart'
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.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{
-			height: 40upx;
-			display: flex;
-			align-items: center;
-			image{
-				margin-left: 10upx;
-				width: 40upx;
-				height: 40upx;
-			}
-			
-		}
-	}
-	.sort-box{
-		height: 88upx;
-		background: #FFFFFF;
-		padding: 0 100upx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.item{
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			&.active .label{
-				color: #0bb3f2;
-			}
-			.label{
-				font-size: 26upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-				line-height: 1;
-			}
-			.sort-img{
-				height: 20upx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				margin: 3upx 0 0 10upx;
-				image{
-					width: 12upx;
-					height: 8upx;
-				}
-			}
-		}
-	}
-	.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;
-			.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;
-		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;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 443
pages_company/order/productShowDetails.vue

@@ -1,443 +0,0 @@
-<template>
-	<view class="content">
-		<!-- 商品轮播图片 -->
-		<view class="shop-banner" @click="showImg()">
-			<swiper
-				class="swiper" 
-				:indicator-dots="false" 
-				:circular="true" 
-				:autoplay="true" 
-				:interval="3000" 
-				:duration="1000"
-				indicator-color="rgba(255, 255, 255, 0.6)"
-				indicator-active-color="#ffffff"
-				@change="swiperChange"
-			>
-				<swiper-item  class="swiper-item" v-for="(item,index) in  banner" :key="index">
-					<image :src="item" mode="aspectFill"></image>
-				</swiper-item>
-			</swiper>
-			<!-- 底部遮罩 -->
-			<view class="banner-mask"></view>
-			<!-- 数量 -->
-			<view class="num-box">{{ activeBanner }}/{{ banner.length }}</view>
-		</view>
-		<!-- 详细信息 -->
-		<view class="det-info">
-			<view class="price-box">
-				<view class="price">
-					<text class="label">会员价</text>
-					<text class="unit">¥</text>
-					<text class="num" >{{product.price}}</text>
-					<text class="label">零售价</text>
-					<text class="old" >¥{{product.otPrice}}</text>
-				</view>
-			</view>
-			<view class="name-box">
-				<view class="tag">{{utils.getDictLabelName("storeProductType",product.productType)}}</view>{{product.productName}}
-			</view>
-			<view class="intro">
-				{{product.productInfo}}
-			</view>
-			<view class="safe-box">
-				<image src="../../static/images/safe.png" mode=""></image>
-				<text class="text">免邮发货</text>
-				<view class="line"></view>
-				<text class="text">药师服务</text>
-				<view class="line"></view>
-				<text class="text">隐私保护</text>
-			</view>
-		</view>
-		<!-- 购买人数、库存 -->
-		<view class="inventor">
-			<view class="left">
-				<!-- <view class="head-box">
-					<view class="head" v-for="(item,j) in 5" :key="j">
-						<image src="../../static/images/head.jpg" mode=""></image>
-					</view>
-				</view> -->
-				<view class="num-box">
-					已有 <text class="text">{{product.sales}}</text> 人购买
-				</view>
-			</view>
-			<!-- <view class="right">
-				库存 <text class="text">{{product.stock}}{{product.unitName}}</text>
-			</view> -->
-		<!-- 	<view class="right">
-				 <text class="text">库存{{product.stock>0?'充足':'售罄'}} </text>
-			</view> -->
-		</view>
-		<!-- 功效 -->
-		<!-- <view class="effect">
-			<view class="label">药品说明书</view>
-			<view class="label">查看</view>
-			
-		</view> -->
-		<!-- 图文详情 -->
-		<view class="det-box">
-			<view class="title">图文详情</view>
-			<view class="inner">
-				<view  v-html="product.description" style="font-size:0"></view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getDicts} from '@/api/index'
-	import {getProductDetails,getCartCount,addCart} from '@/api/product'
-	export default {
-		components: {
-		},
-		data() {
-			return {
-				banner:[],
-				productId:null,
-				product:{
-					price:0,
-					otPrice:0,
-				},
-				// 当前轮播的图片
-				activeBanner: 0,
-			};
-		},
-		onLoad(options) {
-			this.getDicts();
-			this.productId = options.productId;
-		},
-		onShow() {
-			this.getProductDetails();
-		},
-		 
-		methods: {
-			getDicts:function(){
-				getDicts().then(
-					res => {
-						if(res.code==200){
-							uni.setStorageSync('dicts',JSON.stringify(res));
-						} 
-						 
-					},
-					rej => {}
-				);
-			},
-			showImg() {
-				 //预览图片
-				 uni.previewImage({
-				 	urls: this.banner,
-				 	current: this.banner[0]
-				 });
-			},
-			 
-			getProductDetails(){
-				let data = {productId:this.productId};
-				getProductDetails(data).then(
-					res => {
-						if(res.code==200){
-							this.product=res.product;
-							this.product.otPrice=this.product.otPrice.toFixed(2);
-							this.product.price=this.product.price.toFixed(2);
-							if(this.product.sliderImage!=null){
-								this.banner=this.product.sliderImage.split(',');
-							}
-							else{
-								this.banner=[]
-							}
-						}else{
-							uni.showToast({
-								icon:'none',
-								title: res.msg,
-							});
-							setTimeout(function(){
-								uni.reLaunch({
-									url: '/pages/home/index',
-								})
-							},2000)
-							
-						}
-					},
-					rej => {}
-				);
-			},
-			// swiper变化事件
-			swiperChange(event) {
-				this.activeBanner = event.detail.current + 1
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.shop-banner{
-		height: 756upx;
-		background-color: #FFFFFF;
-		position: relative;
-		.swiper-item{
-			box-sizing: border-box;
-		}
-		.swiper,
-		.swiper-item,
-		.swiper-item image{
-			width: 100%;
-			height: 100%;
-		}
-		.banner-mask{
-			width: 100%;
-			height: 44upx;
-			// background: linear-gradient(0deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0));
-			// opacity: 0.8;
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			z-index: 9;
-			background-image: url(../../static/images/black_mask.png);
-			background-size: 20upx 44upx;
-			background-repeat: repeat-x;
-		}
-		.num-box{
-			width: 80upx;
-			height: 44upx;
-			line-height: 44upx;
-			text-align: center;
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-			background: rgba(0, 0, 0, .3);
-			border-radius: 22upx;
-			position: absolute;
-			right: 30upx;
-			bottom: 30upx;
-			z-index: 10;
-		}
-	}
-	.det-info{
-		background: #FFFFFF;
-		padding: 36upx 30upx 25upx;
-		.price-box{
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.price{
-				display: flex;
-				align-items: flex-end;
-				.label{
-					color: #333;
-					font-size: 28upx;
-					font-family: PingFang SC;
-					line-height: 1.3;
-					margin-right: 5upx;
-				}
-				.unit{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6633;
-					line-height: 1.3;
-				}
-				.num{
-					font-size: 40upx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6633;
-					margin: 0 20upx 0 10upx;
-					line-height: 1;
-				}
-				.old{
-					font-size: 28upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					text-decoration: line-through;
-					color: #BBBBBB;
-					line-height: 1.3;
-				}
-			}
-			.share-box{
-				width: 120upx;
-				height: 46upx;
-				border: 1px solid #0bb3f2;
-				border-radius: 23upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				position: relative;
-				.text{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #0bb3f2;
-				}
-				image{
-					margin-left: 2rpx;
-					width: 25upx;
-					height: 24upx;
-				}
-				.share{
-					display: inline-block;
-					position: absolute;
-					top: 0;
-					left: 0;
-					width: 100%;
-					height: 100%rpx;
-					opacity: 0;
-				}
-			}
-			.spec{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 36upx;
-			}
-		}
-		.name-box{
-			font-size: 32upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #111111;
-			line-height: 44upx;
-			margin-top: 32upx;
-			.tag{
-				display: inline-block;
-				padding: 0 6upx;
-				height: 30upx;
-				background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-				border-radius: 4upx;
-				margin-right: 10upx;
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				line-height: 30upx;
-				float: left;
-				margin-top: 7upx;
-			}
-		}
-		.intro{
-			font-size: 26upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 36upx;
-			padding: 18upx 0 23upx;
-			border-bottom: 1px solid #f7f7f7;
-		}
-		.safe-box{
-			display: flex;
-			align-items: center;
-			padding-top: 24upx;
-			image{
-				width: 20upx;
-				height: 24upx;
-				margin-right: 20upx;
-			}
-			.text{
-				font-size: 22upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				line-height: 1;
-			}
-			.line{
-				width: 1px;
-				height: 23upx;
-				background: #EDEEEF;
-				margin: 0 20upx;
-			}
-		}
-	}
-	.inventor{
-		height: 88upx;
-		padding: 0 39upx 0 30upx;
-		margin-top: 10upx;
-		background: #FFFFFF;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left{
-			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%;
-					}
-				}
-			}
-			.num-box{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #999999;
-				.text{
-					font-size: 24upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-				}
-			}
-		}
-		.right{
-			font-size: 24upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			.text{
-				font-size: 24upx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #666666;
-			}
-		}
-	}
-	.effect{
-		box-sizing: border-box;
-		padding: 20upx 30upx;
-		background: #FFFFFF;
-		font-size: 28upx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #666666;
-		line-height: 1.8;
-		margin-top: 10upx;
-		display: flex; 
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		.label{
-			font-size: 28upx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #111111;
-			line-height: 1.8;
-		}
-	}
-	.det-box{
-		margin-top: 10upx;
-		padding: 40upx 30upx;
-		background-color: #FFFFFF;
-		.title{
-			font-size: 30upx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			line-height: 1;
-			margin-bottom: 25upx;
-		}
-		
-	}
-	
-	 
-	 
-	 
-</style>

+ 0 - 378
pages_company/returnRecord.vue

@@ -1,378 +0,0 @@
-<template>
-	<view class="content">
-		<view class="top-fixed">
-			<!-- tab切换 -->
-			<view class="pub-tab-box">
-				<view class="tab-inner">
-					<view 
-						v-for="(item,index) in orderStatus" 
-						:key="index"
-						:class="item.val == showType?'item active':'item'"
-						@click="orderStatusChange(item)"
-					>
-						<view class="text">
-							{{ item.name }}
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		
-			<mescroll-body top="88upx" ref="mescrollRef">
-				<view class="phone-list" v-if="showType==1">
-				<view v-for="(item,index) in dataList" :key="index" class="item" >
-					<image src="/static/images/company/deenergize_icon.png" class="w32 h32"></image>
-				    <view class="phone-name">
-						 <view class="justify-between align-center" style="width: 100%;">
-							 <view class="name">{{item.name}}</view>
-							 <view class="type">去电</view>
-						 </view>
-						 <view class="time">{{item.time}}</view>
-					 </view>
-				</view>
-				</view>
-				<view class="sms-list" v-if="showType==2">
-				<view v-for="(item,index) in dataList2" :key="index" class="item" >
-					<view class="title">{{item.content}}</view>
-				    <view class="box">
-						 <view class="time">{{item.time}}</view>
-						 <view class="state">{{item.state}}</view>
-					 </view>
-				</view>
-				</view>
-				<view class="h150"></view>
-			</mescroll-body>
-		<view class="btn-box2">
-			<view v-if="showType==1" class="sub-btn" @click="navgetTo(orderStatusValue)">
-				<image src="/static/images/company/make_phone_call_icon.png" class="w48 h48"></image>
-				<text>拨打电话</text>
-			</view>
-			<view v-if="showType==2" class="sub-btn" @click="navgetTo(orderStatusValue)">
-				<image src="/static/images/company/send_SMS_icon.png" class="w48 h48"></image>
-				<text>发送短信</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {getMyDoctorOrderList,cancelOrder} from '@/api/doctorOrder.js'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				orderStatus:[
-					{name:"电话记录",val:1},
-					{name:"短信记录",val:2},
-				],
-				showType:1,
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: [
-					{orderId:1, name:'今日 11:22',time:'4分16秒'},
-					{orderId:2, name:'昨天 09:16',time:'4分16秒'},
-					{orderId:3, name:'1月12 13:06',time:'4分16秒'}
-				],
-				dataList2: [
-					{orderId:1,content:'服用胰岛素口服液 规格20mg*20 每次1片1日一次 用法口服',state:'已送达',time:'2025-2-20 10:29',},
-					{orderId:2,content:'服用胰岛素口服液 规格20mg*20 每次1片1日一次 用法口服',state:'已送达',time:'2025-2-20 10:29',},
-					{orderId:3,content:'服用胰岛素口服液 规格20mg*20 每次1片1日一次 用法口服',state:'已送达',time:'2025-2-20 10:29',}
-				]
-			}
-		},
-		onLoad() {
-			// uni.$on('refreshDoctorOrder', () => {
-			// 	this.mescroll.resetUpScroll()
-			// })
-		},
-		methods: {
-			pay(item){
-				uni.navigateTo({
-					url: '/pages_/doctor/paymentOrder?orderId='+item.orderId
-				})
-			},
-			navgetTo(index){
-				uni.navigateTo({
-					url: index==0?'/pages_health/addServe':'/pages_health/addCompetitors'
-				})
-			},
-			cancel(item){
-				var that=this;
-				uni.showModal({
-				    title: '提示',
-				    content: '确定取消订单吗',
-				    success: function (res) {
-				        if (res.confirm) {
-							var data = {
-								orderId:item.orderId
-							};
-							cancelOrder(data).then(res => {
-								if(res.code==200){
-									uni.showToast({
-										icon:'success',
-										title: '订单已取消',
-									});
-									 that.mescroll.resetUpScroll()
-								}else{
-									uni.showToast({
-										icon:'none',
-										title: res.msg,
-									});
-								}
-							});
-				        } 
-						else if (res.cancel) {
-				        }
-				    }
-				});
-			},
-			// tab切换
-			orderStatusChange(item) {
-				this.showType = item.val
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					status:this.showType,
-					page: page.num,
-					pageSize: page.size
-				};
-				// getMyDoctorOrderList(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) {
-				if(item.orderType==1){
-					uni.navigateTo({
-						url: '/pages_doctor/doctorOrderIM?orderId='+item.orderId
-					})
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		padding: 20upx;
-		.top-fixed{
-			width: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 10;
-		}
-		.pub-tab-box{
-			box-sizing: border-box;
-			width: 100%;
-			padding: 0 40upx;
-			background-color: #FFFFFF;
-			.tab-inner{
-				height: 88upx;
-				line-height: 88upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				overflow-x: auto;
-			}
-			.item{
-				flex:1;
-				font-size: 28upx;
-				white-space: nowrap;
-				line-height: 1;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #626468;
-				// margin-right: 60upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				&:last-child{
-					margin-right: 0;
-				}
-				&.active{
-					font-weight: bold;
-					color:#008FD3;
-					&::after {
-						content: "";
-						width: 48rpx;
-						height: 8rpx;
-						background: linear-gradient(120deg, #31A1FE  0%, #008FD3 100%);
-						position: absolute;
-						bottom: 0;
-						border-radius: 6upx 6upx 0upx 0;
-					}
-				}
-				.text{
-					position: relative;
-					z-index: 1;
-				}
-				.tab-bg{
-					width: 72upx;
-					height: 28upx;
-					position: absolute;
-					top: 17upx;
-					left: 50%;
-					transform: translateX(-36upx);
-					z-index: -1;
-				}
-			}
-		}
-		.btn-box2{
-			z-index: 9999;
-			width: 100%;
-			padding: 30upx;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			box-sizing: border-box;
-			// background: #FFFFFF;
-			
-			 
-			.sub-btn{
-				width: 100%;
-				height: 88upx;
-				line-height: 88upx;
-				text-align: center;
-				font-size: 30upx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FFFFFF;
-				background: #008FD3;
-				border-radius: 44upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				image{
-					margin-right: 16rpx;
-				}
-			}
-		}
-	   .phone-list{
-		   padding: 30rpx;
-		   background: #FFFFFF;
-		   border-radius: 16rpx 16rpx 16rpx 16rpx;
-		   .item{
-			   display: flex;
-			   align-items: flex-start;
-			   border-bottom: 1rpx solid #ECECEC;
-			   padding-bottom: 30rpx;
-			   margin-bottom: 30rpx;
-			   &:last-child{
-				   border-bottom: 0;
-				    margin-bottom: 0;
-					padding-bottom: 0;
-			   }
-			   .phone-name{
-				   display: flex;
-				   flex-direction: column;
-				   align-items: flex-start;
-				   justify-content: flex-start;
-				   padding-left: 24rpx;
-				       flex: 1;
-				   .name{
-				   				   font-family: PingFang SC;
-				   				   font-weight: 500;
-				   				   font-size: 32rpx;
-				   				   color: #222426;
-				   				   text-align: left;
-				   }
-				   .type{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 28rpx;
-					   color: #626468;
-					   text-align: right;
-				   }
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 28rpx;
-					   color: #898E91;
-					   text-align: left;
-					   margin-top: 14rpx;
-				   }
-			   }
-			   
-		   }
-	   }
-	   .sms-list{
-		   .item{
-			   padding: 30rpx;
-			   background: #FFFFFF;
-			   border-radius: 16rpx 16rpx 16rpx 16rpx;
-			   margin-bottom: 20rpx;
-			   .title{
-				   font-family: PingFang SC;
-				   font-weight: 500;
-				   font-size: 32rpx;
-				   color: #222426;
-				   text-align: left;
-			   }
-			   .box{
-				   display: flex;
-				   align-items: center;
-				   justify-content: space-between;
-				   padding-top: 22rpx;
-				   .time{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #898E91;
-					   text-align: left;
-				   }
-				   .state{
-					   font-family: PingFang SC;
-					   font-weight: 400;
-					   font-size: 24rpx;
-					   color: #2CAE5C;
-					   text-align: right;
-				   }
-			   }
-		   }
-	   }
-		
-	}
-</style>

+ 0 - 438
pages_company/storeOrder.vue

@@ -1,438 +0,0 @@
-<template>
-	<view>
-		<view class="search-cont">
-			<view class="inner">
-				<image class="icon-search" src="/static/images/search.png" mode=""></image>
-				<input type="text" value="" placeholder="输入订单号" confirm-type="搜索" @confirm="goSearch"   placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
-			</view>
-		</view>
-		<!-- 订单列表 -->
-		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
-			<view class="order-list">
-				<view v-for="(item,index) in dataList" :key="index" class="item" >
-					<!-- 订单号,状态 -->
-					<view class="ordersn-box">
-						<view class="num">订单号:{{item.orderCode}}</view>
-						<view class="status-box">
-							<!-- <view   class="recom-box">推荐订单</view> -->
-							<text   class="text success">
-								{{utils.getDictLabelName("storeOrderStatus",item.status)}}
-							</text>
-						</view>
-					</view>
-					<!-- 药品列表 -->
-					<view class="drug-list"  >
-						<view v-for="(subItem,index) in item.items" :key="index" class="drug-item">
-							<view class="img-box">
-								<image :src="JSON.parse(subItem.jsonInfo).image" mode="aspectFill"></image>
-							</view>
-							<view class="drug-info"  >
-								<view>
-									<view class="name-box ellipsis2">
-										<view v-if="subItem.isPrescribe==1" class="tag">处方药</view>{{JSON.parse(subItem.jsonInfo).productName}}
-									</view>
-									<view class="spec">{{JSON.parse(subItem.jsonInfo).sku}}</view>
-								</view>
-								<view class="num-box">
-									<view class="price">
-										<text class="unit">¥</text>
-										<text class="num" v-if="JSON.parse(subItem.jsonInfo).price!=null">{{JSON.parse(subItem.jsonInfo).price.toFixed(2)}}</text>
-									</view>
-									<view class="amount">x{{JSON.parse(subItem.jsonInfo).num}}</view>
-								</view>
-							</view>
-						</view>
-						<!-- 实付金额、按钮 -->
-						<view class="bottom-box">
-							<view class="amount-paid">
-								<text class="label">实付金额:</text>
-								<view class="price-box">
-									<view class="unit">¥</view>
-									<view class="num" >{{item.payPrice.toFixed(2)}}</view>
-								</view>
-							</view>
-							<view class="btn-box">
-								<view  class="btn pay" @click.stop="showDetail(item)">
-									查看详情
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import {getCompanyStoreOrderList} from '@/api/storeOrder'
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default {
-		mixins: [MescrollMixin], 
-		data() {
-			return {
-				searchKey:"",
-				mescroll:null,
-				// 上拉加载的配置
-				upOption: {
-					onScroll:true,
-					use: true, // 是否启用上拉加载; 默认true
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量,默认10
-					},
-					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
-					empty: {
-						icon:'/static/images/no_data.png',
-						tip: '暂无数据'
-					}
-				},
-				// 列表数据
-				dataList: [],
-			};
-		},
-		onLoad(options) {
-			var that=this;
-			uni.$on('refreshOrder', () => {
-				that.mescroll.resetUpScroll()
-			})
-			this.companyId=options.companyId;
-			this.companyUserId=options.companyUserId;
-		},
-		methods: {
-			goSearch(e) {
-				this.searchKey=e.detail.value;
-				this.mescroll.resetUpScroll()
-			},
-			mescrollInit(mescroll) {
-				this.mescroll = mescroll;
-			},
-			/*下拉刷新的回调 */
-			downCallback(mescroll) {
-				mescroll.resetUpScroll()
-			},
-			upCallback(page) {
-				//联网加载数据
-				var that = this;
-				var data = {
-					keyword:this.searchKey,
-					companyId:this.companyId,
-					companyUserId:this.companyUserId,
-					page: page.num,
-					pageSize: page.size
-				};
-				getCompanyStoreOrderList(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: './storeOrderDetail?id=' + item.id
-				})
-			},
-			// cancel(item){
-			// 	var that=this;
-			// 	uni.showModal({
-			// 	    title: '提示',
-			// 	    content: '确定取消订单吗',
-			// 	    success: function (res) {
-			// 	        if (res.confirm) {
-			// 				var data = {
-			// 					orderId:item.id
-			// 				};
-			// 				cancelOrder(data).then(res => {
-			// 					if(res.code==200){
-			// 						uni.showToast({
-			// 							icon:'success',
-			// 							title: "操作成功",
-			// 						});
-			// 						 that.mescroll.resetUpScroll()
-			// 					}else{
-			// 						uni.showToast({
-			// 							icon:'none',
-			// 							title: res.msg,
-			// 						});
-			// 					}
-			// 				});
-			// 	        } 
-			// 			else if (res.cancel) {
-			// 	        }
-			// 	    }
-			// 	});
-			// },
-			// pay(item) {
-			// 	 uni.navigateTo({
-			// 	 	url: '../shopping/paymentOrder?orderId='+item.id
-			// 	 })
-			// },
-			// 查看物流
-			// showDelivery(item) {
-			// 	uni.navigateTo({
-			// 		url: './storeOrderDelivery?orderId='+item.id
-			// 	})
-			// }
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.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;
-			}
-		}
-	}
-	.order-list{
-		padding: 20upx;
-		.item{
-			background: #FFFFFF;
-			border-radius: 16upx;
-			padding: 0 30upx;
-			margin-bottom: 20upx;
-			.ordersn-box{
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				padding: 34upx 0 20upx;
-				.num{
-					font-size: 26upx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #999999;
-					line-height: 1;
-				}
-				.status-box{
-					display: flex;
-					align-items: center;
-					.recom-box{
-						width: 108upx;
-						height: 30upx;
-						line-height: 30upx;
-						text-align: left;
-						padding-left: 8upx;
-						font-size: 22upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #FFFFFF;
-						background-image: url(../static/images/recom.png);
-						background-repeat: no-repeat;
-						background-size: 100% 100%;
-						margin-right: 8upx;
-					}
-					.text{
-						font-size: 28upx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						line-height: 1;
-						&.success{
-							color: #0bb3f2;
-						}
-						&.black{
-							color: #111111;
-						}
-						&.info{
-							color: #999999;
-						}
-					}
-				}
-			}
-			.drug-list{
-				.drug-item{
-					padding: 30upx 0;
-					border-bottom: 1px soli #F0F0F0;
-					display: flex;
-					align-items: center;
-					.img-box{
-						width: 160upx;
-						height: 160upx;
-						margin-right: 30upx;
-						flex-shrink: 0;
-						image{
-							width: 100%;
-							height: 100%;
-						}
-					}
-					.drug-info{
-						width: calc(100% - 190upx);
-						height: 160upx;
-						display: flex;
-						flex-direction: column;
-						justify-content: space-between;
-						.name-box{
-							font-size: 28upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #111111;
-							line-height: 40upx;
-							.tag{
-								display: inline-block;
-								padding: 0 6upx;
-								height: 30upx;
-								background: linear-gradient(90deg, #66b2ef 0%, #0bb3f2 100%);
-								border-radius: 4upx;
-								margin-right: 10upx;
-								font-size: 22upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #FFFFFF;
-								line-height: 30upx;
-								float: left;
-								margin-top: 7upx;
-							}
-						}
-						.spec{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-							margin-top: 10upx;
-						}
-						.num-box{
-							display: flex;
-							align-items: center;
-							justify-content: space-between;
-							.price{
-								display: flex;
-								align-items: flex-end;
-								.unit{
-									font-size: 24upx;
-									font-family: PingFang SC;
-									font-weight: 500;
-									color: #111111;
-									line-height: 1.2;
-									margin-right: 4upx;
-								}
-								.num{
-									font-size: 32upx;
-									font-family: PingFang SC;
-									font-weight: 500;
-									color: #111111;
-									line-height: 1;
-								}
-							}
-							.amount{
-								font-size: 24upx;
-								font-family: PingFang SC;
-								font-weight: 500;
-								color: #999999;
-								line-height: 1;
-							}
-						}
-					}
-				}
-				.bottom-box{
-					height: 110upx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-					.amount-paid{
-						display: flex;
-						align-items: center;
-						.label{
-							font-size: 24upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							color: #999999;
-							line-height: 1;
-						}
-						.price-box{
-							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: 32upx;
-								font-family: PingFang SC;
-								font-weight: bold;
-								color: #FF6633;
-								line-height: 1;
-							}
-						}
-					}
-					.btn-box{
-						box-sizing: border-box;
-						display: flex;
-						align-items: center;
-						.btn{
-							width: 155upx;
-							height: 64upx;
-							line-height: 64upx;
-							font-size: 26upx;
-							font-family: PingFang SC;
-							font-weight: 500;
-							text-align: center;
-							border-radius: 32upx;
-							margin-left: 15upx;
-							&:first-child{
-								margin-left: 0;
-							}
-							&.cancel{
-								border: 1px solid #DDDDDD;
-								color: #666666;
-							}
-							&.pay{
-								background: #0bb3f2;
-								color: #FFFFFF;
-								position: relative;
-								.share{
-									display: inline-block;
-									position: absolute;
-									top: 0;
-									left: 0;
-									width: 100%;
-									height: 100%rpx;
-									opacity: 0;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	
-</style>

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff