Browse Source

虚拟定位开始

master
unknown 7 months ago
parent
commit
013cf65ed6
  1. 30
      manifest.json
  2. 8
      pages.json
  3. 2
      pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue
  4. 45
      pages/mineEntry/aboutUs/aboutUs.vue
  5. 2
      pages/mineEntry/myEvaluate/comp/commentItem.vue
  6. 10
      pages/mineEntry/myOrder/detail/detail.vue
  7. 18
      pages/tabbar/learnCar/comp/comp.scss
  8. 52
      pages/tabbar/learnCar/comp/subject0.vue
  9. 79
      pages/tabbar/learnCar/comp/subject1.vue
  10. 108
      pages/tabbar/learnCar/comp/subject2.vue
  11. 99
      pages/tabbar/learnCar/comp/subject3.vue
  12. 71
      pages/tabbar/learnCar/comp/subject4.vue
  13. 19
      pages/tabbar/learnCar/comp/topInfo.vue
  14. 204
      pages/tabbar/learnCar/index - 副本.vue
  15. 288
      pages/tabbar/learnCar/index.vue
  16. 16
      pages/tabbar/mine/index.vue

30
manifest.json

@ -1,8 +1,8 @@
{
"name" : "洛阳学车",
"appid" : "__UNI__BD23957",
"appid" : "__UNI__3347C6E",
"description" : "",
"versionName" : "1.0.0",
"versionName" : "1.0.1",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
@ -28,6 +28,8 @@
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
@ -35,12 +37,14 @@
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
@ -74,6 +78,22 @@
}
}
}
},
"nativePlugins" : {
"KJ-GNSS" : {
"__plugin_info__" : {
"name" : "系统定位完整版(ios、andorid) - [试用版,仅用于自定义调试基座]",
"description" : "系统定位完整版、检测虚拟定位、GPS、网络定位、正反地理编码、卫星信息、请试用合适再购买、请试用合适再购买、请试用合适再购买",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=11077",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 0,
"pid" : "11077",
"parameters" : {}
}
}
}
},
/* */
@ -132,10 +152,8 @@
},
"sdkConfigs" : {
"maps" : {
"amap" : {
"key" : "2BTBZ-6BQRB-ZG4UG-NOYYG-KZMH7-B4BYN",
"securityJsCode" : "",
"serviceHost" : ""
"google" : {
"key" : ""
}
}
}

8
pages.json

@ -437,6 +437,14 @@
}
},
{
"path": "aboutUs/aboutUs",
"style": {
"navigationBarTitleText": "关于我们",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "personaInfo/myInfo",
"style": {
"navigationBarTitleText": "个人信息",

2
pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue

@ -13,7 +13,7 @@
</view>
<view class="flex-b">
<view class="starBox">
{{item.stars || 0}}
{{item.stars || '无'}}
</view>
<view class="btn" v-if="showSign" @click="goPageSign(item)">报名</view>
<view class="more" v-else @click="goPageDetail(item)">

45
pages/mineEntry/aboutUs/aboutUs.vue

@ -0,0 +1,45 @@
<template>
<view class="main">
<view class="logo">
<image src="@/static/images/mineIcon/minIcon (2).png" mode="widthFix"></image>
</view>
<view class="text">
版本号 {{version}}
</view>
</view>
</template>
<script >
export default {
data() {
return {
version: '1.0.0'
}
},
onLoad() {
// #ifdef APP-PLUS
this.version = plus.runtime.version
// #endif
}
}
</script>
<style lang="scss" scoped>
.main {
padding: 230rpx 0 0 0;
.logo {
display: flex;
justify-content: center;
image {
display: block;
width: 120rpx;
}
}
.text {
margin-top: 20rpx;
font-size: 32rpx;
color: #666;
text-align: center;
}
}
</style>

2
pages/mineEntry/myEvaluate/comp/commentItem.vue

@ -2,7 +2,7 @@
<view class="box">
<view class="top_row">
<view class="avatar">
<image :src="item.phone" mode=""></image>
<image :src="item.photo" mode=""></image>
</view>
<view class="textInfo">
<view class="name oneRowText">{{ item.name}}</view>

10
pages/mineEntry/myOrder/detail/detail.vue

@ -45,7 +45,7 @@
</view>
<view class="name">{{ info.appSchoolType }}</view>
</view>
<view class="row">
<!-- <view class="row">
<view class="leftLab">
<view class="icon">
<image src="@/static/images/car/ic_xingshi.png" mode=""></image>
@ -53,7 +53,7 @@
<view class="lab">支付形式</view>
</view>
<view class="name">{{info.appPayForm}}</view>
</view>
</view> -->
<view class="row">
<view class="leftLab">
<view class="icon">
@ -75,7 +75,7 @@
</view>
<view class="border_bottom">
<view class="rows">
<view class="label">培训费总价</view>
<view class="label">培训费</view>
<view class="value">{{$u.utils.priceTo(info.totalAmount)}}</view>
</view>
<!-- <view class="rows">
@ -84,7 +84,7 @@
</view> -->
</view>
<view class="border_bottom">
<view class="rows">
<!-- <view class="rows">
<view class="label hui">实际支付</view>
<view class="value hui">{{$u.utils.priceTo(info.payActual)}}</view>
</view>
@ -95,7 +95,7 @@
<view class="rows" v-if="info.payTail">
<view class="label hui">待支付尾款</view>
<view class="value blue">{{$u.utils.priceTo(info.payTail)}}</view>
</view>
</view> -->
<view class="btn_row">
<view class="" style="min-width: 120rpx;">
<view class="refundBtn" @click="goFund" v-if="!info.refundId">申请退款</view>

18
pages/tabbar/learnCar/comp/comp.scss

@ -28,6 +28,10 @@
color: #333;
}
}
}
.btn {
height: 44rpx;
padding: 0 18rpx;
@ -44,10 +48,6 @@
border-radius: 10rpx 6rpx 6rpx 0px;
}
}
}
}
.learnStatus {
.more {
display: flex;
@ -73,7 +73,8 @@
align-items: center;
border-bottom: 1rpx solid #E3EAFB;
height: 88rpx;
color: $themC;
font-size: 28rpx;
&:last-child {
border: none;
}
@ -81,10 +82,9 @@
justify-content: center;
}
}
.text {
color: $themC;
font-size: 28rpx;
}
// .text {
// }
}
}

52
pages/tabbar/learnCar/comp/subject0.vue

@ -1,52 +0,0 @@
<template>
<view class="comp">
<!-- 学习状态 -->
<view class="learnStatus">
<view class="card mt20">
<view class="flex-b" >
<view class="lab">实操预约</view>
<!-- <view class="link-arrow" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=3')">
<view class="txt">去预约</view>
<u-icon name="arrow-right" color="#3776FF" size="16"></u-icon>
</view> -->
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去评价</view>
</view>
</view>
<view class="h1"><text class="active">学习状态</text></view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识成绩已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row">
<view class="text">考试成绩97</view>
<!-- <view class="btn" @click="$goPage('/pages/carEntry/evaluate/evaluate?coachType=3&tit=模拟器老师&')">去评价</view> -->
</view>
</view>
</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识预约成功</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某场地</view>
</view>
<view class="row">
<view class="text">预约时间2023/08/23 10:00:00</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
@import './comp.scss';
</style>

79
pages/tabbar/learnCar/comp/subject1.vue

@ -1,76 +1,71 @@
<template>
<view class="comp">
<!-- 学习内容 -->
<view class="learnCon">
<view class="h1">学习内容</view>
<view class="card">
<view class="flex-b">
<view class="lab">理论学习</view>
<view class="btn" @click="$goPage('/pages/indexEntry/theory/theory?type=2')">去学习</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">理论VIP题库模拟</view>
<view class="btn disable">去学习</view>
</view>
<view class="tpsLine">待学时达标后方可学习</view>
</view>
<view class="card mb0">
<view class="flex-b">
<view class="lab">安全警示教育在线视频学习</view>
<view class="btn" @click="$goPage('/pages/indexEntry/theory/theory?type=3')">去学习</view>
</view>
</view>
</view>
<!-- 学习状态 -->
<view class="learnStatus">
<view class="flex-b">
<view class="h1">学习状态</view>
<view class="more">
<view class="txt">查看全部</view>
<view class="moreIcon">
<u-icon name="arrow-right" color="#686B73" size="12"></u-icon>
<view class="card mt20">
<view class="flex-b" >
<view class="lab">理论学习</view>
<view class="link-arrow" @click="$goPage('/pages/indexEntry/theory/theory?type=2')">
<view class="txt">去学习</view>
<u-icon name="arrow-right" color="#3776FF" :size="16"></u-icon>
</view>
<!-- <view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去学习</view> -->
</view>
</view>
<view class="h1"><text class="active">学习状态</text></view>
<view class="card">
<view class="flex-b">
<view class="flex-b padTb">
<view class="lab">科目一考试成绩已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row">
<view class="text">考试成绩97</view>
<!-- <view class="btn" @click="$goPage('/pages/carEntry/evaluate/evaluate?coachType=3&tit=模拟器老师&')">去评价</view> -->
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目一考试预约受理中</view>
<view class="flex-b padTb">
<view class="lab">科目一考评成绩已完成</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试场地南昌交安科目一考场</view>
<view class="text">考试场地某某场地</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/02 第一场 22</view>
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目一考试预约受理中</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<!-- <view class="card">
<view class="flex-b">
<view class="lab">科目一学时已通过</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某场地</view>
</view>
<view class="flex-b bg">
<view class="row">
<view class="text">前往12123APP预约考试</view>
<view class="btn" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=2')">去预约</view>
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目一考试成绩未通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row bg">
<view class="text">前往"12123"APP预约考试</view>
<view class="btn">去预约</view>
</view>
</view>
</view>
</view> -->
</view>
</view>
</template>

108
pages/tabbar/learnCar/comp/subject2.vue

@ -1,109 +1,101 @@
<template>
<view class="comp">
<!-- 学习内容 -->
<view class="learnCon">
<view class="h1">学习内容</view>
<view class="card">
<view class="flex-b"@click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=2')">
<view class="lab">实操训练</view>
<view class="btn">去预约</view>
</view>
</view>
<view class="card mb0" @click="$goPage('/pages/carEntry/examineAppointment/examineAppointment')">
<view class="flex-b">
<view class="lab">考场模拟训练</view>
<view class="btn disable">去预约</view>
</view>
</view>
</view>
<!-- 学习状态 -->
<view class="learnStatus">
<view class="flex-b">
<view class="h1">学习状态</view>
<view class="more">
<view class="txt">查看全部</view>
<view class="moreIcon">
<u-icon name="arrow-right" color="#686B73" size="12"></u-icon>
<view class="card mt20">
<view class="flex-b" >
<view class="lab">实操预约</view>
<view class="link-arrow" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=2')">
<view class="txt">去预约</view>
<u-icon name="arrow-right" color="#3776FF" :size="16"></u-icon>
</view>
<!-- <view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去学习</view> -->
</view>
</view>
<view class="h1"><text class="active">学习状态</text></view>
<view class="card">
<view class="flex-b">
<view class="flex-b padTb">
<view class="lab">科目二考试成绩已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row">
<view class="text">考试成绩100</view>
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去评价</view>
<view class="text">考试成绩97</view>
<view class="btn" @click="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去评价</view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="flex-b padTb">
<view class="lab">科目二考试预约成功</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某科目二考</view>
<view class="text">考试场地某某场</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/23 10:00:00</view>
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目二学习进度已通过</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="flex-b padTb">
<view class="lab">科目二考试预约受理中</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="bg">
<view class="row">
<view class="text">前往12123APP预约考试</view>
<view class="btn">去预约</view>
<view class="text">考试场地某某场地</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目二模拟训练已预约</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="flex-b padTb">
<view class="lab">科目二学习进度已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">预约科目科目二</view>
<view class="row bg">
<view class="text">前往"12123"APP预约考试</view>
<view class="btn">去预约</view>
</view>
<view class="row">
<view class="text">预约考场某某考场</view>
</view>
<view class="row">
<view class="text">车辆编号2号车浙A99988</view>
</view>
<view class="row">
<view class="text">预约时间2023/08/16 14:00</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目二实操训练已核销</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="row">
<view class="text">核销时间2023/08/16 14:00</view>
<view class="bg">
<view class="row">预约场地某某场地</view>
<view class="row">预约教练王一宝</view>
<view class="row">预约车辆浙A66666</view>
<view class="row">预约时间2023/08/09 22:52:12</view>
<view class="row">核销时间2023/08/09 22:52:12</view>
</view>
</view>
<view class="cancel" @click="show=true">取消预约</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目二实操训练已预约</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">预约场地某某场地</view>
<view class="row">预约教练王一宝</view>
<view class="row">预约车辆浙A66666</view>
<view class="row">预约时间2023/08/09 22:52:12</view>
</view>
</view>
</view>
<u-popup :show="show" mode="center" :round="20" @>
<cancelReservation @popupBtnClick="show=false"/>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
show: false
}
}
}
</script>
<style lang="scss" scoped>

99
pages/tabbar/learnCar/comp/subject3.vue

@ -1,92 +1,95 @@
<template>
<view class="comp">
<!-- 学习内容 -->
<view class="learnCon">
<view class="h1">学习内容</view>
<view class="card">
<view class="flex-b">
<view class="lab">实操训练</view>
<view class="btn" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=3')">去预约</view>
</view>
</view>
<view class="card mb0">
<view class="flex-b">
<view class="lab">考场模拟训练</view>
<view class="btn" @click="$goPage('/pages/carEntry/examineAppointment/examineAppointment?subject=3')">去预约</view>
</view>
</view>
</view>
<!-- 学习状态 -->
<view class="learnStatus">
<view class="flex-b">
<view class="h1">学习状态</view>
<view class="more">
<view class="txt">查看全部</view>
<view class="moreIcon">
<u-icon name="arrow-right" color="#686B73" size="12"></u-icon>
<view class="card mt20">
<view class="flex-b" >
<view class="lab">实操预约</view>
<view class="link-arrow" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=3')">
<view class="txt">去预约</view>
<u-icon name="arrow-right" color="#3776FF" :size="16"></u-icon>
</view>
<!-- <view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去学习</view> -->
</view>
</view>
<view class="h1"><text class="active">学习状态</text></view>
<view class="card">
<view class="flex-b">
<view class="flex-b padTb">
<view class="lab">科目三考试成绩已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row">
<view class="text">考试成绩100</view>
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=3')">去评价</view>
<view class="text">考试成绩97</view>
<view class="btn" @click="$goPage('/pages/carEntry/evaluate/evaluate?subject=3&coachType=1')">去评价</view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="flex-b padTb">
<view class="lab">科目三考试预约成功</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某科目二考</view>
<view class="text">考试场地某某场</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/23 10:00:00</view>
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目三模拟训练已核销</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="flex-b padTb">
<view class="lab">科目三考试预约受理中</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row oneBtn">
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?tit=考场模拟老师&coachType=3')">去评价</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某场地</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目三模拟训练已预约</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="flex-b padTb">
<view class="lab">科目三学习进度已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">预约科目科目三</view>
<view class="row bg">
<view class="text">前往"12123"APP预约考试</view>
<view class="btn">去预约</view>
</view>
<view class="row">
<view class="text">预约考场某某考场</view>
</view>
<view class="row">
<view class="text">车辆编号2号车浙A99988</view>
</view>
<view class="row">
<view class="text">预约时间2023/08/16 14:00</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目三实操训练已核销</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="row">
<view class="text">核销时间2023/08/16 14:00</view>
<view class="bg">
<view class="row">预约场地某某场地</view>
<view class="row">预约教练王一宝</view>
<view class="row">预约车辆浙A66666</view>
<view class="row">预约时间2023/08/09 22:52:12</view>
<view class="row">核销时间2023/08/09 22:52:12</view>
</view>
</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目三实操训练已预约</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">预约场地某某场地</view>
<view class="row">预约教练王一宝</view>
<view class="row">预约车辆浙A66666</view>
<view class="row">预约时间2023/08/09 22:52:12</view>
</view>
<!-- <view class="cancel">取消预约</view> -->
</view>
</view>
</view>

71
pages/tabbar/learnCar/comp/subject4.vue

@ -1,65 +1,68 @@
<template>
<view class="comp">
<!-- 学习内容 -->
<!-- <view class="learnCon">
<view class="h1">学习内容</view>
<view class="card">
<view class="flex-b">
<view class="lab">实操训练</view>
<view class="btn">去预约</view>
</view>
</view>
<view class="card mb0">
<view class="flex-b">
<view class="lab">考场模拟训练</view>
<view class="btn disable">去预约</view>
</view>
</view>
</view> -->
<!-- 学习状态 -->
<view class="learnStatus">
<view class="flex-b">
<view class="h1">学习状态</view>
<view class="more">
<view class="txt">查看全部</view>
<view class="moreIcon">
<u-icon name="arrow-right" color="#686B73" size="12"></u-icon>
<view class="card mt20">
<view class="flex-b" >
<view class="lab">理论学习</view>
<view class="link-arrow" @click="$goPage('/pages/carEntry/operaAppointment/operaAppointment?subject=3')">
<view class="txt">去学习</view>
<u-icon name="arrow-right" color="#3776FF" :size="16"></u-icon>
</view>
<!-- <view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2&coachType=1')">去学习</view> -->
</view>
</view>
<view class="h1"><text class="active">学习状态</text></view>
<view class="card">
<view class="flex-b">
<view class="lab">恭喜你可以拿证啦</view>
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识成绩已通过</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="flex-b bg">
<view class="row oneBtn">
<view class="btn">领证宣誓</view>
<view class="row">
<view class="text">考试成绩97</view>
<!-- <view class="btn" @click="$goPage('/pages/carEntry/evaluate/evaluate?coachType=3&tit=模拟器老师&')">去评价</view> -->
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目三安全文明常识成绩<br>已通过</view>
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识考试预约成功</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试成绩98</view>
<view class="text">考试场地某某场地</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<view class="lab">科目三安全文明常识考试<br>预约成功</view>
<view class="date">2023/07/24 03:12:20</view>
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识考试预约受理中</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row">
<view class="text">考试场地某某科目三理论考</view>
<view class="text">考试场地某某场</view>
</view>
<view class="row">
<view class="text">考试时间2023/08/22 16:00:00</view>
<view class="text">考试时间2023/08/23 10:00:00 </view>
</view>
</view>
</view>
<view class="card">
<view class="flex-b padTb">
<view class="lab">科目三安全文明常识考试待预约</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
<view class="bg">
<view class="row bg">
<view class="text">前往"12123"APP预约考试</view>
<view class="btn">去预约</view>
</view>
</view>
</view>

19
pages/tabbar/learnCar/comp/topInfo.vue

@ -30,20 +30,20 @@
<view class="lab">应完成学时</view>
</view>
</view>
<view class="row">
<view class="row" v-if="carType=='科目三'">
<view class="timeItem">
<view class="flex ">
<view class="time">120</view>
<view class="uni">分钟</view>
<view class="uni">km</view>
</view>
<view class="lab">已完成学时</view>
<view class="lab">已完里程</view>
</view>
<view class="timeItem">
<view class="flex ">
<view class="time ">120</view>
<view class="uni">分钟</view>
<view class="uni">km</view>
</view>
<view class="lab">应完成学时</view>
<view class="lab">已完里程</view>
</view>
</view>
</view>
@ -53,6 +53,7 @@
<script>
export default {
props: ['carType'],
data() {
return {
showType: false,
@ -61,17 +62,17 @@
{name: '科目一', id: 1},
{name: '科目二', id: 2},
{name: '科目三', id: 3},
{name: '科目四', id: 4},
]
],
carType: '科目一'
}
},
methods: {
confirmType(val) {
console.log(val)
let item = val.value[0]
this.carType = item.name
// console.log(item)
this.showType = false
this.$emit('changeSubject', item)
}
}
}
@ -90,7 +91,6 @@
background: url('../../../../static/images/mineIcon/avatar.png');
background-size: 100% 100%;
margin-top: -36rpx;
background: #F6F7FA;
}
.rightTxt {
@ -155,6 +155,7 @@
}
.uni {
margin-top: -6rpx;
margin-left: 4rpx;
}
}

204
pages/tabbar/learnCar/index - 副本.vue

@ -1,172 +1,78 @@
<template>
<view class="content pageBgImg">
<view style="width: 100%;height: 40rpx;"></view>
<view class="pageBgImg pad">
<view class="status_bar"></view>
<view class="title">江西驾考公共服务平台</view>
<view class="navCard">
<view class="nav_row">
<view class="nav " v-for="(item,index) in navData" :key="index" :class="{active: item.id==currentNav}" @click="changeNav(item.id)">{{ item.text }}</view>
</view>
<view class="time_row">
<view class="time_item">
<view class="lab">应完成学时</view>
<view class="num">100分钟</view>
</view>
<view class="time_item">
<view class="lab">已完成学时</view>
<view class="num">30分钟</view>
<view class="shareTime">*与科目一学时共享</view>
</view>
</view>
<view class="subject3" v-if="currentNav==3">
<view class="chain left">
<image src="@/static/images/index/chain.png" mode=""></image>
</view>
<view class="chain right">
<image src="@/static/images/index/chain.png" mode=""></image>
</view>
<view class="time_row ">
<view class="time_item">
<view class="lab">应完成里程</view>
<view class="num">50km</view>
</view>
<view class="time_item">
<view class="lab">已完成里程</view>
<view class="num">0km</view>
</view>
</view>
</view>
</view>
<view class="haveToken" v-if="studentId">
<subject0 v-show="currentNav==0"/>
<subject1 v-show="currentNav==1"/>
<subject2 v-show="currentNav==2"/>
<subject3 v-show="currentNav==3"/>
<subject4 v-show="currentNav==4"/>
</view>
<view class="noDate" v-else>
<nodata><text>暂无数据您还未报名</text></nodata>
</view>
<view class="" style="height: 100rpx;"></view>
<topInfo :carType="curObject.name" @changeSubject="changeSubject"></topInfo>
<subject1 v-if="curObject.id==1"></subject1>
<subject2 v-if="curObject.id==2"></subject2>
<subject3 v-if="curObject.id==3"></subject3>
<subject4 v-if="curObject.id==4"></subject4>
</view>
</template>
<script>
import subject0 from './comp/subject0'
import subject1 from './comp/subject1'
import subject2 from './comp/subject2'
import subject3 from './comp/subject3'
import subject4 from './comp/subject4'
import topInfo from './comp/topInfo.vue'
import subject1 from './comp/subject1.vue'
import subject2 from './comp/subject2.vue'
import subject3 from './comp/subject3.vue'
import subject4 from './comp/subject4.vue'
var KJGNSS = uni.requireNativePlugin("KJ-GNSS");
export default {
components: { subject0, subject1, subject2, subject3, subject4 },
components: { topInfo, subject1, subject2,subject3,subject4 },
data() {
return {
navData: [
{text: '模拟器', id: 0},
{text: '科目一', id: 1},
{text: '科目二', id: 2},
{text: '科目三', id: 3},
{text: '科目四', id: 4},
],
currentNav: 0
curObject: {
name: '科目一',
id: 1
}
}
},
onLoad() {
if (plus.os.name == 'Android') {
plus.android.requestPermissions(
['android.permission.ACCESS_FINE_LOCATION',
'android.permission.ACCESS_COARSE_LOCATION'
],
function(resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
result = 0
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
result = -1
}
},
function(error) {
console.log('申请权限错误:' + error.code + " = " + error.message);
}
);
}
},
onShow() {
// console.log('')
// this.$store.dispatch('checkLogin')
},
methods: {
changeNav(id) {
this.currentNav = id
}
}
}
</script>
//
changeSubject(val) {
console.log(val)
this.curObject = val
},
getProviderFn() {
<style lang="scss" scoped>
.content {
width: 100vw;
min-height: 100vh;
// background: url('../../../static/images/bigImg/topbg.png') #F6F6F6 no-repeat;
background-size: 100% 362rpx;
padding: 0 32rpx 32rpx 32rpx;
.title {
font-size: 36rpx;
font-weight: 600;
color: #fff;
padding: 10rpx 0 48rpx 0rpx;
}
.navCard {
.nav_row {
display: flex;
justify-content: space-between;
.nav {
width: 19.4%;
height: 86rpx;
background: rgba(255,255,255,0.4);
border-radius: 8rpx 8rpx 0px 0px;
font-size: 28rpx;
color: #fff;
line-height: 86rpx;
text-align: center;
&.active {
background: #FFFFFF;
color: $themC;
}
}
}
.subject3 {
padding-top: 32rpx;
position: relative;
.chain {
width: 28rpx;
height: 100rpx;
position: absolute;
top: -34rpx;
&.left {
left: 60rpx;
}
&.right {
right: 60rpx !important;
}
}
}
.time_row {
display: flex;
height: 240rpx;
padding: 32rpx;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 0 0 8rpx 8rpx;
.time_item {
flex: 1;
text-align: center;
position: relative;
.lab {
font-size: 28rpx;
color: #333;
}
</script>
.num {
font-size: 40rpx;
font-weight: 600;
color: $themC;
margin-top: 20rpx;
}
.shareTime {
font-size: 20rpx;
color: $themC;
position: absolute;
bottom: -40rpx;
left: 0;
width: 100%;
}
}
}
}
<style scoped lang="scss">
}
</style>

288
pages/tabbar/learnCar/index.vue

@ -1,57 +1,277 @@
<template>
<view class="pageBgImg pad">
<view class="status_bar"></view>
<view class="" style="height: 100rpx;"></view>
<topInfo></topInfo>
<subject0></subject0>
<view class="content">
<view style="text-align: center;">------权限-------</view>
<button type="primary" @click="isProviderEnabled">GPS是否开启(android)</button>
<button type="primary" @click="gotoLocationSetting">跳转定位设置页面</button>
<button type="primary" @click="judgePermission">获取权限状态(ios)</button>
<button type="primary" @click="requestPermission">请求权限(ios)</button>
<view style="text-align: center;">------andorid位置提供者-------</view>
<button type="primary" @click="getProviders">获取可用位置提供者(android)</button>
<button type="primary" @click="getAllProviders">获取所有位置提供者(android)</button>
<button type="primary" @click="getBestProvider">获取最佳的位置提供者(android)</button>
<view style="text-align: center;">------定位-------</view>
<button type="primary" @click="getLastKnownLocation">获取最新位置(android)</button>
<button type="primary" @click="requestLocation">单次定位(ios)</button>
<button type="primary" @click="startUpdatingLocation">开始持续定位</button>
<view class="json">{{startUpdatingLocationJson}}</view>
<button type="primary" @click="stopUpdatingLocation">取消持续定位</button>
<view style="text-align: center;">------正反地理编码-------</view>
<button type="primary" @click="reverseGeocode">反地理编码</button>
<view class="json">{{reverseGeocodeJson}}</view>
<button type="primary" @click="reverseGeocodeV2">反地理编码V2(andorid),不受google服务影响</button>
<view class="json">{{reverseGeocodeV2Json}}</view>
<button type="primary" @click="geocode">地理编码</button>
<view class="json">{{geocodeJson}}</view>
<view style="text-align: center;">------以下方法andorid7.0以上才支持-------</view>
<button type="primary" @click="registerGnssStatus">注册监听卫星信息(GNSS处理后信息)</button>
<view class="json">{{registerGnssStatusJson}}</view>
<button type="primary" @click="unregisterGnssStatus">取消注册监听卫星信息</button>
<button type="primary" @click="registerGnssMeasurements">注册监听卫星信息(GNSS测量原始信息)</button>
<view class="json">{{registerGnssMeasurementsJson}}</view>
<button type="primary" @click="unregisterGnssMeasurements">取消注册监听卫星信息</button>
</view>
</template>
<script>
import topInfo from './comp/topInfo.vue'
import subject0 from './comp/subject0.vue'
var KJGNSS = uni.requireNativePlugin("KJ-GNSS");
export default {
components: { topInfo, subject0 },
data() {
return {
startUpdatingLocationJson: "",
reverseGeocodeJson: "",
reverseGeocodeV2Json: "",
geocodeJson: "",
registerGnssStatusJson: "",
registerGnssMeasurementsJson: ""
}
},
onLoad() {
if (plus.os.name == 'Android') {
plus.android.requestPermissions(
['android.permission.ACCESS_FINE_LOCATION',
'android.permission.ACCESS_COARSE_LOCATION'
],
function(resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
result = 0
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
result = -1
}
},
onShow() {
this.getProviderFn()
function(error) {
console.log('申请权限错误:' + error.code + " = " + error.message);
}
);
}
},
methods: {
getProviderFn() {
// uni.getProvider({
// serviceType: 'location',
// success(res) {
// // res.providerList
// if (res.providerList && res.providerList[0] === 'gps') {
// // GPS
// // startRealLocation();
// } else {
// console.log('');
// }
// },
// fail(err) {
// console.error('', err);
// }
isProviderEnabled() {
var dic = {
"provider": "gps" //
}
KJGNSS.isProviderEnabled(dic, (res) => {
console.log("isProviderEnabled:" + JSON.stringify(res));
});
},
gotoLocationSetting() {
KJGNSS.gotoLocationSetting();
},
judgePermission() {
KJGNSS.judgePermission((res) => {
console.log("judgePermission:" + JSON.stringify(res));
});
},
requestPermission() {
KJGNSS.requestPermission((res) => {
console.log("requestPermission:" + JSON.stringify(res));
});
},
getProviders() {
var dic = {
"enabledOnly": true //
}
KJGNSS.getProviders(dic, (res) => {
console.log("getProviders:" + JSON.stringify(res));
});
},
getAllProviders() {
KJGNSS.getAllProviders((res) => {
console.log("getAllProviders:" + JSON.stringify(res));
});
},
getBestProvider() {
var dic = {
"accuracy": 2, // 1-500 2-100500 3-100
//"bearingAccuracy":2,//
//"horizontalAccuracy":2,//
//"speedAccuracy":2,//
//"verticalAccuracy":2,//
"powerRequirement": 1, // 1- 2- 3-
"altitudeRequired": false, //
"bearingRequired": false, //
"costAllowed": false, //
"speedRequired": false, //
"enabledOnly": true //
}
KJGNSS.getBestProvider(dic, (res) => {
console.log("getBestProvider:" + JSON.stringify(res));
});
},
getLastKnownLocation() {
var dic = {
"provider": "gps" //
}
// KJGNSS.getLastKnownLocation(dic, (res) => {
// console.log("getLastKnownLocation:" + JSON.stringify(res));
// });
let KJGNS = uni.requireNativePlugin("KJ-GNSS");
console.log(KJGNS)
},
requestLocation() {
var dic = {
"desiredAccuracy": 1,
"distanceFilter": 10,
"allowsBackgroundLocationUpdates": true,
"showsBackgroundLocationIndicator": true,
"pausesLocationUpdatesAutomatically": false
}
KJGNSS.requestLocation(dic, (res) => {
console.log("requestLocation:" + JSON.stringify(res));
uni.startGPS({
success(res) {
console.log('已成功开始获取真实的物理位置');
getUserPosition();
});
},
fail(err) {
console.error('开始获取真实的物理位置失败', err);
startUpdatingLocation() {
var dic;
if (plus.os.name == 'Android') {
dic = {
"providers": ["gps", "network", "passive"], //gps
"minTime": 1000, //
"minDistance": 1 //
}
} else {
dic = {
"isSingleLocation": false,
"desiredAccuracy": "Best", //BestForNavigation() Best(,) NearestTenMeters() HundredMeters() Kilometer() ThreeKilometers()
"distanceFilter": 10, //
"allowsBackgroundLocationUpdates": false, //true manifest.json->App-> location
"showsBackgroundLocationIndicator": false, //()
"pausesLocationUpdatesAutomatically": false //
}
}
KJGNSS.startUpdatingLocation(dic, (res) => {
console.log("startUpdatingLocation:" + JSON.stringify(res));
this.startUpdatingLocationJson = JSON.stringify(res)
if (plus.os.name == 'Android') {
//https://www.xfqiao.com/api/android-zh/android/location/Location.html
/**
* {"method":"onLocationChanged","result":{"longitude":113.281456,"time":1687341181822,"hasBearing":false,"accuracy":40,"elapsedRealtimeNanos":1239298029066278,"provider":"network",
* "hasAccuracy":true,"bearing":0,"isFromMockProvider":false,"hasSpeed":false,"latitude":23.07654,"speed":0,"hasAltitude":false,"altitude":0}}
* isFromMockProvider - 如果位置来自模拟提供者则返回true
* */
if (res.method == "onLocationChanged") {
this.reverseGeocode(res.result.latitude, res.result.longitude)
this.reverseGeocodeV2(res.result.latitude, res.result.longitude)
}
} else {
/**
* {"result":[{"course":-1,"speed":-1,"longitude":113.2814133388547,"horizontalAccuracy":43,
* "timestamp":"2023-06-21 18:01:04","latitude":23.076741614788542,"courseAccuracy":-1,
* "ellipsoidalAltitude":1.8153233528137207,"altitude":8.372057914733887,"speedAccuracy":-1}]}
* course - 航向 位置的路线以正北度数为单位如果无效则为否定0.0-359.90为正北
* horizontalAccuracy - 水平的准确度负数无效
* ellipsoidalAltitude - WGS 84参考系下位置的椭球高度
* courseAccuracy - 航向精度以度为单位如果无效则返回负数
* altitude - 海拔高度 可以是正海平面以上或负海平面以下
* speed - 速度 单位为m/s如果速度无效则为负数
* speedAccuracy - 速度精度 单位为m/s如果无效则返回-1
* */
var arr = res.result;
var dic = arr[arr.length - 1];
this.reverseGeocode(dic.latitude, dic.longitude)
}
});
},
stopUpdatingLocation() {
KJGNSS.stopUpdatingLocation();
},
reverseGeocode(latitude, longitude) {
var dic = {
"latitude": latitude,
"longitude": longitude,
"maxResults": 1 //andorid
}
KJGNSS.reverseGeocode(dic, (res) => {
console.log("reverseGeocode:" + JSON.stringify(res));
this.reverseGeocodeJson = JSON.stringify(res)
var arr = res.result;
var dic = arr[arr.length - 1];
this.geocode(dic.adminArea + dic.locality + dic.subLocality + dic.fetFeatureName);
});
},
reverseGeocodeV2(latitude, longitude) {
var dic = {
"latitude": latitude,
"longitude": longitude,
}
KJGNSS.reverseGeocodeV2(dic, (res) => {
console.log("reverseGeocodeV2:" + JSON.stringify(res));
this.reverseGeocodeV2Json = JSON.stringify(res)
});
},
geocode(address) {
var dic = {
"address": address,
"maxResults": 1 //andorid
}
KJGNSS.geocode(dic, (res) => {
console.log("geocode:" + JSON.stringify(res));
this.geocodeJson = JSON.stringify(res)
});
},
registerGnssStatus() {
KJGNSS.registerGnssStatus((res) => {
console.log("registerGnssStatus:" + JSON.stringify(res));
//https://www.xfqiao.com/api/android-zh/android/location/GnssStatus.html
this.registerGnssStatusJson = JSON.stringify(res)
});
},
unregisterGnssStatus() {
KJGNSS.unregisterGnssStatus();
},
registerGnssMeasurements() {
KJGNSS.registerGnssMeasurements((res) => {
console.log("registerGnssMeasurements:" + JSON.stringify(res));
//https://www.xfqiao.com/api/android-zh/android/location/GnssMeasurementsEvent.html
this.registerGnssMeasurementsJson = JSON.stringify(res)
});
},
unregisterGnssMeasurements() {
KJGNSS.unregisterGnssMeasurements();
}
}
}
</script>
<style>
button {
font-size: 15px
}
<style scoped lang="scss">
.json {
word-wrap: break-word;
}
</style>

16
pages/tabbar/mine/index.vue

@ -45,8 +45,6 @@
</view>
</view>
</view>
</template>
@ -67,7 +65,7 @@
{name: '变更车型', icon: require('@/static/images/mineIcon/minIcon (7).png'),url: '/pages/mineEntry/modelChange/modelChange'},
{name: '同城转校', icon: require('@/static/images/mineIcon/minIcon (5).png'),url: '/pages/mineEntry/schoolTransfer/schoolTransfer'},
// {name: '退', icon: require('@/static/images/mineIcon/minIcon (6).png'),url: ''},
{name: '关于我们', icon: require('@/static/images/mineIcon/minIcon (2).png'),url: ''},
{name: '关于我们', icon: require('@/static/images/mineIcon/minIcon (2).png'),url: '/pages/mineEntry/aboutUs/aboutUs'},
]
}
},
@ -81,12 +79,12 @@
},
goPage(item) {
if(item.name!='关于我们') {
if(this.vuex_userInfo.applyStep>2&&this.vuex_userInfo.applyStep<6) {
return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
}
if(this.vuex_userInfo.applyStep!=6) {
return this.$u.toast('您还未报名驾校')
}
// if(item.name==''&&this.vuex_userInfo.applyStep>2&&this.vuex_userInfo.applyStep<6) {
// return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
// }
// if(this.vuex_userInfo.applyStep!=6) {
// return this.$u.toast('')
// }
}
this.$goPage(item.url)
}

Loading…
Cancel
Save