Compare commits
	
		
			8 Commits
		
	
	
		
			prod
			...
			26f57ccf5e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 26f57ccf5e | |||
| 2e387bc71f | |||
| c36401baf6 | |||
| 2fa219cfe0 | |||
| 6dcbf07b54 | |||
| 8733d995ec | |||
| 5c7d95a2be | |||
| 40bf8f8433 | 
							
								
								
									
										2
									
								
								App.vue
									
									
									
									
									
								
							
							
						
						@@ -34,6 +34,8 @@
 | 
			
		||||
		 		// sHeight.value = res.screenHeight
 | 
			
		||||
		 	}
 | 
			
		||||
		 })
 | 
			
		||||
		 // 获取测试结果背景图
 | 
			
		||||
		store.getBgList()
 | 
			
		||||
	})
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
 
 | 
			
		||||
@@ -16,12 +16,15 @@ const API = {
 | 
			
		||||
	getLbtList:data => net.GET("/banner/list",data),// 获取轮播图
 | 
			
		||||
	hospital:data => net.PUT("/user/hospital",data),// 修改医院信息
 | 
			
		||||
	getHospitalInfo:id => net.GET("/hospital/"+id),// 根据ID获取医院信息
 | 
			
		||||
	getTodoist:data => net.GET("/user/todo",data),// 获取待办事项
 | 
			
		||||
	getHospitalInfo2:data => net.GET("/hospital/notes",data),// 根据ID获取医院信息222
 | 
			
		||||
	getTodoist:(data,userId) => net.GET("/user/todo",data,true,{"userId":userId}),// 获取待办事项
 | 
			
		||||
	getVisionList:data => net.GET("/vision/list",data),// 获取测试记录
 | 
			
		||||
	todoFinished:data => net.PUT("/user/todo",data),// 修改待办列表状态
 | 
			
		||||
	// 百科
 | 
			
		||||
	getArticleList:data => net.GET("/article/list",data),// 百科列表
 | 
			
		||||
	getArticleDetail:data => net.GET("/article/"+data.id),// 文章详情
 | 
			
		||||
	getArticleDetail:(data,userId) => net.GET("/article/"+data.id,null,true,{"userId":userId}),// 文章详情
 | 
			
		||||
	getArticleFavorite:(data,userId) => net.POST("/favorite",data,true,{"userId":userId}),// 收藏文章
 | 
			
		||||
	delArticleFavorite:(data,userId) => net.DELETE("/favorite",data,true,{"userId":userId}),// 取消收藏文章
 | 
			
		||||
	// 我的
 | 
			
		||||
	getStarList:data => net.GET("/favorite/list",data),// 收藏列表
 | 
			
		||||
	/* 
 | 
			
		||||
@@ -40,6 +43,7 @@ const API = {
 | 
			
		||||
	getCategoryList:data => net.GET('/api/goods_category/lists'), // 获取商品分类
 | 
			
		||||
	getCategory:data => net.GET('/api/goods/category',data), // 根据分类Id获取分类商品
 | 
			
		||||
	getCartList:data => net.GET('/api/cart/lists',data), // 获取购物车列表
 | 
			
		||||
	getBgList:data => net.GET('/poster/list',data), // 获取测试结果背景图列表
 | 
			
		||||
	addCart:data => net.POST('/api/cart/add',data), // 加入购物车
 | 
			
		||||
	delCart:data => net.POST('/api/cart/delete',data), // 删除购物车
 | 
			
		||||
	updateCart:data => net.POST('/api/cart/edit',data), // 更新购物车
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
import config from '../config'
 | 
			
		||||
 | 
			
		||||
// import store from '../store'
 | 
			
		||||
 | 
			
		||||
// import {useStore} from '@/store/index.js'
 | 
			
		||||
// console.log(useStore)
 | 
			
		||||
// const store = useStore()
 | 
			
		||||
const loginUrl = 'pages/user/login';
 | 
			
		||||
// function JSON_to_URLEncoded(element,key,list){
 | 
			
		||||
//   var list = list || [];
 | 
			
		||||
@@ -75,6 +76,20 @@ export default {
 | 
			
		||||
						});
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				// if(res.data.code === 7) { // 登录失败
 | 
			
		||||
				// 	uni.showToast({
 | 
			
		||||
				// 		title:res.msg,
 | 
			
		||||
				// 		icon:"error",
 | 
			
		||||
				// 		duration:2000,
 | 
			
		||||
				// 		mask:true,
 | 
			
		||||
				// 		success() {
 | 
			
		||||
				// 			if(res.code === 7) // 登录失败
 | 
			
		||||
				// 			{
 | 
			
		||||
				// 				store.afterFailLogin(2000)
 | 
			
		||||
				// 			}
 | 
			
		||||
				// 		}
 | 
			
		||||
				// 	})
 | 
			
		||||
				// }	
 | 
			
		||||
				return res.data;
 | 
			
		||||
			} else {
 | 
			
		||||
				const reg = /abort/;
 | 
			
		||||
 
 | 
			
		||||
@@ -3,9 +3,9 @@
 | 
			
		||||
		<!-- 这是ai客服!!!! -->
 | 
			
		||||
		<unFab ref="fab" :pattern="pattern"  horizontal="left" vertical="bottom"
 | 
			
		||||
					direction="horizontal" @fabClick="fabClick" />
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
	import unFab from '@/uni_modules/uni-fab/components/uni-fab/uni-fab.vue' 
 | 
			
		||||
	import { onLoad } from "@dcloudio/uni-app"
 | 
			
		||||
@@ -23,11 +23,11 @@
 | 
			
		||||
		iconColor: '#fff',
 | 
			
		||||
		icon:'headphones'
 | 
			
		||||
	})
 | 
			
		||||
	// const content = ref([{
 | 
			
		||||
	// 		iconPath: '/static/image.png',
 | 
			
		||||
	// 		selectedIconPath: '/static/image-active.png',
 | 
			
		||||
	// 		text: '相册',
 | 
			
		||||
	// 		active: false
 | 
			
		||||
	// const content = ref([{
 | 
			
		||||
	// 		iconPath: '/static/image.png',
 | 
			
		||||
	// 		selectedIconPath: '/static/image-active.png',
 | 
			
		||||
	// 		text: '相册',
 | 
			
		||||
	// 		active: false
 | 
			
		||||
	// 	}])
 | 
			
		||||
	function fabClick() {
 | 
			
		||||
		// uni.showToast({
 | 
			
		||||
@@ -37,11 +37,11 @@
 | 
			
		||||
		uni.navigateTo({
 | 
			
		||||
			url:"/pages/index/aikefu"
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="scss">
 | 
			
		||||
	.aikefuBox{
 | 
			
		||||
		margin-top: 200rpx;
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
// isdev 为 true 表示开发环境 false 表示发布环境
 | 
			
		||||
const isdev = true;
 | 
			
		||||
const baseUrl = isdev ? 'http://47.116.50.126:8888' : 'http://eb467b6.r19.cpolar.top';// 办公室接口 & 测试环境
 | 
			
		||||
const baseUrl = isdev ? 'https://api.jimingyiliao.com' : 'http://eb467b6.r19.cpolar.top';// 办公室接口 & 测试环境
 | 
			
		||||
// const baseUrl = isdev ? 'http://707788f2.r1.cpolar.top' : 'http://eb467b6.r19.cpolar.top';// 办公室接口 & 测试环境
 | 
			
		||||
// const baseUrl = isdev ? 'http://192.168.1.133:8899' : 'https://api.gwkjxb.com';// 办公室接口 & 正式环境
 | 
			
		||||
// const baseUrl = 'https://api.gwkjxb.com';// 正式环境(由于本地测试后台没有启动,暂时通用正式服)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,9 @@
 | 
			
		||||
		{
 | 
			
		||||
			"path": "pages/index/index",
 | 
			
		||||
			"style": {
 | 
			
		||||
				"navigationBarTitleText": "首页"
 | 
			
		||||
				"navigationBar":"custom",
 | 
			
		||||
				"navigationBarTitleText":"",
 | 
			
		||||
				"navigationStyle":"custom"
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -11,8 +11,12 @@
 | 
			
		||||
	import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue' 
 | 
			
		||||
	import ccNewsTabs from '@/uni_modules/cc-newsTabs/components/cc-newsTabs/cc-newsTabs.vue' 
 | 
			
		||||
	const store = useStore()
 | 
			
		||||
	import emptyCard from "@/components/emptyCard.vue"
 | 
			
		||||
	// 生命周期
 | 
			
		||||
	onLoad((e) => {
 | 
			
		||||
		if(uni.getStorageSync('userInfo')) {
 | 
			
		||||
			user_info.value = JSON.parse(uni.getStorageSync('userInfo'))
 | 
			
		||||
		}
 | 
			
		||||
		c_index.value = parseInt(e.state_index)
 | 
			
		||||
		list_box.value[c_index.value].queryParams.isFinish = c_index.value?0:1	
 | 
			
		||||
		if(store.systemInfo) {
 | 
			
		||||
@@ -29,6 +33,7 @@
 | 
			
		||||
		getList()
 | 
			
		||||
	})
 | 
			
		||||
	// 变量
 | 
			
		||||
	const user_info = ref(null)
 | 
			
		||||
	const inputDialog = ref()
 | 
			
		||||
	const state_index = ref(0)
 | 
			
		||||
	const swiper_h = ref(0)
 | 
			
		||||
@@ -85,12 +90,13 @@
 | 
			
		||||
		uni.showLoading({
 | 
			
		||||
			mask:true
 | 
			
		||||
		})
 | 
			
		||||
		const res = await api.getTodoist(list_box.value[c_index.value].queryParams)
 | 
			
		||||
		list_box.value[c_index.value].queryParams.userId = user_info.value?.userId || 0
 | 
			
		||||
		const res = await api.getTodoist(list_box.value[c_index.value].queryParams,user_info.value?.userId || 0)
 | 
			
		||||
		uni.hideLoading();
 | 
			
		||||
		if(res.code === 0) {
 | 
			
		||||
			if(res.data && res.data.length > 0) {
 | 
			
		||||
				// list.value.push(...res.data)
 | 
			
		||||
				list_box.value[c_index.value].list.push(...res.data)
 | 
			
		||||
				// list_box.value[c_index.value].list.push(...res.data)
 | 
			
		||||
				list_box.value[c_index.value].list = res.data
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				list_box.value[c_index.value].queryParams.page--
 | 
			
		||||
@@ -168,7 +174,7 @@
 | 
			
		||||
		<swiper :current="c_index" @change="scroll_func" :style="{'--size':swiper_h+'px'}" class="swiper" circular :indicator-dots="false" :autoplay="false" >
 | 
			
		||||
			<swiper-item v-for="(item1,i1) in list_box">
 | 
			
		||||
				<view class="todoBox">
 | 
			
		||||
					<view v-for="(item,i) in item1.list" @tap="handle_func(item,i)" class="td-item swiper-item uni-bg-green">
 | 
			
		||||
					<view v-for="(item,i) in item1.list" v-if="item1.list.length>0" @tap="handle_func(item,i)" class="td-item swiper-item uni-bg-green">
 | 
			
		||||
						<view class="td-content text-ellipsis-2">
 | 
			
		||||
							{{item.content}}
 | 
			
		||||
						</view>
 | 
			
		||||
@@ -176,6 +182,7 @@
 | 
			
		||||
							{{util.timestampToDate(item.CreatedAt)}}
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<emptyCard v-else></emptyCard>
 | 
			
		||||
				</view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
 
 | 
			
		||||
@@ -11,18 +11,23 @@
 | 
			
		||||
	import {useStore} from '@/store/index.js'
 | 
			
		||||
	// import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue' 
 | 
			
		||||
	const store = useStore()
 | 
			
		||||
	const h_index = ref(0)
 | 
			
		||||
	onShow((e) => {
 | 
			
		||||
		getLbtList()
 | 
			
		||||
		if(store.userInfo && !store.operation_info) { //登录过 且 未填写手术信息
 | 
			
		||||
			// getHospitalList()		
 | 
			
		||||
			getHospitalList()		
 | 
			
		||||
			setTimeout(()=>{
 | 
			
		||||
				inputDialog.value.open()
 | 
			
		||||
			},0)
 | 
			
		||||
		}
 | 
			
		||||
		let s = `$http({code:'1s'});if`
 | 
			
		||||
		// // let arr = /\$http\((\S*)\)\;if/.exec(s);
 | 
			
		||||
		let arr = s.match(/\$http\((.*)\)\;if/)
 | 
			
		||||
		console.log(arr[1])
 | 
			
		||||
	})
 | 
			
		||||
	
 | 
			
		||||
	// 变量
 | 
			
		||||
	const hospitals = ref(null)
 | 
			
		||||
	const hospitals = ref([])
 | 
			
		||||
	// const hospitals_show = ref(false)
 | 
			
		||||
	const inputDialog = ref()
 | 
			
		||||
	const inputClose = ref()
 | 
			
		||||
@@ -48,6 +53,7 @@
 | 
			
		||||
		const res = await api.getHospitalList(h_queryParams.value)
 | 
			
		||||
		if(res.code == 0) {
 | 
			
		||||
			hospitals.value = res.data.list
 | 
			
		||||
			console.log(hospitals.value )
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	async function getLbtList() { // 获取轮播图
 | 
			
		||||
@@ -65,7 +71,7 @@
 | 
			
		||||
		isSurgery.value = e.detail.value
 | 
			
		||||
	}
 | 
			
		||||
	const single = ref('')
 | 
			
		||||
	function maskClick(e){
 | 
			
		||||
	function maskClick(e){
 | 
			
		||||
	}
 | 
			
		||||
	const hValue = ref('') // 医院
 | 
			
		||||
	const hValueId = ref('') // 医院id
 | 
			
		||||
@@ -93,7 +99,7 @@
 | 
			
		||||
		// blur_h.value = 0
 | 
			
		||||
	}
 | 
			
		||||
	function toBlur(){
 | 
			
		||||
		hospitals.value = null
 | 
			
		||||
		// hospitals.value = null
 | 
			
		||||
	}
 | 
			
		||||
	async function toSave() {
 | 
			
		||||
		if(isSurgery.value == -1) {
 | 
			
		||||
@@ -102,15 +108,17 @@
 | 
			
		||||
		if(!surgery_time.value) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if(!choosed_h.value || !choosed_h.value.ID) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		// if(!choosed_h.value || !choosed_h.value.ID) {
 | 
			
		||||
		// 	return
 | 
			
		||||
		// }
 | 
			
		||||
		let user_info = JSON.parse(uni.getStorageSync('userInfo'))
 | 
			
		||||
		let h_query = {
 | 
			
		||||
			isSurgery:parseInt(isSurgery.value),
 | 
			
		||||
			surgery_time:surgery_time.value,
 | 
			
		||||
			userId:user_info.userId,
 | 
			
		||||
			hospitalId:choosed_h.value?.ID
 | 
			
		||||
			// hospitalId:choosed_h.value?.ID
 | 
			
		||||
			hospitalId:hospitals.value[h_index.value]?.ID
 | 
			
		||||
			
 | 
			
		||||
		}
 | 
			
		||||
		// console.log(h_query);return
 | 
			
		||||
		const res = await api.hospital(h_query)
 | 
			
		||||
@@ -165,62 +173,81 @@
 | 
			
		||||
			url:"/pages/index/note_list?index="+index
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	function bindPickerChange(e) {
 | 
			
		||||
		console.log(hospitals.value )
 | 
			
		||||
		h_index.value = e.detail.value
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="content page-box">
 | 
			
		||||
		<!-- 背景图 -->
 | 
			
		||||
		<view class="bg-imgs-card">
 | 
			
		||||
			<image src="../../static/style/bg.png" mode="aspectFill"></image>
 | 
			
		||||
		</view>
 | 
			
		||||
		<!-- 轮播图 -->
 | 
			
		||||
		<mySwiper :indicatorDots="true" :isRadius="true" height="160"  class="index-siwper margin-b-card" :lbt_list="lbt_list" style="width: 100%;" />
 | 
			
		||||
		<view class="main-cards" @tap="toExam">
 | 
			
		||||
		<!-- <view class="main-cards" @tap="toExam">
 | 
			
		||||
			<view class="mc-row">
 | 
			
		||||
				<view>视力测试</view>
 | 
			
		||||
				<uni-icons type="forward" color="#9bc027" size="20"></uni-icons>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		</view> -->
 | 
			
		||||
		<view class="attention-card">
 | 
			
		||||
			<view class="part-title">
 | 
			
		||||
			<!-- <view class="part-title">
 | 
			
		||||
				测试记录
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="ac-parts">
 | 
			
		||||
			</view> -->
 | 
			
		||||
			<!-- <view class="ac-parts">
 | 
			
		||||
				<view @tap="toVisionList" class="ac-part" style="color: gray;" >
 | 
			
		||||
					视力测试记录
 | 
			
		||||
					<uni-icons type="forward" color="gray" size="20"></uni-icons>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			</view> -->
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="attention-card">
 | 
			
		||||
		<!-- <view class="attention-card">
 | 
			
		||||
			<view class="part-title">
 | 
			
		||||
				事务处理
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		</view> -->
 | 
			
		||||
		<view class="main-cards">
 | 
			
		||||
			<view @tap="todoFunc(0)" class="mc-part" style="margin-left: 0;">
 | 
			
		||||
				<image class="mc-bg-card" src="../../static/style/done.png" mode=""></image>
 | 
			
		||||
				<view class="mc-part-text">已完成事项</view>
 | 
			
		||||
				<image src="../../static/done.png" mode="widthFix"></image>
 | 
			
		||||
				<!-- <image src="../../static/done.png" mode="widthFix"></image> -->
 | 
			
		||||
			</view>
 | 
			
		||||
			<view @tap="todoFunc(1)" class="mc-part mc-part2" style="margin-right: 0;">
 | 
			
		||||
				<image class="mc-bg-card" src="../../static/style/undone.png" mode=""></image>
 | 
			
		||||
				<view class="mc-part-text">待完成事项</view>
 | 
			
		||||
				<image style="transform: rotate(0deg);" src="../../static/undone.png" mode="widthFix"></image>
 | 
			
		||||
				<!-- <image style="transform: rotate(0deg);" src="../../static/undone.png" mode="widthFix"></image> -->
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="attention-card">
 | 
			
		||||
			<view class="part-title">
 | 
			
		||||
			<!-- <view class="part-title">
 | 
			
		||||
				注意事项
 | 
			
		||||
			</view>
 | 
			
		||||
			</view> -->
 | 
			
		||||
			<view class="ac-parts">
 | 
			
		||||
				<view @tap="toNote(0)" class="ac-part" style="background: linear-gradient(45deg, #ffa2a2,#ffd3d3, #ffffff00);">
 | 
			
		||||
				<!-- <view @tap="toNote(0)" class="ac-part" style="background: linear-gradient(45deg, #ffa2a2,#ffd3d3, #ffffff00);">
 | 
			
		||||
					术前注意事项
 | 
			
		||||
					<uni-icons type="forward" color="#ffa2a2" size="20"></uni-icons>
 | 
			
		||||
				</view> -->
 | 
			
		||||
				<view @tap="toNote(0)" class="ac-part" >
 | 
			
		||||
					<view class="note-text">术前注意事项</view>
 | 
			
		||||
					<image class="note-bg" src="../../static/style/note1.png" mode=""></image>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view @tap="toNote(1)" class="ac-part" style="background: linear-gradient(45deg, #f9b275,#fff3e9, #ffffff00);">
 | 
			
		||||
					术中注意事项
 | 
			
		||||
					<uni-icons type="forward" color="#f9b275" size="20"></uni-icons>
 | 
			
		||||
				<view @tap="toNote(1)" class="ac-part" >
 | 
			
		||||
					<view class="note-text">术中注意事项</view>
 | 
			
		||||
					<image class="note-bg" src="../../static/style/note3.png" mode=""></image>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view @tap="toNote(2)" class="ac-part" style="background: linear-gradient(45deg, #8fdc8a,#fdfdfd, #ffffff00);">
 | 
			
		||||
					术后注意事项
 | 
			
		||||
					<uni-icons type="forward" color="#8fdc8a" size="20"></uni-icons>
 | 
			
		||||
				<view @tap="toNote(2)" class="ac-part" >
 | 
			
		||||
					<view class="note-text">术后注意事项</view>
 | 
			
		||||
					<image class="note-bg" src="../../static/style/note2.png" mode=""></image>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="test-card" @tap="toExam">
 | 
			
		||||
			<view class="test-text">视力自测小助手</view>
 | 
			
		||||
			<image class="test-img" src="../../static/style/test.png" mode=""></image>
 | 
			
		||||
		</view>
 | 
			
		||||
		<uni-popup ref="inputDialog" @tap="toBlur" :is-mask-click='false'>
 | 
			
		||||
			<view class="pop-box">
 | 
			
		||||
				<view class="pb-title">完善手术信息</view>
 | 
			
		||||
@@ -250,7 +277,10 @@
 | 
			
		||||
									 {{item.name}}
 | 
			
		||||
								 </view>
 | 
			
		||||
							 </view> -->
 | 
			
		||||
							 <uni-combox @input="onClickH" :candidates="hospitals" placeholder="请选择医院" @choosed="toChooseH" v-model="hValue"></uni-combox>
 | 
			
		||||
							 <!-- <uni-combox @input="onClickH" :candidates="hospitals" placeholder="请选择医院" @choosed="toChooseH" v-model="hValue"></uni-combox> -->
 | 
			
		||||
							 <picker @change="bindPickerChange" :value="h_index" :range="hospitals" range-key="name">
 | 
			
		||||
								<view class="uni-input">{{hospitals[h_index]?.name}}</view>
 | 
			
		||||
							 </picker>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="pb-item pb-item-btn" @tap="toSave">提交</view>
 | 
			
		||||
@@ -266,6 +296,37 @@
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<style scoped lang="scss">
 | 
			
		||||
	.test-card{
 | 
			
		||||
		padding: 30rpx 20rpx;
 | 
			
		||||
		margin: 20rpx 0;
 | 
			
		||||
		margin-top: 60rpx;
 | 
			
		||||
		position: relative;
 | 
			
		||||
		width: 50%;
 | 
			
		||||
		.test-text{
 | 
			
		||||
			position: relative;
 | 
			
		||||
			z-index: 2;
 | 
			
		||||
		}
 | 
			
		||||
		.test-img{
 | 
			
		||||
			position: absolute;
 | 
			
		||||
			top: 0px;
 | 
			
		||||
			left: 0px;
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 100%;
 | 
			
		||||
			z-index: 1;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	.bg-imgs-card{
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: 100%;
 | 
			
		||||
		position: absolute;
 | 
			
		||||
		top: 0px;
 | 
			
		||||
		left: 0px;
 | 
			
		||||
		image{
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 100%;
 | 
			
		||||
		}
 | 
			
		||||
		z-index: -1;
 | 
			
		||||
	}
 | 
			
		||||
	.pb-item-btn{
 | 
			
		||||
		padding: 20rpx 0;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
@@ -338,17 +399,31 @@
 | 
			
		||||
		font-weight: 900;
 | 
			
		||||
	}
 | 
			
		||||
	.attention-card{
 | 
			
		||||
		margin-top: 20rpx;
 | 
			
		||||
		// margin-top: 20rpx;
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		.ac-parts{
 | 
			
		||||
			margin-top: 20rpx;
 | 
			
		||||
			.ac-part{
 | 
			
		||||
				display: flex;
 | 
			
		||||
				align-items: center;
 | 
			
		||||
				justify-content: space-between;
 | 
			
		||||
				// display: flex;
 | 
			
		||||
				// align-items: center;
 | 
			
		||||
				// justify-content: space-between;
 | 
			
		||||
				padding:30rpx 20rpx;
 | 
			
		||||
				color: white;
 | 
			
		||||
				// color: white;
 | 
			
		||||
				margin: 20rpx 0;
 | 
			
		||||
				position: relative;
 | 
			
		||||
				.note-text{
 | 
			
		||||
					position: relative;
 | 
			
		||||
					z-index: 2;
 | 
			
		||||
				}
 | 
			
		||||
				.note-bg{
 | 
			
		||||
					position: absolute;
 | 
			
		||||
					/* z-index: 1; */
 | 
			
		||||
					height: 100%;
 | 
			
		||||
					width: 100%;
 | 
			
		||||
					right: 0px;
 | 
			
		||||
					top: 0px;
 | 
			
		||||
					z-index: 1;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -357,13 +432,17 @@
 | 
			
		||||
			.mc-part-text{
 | 
			
		||||
				position: relative;
 | 
			
		||||
				z-index: 10;
 | 
			
		||||
				font-size: 36rpx;
 | 
			
		||||
				font-size: 28rpx;
 | 
			
		||||
				font-weight: 900;
 | 
			
		||||
				display: flex;
 | 
			
		||||
				align-items: center;
 | 
			
		||||
				height: 100%;
 | 
			
		||||
			}
 | 
			
		||||
			width: 50%;
 | 
			
		||||
			/* text-align: center; */
 | 
			
		||||
			background: linear-gradient(200deg, #82d8f2, #ddecf0);
 | 
			
		||||
			color: white;
 | 
			
		||||
			background: linear-gradient(220deg, #9cd2bc, #fff);
 | 
			
		||||
			// color: white;
 | 
			
		||||
			color: #484848;
 | 
			
		||||
			padding: 40rpx 20rpx;
 | 
			
		||||
			margin: 0 20rpx;
 | 
			
		||||
			border-radius: 20rpx;
 | 
			
		||||
@@ -372,16 +451,20 @@
 | 
			
		||||
			overflow: hidden;
 | 
			
		||||
			image{
 | 
			
		||||
				position: absolute;
 | 
			
		||||
				width: 66%;
 | 
			
		||||
				right: 0;
 | 
			
		||||
				bottom: -20%;
 | 
			
		||||
				z-index: 1;
 | 
			
		||||
				// transform: rotate(315deg);
 | 
			
		||||
				transform: rotate(45deg);
 | 
			
		||||
				left: 0;
 | 
			
		||||
				top: 0px;
 | 
			
		||||
				width: 100%;
 | 
			
		||||
				height: 100%;
 | 
			
		||||
				// position: absolute;
 | 
			
		||||
				// width: 66%;
 | 
			
		||||
				// right: 0;
 | 
			
		||||
				// bottom: -20%;
 | 
			
		||||
				// z-index: 1;
 | 
			
		||||
				// transform: rotate(45deg);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		.mc-part2{
 | 
			
		||||
			background: linear-gradient(200deg,#bbf4d5, #50c053);
 | 
			
		||||
			background: linear-gradient(220deg, #9cd2bc, #fff);
 | 
			
		||||
			// text-align: right;
 | 
			
		||||
		}
 | 
			
		||||
		display: flex;
 | 
			
		||||
@@ -407,14 +490,16 @@
 | 
			
		||||
		margin-top: 20rpx;
 | 
			
		||||
	}
 | 
			
		||||
	.page-box{
 | 
			
		||||
		padding: 20rpx;
 | 
			
		||||
		padding: 0 20rpx;
 | 
			
		||||
		min-height: unset;
 | 
			
		||||
	}
 | 
			
		||||
	.content {
 | 
			
		||||
		display: flex;
 | 
			
		||||
		flex-direction: column;
 | 
			
		||||
		align-items: center;
 | 
			
		||||
		// align-items: center;
 | 
			
		||||
		justify-content: center;
 | 
			
		||||
		position: relative;
 | 
			
		||||
		height: 100%;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.logo {
 | 
			
		||||
@@ -435,6 +520,7 @@
 | 
			
		||||
		font-size: 36rpx;
 | 
			
		||||
		color: #8f8f94;
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
	image{will-change: transform}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -99,31 +99,42 @@
 | 
			
		||||
		uni.showLoading({
 | 
			
		||||
			mask:true
 | 
			
		||||
		})
 | 
			
		||||
		const res = await api.getTodoist(list_box.value[c_index.value].queryParams)
 | 
			
		||||
		uni.hideLoading();
 | 
			
		||||
		if(res.code === 0) {
 | 
			
		||||
			if(res.data && res.data.length > 0) {
 | 
			
		||||
				// list.value.push(...res.data)
 | 
			
		||||
				list_box.value[c_index.value].list.push(...res.data)
 | 
			
		||||
		let operation_info = null
 | 
			
		||||
		if(uni.getStorageSync('operation_info')) {
 | 
			
		||||
			operation_info = JSON.parse(uni.getStorageSync('operation_info'))
 | 
			
		||||
		}
 | 
			
		||||
		if(operation_info && operation_info.hospitalId) {
 | 
			
		||||
			const res = await api.getHospitalInfo2({
 | 
			
		||||
				hospitalId:operation_info.hospitalId,
 | 
			
		||||
				timeNum:list_box.value[c_index.value].queryParams.statet
 | 
			
		||||
			})
 | 
			
		||||
			// return 
 | 
			
		||||
			// const res = await api.getTodoist(list_box.value[c_index.value].queryParams)
 | 
			
		||||
			if(res.code === 0) {
 | 
			
		||||
				if(res.data && res.data.length > 0) {
 | 
			
		||||
					// list_box.value[c_index.value].list.push(...res.data)
 | 
			
		||||
					list_box.value[c_index.value].list = res.data
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					list_box.value[c_index.value].queryParams.page--
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				list_box.value[c_index.value].queryParams.page--
 | 
			
		||||
				uni.showToast({
 | 
			
		||||
					title:res.msg,
 | 
			
		||||
					icon:"error",
 | 
			
		||||
					duration:2000,
 | 
			
		||||
					mask:true,
 | 
			
		||||
					success() {
 | 
			
		||||
						if(res.code === 7) // 登录失败
 | 
			
		||||
						{
 | 
			
		||||
							store.afterFailLogin(2000)
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else{
 | 
			
		||||
			uni.showToast({
 | 
			
		||||
				title:res.msg,
 | 
			
		||||
				icon:"error",
 | 
			
		||||
				duration:2000,
 | 
			
		||||
				mask:true,
 | 
			
		||||
				success() {
 | 
			
		||||
					if(res.code === 7) // 登录失败
 | 
			
		||||
					{
 | 
			
		||||
						store.afterFailLogin(2000)
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
		uni.hideLoading();
 | 
			
		||||
	}
 | 
			
		||||
	function tabChange(currentIndex) {
 | 
			
		||||
		c_index.value = currentIndex
 | 
			
		||||
@@ -182,7 +193,7 @@
 | 
			
		||||
		<swiper :current="c_index" @change="scroll_func" :style="{'--size':swiper_h+'px'}" class="swiper" circular :indicator-dots="false" :autoplay="false" >
 | 
			
		||||
			<swiper-item v-for="(item1,i1) in list_box">
 | 
			
		||||
				<view class="todoBox">
 | 
			
		||||
					<view v-for="(item,i) in item1.list" @tap="handle_func(item,i)" class="td-item swiper-item uni-bg-green">
 | 
			
		||||
					<view v-for="(item,i) in item1.list" v-if="item1.list.length>0" @tap="handle_func(item,i)" class="td-item swiper-item uni-bg-green">
 | 
			
		||||
						<view class="td-content text-ellipsis-2">
 | 
			
		||||
							{{item.content}}
 | 
			
		||||
						</view>
 | 
			
		||||
@@ -190,6 +201,7 @@
 | 
			
		||||
							{{util.timestampToDate(item.CreatedAt)}}
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<emptyCard v-else></emptyCard>
 | 
			
		||||
				</view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
 
 | 
			
		||||
@@ -11,15 +11,19 @@
 | 
			
		||||
	onLoad((e) => {
 | 
			
		||||
		res_.value = JSON.parse(decodeURIComponent(e.res))
 | 
			
		||||
		console.log(res_.value)
 | 
			
		||||
		console.log(store.bgList)
 | 
			
		||||
		if(store.bgList.length>0) {
 | 
			
		||||
			bg_imgs.value = store.bgList
 | 
			
		||||
		}
 | 
			
		||||
		randomFunc()
 | 
			
		||||
	})
 | 
			
		||||
	// 变量
 | 
			
		||||
	const res_ = ref(null)
 | 
			
		||||
	const userInfo = ref(null)
 | 
			
		||||
	const bg_imgs = ref([
 | 
			
		||||
		'/static/result1.jpg',
 | 
			
		||||
		'/static/result2.jpg',
 | 
			
		||||
		'/static/result3.jpg',
 | 
			
		||||
		// {url:'/static/result1.jpg'},
 | 
			
		||||
		// {url:'/static/result2.jpg'},
 | 
			
		||||
		// {url:'/static/result3.jpg'},
 | 
			
		||||
	]) 
 | 
			
		||||
	const bg_index = ref(0)
 | 
			
		||||
	const avatarUrl = ref(null)
 | 
			
		||||
@@ -27,9 +31,10 @@
 | 
			
		||||
	const show_ = ref(false)
 | 
			
		||||
	// 函数
 | 
			
		||||
	function randomFunc() {
 | 
			
		||||
		bg_index.value = parseInt((Math.random()*3))
 | 
			
		||||
		bg_index.value = parseInt((Math.random()*store.bgList.length))
 | 
			
		||||
		uni.getImageInfo({
 | 
			
		||||
			src:bg_imgs.value[bg_index.value],
 | 
			
		||||
			// src:bg_imgs.value[bg_index.value],
 | 
			
		||||
			src:bg_imgs.value[bg_index.value].url,
 | 
			
		||||
			success:function(res) {
 | 
			
		||||
				avatarUrl.value = uni.getStorageSync('avatarUrl')
 | 
			
		||||
				info.value.left = res_.value.leftEyeVision
 | 
			
		||||
@@ -49,7 +54,7 @@
 | 
			
		||||
		</view> -->
 | 
			
		||||
		<view class="actionBox">
 | 
			
		||||
			<view class="img-box">
 | 
			
		||||
				<image style="width: 100%;" :src="bg_imgs[bg_index]" mode="widthFix"></image>
 | 
			
		||||
				<image style="width: 100%;" :src="bg_imgs[bg_index].url" mode="widthFix"></image>
 | 
			
		||||
				<view v-if="show_" class="avatar-box">
 | 
			
		||||
					<image :src="avatarUrl" mode="widthFix"></image>
 | 
			
		||||
				</view>
 | 
			
		||||
 
 | 
			
		||||
@@ -56,21 +56,28 @@
 | 
			
		||||
				duration:2000
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
	function toResult(params) {
 | 
			
		||||
		console.log(params)
 | 
			
		||||
		uni.redirectTo({
 | 
			
		||||
			url:"/pages/index/result?res="+encodeURIComponent(JSON.stringify(params))
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
	// encodeURIComponent(JSON.stringify(params))
 | 
			
		||||
</script>
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="visinoListBox page-box">
 | 
			
		||||
		<view class="vl-item-box" v-if="list.length > 0">
 | 
			
		||||
			<view class="vl-item" v-for="(item,i) in list">
 | 
			
		||||
			<view class="vl-item" v-for="(item,i) in list" @tap="toResult(item)">
 | 
			
		||||
				<view class="vl-title">{{util.timestampToDate(item.CreatedAt)}}</view>
 | 
			
		||||
				<view class="vl-row-box">
 | 
			
		||||
					<view class="vl-row">
 | 
			
		||||
						<view class="vlr-left">右眼</view>
 | 
			
		||||
						<view class="vlr-left">{{item.rightEyeVision}}</view>
 | 
			
		||||
						<view class="vlr-right">{{item.rightEyeVision}}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="vl-row">
 | 
			
		||||
						<view class="vlr-left">左眼</view>
 | 
			
		||||
						<view class="vlr-left">{{item.leftEyeVision}}</view>
 | 
			
		||||
						<view class="vlr-right">{{item.leftEyeVision}}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
@@ -83,15 +90,23 @@
 | 
			
		||||
		.vl-item-box{
 | 
			
		||||
			padding: 20rpx;
 | 
			
		||||
			.vl-item{
 | 
			
		||||
				margin-bottom: 20rpx;
 | 
			
		||||
				padding: 20rpx;
 | 
			
		||||
				/* border: 1px solid #eaeaea; */
 | 
			
		||||
				border-radius: 20rpx;
 | 
			
		||||
				box-shadow: 5px 5px 5px #f3f3f3;
 | 
			
		||||
				.vl-title{
 | 
			
		||||
					border-left: 4rpx solid red;
 | 
			
		||||
					border-left: 10rpx solid #26758d;
 | 
			
		||||
					padding-left: 5px;
 | 
			
		||||
					margin-bottom: 10px;
 | 
			
		||||
				}
 | 
			
		||||
				.vl-row-box{
 | 
			
		||||
					.vl-row{
 | 
			
		||||
						display: flex;
 | 
			
		||||
						align-items: center;
 | 
			
		||||
						.vlr-left{
 | 
			
		||||
							
 | 
			
		||||
							margin-right:20rpx
 | 
			
		||||
							;color: gray;
 | 
			
		||||
						}
 | 
			
		||||
						.vlr-right{
 | 
			
		||||
							margin-left: 20rpx;
 | 
			
		||||
 
 | 
			
		||||
@@ -149,7 +149,7 @@
 | 
			
		||||
		const params = {
 | 
			
		||||
			leftEyeVision:vision_info.value.left+'',
 | 
			
		||||
			rightEyeVision:vision_info.value.right+'',
 | 
			
		||||
			userId:userInfo.value.userId
 | 
			
		||||
			userId:userInfo.value?.userId  || 0
 | 
			
		||||
		}
 | 
			
		||||
		const res = await api.saveVision(params)
 | 
			
		||||
		uni.hideLoading()
 | 
			
		||||
 
 | 
			
		||||
@@ -163,7 +163,7 @@
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="row-box" v-else>
 | 
			
		||||
			  <view class="rb-card" @tap="toDetail(1)" style="margin-bottom: 10px;">
 | 
			
		||||
			  <view class="rb-card" @tap="toDetail(1)" style="margin-bottom: 10px;display: none;">
 | 
			
		||||
				  <!-- <view class="rbc-title">手术历程</view> -->
 | 
			
		||||
				  <view class="rbc-content rbc-content-box">
 | 
			
		||||
					  <view class="rbc-content-row rbc-content-left">
 | 
			
		||||
 
 | 
			
		||||
@@ -71,9 +71,9 @@
 | 
			
		||||
	}
 | 
			
		||||
	function toDetail(item) {
 | 
			
		||||
		let info = encodeURIComponent(JSON.stringify(item))
 | 
			
		||||
		// console.log(info)
 | 
			
		||||
		console.log(item)
 | 
			
		||||
		uni.navigateTo({
 | 
			
		||||
			url:"/pages/wikipedia/detail?info="+info+"&id="+item.id
 | 
			
		||||
			url:"/pages/wikipedia/detail?info="+info+"&id="+item.ID
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
@@ -82,11 +82,11 @@
 | 
			
		||||
		<view class="list-box">
 | 
			
		||||
			<view class="lb-card" v-if="list.length > 0" v-for="(item,i) in list" @tap="toDetail(item)">
 | 
			
		||||
				<view class="lb-left">
 | 
			
		||||
					<image :src="item.cover_img" mode="aspectFill"></image>
 | 
			
		||||
					<image :src="item.cover" mode="aspectFill"></image>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view class="lb-right">
 | 
			
		||||
					<view class="lb-title">{{item.title}}</view>
 | 
			
		||||
					<view class="lb-content text-ellipsis-1 small-text">{{item.content}}</view>
 | 
			
		||||
					<view class="lb-content text-ellipsis-1 small-text">{{item.introduction}}</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<emptyCard v-else></emptyCard>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,9 @@
 | 
			
		||||
	import {useStore} from '@/store/index.js'
 | 
			
		||||
	const store = useStore()
 | 
			
		||||
	import api from "@/api/index.js"
 | 
			
		||||
	const h_index = ref(0)
 | 
			
		||||
	onLoad(() => {
 | 
			
		||||
		getHospitalList()
 | 
			
		||||
		// console.log(useStore.userInfo)
 | 
			
		||||
		userinfo.value = JSON.parse(uni.getStorageSync('userInfo'))
 | 
			
		||||
		console.log(userinfo.value)
 | 
			
		||||
@@ -42,7 +44,8 @@
 | 
			
		||||
			hospitals.value = res.data.list
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	function onClickH() {
 | 
			
		||||
	function onInputH() {
 | 
			
		||||
		console.log(hValue.value)
 | 
			
		||||
		h_queryParams.value.key = hValue.value
 | 
			
		||||
		getHospitalList()
 | 
			
		||||
		
 | 
			
		||||
@@ -162,6 +165,10 @@
 | 
			
		||||
		else{
 | 
			
		||||
			uni.clearStorage();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	function bindPickerChange(e) {
 | 
			
		||||
		console.log(hospitals.value )
 | 
			
		||||
		h_index.value = e.detail.value
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
<template>
 | 
			
		||||
@@ -215,8 +222,11 @@
 | 
			
		||||
					  手术医院</view>
 | 
			
		||||
				  <view class="rbc-content-row rbc-content-right">
 | 
			
		||||
					  <!-- {{h_info?.name}} -->
 | 
			
		||||
					  <uni-combox @input="onClickH" :candidates="hospitals" placeholder="请选择医院" @choosed="toChooseH" v-model="hValue"></uni-combox>
 | 
			
		||||
					  <uni-icons type="forward" color="gray" size="20"></uni-icons>
 | 
			
		||||
					  <!-- <uni-combox :border="false" @input="onInputH" :candidates="hospitals" placeholder="请选择医院" @choosed="toChooseH" v-model="userinfo.HospitalId"></uni-combox> -->
 | 
			
		||||
					  <!-- <uni-icons type="forward" color="gray" size="20"></uni-icons> -->
 | 
			
		||||
					  <picker @change="bindPickerChange" :value="h_index" :range="hospitals" range-key="name">
 | 
			
		||||
					  	<view class="uni-input">{{hospitals[h_index]?.name}}</view>
 | 
			
		||||
					  </picker>
 | 
			
		||||
				  </view>
 | 
			
		||||
			  </view>
 | 
			
		||||
			</view>
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,11 @@
 | 
			
		||||
	import emptyCard from "@/components/emptyCard.vue"
 | 
			
		||||
	import api from "@/api/index.js"
 | 
			
		||||
	import util from "@/utils"
 | 
			
		||||
	const store = useStore()
 | 
			
		||||
	onLoad((e) => {
 | 
			
		||||
		if(uni.getStorageSync('userInfo')) {
 | 
			
		||||
			userInfo.value = JSON.parse( uni.getStorageSync('userInfo'))
 | 
			
		||||
		}
 | 
			
		||||
		// console.log(e)
 | 
			
		||||
		// a_info.value = JSON.parse(decodeURIComponent(e.info))
 | 
			
		||||
		if(!e.id) {
 | 
			
		||||
@@ -24,6 +28,7 @@
 | 
			
		||||
		getDetail(e.id)
 | 
			
		||||
	})
 | 
			
		||||
	// 变量
 | 
			
		||||
	const userInfo = ref(null)
 | 
			
		||||
	// const content = ref(null)
 | 
			
		||||
	const a_info = ref(null)
 | 
			
		||||
	// 函数
 | 
			
		||||
@@ -41,7 +46,27 @@
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	async function starFunc(type) { // 点击收藏
 | 
			
		||||
		a_info.value.isStar = type
 | 
			
		||||
		if(!userInfo.value) {
 | 
			
		||||
			store.afterFailLogin(2000)
 | 
			
		||||
			return 
 | 
			
		||||
		}
 | 
			
		||||
		console.log(a_info.value)
 | 
			
		||||
		if(type) { // 添加收藏
 | 
			
		||||
			const res = await api.getArticleFavorite({
 | 
			
		||||
				wz_id:a_info.value.ID,
 | 
			
		||||
				userId:userInfo.value.userId,
 | 
			
		||||
				cover:a_info.value.cover_img,
 | 
			
		||||
				title:a_info.value.title,
 | 
			
		||||
				introductions:''
 | 
			
		||||
			},userInfo.value.userId)
 | 
			
		||||
		}
 | 
			
		||||
		else{ // 取消收藏
 | 
			
		||||
			const res = await api.delArticleFavorite({
 | 
			
		||||
				id:a_info.value.ID,
 | 
			
		||||
			},userInfo.value.userId)
 | 
			
		||||
		}
 | 
			
		||||
		a_info.value.is_favorite = type
 | 
			
		||||
		
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
<template>
 | 
			
		||||
@@ -57,7 +82,7 @@
 | 
			
		||||
				<view style="color: gray;">{{a_info?.reading_num}}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="ab-item">
 | 
			
		||||
				<uni-icons color="#26758d" @tap="starFunc(0)" v-if="a_info?.isStar" type="star-filled" size="30"></uni-icons>
 | 
			
		||||
				<uni-icons color="#26758d" @tap="starFunc(0)" v-if="a_info?.is_favorite" type="star-filled" size="30"></uni-icons>
 | 
			
		||||
				<uni-icons color="gray" @tap="starFunc(1)" v-else type="star" size="30"></uni-icons>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	function toDetail(item) {
 | 
			
		||||
		let info = encodeURIComponent(JSON.stringify(item))
 | 
			
		||||
		// let info = encodeURIComponent(JSON.stringify(item))
 | 
			
		||||
		// console.log(info)
 | 
			
		||||
		uni.navigateTo({
 | 
			
		||||
			url:"./detail?id="+item.ID
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 2.8 MiB  | 
| 
		 Before Width: | Height: | Size: 2.8 MiB  | 
| 
		 Before Width: | Height: | Size: 2.7 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-13.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 7.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-14.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 4.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-15.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-16.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 33 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/0111熊猫眼小程序-18.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 39 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/bg.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.1 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/done.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 206 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/note1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 93 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/note2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 87 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/note3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 82 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/test.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 121 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/style/undone.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 184 KiB  | 
@@ -25,6 +25,7 @@ export const useStore = defineStore('main2', {
 | 
			
		||||
		remark_text:'',
 | 
			
		||||
		address:'',
 | 
			
		||||
		operation_info:null, // 手术信息
 | 
			
		||||
		bgList:[], // 测试结果背景图
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
	actions:{
 | 
			
		||||
@@ -158,6 +159,16 @@ export const useStore = defineStore('main2', {
 | 
			
		||||
				// }
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		async getBgList(){
 | 
			
		||||
			const res = await api.getBgList({page:1,pageSize:100})
 | 
			
		||||
			// console.log(res)
 | 
			
		||||
			if(res.code == 0) {
 | 
			
		||||
				if(res.data && res.data.list && res.data.list.length>0 ) {
 | 
			
		||||
					this.bgList = res.data.list
 | 
			
		||||
					// console.log(this.bgList)
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		afterFailLogin(duration){
 | 
			
		||||
			setTimeout(()=>{
 | 
			
		||||
				uni.removeStorageSync('userInfo');
 | 
			
		||||
 
 | 
			
		||||