Browse Source

写页面

master
unknown 1 year ago
parent
commit
96b7cc1c45
  1. 45
      components/myCheckbox/myCheckbox.vue
  2. 5
      components/myRadio/myRadio.vue
  3. 34
      components/mySelect/mySelect.vue
  4. 19
      pages.json
  5. 6
      pages/indexEntry/settlement/settlement.vue
  6. 96
      pages/recordEntry/operate/mySchedule/comp/mySchedulePopup.vue
  7. 239
      pages/recordEntry/operate/mySchedule/comp/step1.vue
  8. 89
      pages/recordEntry/operate/mySchedule/detail/detail.vue
  9. 2
      pages/recordEntry/operate/mySchedule/mould/mould.vue
  10. 190
      pages/recordEntry/operate/mySchedule/mouldEdit/mouldEdit.vue
  11. 313
      pages/recordEntry/operate/mySchedule/mySchedule.vue
  12. 28
      pages/recordEntry/operate/mySchedule/plan/plan.vue
  13. 31
      pages/tabbar/statistics/index.vue
  14. 4
      pages/userCenter/myCar/myCar.vue
  15. BIN
      static/images/coach/tianjia.png

45
components/myCheckbox/myCheckbox.vue

@ -0,0 +1,45 @@
<template>
<u-checkbox-group
v-model="value"
placement="row"
@change="checkboxChange"
>
<u-checkbox
:customStyle="{marginRight: '8px'}"
v-for="(item, index) in checkData"
:key="index"
:label="item.name"
:name="item.id"
>
</u-checkbox>
</u-checkbox-group>
</template>
<script>
export default {
props: {
checkData: {
type: Array,
default: []
}
},
data() {
return {
value: []
}
},
mounted() {
this.$on('upDateCheck',(val)=>{
this.value = val
})
},
methods: {
checkboxChange(val) {
this.$emit('changeCheck', val)
}
}
}
</script>
<style>
</style>

5
components/myRadio/myRadio.vue

@ -32,6 +32,11 @@
value: '' value: ''
} }
}, },
mounted() {
this.$on('upDateRadio',(val)=>{
this.value = val
})
},
methods: { methods: {
changeRadio(val) { changeRadio(val) {
// console.log(this.value) // console.log(this.value)

34
components/mySelect/mySelect.vue

@ -0,0 +1,34 @@
<template>
<view class="mySelect">
<view class="text hui" v-if="!value">{{ placeholder }}</view>
<view class="text" v-else>{{ value }}</view>
</view>
</template>
<script>
export default {
props: {
value: {
type: String,
default: ''
},
placeholder: {
type: String,
default: '请选择'
}
},
data() {
return {}
}
}
</script>
<style lang="scss" scoped>
.mySelect {
color: #333;
font-size: 26rpx;
.hui {
color: #ADADAD;
}
}
</style>

19
pages.json

@ -150,7 +150,24 @@
"backgroundTextStyle": "dark" "backgroundTextStyle": "dark"
} }
}, },
{
"path": "operate/mySchedule/mouldEdit/mouldEdit",
"style": {
"navigationBarTitleText": "添加编辑模版",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "operate/mySchedule/detail/detail",
"style": {
"navigationBarTitleText": "我的排课详情",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{ {
"path": "student/studentDetail/studentDetail", "path": "student/studentDetail/studentDetail",
"style": { "style": {

6
pages/indexEntry/settlement/settlement.vue

@ -35,7 +35,7 @@
</view> </view>
<view class="timer"> <view class="timer">
<view class="tabCon" v-if="currentPopTab==1"> <view class="tabCon" v-if="currentPopTab==1">
<view class="dateBtn" @click="showDatePickerFn(1)" :class="{hui: !data1}">{{ date1 }}</view>
<view class="dateBtn" @click="showDatePickerFn(1)" :class="{hui: !date1}">{{ date1 }}</view>
<!-- <u-datetime-picker-my <!-- <u-datetime-picker-my
:show="show" :show="show"
v-model="value1" v-model="value1"
@ -46,9 +46,9 @@
></u-datetime-picker-my> --> ></u-datetime-picker-my> -->
</view> </view>
<view class="tabCon" v-else> <view class="tabCon" v-else>
<view class="dateBtn" :class="{hui: !data2}" @click="showDatePickerFn(2)">{{ date2 }}</view>
<view class="dateBtn" :class="{hui: !date2}" @click="showDatePickerFn(2)">{{ date2 }}</view>
<view class="to"></view> <view class="to"></view>
<view class="dateBtn" :class="{hui: !data3}" @click="showDatePickerFn(3)">{{ date3 }}</view>
<view class="dateBtn" :class="{hui: !date3}" @click="showDatePickerFn(3)">{{ date3 }}</view>
</view> </view>
<view class="btnBg" @click="selectDateClick">确定</view> <view class="btnBg" @click="selectDateClick">确定</view>
<!-- <u-picker-my></u-picker-my> --> <!-- <u-picker-my></u-picker-my> -->

96
pages/recordEntry/operate/mySchedule/comp/mySchedulePopup.vue

@ -0,0 +1,96 @@
<template>
<view class="box">
<view class="item">
<view class="lab">科目类型</view>
<view class="val">
<myRadio :radioData="radioData1"/>
</view>
</view>
<view class="item">
<view class="lab">我的教练车</view>
<view class="val">
<myRadio :radioData="radioData2"/>
</view>
</view>
<view class="item">
<view class="lab">可约人数</view>
<view class="val">
<myRadio :radioData="radioData3"/>
</view>
</view>
<view class="item">
<view class="lab">开放范围</view>
<view class="val">
<myRadio :radioData="radioData4"/>
</view>
</view>
<view class="btn_row">
<view class="btnBorder btn" @click="confirmPopup(0)">取消</view>
<view class="btnBg btn" @click="confirmPopup(1)">确认</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
radioData1: [
{name: '不限', id: 0},
{name: '科目二', id: 1},
{name: '科目三', id: 2},
],
radioData2: [
{name: '浙A66666学', id: 0},
{name: '浙A66667学', id: 0},
],
radioData3: [
{name: '1人', id: 0},
{name: '2人', id: 1},
{name: '3人', id: 2},
{name: '4人', id: 4},
],
radioData4: [
{name: '我的学员', id: 0},
{name: '本校学员', id: 1}
]
}
},
methods: {
confirmPopup(val) {
this.$emit('confirmPopup', val)
}
}
}
</script>
<style lang="scss" scoped>
.box {
padding: 28rpx;
width: 638rpx;
.item {
.lab {
font-size: 30rpx;
margin-bottom: 38rpx;
}
.val {
margin-bottom: 56rpx;
}
}
.btn_row {
display: flex;
justify-content: space-between;
padding: 0 30rpx;
.btnBorder {
}
.btn {width: 47%;}
.btnBg {
}
}
}
</style>

239
pages/recordEntry/operate/mySchedule/comp/step1.vue

@ -1,239 +0,0 @@
<template>
<view class="step1">
<view class="card">
<view class="dateBox">
<view class="month-row">
<view class="month">2032.08</view>
<view class="arrow">
<u-icon name="arrow-down" :size="12" :color="'#1989FA'"></u-icon>
</view>
</view>
<view class="date_row">
<view class="icon left">
<u-icon name="arrow-left" :size="12" :color="'#fff'"></u-icon>
</view>
<view class="dateArr">
<view class="date" v-for="(item,index) in dateArr" :key="index" :class="{active: index==1}">
<view class="week">{{ item.week }}</view>
<view class="num">{{ item.num }}</view>
</view>
</view>
<view class="icon right">
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
</view>
</view>
</view>
</view>
<view class="card">
<view class="timeCon">
<view class="h2">上午</view>
<view class="time_box">
<view class="time_item">
<view class="lab">已过期</view>
<view class="time">06:00-07:00</view>
</view>
<view class="time_item">
<view class="lab">已约满</view>
<view class="time">06:00-07:00</view>
</view>
<view class="time_item">
<view class="lab">可预约</view>
<view class="time">06:00-07:00</view>
</view>
</view>
<view class="h2">下午</view>
<view class="time_box">
<view class="time_item">
<view class="lab">已过期</view>
<view class="time">06:00-07:00</view>
</view>
<view class="time_item">
<view class="lab">已约满</view>
<view class="time">06:00-07:00</view>
</view>
<view class="time_item">
<view class="lab">
<view class="text">4/4</view>
<view class="icon right">
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
</view>
</view>
<view class="time">06:00-07:00</view>
</view>
</view>
</view>
</view>
<view class="btn_row">
<view class="btnBorder btn" @click="changeStep(1)">管理排课计划</view>
<view class="btnBg btn" @click="changeStep(2)">编辑排课信息</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
dateArr: [
{week: '一', num: '08'},
{week: '二', num: '09'},
{week: '三', num: '10'},
{week: '四', num: '11'},
{week: '五', num: '12'},
]
}
},
methods: {
changeStep(val) {
if(val==1) {
this.$goPage('/pages/recordEntry/operate/mySchedule/plan/plan')
}
// this.$emit('changeStep', val)
}
}
}
</script>
<style lang="scss" scoped>
.card {
width: 100%;
margin-bottom: 24rpx;
overflow: hidden;
.dateBox {
padding: 36rpx 0 40rpx 0;
.month-row {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 36rpx;
.month {
font-size: 32rpx;
color: $themC;
}
.arrow {
margin-left: 6rpx;
}
}
.date_row {
width: 100%;
height: 100rpx;
position: relative;
.icon {
width: 40rpx;
height: 40rpx;
background: rgba(51,51,51,0.18);
backdrop-filter: blur(4rpx);
position: absolute;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
&.left {
left: 16rpx;
}
&.right {
right: 16rpx;
}
}
.dateArr {
display: flex;
padding: 0 70rpx;
justify-content: space-between;
.date {
width: 74rpx;
height: 100rpx;
border-radius: 16rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #333;
&.active {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
}
.week {
}
.num {
margin-top: 4rpx;
}
}
}
}
}
}
.card {
.timeCon {
padding: 0 24rpx 40rpx 24rpx;
}
.h2 {
line-height: 90rpx;
font-weight: 500;
color: #333;
}
.time_box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.time_item {
width: 30%;
height: 120rpx;
background: #F8F8F8;
border-radius: 12rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 12rpx;
color: #333;
&.active {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
}
&.disable {
opacity: 0.5;
}
.lab {
font-size: 28rpx;
font-weight: 500;
display: flex;
align-items: center;
margin-bottom: 6rpx;
.icon {
margin-left: 10rpx;
background: rgba(51,51,51,0.18);
border-radius: 50%;
padding: 4rpx;
}
}
.time {
font-size: 24rpx;
margin-top: 4rpx;
}
}
}
}
.btn_row {
display: flex;
justify-content: space-between;
.btn {
width: 47%;
}
}
</style>

89
pages/recordEntry/operate/mySchedule/detail/detail.vue

@ -0,0 +1,89 @@
<template>
<view class="pageBgImg">
<topNavbar title="我的排课详情"></topNavbar>
<view class="pad">
<view class="card">
<view class="info">
<view class="row">
<view class="lab">训练科目</view>
<view class="val">科目二</view>
</view>
<view class="row">
<view class="lab">预约车辆</view>
<view class="val">02号车浙A98299</view>
</view>
<view class="row">
<view class="lab">开放范围</view>
<view class="val">我的学员</view>
</view>
</view>
</view>
<view class="h1">预约学员</view>
<view class="ul">
<view class="li" v-for="(item,index) in 4" :key="index">
<view class="name">张三三 <text> 17628378888</text></view>
<view class="time">提交预约时间2023/08/06 09:12:33</view>
</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.pad {
.card {
padding: 0 28rpx;
.info {
padding: 20rpx 0;
.row {
display: flex;
font-size: 28rpx;
color: #333;
padding: 20rpx 0;
.lab {
width: 150rpx;
}
.val {
}
}
}
}
.h1 {
line-height: 108rpx;
}
.ul {
.li {
height: 180rpx;
display: flex;
flex-direction: column;
background: #FFFFFF;
border-radius: 16rpx;
justify-content: center;
margin-bottom: 20rpx;
padding: 0 28rpx;
.name {
font-size: 32rpx;
font-weight: 600;
text {
font-weight: 400;
margin-left: 10rpx;
}
}
.time {
font-size: 28rpx;
margin-top: 24rpx;
color: #ADADAD;
}
}
}
}
</style>

2
pages/recordEntry/operate/mySchedule/mould/mould.vue

@ -5,7 +5,7 @@
<view class="card"> <view class="card">
<view class="tit_row"> <view class="tit_row">
<view class="tit">模板标题</view> <view class="tit">模板标题</view>
<view class="manage">管理</view>
<view class="manage" @click="$goPage('/pages/recordEntry/operate/mySchedule/mouldEdit/mouldEdit')">管理</view>
</view> </view>
<view class="ul"> <view class="ul">
<view class="li lab"> <view class="li lab">

190
pages/recordEntry/operate/mySchedule/mouldEdit/mouldEdit.vue

@ -0,0 +1,190 @@
<template>
<view class="pageBgImg">
<topNavbar title="添加编辑模版"></topNavbar>
<view class="pad">
<view class="card">
<view class="tit flex">
<view class="lab">模板标题</view>
<view class="inputBox my">
<u--input placeholder="请输入内容" border="none" v-model="FormData.title" ></u--input>
</view>
</view>
</view>
<view class="card timeCon" v-for="(item,index) in FormData.tiemArr">
<view class="deleteIcon" @click="deleteFn(item.id)">
<u-icon name="close-circle-fill" color="#ADADAD" size="22"></u-icon>
</view>
<view class="row">
<view class="lab">选择时间段</view>
<view class="flex">
<view class="timeTag" >
<mySelect :value="item.startTime" @click="showTime(item,'startTime')" placeholder="开始时间"></mySelect>
</view>
<view class="line"></view>
<view class="timeTag" @click.capture="showTime(item,'endTime')">
<mySelect :value="item.startTime" @click="showTime(item,'startTime')" placeholder="结束时间"></mySelect>
</view>
</view>
</view>
<view class="row">
<view class="lab">选择人数</view>
<view class="numBox">
<u-number-box v-model="item.people" :max="10"></u-number-box>
</view>
</view>
</view>
<view class="add" @click="addFn">
<view class="addIcon">
<image src="@/static/images/coach/tianjia.png" mode=""></image>
</view>
<view class="text">添加</view>
</view>
<view class="btnBg">保存为模板</view>
</view>
<u-datetime-picker
:show="show"
v-model="value1"
mode="time"
@confirm="confirmTime"
></u-datetime-picker>
</view>
</template>
<script>
export default {
data() {
return {
FormData: {
title: '',
tiemArr: [
{startTime: '',endTime: '', people: 1, id: new Date() * 1}
]
},
show: false,
value1: ''
}
},
methods: {
addFn() {
let obj = {startTime: '',endTime: '', people: 1, id: new Date() * 1}
this.FormData.tiemArr.push(obj)
},
deleteFn(id) {
let arr = this.FormData.tiemArr
if(arr.length==1) return
let index = arr.findIndex(item=>item.id==id)
if(index==-1) return
arr.splice(index, 1)
},
confirmTime(val) {
console.log(val.value)
this.show = false
},
showTime(item, name) {
this.show = true
}
}
}
</script>
<style lang="scss" scoped>
.pageBgImg {
.pad {
.card {
padding: 0 28rpx;
margin-bottom: 20rpx;
&.timeCon {
padding: 28rpx;
}
.tit {
height: 96rpx;
background: #FFFFFF;
border-radius: 16px;
.lab {
width: 172rpx;
font-weight: 500;
color: #333333;
}
.inputBox.my {
flex: 1;
}
}
}
.card {
position: relative;
.deleteIcon {
position: absolute;
right: 20rpx;
top: 20rpx
}
.row {
padding: 12rpx 0;
display: flex;
align-items: center;
.lab {
font-size: 30rpx;
width: 172rpx;
flex-shrink: 0;
}
.flex {
.timeTag {
// padding: 8rpx 14rpx;
background: #F8F8F8;
border-radius: 34rpx;
width: 150rpx;
text-align: center;
height: 52rpx;
line-height: 52rpx;
// width:fit-content;
input {
display: block;
width: 100%;
height: 100%;
font-size: 26rpx;
color: #333333;
}
}
.line {
width: 26rpx;
height: 2rpx;
background: #DADADA;
margin: 0 14rpx;
}
}
}
}
.add {
display: flex;
align-items: center;
justify-content: center;
padding-top: 20rpx;
.addIcon {
width: 36rpx;
height: 36rpx;
}
.text {
font-size: 28rpx;
color: $themC;
margin-left: 10rpx;
}
}
.btnBg {
width: 396rpx;
margin: 96rpx auto 20rpx auto;
}
}
}
</style>

313
pages/recordEntry/operate/mySchedule/mySchedule.vue

@ -2,17 +2,322 @@
<view class="pageBgImg"> <view class="pageBgImg">
<topNavbar title="我的排课"></topNavbar> <topNavbar title="我的排课"></topNavbar>
<view class="pad"> <view class="pad">
<step1></step1>
<view class="step1">
<view class="card">
<view class="dateBox">
<view class="month-row">
<view class="month">2032.08</view>
<view class="arrow">
<u-icon name="arrow-down" :size="12" :color="'#1989FA'"></u-icon>
</view>
</view>
<view class="date_row">
<view class="icon left">
<u-icon name="arrow-left" :size="12" :color="'#fff'"></u-icon>
</view>
<view class="dateArr">
<view class="date" v-for="(item,index) in dateArr" :key="index" :class="{active: index==1}">
<view class="week">{{ item.week }}</view>
<view class="num">{{ item.num }}</view>
</view>
</view>
<view class="icon right">
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
</view>
</view>
</view>
</view>
<view class="card">
<view class="timeCon">
<view class="h2">上午</view>
<view class="time_box">
<view class="time_item" v-for="(item, index) in course" :key="index" @click="chooseCourse(item)" :class="{active: courseIds.indexOf(item.time)!=-1}">
<view class="lab" v-if="item.status==0">未排课</view>
<view class="lab" v-if="item.status==1">已约满</view>
<view class="lab" v-if="item.status==2">已过期</view>
<view class="lab" v-if="item.status==3">
<view class="text">4/4</view>
<view class="icon right">
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
</view>
</view>
<view class="time">{{ item.time }}</view>
</view>
</view>
<view class="h2">下午</view>
<view class="time_box">
<view class="time_item" v-for="(item, index) in course" :key="index" @click="chooseCourse(item)" :class="{active: courseIds.indexOf(item.time)!=-1}">
<view class="lab" v-if="item.status==0">未排课</view>
<view class="lab" v-if="item.status==1">已约满</view>
<view class="lab" v-if="item.status==2">已过期</view>
<view class="lab" v-if="item.status==3">
<view class="text">4/4</view>
<view class="icon right" @click="$goPage('/pages/recordEntry/operate/mySchedule/detail/detail')">
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon>
</view>
</view>
<view class="time">{{ item.time }}</view>
</view>
</view>
</view>
</view>
<view class="btn_row" v-if="step==1">
<view class="btnBorder btn" @click="changeStep(1)">管理排课计划</view>
<view class="btnBg btn" @click="changeStep(2)">编辑排课信息</view>
</view>
<view class="step2" v-if="step==2">
<view class="">
<myCheckbox :checkData="checkData" @changeCheck="changeCheck"></myCheckbox>
</view>
<view class="btnBg" @click="showPopupFn">确认发布</view>
</view>
</view>
</view> </view>
<u-popup :show="show" @close="show=false" mode="center" :round="16">
<view>
<mySchedulePopup @confirmPopup="confirmPopup"/>
</view>
</u-popup>
</view> </view>
</template> </template>
<script> <script>
import step1 from './comp/step1'
import mySchedulePopup from './comp/mySchedulePopup'
export default { export default {
components: { step1 }
components: { mySchedulePopup },
data() {
return {
show: false,
dateArr: [
{week: '一', num: '08'},
{week: '二', num: '09'},
{week: '三', num: '10'},
{week: '四', num: '11'},
{week: '五', num: '12'},
],
checkData: [
{name: '全选', id: 0},
{name: '取消选择', id: 1},
],
step: 1,
course: [
{status: 0, time: '06:00-07:00'},
{status: 1, time: '08:00-09:00'},
{status: 2, time: '09:00-10:00'},
{status: 3, time: '11:00-12:00'},
{status: 0, time: '14:00-15:00'},
],
courseIds: []
}
},
methods: {
changeStep(val) {
if(val==1) {
this.$goPage('/pages/recordEntry/operate/mySchedule/plan/plan')
}else {
this.step = val
}
// this.$emit('changeStep', val)
},
changeCheck(val) {
// console.log(val)
if(val.indexOf(1)!=-1) {
this.courseIds = []
this.step = 1
}else {
let total = this.course.reduce((pre, item)=>{
if(item.status==0) {
pre.push(item.time)
}
return pre
},[])
console.log(total.length)
console.log(this.courseIds.length)
if(total.length==this.courseIds.length) {
this.courseIds = []
this.$emit('upDateCheck', [])
}else {
this.courseIds = total
}
}
},
chooseCourse(item) {
if(this.step==1) return
if(item.status!=0) return //
let index = this.courseIds.indexOf(item.time)
if(index!==-1) {
this.courseIds.splice(index, 1)
}else {
this.courseIds.push(item.time)
}
},
confirmPopup(val) {
this.show = false
},
//
showPopupFn() {
if(!this.courseIds.length) return this.$u.toast('请选择排课时间')
this.show = true
}
}
} }
</script> </script>
<style>
<style lang="scss" scoped>
.step2 {
display: flex;
justify-content: space-between;
align-items: center;
.btnBg {
width: 310rpx;
}
}
.card {
width: 100%;
margin-bottom: 24rpx;
overflow: hidden;
.dateBox {
padding: 36rpx 0 40rpx 0;
.month-row {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 36rpx;
.month {
font-size: 32rpx;
color: $themC;
}
.arrow {
margin-left: 6rpx;
}
}
.date_row {
width: 100%;
height: 100rpx;
position: relative;
.icon {
width: 40rpx;
height: 40rpx;
background: rgba(51,51,51,0.18);
backdrop-filter: blur(4rpx);
position: absolute;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
&.left {
left: 16rpx;
}
&.right {
right: 16rpx;
}
}
.dateArr {
display: flex;
padding: 0 70rpx;
justify-content: space-between;
.date {
width: 74rpx;
height: 100rpx;
border-radius: 16rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #333;
&.active {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
}
.week {
}
.num {
margin-top: 4rpx;
}
}
}
}
}
}
.card {
.timeCon {
padding: 0 24rpx 40rpx 24rpx;
}
.h2 {
line-height: 90rpx;
font-weight: 500;
color: #333;
}
.time_box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
&::after {
content: "";
width: 30%;
}
.time_item {
width: 30%;
height: 120rpx;
background: #F8F8F8;
border-radius: 12rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 12rpx;
color: #333;
margin-bottom: 20rpx;
&.active {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
}
&.disable {
opacity: 0.5;
}
.lab {
font-size: 28rpx;
font-weight: 500;
display: flex;
align-items: center;
margin-bottom: 6rpx;
.icon {
margin-left: 10rpx;
background: rgba(51,51,51,0.18);
border-radius: 50%;
padding: 6rpx;
}
}
.time {
font-size: 24rpx;
margin-top: 4rpx;
}
}
}
}
.btn_row {
display: flex;
justify-content: space-between;
.btn {
width: 47%;
}
}
</style> </style>

28
pages/recordEntry/operate/mySchedule/plan/plan.vue

@ -25,6 +25,17 @@
</view> </view>
</view> </view>
</view> </view>
<view class="blueBg">
<view class="time_row hui">
<text>时间段</text> <text>最多人数</text>
</view>
<view class="time_row">
<text>7:00-8:00</text> <text>4</text>
</view>
<view class="time_row">
<text>8:00-9:00</text> <text>4</text>
</view>
</view>
<view class="row"> <view class="row">
<view class="lab">训练科目</view> <view class="lab">训练科目</view>
<view class="rightCon"> <view class="rightCon">
@ -136,4 +147,21 @@
} }
} }
} }
.blueBg {
background-color: #E8F3FE;
padding: 12rpx 32rpx;
border-radius: 16rpx;
text-align: center;
.time_row {
display: flex;
justify-content: space-between;
padding: 12rpx 0;
&.hui {
color: #ADADAD;
}
text {
width: 170rpx;
}
}
}
</style> </style>

31
pages/tabbar/statistics/index.vue

@ -26,10 +26,10 @@
<view class="h1">结算统计</view> <view class="h1">结算统计</view>
<view class="tabs"> <view class="tabs">
<view class="tab">按日</view>
<view class="tab">按月</view>
<view class="tab">按年</view>
<view class="tab long">自定义日期</view>
<view class="tab" @click="tabClick(1)" :class="{active: currentTab==1}">按日</view>
<view class="tab" @click="tabClick(2)" :class="{active: currentTab==2}">按月</view>
<view class="tab" @click="tabClick(3)" :class="{active: currentTab==3}">按年</view>
<view class="tab long" @click="tabClick(4)" :class="{active: currentTab==4}">自定义日期</view>
</view> </view>
<view class="card"> <view class="card">
<view class="chart"> <view class="chart">
@ -47,6 +47,14 @@
</view> </view>
<view class="moreBtn" @click="$goPage('/pages/indexEntry/settlement/settlement')">查看更多</view> <view class="moreBtn" @click="$goPage('/pages/indexEntry/settlement/settlement')">查看更多</view>
<!-- <UserTab selectedIndex ='2'></UserTab> --> <!-- <UserTab selectedIndex ='2'></UserTab> -->
<u-datetime-picker
:show="showDatePicker"
v-model="value1"
mode="date"
:visibleItemCount="4"
:closeOnClickOverlay="false"
@confirm="confirmDatePicker"
></u-datetime-picker>
</view> </view>
</template> </template>
@ -56,6 +64,8 @@
components: { stage }, components: { stage },
data() { data() {
return { return {
currentTab: 1,
showDatePicker: false
} }
}, },
onLoad() { onLoad() {
@ -65,7 +75,18 @@
// uni.hideTabBar(); // uni.hideTabBar();
}, },
methods: { methods: {
goPage() {}
tabClick(num) {
this.currentTab = num
if(num==4) {
this.showDatePicker = true
}
},
// 2
confirmDatePicker(val) {
this.showDatePicker = false
let date = uni.$u.date(val.value, 'yyyy-mm-dd')
console.log(date)
},
} }
} }
</script> </script>

4
pages/userCenter/myCar/myCar.vue

@ -5,12 +5,12 @@
<view class="searcBox"> <view class="searcBox">
<searchRow placeholder="搜索车牌号"></searchRow> <searchRow placeholder="搜索车牌号"></searchRow>
</view> </view>
<view class="card" style="margin-bottom: 24rpx;">
<!-- <view class="card" style="margin-bottom: 24rpx;">
<view class="add"> <view class="add">
<view class="lab">新增车辆</view> <view class="lab">新增车辆</view>
<view class="btnBg">立即新增</view> <view class="btnBg">立即新增</view>
</view> </view>
</view>
</view> -->
<view class="ul"> <view class="ul">
<view class="card"> <view class="card">
<view class="li"> <view class="li">

BIN
static/images/coach/tianjia.png

After

Width: 36  |  Height: 36  |  Size: 689 B

Loading…
Cancel
Save