Browse Source

考场

master
unknown 1 year ago
parent
commit
a29d9ce493
  1. 41
      common/css/app.scss
  2. 24
      components/moreRight/moreRight.vue
  3. 59
      components/pozCard/pozCard.vue
  4. 3
      components/topNavbar/topNavbar.vue
  5. 89
      pages.json
  6. 69
      pages/indexEntry/examines/allExamines/allExamines.vue
  7. 26
      pages/indexEntry/examines/allNews/allNews.vue
  8. 100
      pages/indexEntry/examines/comp/examineItem.vue
  9. 101
      pages/indexEntry/examines/comp/marquee.vue
  10. 28
      pages/indexEntry/examines/comp/newItem.vue
  11. 146
      pages/indexEntry/examines/detail/detail.vue
  12. 75
      pages/indexEntry/examines/examines.vue
  13. 35
      pages/indexEntry/examines/newsDetail/newsDetail.vue
  14. 112
      pages/indexEntry/findShcool/comments/comments.vue
  15. 64
      pages/indexEntry/findShcool/findShcool.vue
  16. 55
      pages/indexEntry/findShcool/shcoolDetail/comp/tab1.vue
  17. 62
      pages/indexEntry/findShcool/shcoolDetail/comp/tab2.vue
  18. 93
      pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue
  19. 44
      pages/indexEntry/findShcool/shcoolDetail/comp/tab4.vue
  20. 189
      pages/indexEntry/findShcool/shcoolDetail/shcoolDetail.vue
  21. 49
      pages/indexEntry/iIndustryInfo/detail/detail.vue
  22. 94
      pages/indexEntry/iIndustryInfo/iIndustryInfo.vue
  23. 60
      pages/indexEntry/index.vue
  24. 67
      pages/indexEntry/theory/theory.vue
  25. 6
      pages/tabbar/index/index.vue
  26. BIN
      static/images/bigImg/radian.png
  27. BIN
      static/images/index/btn_jiaoyu.png
  28. BIN
      static/images/index/btn_moni.png
  29. BIN
      static/images/index/btn_quhao.png
  30. BIN
      static/images/index/btn_xuanshi.png
  31. BIN
      static/images/index/btn_youjix.png
  32. BIN
      static/images/index/ic_shaixuan.png
  33. BIN
      static/images/index/ic_tongzhi.png
  34. BIN
      static/images/index/mapIcon.png
  35. BIN
      static/images/index/telephone.png
  36. BIN
      static/images/index/找考场_slices.zip
  37. 2
      uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue

41
common/css/app.scss

@ -35,15 +35,24 @@ view {
}
.pageBg {
background: #F6F6F6;
color: #333;
min-height: 100vh;
}
.pageBgImg {
background: url('static/images/bigImg/topbg.png') #F6F6F6 no-repeat;
color: #333;
// background: url('http://192.168.1.20:81/zhili/image/20230814/625b0f15924541cda70b4616f032d194.png') #F6F6F6 no-repeat;
background-size: 100% 362rpx;
min-height: 100vh;
}
.pad {
padding: 0 28rpx;
}
.card {
width: 100%;
background: #fff;
border-radius: 16rpx;
}
.status_bar {
height: var(--status-bar-height);
width: 100%;
@ -56,15 +65,33 @@ image {
.placeholderClassFFF {
color: #fff !important;
}
.star {
.starBox {
display: flex;
align-items: center;
.starText {
font-size: 26rpx;
color: #F5682D;
}
}
.num {
color: $themC;
font-size: 24rpx;
}
}
.my .u-input {
height: 100%;
}
.h1 {
font-size: 32rpx;
color: #333;
font-weight: 500;
position: relative;
padding: 0 0 0 32rpx;
&::before {
position: absolute;
content: '';
width: 8rpx;
height: 32rpx;
background: #1F6EFA;
border-radius: 4rpx;
top: 50%;
transform: translateY(-50%);
left: 0;
}
}

24
components/moreRight/moreRight.vue

@ -0,0 +1,24 @@
<template>
<view class="moreBox">
<view class="txt">{{text}}</view>
<u-icon name="arrow-right" color="#686B73" size="14"></u-icon>
</view>
</template>
<script>
export default {
props: ['text']
}
</script>
<style lang="scss" scoped>
.moreBox {
display: flex;
align-items: center;
.txt {
font-size: 24rpx;
color: #686B73;
margin-right: 8rpx;
}
}
</style>

59
components/pozCard/pozCard.vue

@ -0,0 +1,59 @@
<template>
<view class="card">
<view class="flex-b">
<view class="left_text">
<view class="adr ">江西省江西市江西区某某镇尚坤丁兰国际1190号820</view>
<view class="distance">距您100km</view>
</view>
<view class="mapEntry">
<view class="icon">
<image src="@/static/images/index/mapIcon.png" mode=""></image>
</view>
<view class="text">地图导航</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.card {
padding: 24rpx;
.flex-b {
align-items: center;
.left_text {
flex: 1;
.adr {
font-size: 28rpx;
color: #333333;
font-weight: 500;
}
.distance {
margin-top: 24rpx;
color: #686B73;
font-size: 24rpx;
}
}
.mapEntry {
width: 130rpx;
display: flex;
flex-direction: column;
align-items: center;
.icon {
width: 32rpx;
height: 32rpx;
}
.text {
font-size: 24rpx;
margin-top: 10rpx;
color: $themC;
}
}
}
}
</style>

3
components/topNavbar/topNavbar.vue

@ -8,9 +8,6 @@
:fixed="false"
>
</u-navbar>
<view class="pad">
</view>
</view>
</template>

89
pages.json

@ -40,6 +40,95 @@
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "findShcool/shcoolDetail/shcoolDetail",
"style": {
"navigationBarTitleText": "找驾校",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "findShcool/comments/comments",
"style": {
"navigationBarTitleText": "教练评价",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "iIndustryInfo/iIndustryInfo",
"style": {
"navigationBarTitleText": "行业资讯",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "iIndustryInfo/detail/detail",
"style": {
"navigationBarTitleText": "行业资讯详情",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "examines/examines",
"style": {
"navigationBarTitleText": "找考场",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "examines/allExamines/allExamines",
"style": {
"navigationBarTitleText": "找考场",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "examines/detail/detail",
"style": {
"navigationBarTitleText": "考场详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "examines/allNews/allNews",
"style": {
"navigationBarTitleText": "考场信息资讯",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "examines/newsDetail/newsDetail",
"style": {
"navigationBarTitleText": "考场信息资讯详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "theory/theory",
"style": {
"navigationBarTitleText": "考场信息资讯详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
}
]
},

69
pages/indexEntry/examines/allExamines/allExamines.vue

@ -0,0 +1,69 @@
<template>
<view class="pageBgImg">
<topNavbar title="找考场"></topNavbar>
<view class="pad">
<view class="search">
<searchRow placeholder="搜索考场名称"/>
</view>
<view class="navBox">
<view class="nav" v-for="(item,index) in navList" :key="index" :class="{active: index==0}">{{ item.text }}</view>
</view>
<view class="card">
<examineItem></examineItem>
</view>
</view>
</view>
</template>
<script>
import examineItem from '../comp/examineItem.vue'
export default {
components: {
examineItem
},
data() {
return {
navList: [
{text: '全部', id: 0},
{text: '理论', id: 1},
{text: '科目二', id: 2},
{text: '科目三', id: 3},
]
}
}
}
</script>
<style lang="scss" scoped>
.pageBgImg {
min-height: 100vh;
}
.navBox {
display: flex;
justify-content: space-between;
padding: 24rpx 42rpx 36rpx 42rpx;
.nav {
display: flex;
font-size: 28rpx;
color: #fff;
&.active {
position: relative;
&::before {
content: '';
position: absolute;
bottom: -14rpx;
left: 50%;
transform: translateX(-50%);
width: 50rpx;
height: 4rpx;
background-color: #fff;
border-radius: 0 0 2rpx 2rpx;
}
}
}
}
.card {
padding: 32rpx 24rpx 28rpx 24rpx;
margin-bottom: 20rpx;
}
</style>

26
pages/indexEntry/examines/allNews/allNews.vue

@ -0,0 +1,26 @@
<template>
<view class="pageBgImg">
<topNavbar title="信息资讯"></topNavbar>
<view class="ul">
<view class="card" v-for="(item,index) in 6" :key="index">
<newItem></newItem>
</view>
</view>
</view>
</template>
<script>
import newItem from '../comp/newItem'
export default {
components: { newItem }
}
</script>
<style lang="scss" scoped>
.ul {
padding: 28rpx;
}
.card {
margin-bottom: 20rpx;
}
</style>

100
pages/indexEntry/examines/comp/examineItem.vue

@ -0,0 +1,100 @@
<template>
<view class="li" @click="$goPage('/pages/indexEntry/examines/detail/detail')">
<view class="flex">
<view class="cover">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="textCon">
<view class="name">江西海正驾校</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="4" disabled></u-rate>
<view class="num">4.9</view>
</view>
<view class="modeCar">准考车型C1/C2</view>
</view>
<view class="pozPhone">
<image src="@/static/images/index/telephone.png" mode=""></image>
</view>
</view>
<view class="redBox">
<!-- <view class="icon">
<image src="@/static/images/index/ic_tongzhi.png" mode=""></image>
</view> -->
<!-- <view class="marqueeW"> -->
<u-notice-bar :text="'免费开放日免费开放日免费开放日免费开放日2023/08/08'" bgColor="#FBE8EA" color="#C12727" fontSize="12"></u-notice-bar>
<!-- </view> -->
</view>
</view>
</template>
<script>
import marquee from './marquee'
export default {
components: { marquee },
data() {
return {
text1: '免费开放日:2023/08/08 '
}
}
}
</script>
<style lang="scss" scoped>
.flex {
position: relative;
.cover {
width: 204rpx;
height: 140rpx;
border-radius: 8rpx;
overflow: hidden;
}
.textCon {
flex: 1;
padding: 0 0 0 36rpx;
.name {
font-size: 32rpx;
font-weight: 600;
}
.starBox {
padding: 10rpx 0 20rpx 0;
}
.modeCar {
font-size: 24rpx;
color: #686B73;
}
}
.pozPhone {
position: absolute;
top: 50%;
right: 40rpx;
width: 72rpx;
height: 72rpx;
transform: translateY(-50%);
}
}
.redBox {
width: 100%;
display: flex;
background: #FBE8EA;
height: 40rpx;
align-items: center;
margin-top: 34rpx;
overflow: hidden;
.icon {
width: 40rpx;
image {
width: 28rpx;
height: 28rpx;
margin-left: auto;
}
}
.marqueeW {
width: 0;
flex: 1;
}
}
</style>

101
pages/indexEntry/examines/comp/marquee.vue

@ -0,0 +1,101 @@
<template>
<div class="marquee-box">
<div class="marquee-content" ref="out">
<p :class="run?speed:''">
<span class="text1" ref="in" >{{content}}</span>
<span class="text2" v-if="showtwo||run">{{content}}</span>
</p>
</div>
</div>
</template>
<script>
export default {
name: 'VueMarquee',
data (){
return{
run: false,
pWidth: '',
}
},
props: {
content: {
default: "暂无公告内容",
type: String
},
speed: {
default: 'slow',
type: String
},
showtwo: {
default: true
}
},
watch: {
content (){
var _this = this;
setTimeout(()=>{
_this.$nextTick(()=>{
let out = _this.$refs.out.clientWidth;
let _in = _this.$refs.in.clientWidth;
_this.pWidth = 2*_in;
_this.run=_in>out?true:false;
});
},0);
}
},
mounted (){
var _this = this;
this.$nextTick(()=>{
let out = _this.$refs.out.clientWidth;
let _in = _this.$refs.in.clientWidth;
_this.run=_in>out?true:false;
});
}
}
</script>
<style lang="scss" scoped>
.marquee-box {
height: 24px;
line-height: 24px;
color: #DD1D35;
font-size: 12px;
}
.marquee-content{
overflow: hidden;
width:100%
}
.marquee-content p{
display: inline-block;
white-space: nowrap;
margin: 0;
font-size: 0;
}
.marquee-content span{
display: inline-block;
white-space: nowrap;
padding-right: 300px;
font-size: 12px;
}
.quick{
-webkit-animation: marquee 5s linear infinite;
animation: marquee 5s linear infinite;
}
.middle{
-webkit-animation: marquee 8s linear infinite;
animation: marquee 8s linear infinite;
}
.slow{
-webkit-animation: marquee 25s linear infinite;
animation: marquee 25s linear infinite;
}
@-webkit-keyframes marquee {
0% { -webkit-transform: translate3d(0,0,0); }
100% { -webkit-transform: translate3d(-50%,0,0); }
}
@keyframes marquee {
0% { transform: translateX(0); }
100% { transform: translateX(-50%);}
}
</style>

28
pages/indexEntry/examines/comp/newItem.vue

@ -0,0 +1,28 @@
<template>
<view class="newItem" @click="$goPage('/pages/indexEntry/examines/newsDetail/newsDetail')">
<view class="h2">最新免费开放日来啦</view>
<view class="text">2023/08/082023/08/09 全天免费开放咯~</view>
<view class="date">发布时间2023/08/06</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.newItem {
padding: 24rpx;
font-size: 28rpx;
.h2 {
font-weight: 500;
}
.text {
color: #686B73;
padding: 8rpx 0 32rpx 0;
}
.date {
font-size: 20rpx;
color: #686B73;
}
}
</style>

146
pages/indexEntry/examines/detail/detail.vue

@ -0,0 +1,146 @@
<template>
<!-- 考场详情 -->
<view class="pageBg">
<view class="swiper-box">
<view class="navPoz">
<topNavbar title=" "></topNavbar>
</view>
<u-swiper :list="list1" :height="261"></u-swiper>
<view class="radian">
<image src="@/static/images/bigImg/radian.png" mode=""></image>
</view>
</view>
<view <view class="pad traTop">
<view class="card info">
<view class="cover">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="textCon">
<view class="name">江西海正驾校</view>
<view class="modeCar">准考车型C1/C2</view>
</view>
<view class="pozPhone">
<image src="@/static/images/index/telephone.png" mode=""></image>
</view>
</view>
<!-- 考场位置 -->
<view class="location">
<view class="h1">考场位置</view>
<view class="pozLi">
<pozCard></pozCard>
</view>
</view>
<!-- 信息资讯 -->
<view class="news">
<view class="flex-b">
<view class="h1">信息资讯</view>
<moreRight text='查看全部' @click.native="$goPage('/pages/indexEntry/examines/allNews/allNews')"></moreRight>
</view>
<view class="card">
<newItem></newItem>
</view>
</view>
<view class="btn">我要模拟</view>
</view>
</view>
</template>
<script>
import newItem from '../comp/newItem'
export default {
components: { newItem },
data() {
return {
list1: [
'https://cdn.uviewui.com/uview/swiper/swiper1.png',
'https://cdn.uviewui.com/uview/swiper/swiper2.png',
'https://cdn.uviewui.com/uview/swiper/swiper3.png',
],
}
}
}
</script>
<style lang="scss" scoped>
.swiper-box {
position: relative;
.navPoz {
position: absolute;
top: 0;
z-index: 9;
left: 0;
}
.radian {
position: absolute;
width: 100%;
height: 84rpx;
bottom: 0;
left: 0;
z-index: 9;
}
}
.h1 {
line-height: 96rpx;
}
.traTop {
position: relative;
top: -120rpx;
z-index: 99;
}
.info {
height: 208rpx;
align-items: center;
display: flex;
justify-content: space-between;
padding: 24rpx;
position: relative;
.cover {
width: 204rpx;
height: 140rpx;
border-radius: 8rpx;
overflow: hidden;
}
.textCon {
flex: 1;
padding: 0 0 0 36rpx;
.name {
font-size: 32rpx;
font-weight: 600;
margin-bottom: 20rpx;
}
.starBox {
padding: 10rpx 0 20rpx 0;
}
.modeCar {
font-size: 24rpx;
color: #686B73;
}
}
.pozPhone {
position: absolute;
top: 50%;
right: 40rpx;
width: 72rpx;
height: 72rpx;
transform: translateY(-50%);
}
}
.btn {
width: 396rpx;
height: 72rpx;
background: #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 72rpx;
margin: 30rpx auto;
}
</style>

75
pages/indexEntry/examines/examines.vue

@ -0,0 +1,75 @@
<template>
<view class="pageBgImg">
<topNavbar title="找考场"></topNavbar>
<view class="pad">
<view class="card">
<view class="navBox">
<view class="nav" v-for="(item,index) in navList" :key="index">
<view class="icon">
<image :src="item.icon" mode=""></image>
</view>
<view class="text">{{ item.text }}</view>
</view>
</view>
</view>
<view class="h1_row">
<view class="h1">附近考场</view>
<moreRight text="查看全部考场" @click.native="$goPage('/pages/indexEntry/examines/allExamines/allExamines')"></moreRight>
</view>
<view class="card">
<examineItem></examineItem>
</view>
</view>
</view>
</template>
<script>
import examineItem from './comp/examineItem.vue'
export default {
components: { examineItem },
data() {
return {
navList: [
{text: '我要模拟', icon: require('../../../static/images/index/btn_moni.png'), id: 1 },
{text: '考场取号', icon: require('../../../static/images/index/btn_quhao.png'), id: 2 },
{text: '领证宣誓', icon: require('../../../static/images/index/btn_xuanshi.png'), id: 3 },
{text: '警示教育', icon: require('../../../static/images/index/btn_jiaoyu.png'), id: 4 },
{text: '驾照邮寄', icon: require('../../../static/images/index/btn_youjix.png'), id: 5 },
]
}
}
}
</script>
<style lang="scss" scoped>
.navBox {
display: flex;
.nav {
flex: 2;
.icon {
width: 92rpx;
height: 92rpx;
margin: 0 auto;
}
.text {
font-size: 26rpx;
margin-top: 22rpx;
text-align: center;
}
}
}
.h1_row {
height: 104rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.card {
padding: 32rpx 24rpx 28rpx 24rpx;
margin-bottom: 20rpx;
}
.redBox {
}
</style>

35
pages/indexEntry/examines/newsDetail/newsDetail.vue

@ -0,0 +1,35 @@
<template>
<view class="pageBgImg">
<topNavbar title="信息资讯"></topNavbar>
<view class="pad">
<view class="card">
<view class="h2">最新免费开放日来啦</view>
<view class="content">
内容
</view>
<view class="date">发布时间2023/08/06</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.card {
padding: 28rpx 24rpx;
margin-top: 20rpx;
.h2 {
font-size: 28rpx;
font-weight: 500;
}
.content {
padding: 40rpx 0 100rpx;
}
.date {
color: #686B73;
font-size: 24rpx;
}
}
</style>

112
pages/indexEntry/findShcool/comments/comments.vue

@ -0,0 +1,112 @@
<template>
<view class="pageBg">
<view class="navBox">
<view class="nav" v-for="(item,index) in navList" :key="index" @click="changeNav(item)" :class="{active: currentNav==item.id}">{{ item.text }}</view>
</view>
<view class="card">
<view class="flex-b">
<view class="name">匿名用户</view>
<view class="date">2023/08/08</view>
</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="4" disabled></u-rate>
<view class="num">4.9</view>
</view>
<view class="text">教学质量高技术好超有耐心有责任心学车就找这个驾校教练都超好满意满意满意</view>
<view class="imgBox">
<view class="img">
<image src="@/static/images/logo.png" mode=""></image>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
navList: [
{text: '全部', id: 1},
{text: '最新', id: 2},
{text: '有图22', id: 3},
{text: '有视频', id: 4},
],
currentNav: 1,
}
},
methods: {
changeNav(item) {
this.currentNav = item.id
}
}
}
</script>
<style lang="scss" scoped>
.pageBg {
width: 100%;
min-height: 100vh;
padding: 0 28rpx;
.navBox {
padding: 32rpx 0 24rpx 0;
display: flex;
.nav {
padding: 10rpx 24rpx;
height: 60rpx;
background: rgba(25,137,250,0.1);
border-radius: 8rpx;
border: 2rpx solid #1989FA;
font-size: 28rpx;
color: $themC;
margin-right: 20rpx;
text-align: center;
&.active {
color: #fff;
background: $themC;
}
}
}
.card {
width: 100%;
padding: 24rpx 28rpx;
margin-bottom: 20rpx;
.flex-b {
align-items: center;
.name {
font-weight: 600;
font-size: 32rpx;
color: #333;
}
.date {
font-size: 24rpx;
color: #686B73;
}
}
.starBox {
padding: 10rpx 0 24rpx 0;
}
.text {
font-size: 24rpx;
}
.imgBox {
display: flex;
flex-wrap: wrap;
padding-top: 20rpx;
.img {
margin-top: 20rpx;
width: 160rpx;
height: 160rpx;
border-radius: 8rpx;
overflow: hidden;
margin-right: 24rpx;
}
}
}
}
</style>

64
pages/indexEntry/findShcool/findShcool.vue

@ -11,27 +11,27 @@
<view class="screen">
<view class="txt">筛选</view>
<view class="screenIcon">
<image src="../../../static/images/tabbar/wd.png" mode=""></image>
<image src="../../../static/images/index/ic_shaixuan.png" mode=""></image>
</view>
</view>
</view>
<view class="ul">
<view class="li">
<view class="li" v-for="(item,index) in 10" :key="index" @click="goPage">
<view class="img">
<image src="../../../static/images/logo.png" mode=""></image>
</view>
<view class="textCon">
<view class="name">江西海正驾校</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="20"></u-rate>
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="4" disabled></u-rate>
<view class="num">4.9</view>
</view>
<view class="credit">行业信用AA</view>
<view class="adr">距您1000.99公里</view>
</view>
<view class="pozPhone">
<image src="@/static/images/tabbar/sy.png" mode=""></image>
<image src="@/static/images/index/telephone.png" mode=""></image>
</view>
</view>
</view>
@ -61,6 +61,12 @@
},
]
}
},
methods: {
goPage() {
console.log(this.$goPage)
this.$goPage('/pages/indexEntry/findShcool/shcoolDetail/shcoolDetail')
}
}
}
</script>
@ -75,6 +81,7 @@
.navBox {
display: flex;
justify-content: space-between;
padding-bottom: 48rpx;
.tab {
display: flex;
font-size: 28rpx;
@ -121,34 +128,63 @@
}
.screenIcon {
width: 40rpx;
height: 40rpx;
width: 32rpx;
height: 32rpx;
}
}
}
.ul {
width: 100%;
.li {
height: 208rpx;
background: #FFFFFF;
border-radius: 16rpx;
padding: 24rpx;
position: relative;
display: flex;
margin-bottom: 20rpx;
.img {
img {}
width: 204rpx;
height: 140rpx;
background: #FFFFFF;
}
.textCon {
.name {}
flex: 1;
font-size: 24rpx;
padding: 0 0 0 36rpx;
.name {
font-size: 32rpx;
color: #363A44;
font-weight: 600;
}
.starBox {
u-rate {}
.num {}
display: flex;
padding: 6rpx 0 6rpx 0;
.num {
color: $themC;
}
}
.credit {}
.credit {
color: #1989FA;
margin-bottom: 4rpx;
}
.adr {}
.adr {
color: #363A44;
}
}
.pozPhone {
img {}
position: absolute;
top: 50%;
right: 48rpx;
width: 72rpx;
height: 72rpx;
transform: translateY(-50%);
}
}
}

55
pages/indexEntry/findShcool/shcoolDetail/comp/tab1.vue

@ -0,0 +1,55 @@
<template>
<view class="tabCon">
<view class="tab1">
<view class="card">
<view class="name">C2自动挡一对一VIP班</view>
<view class="flex-b">
<view class="price">2566</view>
<view class="btn">导航</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.tabCon {
width: 100%;
.tab1 {
width: 100%;
.card {
margin-top: 24rpx;
padding: 28rpx 28rpx 28rpx 36rpx;
.name {
font-size: 32rpx;
color: #333;
margin-bottom: 36rpx;
}
.flex-b {
.price {
font-size: 44rpx;
color: #ED733E;
}
.btn {
width: 130rpx;
height: 60rpx;
background: #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 60rpx;
}
}
}
}
}
</style>

62
pages/indexEntry/findShcool/shcoolDetail/comp/tab2.vue

@ -0,0 +1,62 @@
<template>
<view class="tabCon">
<view class="tab1">
<view class="card">
<view class="name">江西路场地</view>
<view class="adr">江西省江西市江西区尚坤丁兰国际1190</view>
<view class="flex-b">
<view class="distance">距您100km</view>
<view class="btn">导航</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.tabCon {
width: 100%;
.tab1 {
width: 100%;
.card {
margin-top: 24rpx;
padding: 28rpx 28rpx 28rpx 36rpx;
.name {
font-size: 32rpx;
color: #333;
margin-bottom: 8rpx;
}
.adr {
font-size: 24rpx;
color: #333;
margin-bottom: 10rpx;
}
.flex-b {
.distance {
font-size: 24rpx;
color: #686B73;
}
.btn {
width: 130rpx;
height: 60rpx;
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: $themC;
text-align: center;
line-height: 60rpx;
}
}
}
}
}
</style>

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

@ -0,0 +1,93 @@
<template>
<view class="tabCon">
<view class="tab1">
<view class="card">
<view class="avatar">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="rightCon">
<view class="flex">
<view class="name">王一宝</view>
<view class="age">10年教龄</view>
</view>
<view class="flex-b">
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="4" disabled></u-rate>
<view class="num">4.9</view>
</view>
<view class="more">
<view class="moreText">查看评价</view>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.tabCon {
width: 100%;
.tab1 {
width: 100%;
.card {
width: 100%;
display: flex;
align-items: center;
padding: 36rpx;
margin-top: 20rpx;
.avatar {
width: 100rpx;
height: 98rpx;
border-radius: 50%;
margin-right: 34rpx;
}
.rightCon {
flex: 1;
width: 0;
.flex {
.name {
font-size: 32rpx;
color: #333;
font-weight: 500;
}
.age {
width: 142rpx;
height: 40rpx;
background: #E8F3FE;
border-radius: 4rpx;
color: $themC;
text-align: center;
line-height: 40rpx;
margin-left: 24rpx;
font-size: 24rpx;
}
}
.flex-b {
margin-top: 14rpx;
.more {
display: flex;
align-items: center;
.moreText {
font-size: 24rpx;
color: #686B73;
margin-right: 10rpx;
}
}
}
}
}
}
}
</style>

44
pages/indexEntry/findShcool/shcoolDetail/comp/tab4.vue

@ -0,0 +1,44 @@
<template>
<view class="tabCon">
<view class="tab1">
<view class="card">
<view class="leftTxt">浙A·99999</view>
<view class="rightTxt">大众朗逸</view>
</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.tabCon {
width: 100%;
.tab1 {
width: 100%;
.card {
margin-top: 24rpx;
height: 100rpx;
background: #FFFFFF;
border-radius: 16rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
.leftTxt {
font-size: 32rpx;
color: $themC;
font-weight: 500;
}
.rightTxt {
font-size: 28rpx;
color: #686B73;
}
}
}
}
</style>

189
pages/indexEntry/findShcool/shcoolDetail/shcoolDetail.vue

@ -0,0 +1,189 @@
<template>
<view class="main pageBg">
<view class="swiper-box">
<view class="navPoz">
<topNavbar title=" "></topNavbar>
</view>
<u-swiper :list="list1" :height="261"></u-swiper>
<view class="radian">
<image src="@/static/images/bigImg/radian.png" mode=""></image>
</view>
</view>
<view class="pad traTop">
<!-- 驾校信息 -->
<view class="card ">
<view class="flex">
<view class="schoolLogo">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="textCon">
<view class="name">江西海正驾校</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="4" disabled></u-rate>
<view class="num">4.9</view>
</view>
<view class="evaluate" @click="$goPage('/pages/indexEntry/findShcool/comments/comments')">
<view class="txt">50条评价</view>
<u-icon name="arrow-right" color="#363A44" size="14"></u-icon>
</view>
</view>
<view class="pozPhone">
<image src="@/static/images/index/telephone.png" mode=""></image>
</view>
</view>
</view>
<!-- 驾校位置 -->
<view class="shoolPoz">
<view class="h1">驾校位置</view>
<pozCard></pozCard>
</view>
<!-- 驾校服务 -->
<view class="severCon">
<view class="h1">驾校服务</view>
<view class="navBox">
<view class="nav" v-for="(item,index) in navList" :key="index" :class="{active: currentNav==item.id}" @click="changeNav(item)">{{ item.text }}</view>
</view>
</view>
<tab1 v-show="currentNav==1"></tab1>
<tab2 v-show="currentNav==2"></tab2>
<tab3 v-show="currentNav==3"></tab3>
<tab4 v-show="currentNav==4"></tab4>
</view>
</view>
</template>
<script>
import tab1 from './comp/tab1.vue'
import tab2 from './comp/tab2.vue'
import tab3 from './comp/tab3.vue'
import tab4 from './comp/tab4.vue'
export default {
components: { tab1, tab2, tab3, tab4},
data() {
return {
list1: [
'https://cdn.uviewui.com/uview/swiper/swiper1.png',
'https://cdn.uviewui.com/uview/swiper/swiper2.png',
'https://cdn.uviewui.com/uview/swiper/swiper3.png',
],
navList: [
{text: '班型', id: 1},
{text: '场地', id: 2},
{text: '教练', id: 3},
{text: '教练车', id: 4},
],
currentNav: 1,
}
},
methods: {
changeNav(item) {
this.currentNav = item.id
}
}
}
</script>
<style lang="scss" scoped>
.navPoz {
position: absolute;
top: 0;
z-index: 9;
left: 0;
}
.main {
width: 100%;
min-height: 100vh;
.swiper-box {
position: relative;
.radian {
position: absolute;
width: 100%;
height: 84rpx;
bottom: 0;
left: 0;
z-index: 9;
}
}
.traTop {
position: relative;
top: -120rpx;
z-index: 99;
}
.card {
padding: 24rpx;
.flex {
position: relative;
.schoolLogo {
width: 204rpx;
height: 140rpx;
}
.textCon {
flex: 1;
padding: 0 0 0 36rpx;
.name {
font-size: 32rpx;
font-weight: 600;
}
.starBox {
padding: 12rpx 0 6rpx 0;
}
.evaluate {
display: flex;
align-items: center;
margin-top: 30rpx;
.txt {
font-size: 24rpx;
color: #363A44;
margin-right: 12rpx;
}
}
}
.pozPhone {
position: absolute;
top: 50%;
right: 40rpx;
width: 72rpx;
height: 72rpx;
transform: translateY(-50%);
}
}
}
.h1 {
line-height: 100rpx;
}
.navBox {
display: flex;
justify-content: space-between;
padding: 10rpx 32rpx 20rpx 32rpx;
.nav {
font-size: 28rpx;
color: #363A44;
&.active {
color: $themC;
font-weight: 600;
font-size: 32rpx;
position: relative;
&::before {
content: '';
position: absolute;
bottom: -18rpx;
left: 50%;
transform: translateX(-50%);
width: 48rpx;
height: 4rpx;
background: #1989FA;
border-radius: 2rpx 2rpx 0px 0px;
}
}
}
}
}
</style>

49
pages/indexEntry/iIndustryInfo/detail/detail.vue

@ -0,0 +1,49 @@
<template>
<view class="pageBgImg">
<topNavbar title=" "></topNavbar>
<view class="pad">
<view class="card">
<view class="tit">2023年6月份江西省机动车驾驶培训机构考试合格</view>
<view class="h2">二级标题二级标题二级标题二级标题二级标题二级标题</view>
<view class="content">
内容详情
</view>
<view class="date">发布时间2023/08/06</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.pageBgImg {
min-height: 100vh;
.pad {
margin-top: 24rpx;
}
.card {
padding: 28rpx 24rpx;
.tit {
font-size: 28rpx;
font-weight: 500;
}
.h2 {
margin: 8rpx 0 42rpx 0;
color: #686B73;
font-size: 24rpx;
}
.content {
}
.date {
padding: 100rpx 0 40rpx 0;
font-size: 20rpx;
color: #686B73;
}
}
}
</style>

94
pages/indexEntry/iIndustryInfo/iIndustryInfo.vue

@ -0,0 +1,94 @@
<template>
<view class="pageBgImg">
<topNavbar title="行业资讯"></topNavbar>
<view class="pad">
<view class="card" @click="$goPage('/pages/indexEntry/iIndustryInfo/detail/detail')">
<view class="borderTop flex-b">
<view class="tit">三年驾龄交通违法和事故通报</view>
<moreRight text="更多"></moreRight>
</view>
<view class="li">
<view class="cover">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="rightCon">
<view class="h2">2023年6月份江西省三年驾龄交通违法和事故通报</view>
<view class="date">2023/07/16</view>
</view>
</view>
<view class="li">
<view class="cover">
<image src="@/static/images/logo.png" mode=""></image>
</view>
<view class="rightCon">
<view class="h2">2023年6月份江西省三年驾龄交通违法和事故通报</view>
<view class="date">2023/07/16</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
}
}
</script>
<style lang="scss" scoped>
.pageBgImg {
min-height: 100vh;
.pad {
margin-top: 24rpx;
}
.card {
width: 100%;
padding: 0 24rpx 10rpx 24rpx;
.borderTop {
border-bottom: 1px dashed #E8E9EC;
height: 88rpx;
display: flex;
align-items: center;
.tit {
font-size: 28rpx;
font-weight: 600;
}
}
.li {
display: flex;
align-items: center;
padding:20rpx 0;
.cover {
width: 184rpx;
height: 148rpx;
border-radius: 6rpx;
overflow: hidden;
}
.rightCon {
padding: 0 0 0 30rpx;
display: flex;
height: 148rpx;
flex-direction: column;
justify-content: space-between;
.h2 {
font-size: 24rpx;
margin-top: 4rpx;
}
.date {
font-size: 20rpx;
color: #686B73;
text-align: right;
}
}
}
}
}
</style>

60
pages/indexEntry/index.vue

@ -1,60 +0,0 @@
<template>
<view class="content">
<image class="logo" src="/static/logo.png" @click="goPage"></image>
<view class="text-area">
<text class="title">你好</text>
</view>
<UserTab tabNumber="兴趣小组"></UserTab>
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
goPage() {
// uni.navigateTo({
// url: '/pages/index/test'
// })
// plus.runtime.openURL("car://paymoney/carstep:8888://");
// plus.runtime.openURL("paymoney://car:8898/carstep");
}
}
}
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>

67
pages/indexEntry/theory/theory.vue

@ -0,0 +1,67 @@
<template>
<view class="pageBgImg">
<topNavbar title=""></topNavbar>
<view class="pad">
<view class="h3">请选择您要学习的类型</view>
<view class="radioBox">
<view class="radioItem" v-for="(item,index) in radioArr" :key="index">
<view class="text">{{ item.text }}</view>
<view class="icon">
<image src="@/static/images/index/scan.png" mode=""></image>
</view>
</view>
</view>
<view class="btn">去练习</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
radioArr: [
{text: '自学练习', id: 1},
{text: '记录理论学时', id: 2},
{text: '安全警示教育在线视频学习', id: 3},
]
}
}
}
</script>
<style lang="scss" scoped>
.radioBox {
width: 100%;
}
.h3 {
font-size: 28rpx;
color: #fff;
padding: 20rpx 10rpx;
}
.radioItem {
width: 100%;
height: 120rpx;
background: #FFFFFF;
border-radius: 16rpx;
margin-bottom: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 32rpx;
.text {
font-size: 28rpx;
}
}
.btn {
width: 396rpx;
height: 72rpx;
background: #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 72rpx;
margin: 140rpx auto 0 auto;
}
</style>

6
pages/tabbar/index/index.vue

@ -52,7 +52,7 @@
<view class="information">
<view class="flex-b border">
<view class="h1">行业资讯</view>
<view class="more">
<view class="more" @click="$goPage('/pages/indexEntry/iIndustryInfo/iIndustryInfo')">
<view class="text">更多</view>
<view class="icon">
<u-icon name="arrow-right"></u-icon>
@ -63,7 +63,7 @@
:current="current" :mode="mode" style="height: 230rpx;" :dots-styles="dotsStyles"
field="content">
<swiper class="swiper-box" @change="change" :current="swiperDotIndex" style="height: 230rpx;">
<swiper-item v-for="(item, index) in swiperInfo" :key="index">
<swiper-item v-for="(item, index) in swiperInfo" :key="index" @click="$goPage('/pages/indexEntry/examines/newsDetail/newsDetail')">
<view class="swiper-item" :class="'swiper-item' + index">
<view class="flex-b">
<view class="imgBox">
@ -121,6 +121,7 @@
{
text: '找考场',
icon: require('../../../static/images/index/ic_kaochang.png'),
url: '/pages/indexEntry/examines/examines'
},
{
text: '找陪练',
@ -129,6 +130,7 @@
{
text: '理论学习',
icon: require('../../../static/images/index/ic_lilun.png'),
url: '/pages/indexEntry/theory/theory'
},
],
serviceSector: [{

BIN
static/images/bigImg/radian.png

After

Width: 750  |  Height: 84  |  Size: 4.9 KiB

BIN
static/images/index/btn_jiaoyu.png

After

Width: 92  |  Height: 92  |  Size: 3.9 KiB

BIN
static/images/index/btn_moni.png

After

Width: 92  |  Height: 92  |  Size: 3.9 KiB

BIN
static/images/index/btn_quhao.png

After

Width: 92  |  Height: 92  |  Size: 3.2 KiB

BIN
static/images/index/btn_xuanshi.png

After

Width: 92  |  Height: 92  |  Size: 4.4 KiB

BIN
static/images/index/btn_youjix.png

After

Width: 92  |  Height: 92  |  Size: 4.0 KiB

BIN
static/images/index/ic_shaixuan.png

After

Width: 32  |  Height: 34  |  Size: 752 B

BIN
static/images/index/ic_tongzhi.png

After

Width: 28  |  Height: 28  |  Size: 587 B

BIN
static/images/index/mapIcon.png

After

Width: 32  |  Height: 30  |  Size: 1.0 KiB

BIN
static/images/index/telephone.png

After

Width: 72  |  Height: 72  |  Size: 1.8 KiB

BIN
static/images/index/找考场_slices.zip

2
uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue

@ -95,7 +95,7 @@
.u-notice-bar {
overflow: hidden;
padding: 9px 12px;
padding: 9rpx 12rpx;
flex: 1;
}
</style>
Loading…
Cancel
Save