Browse Source

写页面

master
unknown 1 year ago
parent
commit
e6668ec021
  1. 106
      components/appointItem-student/appointItem-student.vue
  2. 39
      components/cardNav/cardNav.vue
  3. 58
      components/scrollNav/scrollNav.vue
  4. 86
      components/user-info/user-info.vue
  5. 97
      pages.json
  6. 12
      pages/recordEntry/examine/examineRecord/examineRecord.vue
  7. 82
      pages/recordEntry/student/addStudent/addStudent.vue
  8. 109
      pages/recordEntry/student/studentDetail/comp/comp.scss
  9. 102
      pages/recordEntry/student/studentDetail/comp/info.vue
  10. 37
      pages/recordEntry/student/studentDetail/comp/list.vue
  11. 88
      pages/recordEntry/student/studentDetail/studentDetail.vue
  12. 71
      pages/tabbar/mine/index.vue
  13. 149
      pages/tabbar/student/index.vue
  14. 91
      pages/userCenter/personaInfo/personaInfo.vue
  15. 30
      pages/userCenter/scanCode/scanCode.vue
  16. 31
      pages/userCenter/studentComment/studentComment.vue
  17. BIN
      static/images/coach/avatar.png
  18. BIN
      static/images/coach/ic_changdi.png
  19. BIN
      static/images/coach/ic_cheliang.png
  20. BIN
      static/images/coach/ic_daijiesuan.png
  21. BIN
      static/images/coach/ic_erweima.png
  22. BIN
      static/images/coach/ic_gengduo.png
  23. BIN
      static/images/coach/ic_pingjia.png
  24. BIN
      static/images/coach/ic_shicao_nor.png
  25. BIN
      static/images/coach/ic_shuju.png
  26. BIN
      static/images/coach/ic_tuikuan.png
  27. BIN
      static/images/coach/ic_zhibiao.png
  28. BIN
      static/images/index/ic_jiaxiao_cli.png

106
components/appointItem-student/appointItem-student.vue

@ -0,0 +1,106 @@
<template>
<!-- 实操 -->
<view class="consultItem">
<view class="top_row">
<view class="flex">
<view class="schoolName">张三三 18265468753</view>
</view>
<view class="status">
<!-- <view class="text">待上课</view> -->
<view class="icon">
<u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
</view>
</view>
</view>
<view class="target">
<view class="row">
<view class="iconImg">
<image src="@/static/images/index/radio_nor.png" mode=""></image>
</view>
<view class="name">报名时间2023/08/08</view>
</view>
<view class="row">
<view class="iconImg">
<image src="@/static/images/index/radio_nor.png" mode=""></image>
</view>
<view class="name">学驾车型C1小型汽车手动挡</view>
</view>
<view class="row">
<view class="iconImg">
<image src="@/static/images/index/radio_nor.png" mode=""></image>
</view>
<view class="name">报名班型C1一对一VIP班</view>
</view>
<view class="row">
<view class="iconImg">
<image src="@/static/images/index/radio_nor.png" mode=""></image>
</view>
<view class="name">最新状态<text>科目三理论考试已预约</text> </view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.consultItem {
width: 100%;
.top_row {
display: flex;
width: 100%;
height: 116rpx;
border-bottom: 2rpx dashed #E8E9EC;
justify-content: space-between;
align-items: center;
.tag {
// width: 176rpx;
height: 60rpx;
background: rgba(250, 149, 25, 0.1);
border-radius: 8rpx;
text-align: center;
font-size: 28rpx;
color: #FA7919;
margin-right: 24rpx;
padding: 10rpx 18rpx;
}
.schoolName {
font-size: 28rpx;
color: #333;
margin-left: 20rpx;
font-weight: 550;
}
.status {
display: flex;
align-items: center;
.text {
font-size: 28rpx;
color: $themC;
}
}
}
.target {
padding: 20rpx 0;
}
.row {
padding: 16rpx 0;
display: flex;
align-items: center;
.iconImg {
width: 25rpx;
height: 25rpx;
}
.name {
font-size: 28rpx;
color: #333;
padding-left: 20rpx;
text {
color: $themC;
}
}
}
}
</style>

39
components/cardNav/cardNav.vue

@ -0,0 +1,39 @@
<template>
<view class="navs">
<view class="nav" @click="changeNav(item.id)" :class="{active: currentNav==item.id}" v-for="(item,index) in navData" :key="index">{{ item.text }}</view>
</view>
</template>
<script>
export default {
props: ['navData', 'currentNav'],
methods: {
changeNav(id) {
this.$emit('changeNav', id)
}
}
}
</script>
<style lang="scss" scoped>
.navs {
display: flex;
width: 100%;
height: 72rpx;
background: #FFFFFF;
border-radius: 16rpx;
.nav {
flex: 1;
text-align: center;
line-height: 72rpx;
color: #ADADAD;
&.active {
background: rgba(25,137,250,0.1);
border-radius: 16rpx;
border: 2rpx solid #1989FA;
color: $themC;
font-weight: 600;
}
}
}
</style>

58
components/scrollNav/scrollNav.vue

@ -0,0 +1,58 @@
<template>
<scroll-view class="scroll-view_w" scroll-x="true" scroll-with-animation :scroll-into-view="'tab'+currentTab" scroll-left="140">
<view class="tabs">
<view class="tab" v-for="(item,index) in tabData" :key="index" @click="changeTab(item.id)" :class="{active: currentTab==item.id}" :id="'tab'+item.id">{{ item.text }}</view>
<view class="rightPad"></view>
</view>
</scroll-view>
</template>
<script>
export default {
props: ['tabData', 'currentTab'],
methods: {
changeTab(id) {
this.$emit('changeTab', id)
},
}
}
</script>
<style lang="scss" scoped>
.scroll-view_w {
width: 100%;
margin: 30rpx 0 40rpx 0;
.tabs {
display: flex;
flex-wrap: nowrap;
padding: 0 0rpx 10rpx 32rpx;
width: auto;
.tab {
width: 108rpx;
height: 60rpx;
border-radius: 8rpx;
border: 2rpx solid #FFFFFF;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 60rpx;
margin-right: 28rpx;
flex-shrink: 0;
&.active {
background-color: #fff;
color: $themC;
}
&.all {
width: 96rpx;
}
}
.rightPad {
min-width: 10rpx;
height: 60rpx;
}
}
}
</style>

86
components/user-info/user-info.vue

@ -0,0 +1,86 @@
<template>
<view class="info_row">
<view class="avatar">
<image src="@/static/images/coach/avatar.png" mode=""></image>
</view>
<view class="info" @click="$goPage('/pages/userCenter/personaInfo/personaInfo')">
<view class="name_row">
<view class="name">大乔教练</view>
<view class="icon">
<image src="@/static/images/coach/ic_gengduo.png" mode=""></image>
</view>
</view>
<view class="school_row">
<view class="icon">
<image src="@/static/images/index/ic_jiaxiao_cli.png" mode=""></image>
</view>
<view class="schoolName">翔力驾校</view>
<view class="tag">合作教练</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.info_row {
display: flex;
align-items: center;
.avatar {
width: 144rpx;
height: 144rpx;
border-radius: 50%;
overflow: hidden;
}
.info {
padding-left: 20rpx;
.name_row {
display: flex;
align-items: center;
padding: 6rpx 20rpx 22rpx 0;
.name {
font-size: 48rpx;
font-weight: 500;
}
.icon {
width: 40rpx;
height: 40rpx;
margin-left: 20rpx;
}
}
.school_row {
display: flex;
align-items: center;
.icon {
width: 28rpx;
height: 28rpx;
}
.schoolName {
font-size: 28rpx;
padding: 0rpx 20rpx;
}
.tag {
width: 112rpx;
height: 44rpx;
background: rgba(25, 137, 250, 0.1);
border-radius: 22rpx;
font-size: 20rpx;
line-height: 44rpx;
text-align: center;
color: $themC;
}
}
}
}
</style>

97
pages.json

@ -27,7 +27,15 @@
"backgroundTextStyle": "dark"
}
},
{
"path": "pages/tabbar/student/index",
"style": {
"navigationBarTitleText": "学员",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "pages/tabbar/mine/index",
"style": {
@ -68,7 +76,7 @@
{
"path": "settlement/settlement",
"style": {
"navigationBarTitleText": "",
"navigationBarTitleText": "结算明细列表",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
@ -77,7 +85,7 @@
{
"path": "settlement/detail/detail",
"style": {
"navigationBarTitleText": "",
"navigationBarTitleText": "结算明细详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
@ -91,7 +99,16 @@
{
"path": "examine/examineRecord/examineRecord",
"style": {
"navigationBarTitleText": "",
"navigationBarTitleText": "考场记录",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "examine/examineRecord/detail/detail",
"style": {
"navigationBarTitleText": "考场训练详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
@ -100,12 +117,31 @@
{
"path": "operate/detail/detail",
"style": {
"navigationBarTitleText": "",
"navigationBarTitleText": "实操详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "student/studentDetail/studentDetail",
"style": {
"navigationBarTitleText": "学员详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "student/addStudent/addStudent",
"style": {
"navigationBarTitleText": "添加学员",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
}
]
},
{
@ -121,7 +157,52 @@
}
}
]
},
{
"root": "pages/userCenter",
"pages": [
{
"path": "personaInfo/personaInfo",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
}
]
},
{
"root": "pages/userCenter",
"pages": [
{
"path": "scanCode/scanCode",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
}
]
},
{
"root": "pages/userCenter",
"pages": [
{
"path": "studentComment/studentComment",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
}
]
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
@ -153,6 +234,12 @@
"selectedIconPath": "static/images/tabbar/scActive.png"
},
{
"pagePath": "pages/tabbar/student/index",
"text": "学员",
"iconPath": "static/images/tabbar/xy.png",
"selectedIconPath": "static/images/tabbar/xyActive.png"
},
{
"pagePath": "pages/tabbar/mine/index",
"text": "我的",
"iconPath": "static/images/tabbar/wd.png",

12
pages/recordEntry/examine/examineRecord/examineRecord.vue

@ -13,11 +13,11 @@
</view>
</view>
<view class="navs">
<view class="nav" v-for="(item,index) in tabsList" :key="index" :class="{active: currentTab==item.id}">{{ item.text }}</view>
<view class="nav" v-for="(item,index) in tabsList" :key="index" :class="{active: currentNav==item.id}" @click="changeNav(item)">{{ item.text }}</view>
</view>
<view class="pad">
<view class="total">12条记录</view>
<view class="card" @click="$goPage('/pages/recordEntry/examine/examineRecord/detail/detail')">
<view class="card" @click="goPage">
<appointItem />
</view>
</view>
@ -30,6 +30,7 @@
data() {
return {
currentTab: 1,
currentNav: 1,
tabsList: [
{id: 1, text: '全部'},
{id: 2, text: '科目二'},
@ -41,6 +42,13 @@
changeTab(num) {
console.log(num)
this.currentTab = num
},
changeNav(item) {
this.currentNav = item.id
},
goPage() {
console.log('------------')
this.$goPage('/pages/recordEntry/examine/examineRecord/detail/detail')
}
}
}

82
pages/recordEntry/student/addStudent/addStudent.vue

@ -0,0 +1,82 @@
<template>
<view class="pageBgImg">
<topNavbar title="选择学员"></topNavbar>
<view class="pad">
<view class="searchBox">
<searchRow placeholder="搜索学员姓名、学员手机号"></searchRow>
</view>
<view class="ul">
<view class="li" v-for="(item,index) in 12" :key="index">
<view class="icon">
<image src="@/static/images/index/radio_cli.png" mode=""></image>
<!-- <image src="@/static/images/index/radio.png" mode=""></image> -->
</view>
<view class="name">大乔啊{{index}}</view>
</view>
</view>
<view class="btn_row">
<view class="btnBorder">已选学员4</view>
<view class="btnBg">确认学员</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
}
}
</script>
<style lang="scss" scoped>
.btn_row {
position: fixed;
bottom: 0;
left: 0;
padding: 10rpx 28rpx;
z-index: 9;
width: 100%;
}
.searchBox {
padding: 20rpx 0;
}
.ul {
width: 100%;
padding-bottom: 120rpx;
.li {
display: flex;
align-items: center;
height: 108rpx;
background: #FFFFFF;
border-radius: 16rpx;
border: 2rpx solid rgba(25,137,250,0.2);
margin-bottom: 20rpx;
padding: 0 20rpx;
.icon {
width: 32rpx;
height: 32rpx;
}
.name {
padding: 0 20rpx;
}
}
}
.btn_row {
display: flex;
justify-content: space-between;
.btnBorder {
width: 40%;
}
.btnBg {
width: 56%;
}
}
</style>

109
pages/recordEntry/student/studentDetail/comp/comp.scss

@ -0,0 +1,109 @@
.h1 {
font-size: 32rpx;
color: #333;
font-weight: 500;
position: relative;
padding: 0 0 0 32rpx;
line-height: 108rpx;
height: 108rpx;
&::before {
position: absolute;
content: '';
width: 8rpx;
height: 32rpx;
background: #1F6EFA;
border-radius: 4rpx;
top: 50%;
left: 0;
transform: translateY(-50%);
}
}
.card {
background: #FFFFFF;
border-radius: 16rpx;
padding: 28rpx 32rpx;
margin-bottom: 20rpx;
&.mb0 {
margin-bottom: 0;
}
.flex-b {
align-items: center;
.lab {
font-size: 28rpx;
color: #333;
}
.btn {
width: 144rpx;
height: 56rpx;
background: #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 56rpx;
&.disable {
opacity: 0.3;
}
}
}
.date {
font-size: 28rpx;
color: #333;
}
}
.learnStatus {
.more {
display: flex;
align-items: center;
.txt {
font-size: 24rpx;
color: #686B73;
}
.moreIcon {
}
}
.bg {
background: rgba(25,137,250,0.1);
border-radius: 16rpx;
margin-top: 22rpx;
padding: 20rpx 20rpx 0 20rpx;
.row {
padding-bottom: 20rpx;
display: flex;
justify-content: space-between;
width: 100%;
align-items: center;
&.oneBtn {
justify-content: center;
}
}
.text {
color: $themC;
font-size: 28rpx;
}
}
}
.tpsLine {
font-size: 24rpx;
color: #ADADAD;
border-top: 1px solid #E8E9EC;
margin-top: 20rpx;
padding-top: 18rpx;
}
.cancel {
font-size: 28rpx;
font-weight: 400;
color: #ADADAD;
margin-top: 22rpx;
text-decoration: underline;
}

102
pages/recordEntry/student/studentDetail/comp/info.vue

@ -0,0 +1,102 @@
<template>
<view class="info">
<view class="card">
<view class="li">
<view class="val">真实姓名</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">性别</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">驾名名称</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">学车类型</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">学车班型</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">学车教练</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">业务类型</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">是否异地转入</view>
<view class="lab">xxx</view>
</view>
</view>
<view class="h1">报名支付</view>
<view class="card">
<view class="li">
<view class="val">班型</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">性别</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">报名渠道</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">费用总计</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">创建时间</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">支付时间</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">支付方式</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">支付订单号</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">报名流水号</view>
<view class="lab">xxx</view>
</view>
<view class="li">
<view class="val">学员统一编号</view>
<view class="lab">xxx</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.li {
display: flex;
border-bottom: 2rpx solid #F8F8F8;
line-height: 96rpx;
font-size: 30rpx;
padding: 0 28rpx;
.val {
color: #999;
width: 220rpx;
}
}
.h1 {
line-height: 88rpx;
}
</style>

37
pages/recordEntry/student/studentDetail/comp/list.vue

@ -0,0 +1,37 @@
<template>
<view class="comp">
<!-- 学习状态 -->
<view class="learnStatus">
<view class="card">
<view class="flex-b">
<view class="lab">模拟器训练学时报审</view>
<view class="date">2023/08/09 22:52:12</view>
</view>
</view>
<view class="card">
<view class="flex-b">
<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">模拟器编号00001</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>

88
pages/recordEntry/student/studentDetail/studentDetail.vue

@ -0,0 +1,88 @@
<template>
<view class="pageBgImg">
<topNavbar title="学员详情"></topNavbar>
<view class="pad">
<cardNav :navData="navData" :currentNav="currentNav" @changeNav="changeNav"></cardNav>
</view>
<scrollNav @changeTab="changeTab" :currentTab="currentTab" :tabData="tabData" />
<view class="pad">
<view class="con" v-if="currentNav==1">
<list></list>
</view>
<view class="con" v-else>
<info/>
</view>
</view>
</view>
</template>
<script>
import list from './comp/list'
import info from './comp/info'
export default {
components: {
list,
info
},
data() {
return {
currentTab: 1,
currentNav: 1,
tabData: [{
text: '全部',
id: 10
},
{
text: '阶段一',
id: 0
},
{
text: '阶段二',
id: 1
},
{
text: '阶段三',
id: 2
},
{
text: '阶段四',
id: 3
},
{
text: '阶段五',
id: 4
},
{
text: '阶段六',
id: 5
},
],
navData: [{
text: '学车进展',
id: 1
},
{
text: '个人及报名信息',
id: 2
},
]
}
},
methods: {
changeTab(id) {
this.currentTab = id
},
changeNav(id) {
this.currentNav = id
}
}
}
</script>
<style lang="scss" scoped>
</style>

71
pages/tabbar/mine/index.vue

@ -1,6 +1,22 @@
<template>
<view class="content">
我的
<view class="pageBgImg">
<view class="card">
<view class="qcode" @click="$goPage('/pages/userCenter/scanCode/scanCode')">
<image src="@/static/images/coach/ic_erweima.png" mode=""></image>
</view>
<user-info/>
</view>
<view class="card">
<view class="ul">
<view class="li" v-for="(item,index) in tabData" :key="index" @click="$goPage(item.url)">
<view class="icon">
<image :src="item.icon" mode=""></image>
</view>
<view class="text">{{ item.text }}</view>
</view>
</view>
</view>
<!-- <UserTab selectedIndex ='2'></UserTab> -->
</view>
</template>
@ -9,6 +25,15 @@
export default {
data() {
return {
tabData: [
{text: '待结算记录', icon: require('../../../static/images/coach/ic_daijiesuan.png'), id: 1},
{text: '指标充值记录', icon: require('../../../static/images/coach/ic_zhibiao.png'), id: 2},
{text: '我的车辆', icon: require('../../../static/images/coach/ic_cheliang.png'), id: 3},
{text: '考场信息', icon: require('../../../static/images/coach/ic_changdi.png'), id: 4},
{text: '学员评价', icon: require('../../../static/images/coach/ic_pingjia.png'), id: 5, url: '/pages/userCenter/studentComment/studentComment'},
{text: '教学数据', icon: require('../../../static/images/coach/ic_shuju.png'), id: 6},
{text: '学员退款', icon: require('../../../static/images/coach/ic_tuikuan.png'), id: 7},
]
}
},
onLoad() {
@ -24,8 +49,44 @@
</script>
<style lang="scss" scoped>
.content {
width: 100vw;
height: 100%;
.pageBgImg {
padding: 140rpx 28rpx 40rpx 28rpx;
}
.card {
margin-bottom: 24rpx;
padding: 28rpx;
position: relative;
.qcode {
width: 76rpx;
height: 76rpx;
position: absolute;
right: 16rpx;
top: 50%;
transform: translateY(-50%);
}
}
.ul {
display: flex;
flex-wrap: wrap;
.li {
display: flex;
align-items: center;
flex-direction: column;
padding: 10rpx 0 50rpx 0;
width: 33.33%;
.icon {
width: 72rpx;
height: 72rpx;
}
.text {
font-size: 28rpx;
margin-top: 16rpx;
}
}
}
</style>

149
pages/tabbar/student/index.vue

@ -0,0 +1,149 @@
<template>
<view class="pageBgImg pad">
<view class="searchBox">
<searchRow placeholder="搜索学员姓名、学员手机号"></searchRow>
</view>
<view class="card">
<view class="addStudent">
<view class="h2">我的学员</view>
<view class="btnBg" @click="$goPage('/pages/recordEntry/student/addStudent/addStudent')">手动添加</view>
</view>
</view>
<view class="card">
<view class="statistics">
<view class="statisticsItem">
<view class="val">260</view>
<view class="lab">累计学员数量</view>
</view>
<view class="statisticsItem">
<view class="val">260</view>
<view class="lab">今日新增学员</view>
</view>
</view>
</view>
<view class="screen_row">
<view class="selectItem">
<view class="text oneRowText">{{screen.timer}}</view>
<view class="downIcon">
<u-icon name="arrow-down"></u-icon>
</view>
</view>
<view class="selectItem">
<view class="text oneRowText">{{screen.car}}</view>
<view class="downIcon">
<u-icon name="arrow-down"></u-icon>
</view>
</view>
<view class="selectItem">
<view class="text oneRowText">{{screen.className}}</view>
<view class="downIcon">
<u-icon name="arrow-down"></u-icon>
</view>
</view>
</view>
<view class="list">
<view class="card" @click="$goPage('/pages/recordEntry/student/studentDetail/studentDetail')">
<appointItem-student/>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
screen: {
timer: '报名时间',
car: '全部车型',
className: '全部班型'
}
}
}
}
</script>
<style lang="scss" scoped>
.card {
padding: 0 28rpx;
margin-bottom: 24rpx;
}
.searchBox {
padding: 140rpx 0 24rpx 0;
}
.addStudent {
height: 108rpx;
background: #FFFFFF;
border-radius: 16rpx;
display: flex;
align-items: center;
justify-content: space-between;
.h2 {
font-size: 32rpx;
font-weight: 500;
}
.btnBg {
width: 192rpx;
}
}
.statistics {
display: flex;
height: 200rpx;
.statisticsItem {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
flex: 1;
.val {
font-weight: 600;
font-size: 56rpx;
color: $themC;
position: relative;
&::before {
content: '天';
position: absolute;
right: -30rpx;
bottom: 10rpx;
font-size: 24rpx;
font-weight: 400;
}
}
.lab {
font-size: 28rpx;
// margin-top: 20rpx;
}
}
}
.screen_row {
display: flex;
margin-bottom: 24rpx;
width: 100%;
justify-content: space-between;
.selectItem {
display: flex;
padding: 0 18rpx;
border: 2rpx solid rgba(25,137,250,0.3);
height: 60rpx;
border-radius: 16rpx;
background-color: #FFFFFF;
line-height: 60rpx;
align-items: center;
width: 28.6%;
.text {
color: $themC;
flex: 1;
}
.downIcon {
width: 24rpx;
}
}
}
</style>

91
pages/userCenter/personaInfo/personaInfo.vue

@ -0,0 +1,91 @@
<template>
<view class="pageBgImg">
<topNavbar title="人个中心"></topNavbar>
<view class="pad">
<view class="card">
<view class="row">
<view class="lab">手机号</view>
<view class="val">18267103167</view>
</view>
</view>
<!-- <view class="card">
<view class="row border">
<view class="lab">我的驾校</view>
<view class="val">江西海正驾校</view>
</view>
<view class="row border">
<view class="lab">我的教练</view>
<view class="val">xxx</view>
</view>
<view class="row border">
<view class="lab">所学车型</view>
<view class="val">xxx</view>
</view>
<view class="row">
<view class="lab">报名时间</view>
<view class="val">xxx</view>
</view>
</view> -->
<view class="card">
<view class="row">
<view class="lab">收款银行卡</view>
<view class="val">48372*****03928</view>
</view>
</view>
<view class="btnBox">
<view class="logout" @click="$goPage('/pages/userCenter/login/login')">退出登录</view>
<view class="logout">修改密码</view>
</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped>
.card {
padding: 6rpx;
margin-bottom: 20rpx;
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
height: 98rpx;
font-size: 28rpx;
padding: 0 30rpx;
&.border {
border-bottom: 2rpx solid #E8E9EC;
}
}
.btnBox {
display: flex;
justify-content: center;
flex-direction: column;
width: 100%;
align-items: center;
margin: 88rpx 0;
}
.logout {
width: 396rpx;
height: 72rpx;
background: #FFFFFF;
border-radius: 8rpx;
border: 2rpx solid #E8E9EC;
font-size: 28rpx;
color: #ADADAD;
text-align: center;
line-height: 72rpx;
margin-bottom: 30rpx;
}
</style>

30
pages/userCenter/scanCode/scanCode.vue

@ -0,0 +1,30 @@
<template>
<view class="pageBgImg">
<topNavbar title="个人二维码"></topNavbar>
<view class="pad">
<view class="card">
<view class="qcode">
</view>
</view>
<view class="card">
<user-info/>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.qcode {
width: 100%;
height: 600rpx;
}
.card {
padding: 28rpx;
margin-bottom: 24rpx;
}
</style>

31
pages/userCenter/studentComment/studentComment.vue

@ -0,0 +1,31 @@
<template>
<view class="pageBgImg">
<topNavbar title="学员评价"></topNavbar>
<view class="pad">
<view class="searchBox">
<searchRow placeholder="搜索学员姓名"></searchRow>
</view>
<view class="tabs">
<view class="tab">全部10</view>
<view class="tab">匿名1</view>
<view class="tab">有图2</view>
<view class="tab">有视频6</view>
</view>
<view class="list">
<view class="card">
<commentItem/>
</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.card {
padding: 28rpx;
margin-bottom: 20rpx;
}
</style>

BIN
static/images/coach/avatar.png

After

Width: 144  |  Height: 144  |  Size: 12 KiB

BIN
static/images/coach/ic_changdi.png

After

Width: 72  |  Height: 72  |  Size: 2.8 KiB

BIN
static/images/coach/ic_cheliang.png

After

Width: 72  |  Height: 72  |  Size: 2.3 KiB

BIN
static/images/coach/ic_daijiesuan.png

After

Width: 72  |  Height: 72  |  Size: 2.5 KiB

BIN
static/images/coach/ic_erweima.png

After

Width: 76  |  Height: 76  |  Size: 2.9 KiB

BIN
static/images/coach/ic_gengduo.png

After

Width: 40  |  Height: 40  |  Size: 902 B

BIN
static/images/coach/ic_pingjia.png

After

Width: 72  |  Height: 72  |  Size: 2.7 KiB

BIN
static/images/coach/ic_shicao_nor.png

After

Width: 56  |  Height: 56  |  Size: 2.8 KiB

BIN
static/images/coach/ic_shuju.png

After

Width: 72  |  Height: 72  |  Size: 2.5 KiB

BIN
static/images/coach/ic_tuikuan.png

After

Width: 72  |  Height: 72  |  Size: 2.7 KiB

BIN
static/images/coach/ic_zhibiao.png

After

Width: 72  |  Height: 72  |  Size: 2.8 KiB

BIN
static/images/index/ic_jiaxiao_cli.png

After

Width: 28  |  Height: 28  |  Size: 901 B

Loading…
Cancel
Save