|
|
|
@ -6,22 +6,32 @@
|
|
|
|
|
// import mySwiper from "@/components/mySwiper.vue"
|
|
|
|
|
import {ref,onMounted,nextTick} from "vue"
|
|
|
|
|
import {useStore} from '@/store/index.js'
|
|
|
|
|
import api from "@/api/index.js"
|
|
|
|
|
const store = useStore()
|
|
|
|
|
onLoad((e) => {
|
|
|
|
|
if(!store.userInfo?.has_operation) { // 未填写手术信息
|
|
|
|
|
userInfo.value = JSON.parse(store.userInfo)
|
|
|
|
|
console.log(userInfo.value)
|
|
|
|
|
countDown.value = countDown_init
|
|
|
|
|
// if(!store.userInfo?.has_operation) { // 未填写手术信息
|
|
|
|
|
// setTimeout(()=>{
|
|
|
|
|
// // console.log(inputDialog.value)
|
|
|
|
|
// inputDialog.value.open()
|
|
|
|
|
// },0)
|
|
|
|
|
// }
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
// console.log(inputDialog.value)
|
|
|
|
|
inputDialog.value.open()
|
|
|
|
|
},0)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
// 变量
|
|
|
|
|
const userInfo = ref(null)
|
|
|
|
|
const inputDialog = ref()
|
|
|
|
|
const inputDialog2 = ref()
|
|
|
|
|
const inputDialog3 = ref()
|
|
|
|
|
const step1 = ref('先测右眼,请遮住左眼')
|
|
|
|
|
const step2 = ref('请遮住右眼')
|
|
|
|
|
const countDown = ref(5)
|
|
|
|
|
const countDown = ref(null) // 倒计时
|
|
|
|
|
const countDown_init = 3
|
|
|
|
|
const scale_ = ref(1)
|
|
|
|
|
const current_img = ref("") // 当前图片
|
|
|
|
|
const current_img_index = ref(null)
|
|
|
|
@ -59,10 +69,10 @@
|
|
|
|
|
width:'29px'
|
|
|
|
|
})
|
|
|
|
|
const num = ref(0)
|
|
|
|
|
const now = ref(1)
|
|
|
|
|
const now = ref(1); // 1-右眼;2-左眼
|
|
|
|
|
const vision_info = ref({
|
|
|
|
|
left:4,
|
|
|
|
|
right:4.1
|
|
|
|
|
right:4
|
|
|
|
|
})
|
|
|
|
|
// 函数
|
|
|
|
|
function toStart() { // 开始测试
|
|
|
|
@ -93,22 +103,31 @@
|
|
|
|
|
}
|
|
|
|
|
function chooseFunc(index) {
|
|
|
|
|
// 先执行加减分
|
|
|
|
|
if(!index){ // 扣分
|
|
|
|
|
if(!index || index!=current_img_index.value){ // 不加分
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else{ // 加分
|
|
|
|
|
if(now.value == 1) { // 右眼
|
|
|
|
|
vision_info.value.right+=0.1
|
|
|
|
|
vision_info.value.right = Number(vision_info.value.right.toFixed(1))
|
|
|
|
|
}
|
|
|
|
|
else{ // 左眼
|
|
|
|
|
vision_info.value.left+=0.1
|
|
|
|
|
vision_info.value.left = Number(vision_info.value.left.toFixed(1))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 换图片
|
|
|
|
|
randomFunc()
|
|
|
|
|
|
|
|
|
|
// 判断是否结束,换眼
|
|
|
|
|
if(num.value>8) { // 结束换眼
|
|
|
|
|
if(now.value == 2) { // 结束测试
|
|
|
|
|
|
|
|
|
|
inputDialog3.value.open()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
show_size.value.width = '29px'
|
|
|
|
|
countDown.value = 5
|
|
|
|
|
countDown.value = countDown_init
|
|
|
|
|
step1.value = '测左眼,请遮住右眼'
|
|
|
|
|
num.value = 8
|
|
|
|
|
num.value = 0
|
|
|
|
|
now.value = 2
|
|
|
|
|
toStart()
|
|
|
|
|
}
|
|
|
|
@ -117,8 +136,17 @@
|
|
|
|
|
num.value++
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function okFunc() { // 结束测试
|
|
|
|
|
inputDialog3.value.open()
|
|
|
|
|
async function okFunc() { // 结束测试
|
|
|
|
|
// inputDialog3.value.open()
|
|
|
|
|
const res = await api.saveVision({
|
|
|
|
|
leftEyeVision:vision_info.value.left,
|
|
|
|
|
rightEyeVision:vision_info.value.right,
|
|
|
|
|
userId:userInfo.value.userId
|
|
|
|
|
})
|
|
|
|
|
if(res.code == 0) {
|
|
|
|
|
|
|
|
|
|
uni.navigateBack()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<template>
|
|
|
|
@ -147,8 +175,10 @@
|
|
|
|
|
<view class="pop-box">
|
|
|
|
|
<view class="pb-title">测试须知</view>
|
|
|
|
|
<view class="pb-content">
|
|
|
|
|
<view class="content-text">
|
|
|
|
|
使用uni-app自带的editor组件,该组件支持App、H5、微信小程序,其他家小程序自身未提供这类解决方案。
|
|
|
|
|
<view class="content-text" style="color: gray;">
|
|
|
|
|
1.适应室内光纤两分钟左右。
|
|
|
|
|
2.取坐位或站立、正对手机,检查者眼部跟手机平行,保持手机距离40厘米。
|
|
|
|
|
3.先测右眼后测左眼,测试时请遮挡另一只眼睛。
|
|
|
|
|
</view>
|
|
|
|
|
<view class="okBtn" @tap="toStart">确定</view>
|
|
|
|
|
</view>
|
|
|
|
@ -166,12 +196,16 @@
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-popup>
|
|
|
|
|
<uni-popup ref="inputDialog3" :is-mask-click='true'>
|
|
|
|
|
<uni-popup ref="inputDialog3" :is-mask-click='false'>
|
|
|
|
|
<view class="pop-box">
|
|
|
|
|
<view class="pb-title">测试结束</view>
|
|
|
|
|
<view class="pb-content">
|
|
|
|
|
<view class="content-text">
|
|
|
|
|
测试结束,当前视力为{{vision_info.left}}(左),{{vision_info.right}}(右)。
|
|
|
|
|
<view style="opacity: 0;">
|
|
|
|
|
使用uni-app自带的editor组件,该组件支持App、H5、微信小程序,其他家小程序自身未提供这类解决方案。
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
<view class="okBtn" @tap="okFunc">确定</view>
|
|
|
|
|
</view>
|
|
|
|
@ -194,7 +228,7 @@
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
image{
|
|
|
|
|
// width: 29px;
|
|
|
|
|
height: auto;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.ab-action-box{
|
|
|
|
|