You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<template> <view class="topInfo card"> <view class="user_row"> <view class="avatar"> <image :src="vuex_userInfo.photoPath" mode="widthFix" v-if="vuex_userInfo.photoPath"></image> </view> <view class="rightTxt"> <view style="display: flex;align-items: center;"> <view class="name" @click="topClick">{{ vuex_userInfo.name?vuex_userInfo.name:vuex_userInfo.phone?vuex_userInfo.phone:'请先登录 ' }}</view> <view class="arrowRight" > <u-icon name="arrow-right" color="#333" size="14" style="margin-top: 4rpx;"></u-icon> </view> </view> <view class="btn_row" @click="showType=true"> <view class="txt">{{ carType }}</view> <u-icon name="arrow-down-fill" color="#fff" size="10"></u-icon> </view> </view> </view> <view class="bg"> <view class="row"> <view class="timeItem"> <view class="flex"> <view class="time">{{dynamics.validTime||0}}</view> <view class="uni">分钟</view> </view> <view class="lab">已完成学时</view> </view> <view class="timeItem"> <view class="flex"> <view class="time">{{dynamics.classHour||0}}</view> <view class="uni">分钟</view> </view> <view class="lab">应完成学时</view> </view> </view> <!-- <view class="row" v-if="carType=='科目三'"> <view class="timeItem"> <view class="flex "> <view class="time">120</view> <view class="uni">km</view> </view> <view class="lab">已完里程</view> </view> <view class="timeItem"> <view class="flex "> <view class="time ">120</view> <view class="uni">km</view> </view> <view class="lab">已完里程</view> </view> </view> --> </view> <view class="timerFlex" v-if="dynamics.classHourReachStatus"> <view class="link-arrow" @click="$goPage('/pages/carEntry/signature/signature')"> <view class="txt">确认学时</view> <u-icon name="arrow-right" color="#3776FF" :size="16"></u-icon> </view> </view> <u-picker :show="showType" :columns="typeArr" keyName="name" @confirm="confirmType" @cancel="showType=false"></u-picker> </view> </template>
<script> export default { props: ['carType', 'dynamics'], data() { return { showType: false, typeArr: [ [ {name: '科目一', id: 1}, {name: '科目二', id: 2}, {name: '科目三', id: 3}, {name: '科目四', id: 4}, ] ], } }, methods: { topClick() { if(!this.vuex_userInfo.phone) { this.$store.commit('goLogin') }else { this.$goPage('/pages/mineEntry/personaInfo/personaInfo') } }, confirmType(val) { let item = val.value[0] // console.log(item)
this.showType = false this.$emit('changeSubject', item) } } } </script>
<style scoped lang="scss"> .topInfo.card { padding: 0rpx 20rpx 20rpx 20rpx; .user_row { display: flex; .avatar { width: 120rpx; height: 120rpx; border-radius: 50%; overflow: hidden; background: url('../../../../static/images/mineIcon/avatar.png'); background-size: 100% 100%; margin-top: -36rpx; } .rightTxt { display: flex; align-items: center; justify-content: space-between; flex: 1; width: 0; padding: 0 0 0 20rpx; .name { font-size: 28rpx; color: #333; } .btn_row { display: flex; align-items: center; justify-content: center; background: $themC; width: 150rpx; height: 50rpx; color: #fff; border-radius: 10rpx; font-size: 24rpx; lighting-color: 50rpx; .txt { margin-right: 10rpx; } } } } .bg { background: #F6F7FA; border-radius: 20rpx; padding: 20rpx; margin-top: 30rpx; .row { border-top: 1rpx solid #EDEDED; display: flex; &:first-child { border: none; } .timeItem { border-left: 1px solid #EDEDED; flex: 1; align-items: center; justify-content: center; color: #999; font-size: 24rpx; padding: 20rpx 0; &:first-child { border: none; } .flex { justify-content: center; .time { font-size: 36rpx; color: #333; font-weight: 700; } .uni { margin-top: -6rpx; margin-left: 4rpx; } } .lab { text-align: center; } } } } } .timerFlex { display: flex; justify-content: flex-end; padding: 20rpx 0 0 0; .link-arrow { display: flex; align-items: center; font-size: 28rpx; color: $themC; height: 50rpx; .txt { margin-right: 4rpx; } } } </style>
|