unknown 4 months ago
parent
commit
c5884c8a1c
  1. 45
      common/css/app.scss
  2. 22
      components/commentItem/commentItem.vue
  3. 29
      components/pozCard/pozCard.vue
  4. 15
      components/searchRow/searchRow.vue
  5. 6
      components/topNavbar/topNavbar.vue
  6. 2
      config/utils.js
  7. 19
      pages.json
  8. 37
      pages/indexEntry/enroll/enroll.vue
  9. 87
      pages/indexEntry/enroll/payment/payment.vue
  10. 34
      pages/indexEntry/enroll/paymentSuccess/paymentSuccess.vue
  11. 101
      pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue
  12. 61
      pages/indexEntry/enroll/registInfo/registInfo.vue
  13. 26
      pages/indexEntry/findShcool/coachComment/coachComment.vue
  14. 103
      pages/indexEntry/findShcool/coachComment/coachInfo.vue
  15. 11
      pages/indexEntry/findShcool/comments/comments.vue
  16. 84
      pages/indexEntry/findShcool/findShcool.vue
  17. 298
      pages/indexEntry/findShcool/searchShcool/searchShcool.vue
  18. 56
      pages/indexEntry/findShcool/shcoolDetail/comp/tab1.vue
  19. 6
      pages/indexEntry/findShcool/shcoolDetail/comp/tab2.vue
  20. 5
      pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue
  21. 4
      pages/indexEntry/findShcool/shcoolDetail/comp/tab4.vue
  22. 87
      pages/indexEntry/findShcool/shcoolDetail/shcoolDetail.vue
  23. 35
      pages/tabbar/index/comp/schoolItem.vue
  24. 20
      pages/tabbar/index/index.vue
  25. BIN
      static/images/bigImg/topBg.png
  26. BIN
      static/images/carIcon/isSelect.png
  27. BIN
      static/images/carIcon/noSelect.png
  28. BIN
      static/images/carIcon/paySuccess.png
  29. BIN
      static/images/carIcon/sanIcon.png
  30. BIN
      static/images/carIcon/screeIcon.png
  31. BIN
      static/images/carIcon/wxIcon.png
  32. BIN
      static/images/carIcon/xfbIcon.png
  33. BIN
      static/images/icon/daohuang.png
  34. BIN
      static/images/indexIcon/形状 101.png
  35. BIN
      static/images/indexIcon/矩形 14(1).png
  36. BIN
      static/images/indexIcon/矩形 14.png
  37. BIN
      static/images/indexIcon/矩形 24.png
  38. 2
      uni.scss
  39. 2
      uni_modules/uview-ui/components/u-search/u-search.vue

45
common/css/app.scss

@ -34,7 +34,7 @@ view {
align-items: center;
}
.pageBg {
background: #F6F6F6;
background: #F6F7FA;
color: #333;
font-size: 28rpx;
min-height: 100vh;
@ -42,10 +42,22 @@ view {
.pageBgImg {
font-size: 28rpx;;
color: #333;
background: url('https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/defaultImages/app/bigImg/topbg.png') #F6F6F6 no-repeat;
background-size: 100% 362rpx;
background: url('https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/complain/2024-01-29/1706500065446-0') #F6F7FA no-repeat;
background-size: 100% 278rpx;
min-height: 100vh;
}
.topBg{
background: url('https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/complain/2024-01-29/1706500065446-0') #F6F7FA no-repeat;
background-size: 100% ;
}
.h1 {
.active {
&::before {
background: url('https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/complain/2024-01-29/1706510133553-0') #F6F7FA no-repeat;
background-size: 100% 100%;
}
}
}
.pad {
padding: 0 28rpx;
}
@ -67,10 +79,13 @@ image {
color: #fff !important;
}
.starBox {
display: flex;
width: 58rpx;
height: 32rpx;
line-height: 32rpx;
background: #0A52F4;
font-size: 24rpx;
text-align: center;
color: #fff;
border-radius: 16px 0px 16px 16rpx;
}
@ -104,25 +119,35 @@ image {
}
.btnBg {
height: 72rpx;
height: 100%;
background: #1989FA;
border-radius: 8rpx;
line-height: 72rpx;
border-radius: 20rpx;
line-height: 88rpx;
text-align: center;
font-size: 28rpx;
color: #fff;
}
.btnBorder {
height: 72rpx;
height: 88rpx;
background: #DFEAF5;
border-radius: 8rpx;
line-height: 72rpx;
border-radius: 20rpx;
line-height: 88rpx;
text-align: center;
font-size: 28rpx;
color:$themC;
border: 2rpx solid #1989FA;
}
.footerBtn {
position: fixed;
left: 0;
width: 100%;
bottom: 30rpx;
.btnBg {
width: 100%;
text-align: center;
}
}
/* 通用 */
::-webkit-input-placeholder { color:#ADADAD; }

22
components/commentItem/commentItem.vue

@ -4,9 +4,9 @@
<view class="name">{{ item.studentName}}</view>
<view class="date">{{ $u.date(item.createTime ,'yyyy/mm/dd' ) }}</view>
</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="item.stars" :count="5" :readonly="true" allowHalf></u-rate>
<view class="num">{{ item.stars }}</view>
<view class="star_row">
<u-rate active-color="#FCAC00" inactive-color="#FCAC00" gutter="1" :size="16" :value="item.stars" :count="5" :readonly="true" allowHalf></u-rate>
<view class="num">{{ item.stars }}</view>
</view>
<view class="text">{{ item.description }}</view>
<view class="imgBox" v-if="item.images&&item.images.length">
@ -25,6 +25,10 @@
</script>
<style lang="scss" scoped>
.box {
border-bottom: 1px solid #f4f4f4;
padding: 24rpx 0 24rpx 0;
}
.flex-b {
align-items: center;
.name {
@ -47,10 +51,16 @@
display: block;
}
}
.starBox {
padding: 10rpx 0 24rpx 0;
.star_row {
display: flex;
align-items: center;
margin: 10rpx 0;
.num {
font-size: 24rpx;
font-weight: 700;
}
}
.text {
font-size: 24rpx;
}

29
components/pozCard/pozCard.vue

@ -2,14 +2,11 @@
<view class="card">
<view class="flex-b" @click="openMap">
<view class="left_text">
<view class="adr ">{{ info.address}}</view>
<view class="distance" v-if="info.distance">距您{{ $u.utils.distanceFn(info.distance) }}</view>
<view class="adr ">{{ info.schoolName}}</view>
<view class="distance">{{ info.address }}</view>
</view>
<view class="mapEntry">
<view class="icon">
<image src="@/static/images/index/mapIcon.png" mode=""></image>
</view>
<view class="text">地图导航</view>
<image src="@/static/images/icon/daohuang.png" mode=""></image>
</view>
</view>
</view>
@ -46,27 +43,15 @@
}
.distance {
margin-top: 24rpx;
color: #686B73;
margin-top: 18rpx;
color: #999;
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;
}
width: 55rpx;
height: 55rpx;
}
}
}

15
components/searchRow/searchRow.vue

@ -6,7 +6,8 @@
</view>
<view class="inputBox">
<u-search :placeholder="placeholder" v-model="keyword" :color="'#333'" :disabled="disable" placeholderColor="#CCCCCC" style="pointer-events: none;" :bgColor="'transparent'" @change="$u.debounce(searchFn, 1500)" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="clearSearchFn"></u-search>
<view class="isDisable" v-if="disable" @click="searchFn">{{ placeholder }}</view>
<u-search v-else :placeholder="placeholder" v-model="keyword" :color="'#333'" placeholderColor="#CCCCCC" :disabled="disable" @click="searchFn" :bgColor="'transparent'" @change="$u.debounce(searchFn, 1500)" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="clearSearchFn"></u-search>
</view>
</view>
</view>
@ -26,7 +27,7 @@
},
bg: {
type: String,
default: '#ddd'
default: '#fff'
}
},
data() {
@ -75,5 +76,15 @@
line-height: 72rpx;
padding-left: 14rpx;
}
.isDisable {
height: 62rpx;
background: #FFFFFF;
border-radius: 20px;
font-size: 28rpx;
color: #ccc;
line-height: 62rpx;
padding-left: 40rpx;
}
</style>

6
components/topNavbar/topNavbar.vue

@ -1,11 +1,13 @@
<template>
<view class="topNavbar">
<u-navbar
:leftText="title"
:title="title"
:autoBack="true"
:bgColor="bgColor"
:leftIconColor="leftIconColor"
:fixed="false"
:safeAreaInsetTop="true"
:titleStyle ="{color:'#fff'}"
>
</u-navbar>
</view>
@ -25,6 +27,6 @@
<style lang="scss" scoped>
.topNavbar {
padding-bottom: 20rpx;
padding-bottom: 10rpx;
}
</style>

2
config/utils.js

@ -118,7 +118,7 @@ export function uploadImgApi(filePath, imgName) {
},
header: {
Authorization: token,
'tenant-id': '1704459882232553474'
// 'tenant-id': '1704459882232553474'
},
success(res) {
console.log('上传成功')

19
pages.json

@ -91,8 +91,7 @@
{
"path": "enroll/enroll",
"style": {
"navigationBarTitleText": "学员报名",
"navigationStyle": "custom",
"navigationBarTitleText": "学车报名",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
@ -137,9 +136,8 @@
{
"path": "enroll/registInfo/registInfo",
"style": {
"navigationBarTitleText": "报名信息确认",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"navigationBarTitleText": "报名学员信息",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
@ -156,9 +154,8 @@
{
"path": "enroll/payment/payment",
"style": {
"navigationBarTitleText": "报名缴费",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"navigationBarTitleText": "支付订单",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
@ -166,7 +163,6 @@
"path": "enroll/paymentSuccess/paymentSuccess",
"style": {
"navigationBarTitleText": "报名成功",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
@ -228,6 +224,7 @@
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"backgroundTextStyle": "dark" ,
"navigationBarBackgroundColor": "#FFFFFF"
}
@ -623,8 +620,8 @@
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
"navigationBarBackgroundColor": "#F6F7FA",
"backgroundColor": "#F6F7FA"
},
"uniIdRouter": {},
"tabBar": {

37
pages/indexEntry/enroll/enroll.vue

@ -1,6 +1,6 @@
<template>
<view class="pageBgImg">
<topNavbar :title="title"></topNavbar>
<view class="pageBg">
<!-- <topNavbar :title="title"></topNavbar> -->
<view class="pad">
<view class="card">
<view class="row">
@ -14,7 +14,14 @@
</view>
</view>
</view>
<view class="" v-if="form.value!=1">
<view class="row" v-if="form.value==1">
<view class="lab">实名认证</view>
<view class="rightCon">
<view class="val" v-if="vuex_userInfo.applyStep>1" style="color: #1989FA;">已认证</view>
<view class="val" v-else>待认证</view>
</view>
</view>
<view class="" v-else>
<!-- <view class="row" v-if="form.value==7">
<view class="lab">国籍</view>
<view class="rightCon">
@ -61,19 +68,12 @@
</view>
</view>
</view>
</view>
<view class="card">
<view class="row">
<view class="lab">实名认证</view>
<view class="rightCon">
<view class="val" v-if="vuex_userInfo.applyStep>1" style="color: #1989FA;">已认证</view>
<view class="val" v-else>待认证</view>
</view>
</view>
<view class="footerBtn pad">
<view class="btnBg" @click="goNext">下一步</view>
</view>
<view class="btnBg" @click="goNext">下一步</view>
</view>
<u-picker :show="showType" :columns="typeArr" keyName="label" @confirm="confirmType" @cancel="showType=false"></u-picker>
@ -304,8 +304,15 @@
}
}
}
.footerBtn {
position: fixed;
left: 0;
width: 100%;
bottom: 30rpx;
}
.btnBg {
width: 396rpx;
margin: 100rpx auto 0 auto;
width: 100%;
height: 88rpx;
text-align: center;
}
</style>

87
pages/indexEntry/enroll/payment/payment.vue

@ -1,6 +1,5 @@
<template>
<view class="pageBgImg">
<topNavbar title="支付订单"></topNavbar>
<view class="pageBg">
<view class="pad">
<view class="card">
<view class="orderInfo">
@ -8,24 +7,45 @@
<view class="price">
<text class="uint"></text>1000.13
</view>
<view class="num">交易单号65465879312</view>
<!-- <view class="num">交易单号65465879312</view> -->
</view>
<view class="li border">
<view class="lab">订单金额</view>
<view class="val"> 2000</view>
</view>
<view class="li">
<view class="lab">订单编号</view>
<view class="val">646545645646458</view>
</view>
</view>
<view class="card">
<view class="pay">
<view class="h2">选择支付方式</view>
<!-- <view class="h2">选择支付方式</view> -->
<view class="row border">
<view class="wxIcon">
<image src="@/static/images/carIcon/xfbIcon.png" mode=""></image>
</view>
<view class="text">支付宝</view>
<view class="icon">
<!-- <image src="@/static/images/index/noSelect.png.png" mode=""></image> -->
<image src="@/static/images/carIcon/isSelect.png" mode=""></image>
</view>
</view>
<view class="row">
<view class="wxIcon">
<image src="@/static/images/index/wxicon.png" mode=""></image>
<image src="@/static/images/carIcon/wxIcon.png" mode=""></image>
</view>
<view class="text">微信支付</view>
<view class="text">微信</view>
<view class="icon">
<u-icon name="arrow-right" size="14" color="#686B73" ></u-icon>
<!-- <image src="@/static/images/index/noSelect.png.png" mode=""></image> -->
<image src="@/static/images/carIcon/isSelect.png" mode=""></image>
</view>
</view>
</view>
</view>
<view class="btnBg" @click="$goPage('/pages/indexEntry/enroll/paymentSuccess/paymentSuccess')">确认支付</view>
<view class="footerBtn pad">
<view class="btnBg" @click="$goPage('/pages/indexEntry/enroll/paymentSuccess/paymentSuccess')">确认支付</view>
</view>
</view>
</view>
</template>
@ -37,22 +57,18 @@
.card {
width: 100%;
margin-bottom: 20rpx;
padding: 0 20rpx;
.orderInfo {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 306rpx;
.schoolName {
font-size: 24rpx;
color: #333;
font-size: 28rpx;
color: #ccc;
padding: 40rpx 0 20rpx 0;
}
.price {
font-size: 72rpx;
font-weight: 600;
padding: 30rpx 0 30rpx 0;
text.uint {
font-size: 44rpx;
font-weight: 600;
@ -64,9 +80,25 @@
color: #ADADAD;
}
}
.li {
display: flex;
height: 88rpx;
line-height: 88rpx;
&.border{
border-bottom: 1px solid #F6F7FA;
}
.lab {
color: #ccc;
width: 230rpx;
}
.val {
font-weight: 500;
flex: 1;
text-align: right;
}
}
}
.pay {
padding: 40rpx 48rpx;
.h2 {
font-size: 32rpx;
font-weight: 500;
@ -76,20 +108,27 @@
display: flex;
justify-content: space-between;
align-items: center;
height: 88rpx;
&.border{
border-bottom: 1px solid #F6F7FA;
}
.wxIcon {
width: 48rpx;
height: 48rpx;
width: 40rpx;
height: 40rpx;
}
.text {
margin-left: 20rpx;
flex: 1;
text-align: left;
font-size: 28rpx;
color: #333;
}
.icon {
width: 40rpx;
height: 40rpx;
}
}
}
.btnBg {
margin: 100rpx auto;
width: 396rpx;
}
</style>

34
pages/indexEntry/enroll/paymentSuccess/paymentSuccess.vue

@ -1,17 +1,15 @@
<template>
<view class="pageBgImg">
<topNavbar title="报名结果"></topNavbar>
<view class="pad">
<view class="card">
<view class="pageBg">
<view class="carc">
<view class="icon_img">
<image src="../../../../static/images/index/ic_zixun.png" mode=""></image>
<image src="@/static/images/carIcon/paySuccess.png" mode=""></image>
</view>
<view class="text">恭喜您报名成功</view>
<view class="txt">开启您的学车之旅吧</view>
</view>
</view>
<view class="footerBtn pad">
<view class="btnBg" @click="goPage">开始学车</view>
</view>
</view>
</template>
@ -28,8 +26,8 @@
</script>
<style lang="scss" scoped>
.pageBgImg {
.card {
.pageBg {
.carc {
width: 100%;
height: 392rpx;
display: flex;
@ -37,24 +35,20 @@
align-items: center;
justify-content: center;
.icon_img {
width: 96rpx;
height: 96rpx;
width: 110rpx;
height: 110rpx;
}
.text {
font-size: 36rpx;
font-size: 32rpx;
color: #373A43;
font-weight: 500;
margin: 32rpx 0 22rpx 0;
font-weight: 700;
margin: 30rpx 0 20rpx 0;
}
.txt {
font-size: 28rpx;
color: #696B72;
font-size: 24rpx;
color: #ccc;
font-weight: 400;
}
}
.btnBg {
margin: 80rpx auto;
width: 369rpx;
}
}
</style>

101
pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue

@ -1,47 +1,50 @@
<template>
<view class="box">
<view class="h3">再次确认报名信息</view>
<view class="li">
<view class="lab">选择驾校</view>
<view class="val">{{ info.school}}</view>
</view>
<view class="li">
<view class="lab">选择车型</view>
<view class="val">{{info.trainType}}</view>
</view>
<view class="li">
<view class="lab">选择班型</view>
<view class="val">{{info.classModel}}</view>
</view>
<view class="li">
<view class="lab">选择教练</view>
<view class="val">{{info.coach}}</view>
</view>
<view class="li">
<view class="lab">业务类型</view>
<view class="val">{{ info.businessType?'增领':'初领'}}</view>
</view>
<view class="li">
<view class="lab">是否异地转入</view>
<view class="val">暂时没对接</view>
</view>
<view class="li">
<view class="lab">合计</view>
<view class="val">{{ $u.utils.priceTo(info.totalAmount) }}</view>
</view>
<view class="li">
<view class="lab">支付形式</view>
<view class="val">{{ info.payType==1?'全款':'预付款'}}</view>
</view>
<view class="li">
<view class="lab">待支付金额</view>
<view class="val">xxx</view>
<view class="">
<view class="box">
<view class="h3">再次确认报名信息</view>
<view class="li">
<view class="lab">选择驾校</view>
<view class="val">{{ info.school}}</view>
</view>
<view class="li">
<view class="lab">选择车型</view>
<view class="val">{{info.trainType}}</view>
</view>
<view class="li">
<view class="lab">选择班型</view>
<view class="val">{{info.classModel}}</view>
</view>
<view class="li">
<view class="lab">选择教练</view>
<view class="val">{{info.coach}}</view>
</view>
<view class="li">
<view class="lab">业务类型</view>
<view class="val">{{ info.businessType?'增领':'初领'}}</view>
</view>
<view class="li">
<view class="lab">是否异地转入</view>
<view class="val">暂时没对接</view>
</view>
<view class="li">
<view class="lab">合计</view>
<view class="val">{{ $u.utils.priceTo(info.totalAmount) }}</view>
</view>
<view class="li">
<view class="lab">支付形式</view>
<view class="val">{{ info.payType==1?'全款':'预付款'}}</view>
</view>
<view class="li">
<view class="lab">待支付金额</view>
<view class="val">xxx</view>
</view>
</view>
<view class="btn_row">
<view class="btnBorder btn" @click="comfigClick(0)">返回修改</view>
<view class="btnBg btn" @click="comfigClick(1)">确认</view>
<view class="btn" @click="comfigClick(0)">返回修改</view>
<view class="btn" @click="comfigClick(1)">确认</view>
</view>
</view>
</template>
<script>
@ -57,19 +60,22 @@
<style lang="scss" scoped>
.box {
padding: 34rpx 32rpx 46rpx 50rpx;
padding: 34rpx 32rpx 0rpx 50rpx;
font-size: 28rpx;
width: 638rpx;
.li {
display: flex;
padding: 22rpx 0;
border-bottom: 1px solid #F6F7FA;
.lab {
color: #686B73;
color: #ccc;
width: 230rpx;
}
.val {
font-weight: 500;
flex: 1;
text-align: right;
}
}
}
@ -85,11 +91,18 @@
.btn_row {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 80rpx;
width: 100%;
height: 88rpx;
.btn {
width: 48%;
flex: 1;
text-align: center;
color: $themC;
font-size: 28rpx;
line-height: 88rpx;
&:first-child {
border-right: 1rpx solid #F6F7FA;
}
}
}
</style>

61
pages/indexEntry/enroll/registInfo/registInfo.vue

@ -1,17 +1,17 @@
<template>
<view class="pageBgImg">
<topNavbar title="报名信息确认"></topNavbar>
<view class="pageBg">
<!-- <topNavbar title="报名信息确认"></topNavbar> -->
<view class="pad">
<!-- #ifndef H5 -->
<view class="card">
<view class="row">
<view class="lab">扫描教练二维码</view>
<view class="rightCon">
<view class="scan" @click="scanCodeFn">扫一扫</view>
<view class="scan" @click="scanCodeFn">
<image src="@/static/images/carIcon/sanIcon.png"></image>
</view>
</view>
</view>
</view>
<!-- #endif -->
<view class="card">
<view class="row" >
@ -201,37 +201,6 @@
<view class="card">
<view class="row">
<view class="lab">支付形式</view>
<view class="rightCon">
<u-radio-group
v-model="form.radiovalue3"
>
<u-radio
:customStyle="{marginRight: '24rpx'}"
v-for="(item, index) in radiolist3"
:key="index"
:label="item.name"
:name="item.name"
>
</u-radio>
</u-radio-group>
</view>
</view>
</view>
<view class="card">
<view class="row">
<view class="lab">优惠券</view>
<view class="rightCon">
<view class="row">
<view class="val red">-1000</view>
</view>
</view>
</view>
</view>
<view class="card">
<view class="row">
<view class="lab">待支付金额</view>
<view class="rightCon">
<view class="row">
@ -609,13 +578,13 @@
padding: 10rpx 40rpx 10rpx 32rpx;
margin-bottom: 20rpx;
.row {
height: 100rpx;
height: 88rpx;
display: flex;
align-items: center;
width: 100%;
.lab {
width: 152rpx;
line-height: 100rpx;
line-height: 88rpx;
white-space: nowrap;
&.long {
width: 230rpx;
@ -623,15 +592,13 @@
}
.scan {
margin-left: auto;
width: 130rpx;
height: 60rpx;
background: rgba(25,137,250,0.1);
border-radius: 8rpx;
border: 2rpx solid #1989FA;
background: #E8F3FE;
text-align: center;
line-height: 60rpx;
color: $themC;
width: 40rpx;
height: 38rpx;
image {
display: block;
width: 100%;
height: 100%;
}
}
.rightCon {
flex: 1;

26
pages/indexEntry/findShcool/coachComment/coachComment.vue

@ -1,19 +1,25 @@
<template>
<view class="pageBg">
<view class="infoBox pad">
<info :showSign="true" :coachList="coachList"></info>
<info :showSign="true" :item="info"></info>
</view>
<comments :list="list" @changeNav="changeNav"></comments>
<view style="padding-bottom: 20rpx;" v-if="list.length">
<u-loadmore :status="status" />
<view class="pad">
<view class="card" style="margin: 20rpx 0;">
<view class="h1"><text class="active">教练评价</text></view>
<comments :list="list" @changeNav="changeNav"></comments>
<view style="padding-bottom: 20rpx;" v-if="list.length">
<u-loadmore :status="status" />
</view>
<nodata v-if="!list.length&&status=='nomore'"></nodata>
</view>
</view>
<nodata v-if="!list.length&&status=='nomore'"></nodata>
</view>
</template>
<script>
import comments from '../comments/comments.vue'
import info from '../shcoolDetail/comp/tab3.vue'
import info from './coachInfo.vue'
import { getListCoachComment } from '@/config/api.js'
export default {
components: { comments, info},
@ -33,10 +39,9 @@
},
onLoad(options) {
if(!options.item) return
let coachInfo = JSON.parse(decodeURIComponent(options.item))
console.log(coachInfo)
this.coachList = [coachInfo]
this.params.coachId = coachInfo.coachId
this.info = JSON.parse(decodeURIComponent(options.item))
console.log(this.info)
this.params.coachId = this.info.coachId
this.getListCoachCommentFn()
},
methods: {
@ -68,6 +73,7 @@
</script>
<style lang="scss" scoped>
.infoBox {
background: #F6F6F6;
overflow: hidden;

103
pages/indexEntry/findShcool/coachComment/coachInfo.vue

@ -0,0 +1,103 @@
<template>
<view class="card">
<view class="avatar">
<image :src="item.photoPath" mode="" v-if="isImagePath(item.photoPath)"></image>
<image src="@/static/images/index/avatar.png" mode="" v-else></image>
</view>
<view class="info">
<view class="name">{{ item.name}}</view>
<view class="star_row">
<u-rate active-color="#FCAC00" inactive-color="#FCAC00" gutter="1" :size="16" :value="item.stars" :count="5" :readonly="true" allowHalf></u-rate>
<view class="num">{{ item.stars }}</view>
</view>
<view class="flex-b">
<view class="carType">准教车型{{ item.teachCarType }}</view>
<view class="btn" @click="goSign">报名</view>
</view>
<view class="schoolName">{{ item.schoolName }}</view>
</view>
</view>
</template>
<script>
export default {
props: ['item'],
methods: {
isImagePath(path) {
//
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|svg)$/i;
// 使
return imageExtensions.test(path);
},
async goSign(item) {
this.$store.commit('upDateSchoolCoach', {})
this.$store.commit('upDateSchoolClass', item)
this.$u.utils.clickSignUp()
}
},
}
</script>
<style lang="scss" scoped>
.card {
padding: 20rpx;
display: flex;
.avatar {
width: 134rpx;
height: 134rpx;
border-radius: 50%;
}
.info {
flex: 1;
padding: 0 20rpx;
.name {
font-size: 28rpx;
color: #333;
font-weight: 700;
}
.star_row {
display: flex;
align-items: center;
margin: 10rpx 0;
.num {
font-size: 24rpx;
font-weight: 700;
}
}
.carType {
padding: 0 20rpx;
height: 46rpx;
background: rgba(80,165,255,0.1);
border: 1px solid #50A5FF;
border-radius: 10rpx;
line-height: 46rpx;
color: $themC;
font-size: 24rpx;
display: inline-block;
}
.schoolName {
font-size: 24rpx;
color: #999;
margin-top: 20rpx;
}
}
.btn {
width: 112rpx;
height: 55rpx;
background: $themC;
border-radius: 28rpx;
line-height: 55rpx;
text-align: center;
color: #fff;
font-size: 24rpx;
margin-top: -20rpx;
}
}
</style>

11
pages/indexEntry/findShcool/comments/comments.vue

@ -44,13 +44,12 @@
display: flex;
z-index: 9;
.nav {
padding: 10rpx 24rpx;
height: 60rpx;
background: rgba(25,137,250,0.1);
padding: 6rpx 24rpx;
height: 50rpx;
background: #F6F7FA;
border-radius: 8rpx;
border: 2rpx solid #1989FA;
font-size: 28rpx;
color: $themC;
color: #999;
margin-right: 20rpx;
text-align: center;
&.active {
@ -62,8 +61,6 @@
.card {
width: 100%;
padding: 24rpx 28rpx;
margin-bottom: 20rpx;
}
}
</style>

84
pages/indexEntry/findShcool/findShcool.vue

@ -1,17 +1,20 @@
<template>
<view class="pageBgImg">
<topNavbar title="找驾校"></topNavbar>
<view class="pad">
<view class="searchCon">
<searchRow placeholder="搜索驾校名称" @searchFn="searchFn"></searchRow>
<view class="pageBg">
<view class="topBg">
<topNavbar title="找驾校"></topNavbar>
<view class="searchCon pad">
<searchRow placeholder="搜索驾校名称" @searchFn="$goPage('/pages/indexEntry/findShcool/searchShcool/searchShcool')" :disable="true"></searchRow>
</view>
</view>
<view class="pad">
<view class="navBox">
<view class="tab" v-for="(item,index) in tabData" :key="index" :class="{active: params.sercheType==item.id}" @click="tabClick(item)">
<view class="tab" v-for="(item,index) in tabData" :key="index" :class="{active: (params.sercheType==item.id&&!(params.businessScope||params.district))}" @click="tabClick(item)">
{{ item.text }}</view>
<view class="screen" @click="goScreen">
<view class="txt"><text v-if="params.businessScope||params.district"></text> 筛选</view>
<view class="screen" @click="goScreen" :class="{active: (params.businessScope||params.district)}">
<view class="txt">筛选</view>
<view class="screenIcon">
<image src="../../../static/images/index/ic_shaixuan.png" mode=""></image>
<image src="@/static/images/carIcon/screeIcon.png" mode=""></image>
</view>
</view>
</view>
@ -30,7 +33,7 @@
</template>
<script>
import schoolItme from './comp/schoolItem.vue'
import schoolItme from '@/pages/tabbar/index/comp/schoolItem.vue'
import { schoolPage } from '@/config/api.js'
export default {
components: { schoolItme },
@ -105,6 +108,8 @@
},
tabClick(item) {
this.params.sercheType = item.id
this.params.businessScope = ''
this.params.district = ''
this.listInit()
},
async listInit() {
@ -133,37 +138,24 @@
</script>
<style lang="scss" scoped>
.pageBgImg {
.pageBg {
width: 100%;
min-height: 100vh;
background-size: 100% 392rpx;
.searchCon {
padding: 0 0 14rpx 0;
}
.navBox {
display: flex;
justify-content: space-between;
padding-bottom: 30rpx;
padding: 20rpx 0;
.tab {
display: flex;
font-size: 28rpx;
color: #fff;
height: 80rpx;
line-height: 80rpx;
color: #999;
line-height: 50rpx;
border-radius: 10rpx;
background: #fff;
text-align: center;
height: 50rpx;
width: 126rpx;
&.active {
position: relative;
&::before {
content: '';
position: absolute;
bottom: 6rpx;
left: 50%;
transform: translateX(-50%);
width: 50rpx;
height: 4rpx;
background-color: #fff;
border-radius: 0 0 2rpx 2rpx;
}
background: $themC;
color: #fff;
}
}
@ -174,26 +166,21 @@
justify-content: center;
align-items: center;
position: relative;
&::before {
content: '';
position: absolute;
left: 0;
top: 50%;
width: 1px;
background: #fff;
height: 26rpx;
transform: translateY(-50%);
background: #fff;
color: #999;
border-radius: 10rpx;
&.active {
background: $themC;
color: #fff;
}
.txt {
font-size: 28rpx;
color: #fff;
margin-right: 10rpx;
}
.screenIcon {
width: 32rpx;
height: 32rpx;
width: 18rpx;
height: 12rpx;
}
}
}
@ -206,4 +193,7 @@
}
}
}
.topBg {
padding-bottom: 20rpx;
}
</style>

298
pages/indexEntry/findShcool/searchShcool/searchShcool.vue

@ -1,201 +1,163 @@
<template>
<view class="pageBg ">
<view class="pad">
<!-- 搜索框 -->
<view class="searchBg">
<view class="flex">
<view class="searchIcon">
<image src="@/static/images/index/searchIconHui.png" mode=""></image>
</view>
<view class="inputBox">
<u--input placeholder="搜索驾校、教练…" border="none" clearable v-model="keywords" :color="'#333'"
placeholderClass="placeholderClass"></u--input>
</view>
<view class="searchBtn">搜索</view>
</view>
</view>
<!-- 历史搜索 -->
<view class="" v-if="!keywords">
<view class="historyRecord">
<view class="h2_row">
<view class="h2">历史搜索</view>
<view class="deleteIcon">
<image src="@/static/images/index/deleteIcon.png" mode=""></image>
</view>
</view>
<view class="tag_row">
<view class="tag" v-for="(item,index) in tagArr" :key="index">{{item}}</view>
</view>
</view>
<view class="tabs">
<view class="tab" :class="{active: currentTab==1}" @click="changeTab(1)">优选驾校</view>
<view class="tab" :class="{active: currentTab==2}" @click="changeTab(2)">优选教练</view>
</view>
<view class="ul">
<view class="li">
<view class="num">1</view>
<view class="con">
<schoolItme v-show="currentTab==1" :showPhone="false" :item="{}"/>
<!-- <coachItem v-show="currentTab==2" :item="{}"/> -->
</view>
</view>
</view>
</view>
<view class="pageBg">
<view class="topBg">
<topNavbar title="找驾校"></topNavbar>
<!-- 真正搜索内容 -->
<view class="" v-else>
<view class="tabs">
<view class="tab" :class="{active: currentTab==1}" @click="changeTab(1)">驾校(2)</view>
<view class="tab" :class="{active: currentTab==2}" @click="changeTab(2)">教练(30)</view>
<view class="searchCon pad">
<searchRow placeholder="搜索驾校名称" @searchFn="searchFn"></searchRow>
</view>
</view>
<view class="pad">
<view class="ul">
<view class="li" v-for="(item,index) in listData" :key="index" >
<schoolItme :item="item" @click.native="goPage(item)"/>
</view>
<schoolItme v-show="currentTab==1" :item="{}"/>
<!-- <coachItem v-show="currentTab==2" :item="{}"/> -->
</view>
</view>
<view style="padding-bottom: 20rpx;" v-if="listData.length">
<u-loadmore :status="status" />
</view>
<nodata v-if="!listData.length&&status=='nomore'"></nodata>
</view>
</template>
<script>
import schoolItme from '../comp/schoolItem.vue'
import coachItem from '../shcoolDetail/comp/tab3.vue'
import schoolItme from '@/pages/tabbar/index/comp/schoolItem.vue'
import { schoolPage } from '@/config/api.js'
export default {
props: ['placeholder'],
components: { schoolItme, coachItem },
components: { schoolItme },
data() {
return {
keywords: '',
tagArr: ['翔力驾校','王一宝', '大乔'],
currentTab: 1,
currentTab: 0,
params: {
pageNo: 1,
pageSize: 20,
lat: '',
lng: '',
sercheType: 1,
name: ''
},
total: 20,
listData: [],
status: 'loading'
}
},
onLoad() {
let vuex_cityInfo = this.$store.state.user.vuex_cityInfo
if(!vuex_cityInfo.lat) {
this.$store.dispatch('getCity')
}else {
this.params.lat = vuex_cityInfo.lat
this.params.lng = vuex_cityInfo.lng
}
},
onPullDownRefresh() {
// this.listInit()
},
onReachBottom() {
if(this.total>this.listData.length) {
this.schoolPageFn()
}
},
methods: {
changeTab(num) {
this.currentTab = num
searchFn(val) {
if(!val) {
this.listData = []
return
}
this.params.name = val
this.listInit()
},
goPage(item) {
this.$goPage('/pages/indexEntry/findShcool/shcoolDetail/shcoolDetail?schoolId='+ item.id)
},
async listInit() {
this.listData = []
this.params.pageNo = 1
await this.schoolPageFn()
uni.stopPullDownRefresh()
},
//
async schoolPageFn() {
let obj = {}
for(let key in this.params) {
if(this.params[key]) {
obj[key] = this.params[key]
}
}
const {data: res} = await schoolPage(obj)
this.params.pageNo ++
this.listData.push(...res.list)
this.total = res.total
if(this.listData.length>=this.total) this.status = 'nomore'
console.log(res)
}
}
}
</script>
<style lang="scss" scoped>
.pad {
padding-top: 10rpx;
}
.searchBg {
background: #fff;
.pageBg {
width: 100%;
height: 72rpx;
border-radius: 16rpx;
line-height: 72rpx;
margin-top: 10rpx;
.flex {
height: 100%;
.searchIcon {
width: 40rpx;
height: 40rpx;
margin: 0 28rpx;
}
.inputBox {
flex: 1;
color: #fff;
.navBox {
display: flex;
justify-content: space-between;
padding: 20rpx 0;
.tab {
font-size: 28rpx;
color: #999;
line-height: 50rpx;
border-radius: 10rpx;
background: #fff;
text-align: center;
height: 50rpx;
width: 126rpx;
&.active {
background: $themC;
color: #fff;
}
}
}
.searchBtn {
width: 120rpx;
font-size: 28rpx;
color: $themC;
text-align: center;
position: relative;
&::before {
content: '';
width: 2rpx;
height: 24rpx;
position: absolute;
left: 0;
top: 50%;
background: #E8E9EC;
transform: translateY(-50%);
}
}
}
.placeholderClass {
color: #ADADAD !important;
}
.h2_row {
display: flex;
justify-content: space-between;
line-height: 116rpx;
.h2 {
font-size: 28rpx;
font-weight: 600;
}
}
.tag_row {
display: flex;
flex-wrap: wrap;
.tag {
padding: 8rpx 16rpx;
background: #FFFFFF;
border-radius: 28rpx;
min-width: 112rpx;
text-align: center;
color: #686B73;
margin: 0 40rpx 20rpx 0;
}
}
.tabs {
display: flex;
padding: 30rpx 0 50rpx 0;
margin-left: 20rpx;
.tab {
font-size: 28rpx;
color: #333;
margin-right: 68rpx;
&.active {
color: $themC;
.screen {
width: 150rpx;
display: flex;
justify-content: center;
align-items: center;
position: relative;
font-weight: 600;
&::before {
position: absolute;
content: '';
background: #fff;
color: #999;
border-radius: 10rpx;
&.active {
background: $themC;
bottom: -20rpx;
left: 50%;
transform: translateX(-50%);
width: 112rpx;
height: 4rpx;
color: #fff;
}
.txt {
font-size: 28rpx;
margin-right: 10rpx;
}
.screenIcon {
width: 18rpx;
height: 12rpx;
}
}
}
}
.li {
display: flex;
align-items: center;
.num {
width: 56rpx;
height: 36rpx;
border-radius: 4rpx;
text-align: center;
background: #ADADAD;
font-size: 28rpx;
color: #fff;
margin-right: 28rpx;
&:nth-child(1) {
background: #FF6B6D;
}
&:nth-child(2) {
background: #F18840;
}
&:nth-child(3) {
background: #FFB83E;
.ul {
width: 100%;
padding-top: 20rpx;
.li {
}
}
.con {
flex: 1;
width: 0;
}
}
.topBg {
padding-bottom: 20rpx;
}
</style>

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

@ -2,9 +2,11 @@
<view class="tabCon">
<view class="tab1">
<view class="card" v-for="(item, index) in classList" :key="index">
<view class="name">{{ item.name }}</view>
<view class="flex-b">
<view class="price">{{ $u.utils.priceTo(item.totalAmount) }}</view>
<view class="left_con">
<view class="name">{{ item.name }}</view>
<view class="price"><text></text> {{ $u.utils.priceTo(item.totalAmount) }}</view>
</view>
<view class="btn" @click="goSign(item)">报名</view>
</view>
</view>
@ -28,33 +30,41 @@
<style lang="scss" scoped>
.tabCon {
width: 100%;
padding: 0 20rpx 1rpx 20rpx;
.tab1 {
width: 100%;
.card {
margin-top: 24rpx;
padding: 28rpx 28rpx 28rpx 36rpx;
height: 143rpx;
background: #F6F7FA;
border: 1px solid #F6F7FA;
border-radius: 20rpx;
padding: 20rpx;
margin-bottom: 20rpx;
.name {
font-size: 32rpx;
font-size: 28rpx;
color: #333;
margin-bottom: 36rpx;
margin-bottom: 20rpx;
font-weight: 700;
}
.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;
}
.price {
font-size: 36rpx;
color: $themC;
font-weight: 700;
text {
font-size: 24rpx;
font-weight: 400;
}
}
.btn {
width: 112rpx;
height: 55rpx;
background: $themC;
border-radius: 28rpx;
font-size: 24rpx;
color: #fff;
text-align: center;
line-height: 55rpx;
}
}
}

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

@ -30,8 +30,8 @@
.tab1 {
width: 100%;
.card {
margin-top: 24rpx;
padding: 28rpx 28rpx 28rpx 36rpx;
border-bottom: 1rpx solid #F4F4F4;
.name {
font-size: 32rpx;
color: #333;
@ -39,14 +39,14 @@
}
.adr {
font-size: 24rpx;
color: #333;
color: #999;
margin-bottom: 10rpx;
}
.flex-b {
.distance {
font-size: 24rpx;
color: #686B73;
color: #666;
}
.btn {

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

@ -13,8 +13,7 @@
</view>
<view class="flex-b">
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="item.stars" disabled style="pointer-events: none;"></u-rate>
<view class="num">{{item.stars || 0}}</view>
{{item.stars || 0}}
</view>
<view class="btn" v-if="showSign" @click="goPageSign(item)">报名</view>
<view class="more" v-else @click="goPageDetail(item)">
@ -71,7 +70,7 @@
display: flex;
align-items: center;
padding: 36rpx;
margin-top: 20rpx;
border-bottom: 1rpx solid #f4f4f4;
.avatar {
width: 100rpx;
height: 98rpx;

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

@ -21,14 +21,14 @@
.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;
padding: 24rpx;
border-bottom: 1rpx solid #f4f4f4;
.leftTxt {
font-size: 32rpx;
color: $themC;

87
pages/indexEntry/findShcool/shcoolDetail/shcoolDetail.vue

@ -2,7 +2,7 @@
<view class="main pageBg">
<view class="swiper-box" >
<view class="navPoz">
<topNavbar title=" "></topNavbar>
<topNavbar title="驾校详情"></topNavbar>
</view>
<u-swiper :list="swiperList" :height="261"></u-swiper>
<view class="radian">
@ -12,44 +12,31 @@
<view class="pad traTop">
<!-- 驾校信息 -->
<view class="card " v-if="Object.keys(schoolDetail).length">
<view class="flex">
<view class="schoolLogo">
<image :src="schoolDetail.schoolIntroduceDO.iconPath" mode="" v-if="schoolDetail.schoolIntroduceDO"></image>
</view>
<view class="textCon">
<view class="name">{{schoolDetail.shortName}}</view>
<view class="starBox">
<u-rate active-color="#1989FA" inactive-color="#1989FA" gutter="1" :size="16" :value="schoolDetail.stars" :readonly="true"></u-rate>
<view class="num">{{schoolDetail.stars}}</view>
</view>
<view class="evaluate" @click="$goPage('/pages/indexEntry/findShcool/shcoolComment/shcoolComment?id='+ schoolId)">
<view class="txt">{{schoolDetail.reviewTotal}}条评价</view>
<u-icon name="arrow-right" color="#363A44" size="14"></u-icon>
</view>
</view>
<callPhone :servicePhone="[{name: schoolDetail.phone}]">
<view class="pozPhone">
<image src="@/static/images/index/telephone.png" mode=""></image>
</view>
</callPhone>
<schoolItme :item="schoolDetail"/>
<view class="introduce" v-if=" schoolDetail.schoolIntroduceDO">
<u-read-more :showHeight="64" :toggle="true">
<rich-text :nodes="schoolDetail.schoolIntroduceDO.introduce"></rich-text>
</u-read-more>
</view>
</view>
<!-- 驾校位置 -->
<view class="shoolPoz">
<view class="h1">驾校位置</view>
<pozCard :info="{address: schoolDetail.address,distance: schoolDetail.distance, lat: schoolDetail.lat, lng: schoolDetail.lng}"></pozCard>
<view class="shoolPoz" style="margin-top: 20rpx;">
<pozCard :info="{address: schoolDetail.address,distance: schoolDetail.distance, lat: schoolDetail.lat, lng: schoolDetail.lng, schoolName:schoolDetail.shortName}"></pozCard>
</view>
<!-- 驾校服务 -->
<view class="severCon">
<view class="h1">驾校服务</view>
<view class="severCon card">
<view class="h1"><text class="active">驾校服务</text></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>
<tab1 v-show="currentNav==1" :classList="schoolDetail.schoolClassDOList"></tab1>
<tab2 v-show="currentNav==2" :siteList="schoolDetail.trainingSiteDOS"></tab2>
<tab3 v-show="currentNav==3" :coachList="coachList" :status="tab3Status"></tab3>
<tab4 v-show="currentNav==4" :carList="schoolDetail.carDOS"></tab4>
</view>
<tab1 v-show="currentNav==1" :classList="schoolDetail.schoolClassDOList"></tab1>
<tab2 v-show="currentNav==2" :siteList="schoolDetail.trainingSiteDOS"></tab2>
<tab3 v-show="currentNav==3" :coachList="coachList" :status="tab3Status"></tab3>
<tab4 v-show="currentNav==4" :carList="schoolDetail.carDOS"></tab4>
</view>
</view>
</template>
@ -61,8 +48,9 @@
import tab4 from './comp/tab4.vue'
import { coachPage, getSchoolDetail, getListComment } from '@/config/api.js'
import { imgUrl } from '@/config/site.config'
import schoolItme from '@/pages/tabbar/index/comp/schoolItem.vue'
export default {
components: { tab1, tab2, tab3, tab4},
components: { tab1, tab2, tab3, tab4, schoolItme},
data() {
return {
swiperList: [],
@ -151,11 +139,20 @@
</script>
<style lang="scss" scoped>
.severCon {
margin-top: 20rpx;
}
.navPoz {
position: absolute;
top: 0;
z-index: 9;
left: 0;
width: 100%;
}
.introduce {
padding: 20rpx;
font-size: 28rpx;
color: #333;
}
.main {
width: 100%;
@ -179,7 +176,6 @@
z-index: 99;
}
.card {
padding: 24rpx;
.flex {
position: relative;
.schoolLogo {
@ -231,24 +227,17 @@
justify-content: space-between;
padding: 10rpx 32rpx 20rpx 32rpx;
.nav {
font-size: 28rpx;
color: #363A44;
width: 126rpx;
height: 50rpx;
background: #F6F7FA;
border-radius: 10rpx;
font-size: 24rpx;
color: #999;
text-align: center;
line-height: 50rpx;
&.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;
}
color: #fff;
background-color: $themC;;
}
}
}

35
pages/tabbar/index/comp/schoolItem.vue

@ -4,18 +4,21 @@
<image src="@/static/images/index/img_7@2x.png" mode="" ></image>
</view>
<view class="textCon">
<view class="name">翔力驾校</view>
<view class="starBox">
<view class="num">5</view>
<view class="name">{{item.shortName}}</view>
<view class="flex-b">
<view class="starBox">
<view class="num">{{item.stars}}</view>
</view>
<callPhone v-if="showPhone" :servicePhone="[{name: item.phone}]">
<view class="pozPhone">
<image src="@/static/images/indexIcon/phone.png" mode=""></image>
</view>
</callPhone>
</view>
<view class="adr"><text style="margin-right: 6rpx;">西工区</text> 距您0.6km</view>
<!-- <view class="credit">行业信用 <text v-if="item.creditrating">{{item.creditrating}}</text></view> {{ $u.utils.distanceFn(item.distance)}}-->
<view class="adr"><text style="margin-right: 6rpx;">{{item.districtName}}</text> 距您{{ $u.utils.distanceFn(item.distance)}}</view>
<!-- <view class="credit">行业信用 <text v-if="item.creditrating">{{item.creditrating}}</text></view> -->
</view>
<callPhone v-if="showPhone" :servicePhone="[{name: item.phone}]">
<view class="pozPhone">
<image src="@/static/images/indexIcon/phone.png" mode=""></image>
</view>
</callPhone>
</view>
</template>
@ -66,13 +69,7 @@
.starBox {
margin: 10rpx 0;
.num {
width: 72rpx;
color: #fff;
font-size: 24rpx;
text-align: center;
line-height: 32rpx;
}
}
.credit {
@ -87,11 +84,7 @@
}
.pozPhone {
position: absolute;
top: 42%;
right: 20rpx;
width: 55rpx;
height: 55rpx;
transform: translateY(-50%);
}
</style>

20
pages/tabbar/index/index.vue

@ -11,8 +11,8 @@
</view>
<view class="flex-b">
<!-- 搜索 -->
<view class="searchCon" @click.capture="$goPage('/pages/indexEntry/findShcool/searchShcool/searchShcool')">
<searchRow placeholder="搜索驾校、教练…" :disable="true" bg="#fff"></searchRow>
<view class="searchCon" >
<searchRow placeholder="搜索驾校名称" :disable="true" bg="#fff" @searchFn="$goPage('/pages/indexEntry/findShcool/searchShcool/searchShcool')"></searchRow>
</view>
<!-- 扫一扫 -->
<view class="scan" @click="scanCodeFn">
@ -58,7 +58,7 @@
<moreRight text="查看全部"/>
</view>
<view class="li" v-for="(item,index) in 3" :key="index">
<schoolItem/>
<schoolItem :item="{}"/>
</view>
</view>
@ -99,17 +99,17 @@
<view class="card">
<view class="h1" style="margin-top: 20rpx;"><text class="active">服务专区</text></view>
<view class="severCon">
<view class="severItem">
<view class="severItem" @click="$goPage('/pages/indexEntry/parse/parse')">
<view class="tit">学车指南</view>
<view class="tps">查看详细的学车流程</view>
<view class="tps">政府平台 一站服务</view>
<view class="go">
<view class="goTxt">GO</view>
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
</view>
</view>
<view class="severItem tow">
<view class="tit">学车指南</view>
<view class="tps">查看详细的学车流程</view>
<view class="severItem tow" @click="$goPage('/pages/indexEntry/consult/consult')">
<view class="tit">咨询投诉</view>
<view class="tps">畅达沟通 听取民声</view>
<view class="go">
<view class="goTxt">GO</view>
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
@ -380,10 +380,8 @@
padding-top: 10rpx;
.active {
&::before {
// width: 54rpx;
// height: 12rpx;
background: url('../../../static/images/icon/h1Active.png') #F6F7FA no-repeat;
background-size: 100% 100%;
background-size: 52rpx 12rpx;
}
}

BIN
static/images/bigImg/topBg.png

After

Width: 750  |  Height: 278  |  Size: 54 KiB

BIN
static/images/carIcon/isSelect.png

After

Width: 40  |  Height: 40  |  Size: 936 B

BIN
static/images/carIcon/noSelect.png

After

Width: 40  |  Height: 40  |  Size: 799 B

BIN
static/images/carIcon/paySuccess.png

After

Width: 110  |  Height: 110  |  Size: 3.8 KiB

BIN
static/images/carIcon/sanIcon.png

After

Width: 40  |  Height: 38  |  Size: 956 B

BIN
static/images/carIcon/screeIcon.png

After

Width: 17  |  Height: 12  |  Size: 358 B

BIN
static/images/carIcon/wxIcon.png

After

Width: 40  |  Height: 40  |  Size: 1018 B

BIN
static/images/carIcon/xfbIcon.png

After

Width: 40  |  Height: 40  |  Size: 1.3 KiB

BIN
static/images/icon/daohuang.png

After

Width: 55  |  Height: 55  |  Size: 1.8 KiB

BIN
static/images/indexIcon/形状 101.png

Before

Width: 54  |  Height: 12  |  Size: 671 B

BIN
static/images/indexIcon/矩形 14(1).png

Before

Width: 58  |  Height: 58  |  Size: 406 B

BIN
static/images/indexIcon/矩形 14.png

Before

Width: 58  |  Height: 58  |  Size: 406 B

BIN
static/images/indexIcon/矩形 24.png

Before

Width: 72  |  Height: 40  |  Size: 447 B

2
uni.scss

@ -77,4 +77,4 @@ $uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;
// 自已定义的
$themC: #FC9933,
$themC: #3776FF,

2
uni_modules/uview-ui/components/u-search/u-search.vue

@ -1,7 +1,7 @@
<template>
<view
class="u-search"
@tap="clickHandler"
@click="clickHandler"
:style="[{
margin: margin,
}, $u.addStyle(customStyle)]"

Loading…
Cancel
Save