|
@@ -9,12 +9,12 @@
|
|
|
<view class="total-title">本月汇总</view>
|
|
|
<view class="total-content">
|
|
|
<view class="number-box">
|
|
|
- <view class="number">15</view>
|
|
|
+ <view class="number">{{records.length}}</view>
|
|
|
<view class="number-detail">打卡次数</view>
|
|
|
</view>
|
|
|
<view class="number-box">
|
|
|
- <view class="number">2</view>
|
|
|
- <view class="number-detail">迟到次数</view>
|
|
|
+ <view class="number">1</view>
|
|
|
+ <view class="number-detail">缺卡次数</view>
|
|
|
</view>
|
|
|
<view class="number-box">
|
|
|
<view class="number">优秀</view>
|
|
@@ -26,10 +26,11 @@
|
|
|
|
|
|
<view class="card-item">
|
|
|
<view class="calendar_container">
|
|
|
- <zsyCalendar :sundayIndex="6" @change="dateHandler"/>
|
|
|
+ <zsyCalendar :sundayIndex="6" @change="dateHandler" @chooseDate="chooseDate" />
|
|
|
</view>
|
|
|
<view class="state-box">
|
|
|
- <view class="state">
|
|
|
+ <view class="state"
|
|
|
+ :style="{backgroundColor: attendance==='已打卡'?'#3C9CFF':(attendance === '未打卡'?'#f9c752':'#bebebe')}">
|
|
|
<view class="state-text">{{attendance}}</view>
|
|
|
</view>
|
|
|
<view class="msg-box">
|
|
@@ -38,10 +39,9 @@
|
|
|
<text class="msg-text">{{attendanceTime}}</text>
|
|
|
</view>
|
|
|
<view class="flex">
|
|
|
- <text class="msg-text" style="font-weight: normal;font-size: 28rpx;">本周出勤质量:</text>
|
|
|
+ <text class="msg-text" style="font-weight: normal;font-size: 28rpx;">出勤状况:</text>
|
|
|
<text class="msg-text">{{attendanceQuality}}</text>
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -51,6 +51,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import {
|
|
|
+ mapState,
|
|
|
+ } from 'vuex'
|
|
|
import getdata from '../../common/data.js'
|
|
|
import zsyCalendar from '@/subpkg/zsy-calendar/zsy-calendar.vue'
|
|
|
export default {
|
|
@@ -58,12 +61,17 @@
|
|
|
components: {
|
|
|
zsyCalendar
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ ...mapState('m_children', ['records']),
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
//当日打卡信息
|
|
|
attendance: '',
|
|
|
attendanceTime: '',
|
|
|
- attendanceQuality: ''
|
|
|
+ attendanceQuality: '',
|
|
|
+ //当月天数
|
|
|
+ // monthDates: '',
|
|
|
};
|
|
|
},
|
|
|
onLoad(options) {
|
|
@@ -73,9 +81,26 @@
|
|
|
},
|
|
|
methods: {
|
|
|
//日历事件
|
|
|
- dateHandler(e) {
|
|
|
- console.log(e)
|
|
|
+ dateHandler(e) {},
|
|
|
+ //选择日期
|
|
|
+ chooseDate(dateInfo, dateIndex) {
|
|
|
+ if (dateInfo.isAttend === 1) {
|
|
|
+ this.attendance = '已打卡'
|
|
|
+ this.attendanceTime = '08:27'
|
|
|
+ this.attendanceQuality = '良好'
|
|
|
+ }
|
|
|
+ if (dateInfo.isAttend === 0) {
|
|
|
+ this.attendance = '未打卡'
|
|
|
+ this.attendanceTime = '无打卡时间'
|
|
|
+ this.attendanceQuality = '无记录'
|
|
|
+ }
|
|
|
+ if (dateInfo.isAttend === -1) {
|
|
|
+ this.attendance = '未来时'
|
|
|
+ this.attendanceTime = '无打卡时间'
|
|
|
+ this.attendanceQuality = '无记录'
|
|
|
+ }
|
|
|
},
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -112,40 +137,45 @@
|
|
|
.total {
|
|
|
height: 250rpx;
|
|
|
width: 100%;
|
|
|
-
|
|
|
+
|
|
|
.total-title {
|
|
|
font-size: 32rpx;
|
|
|
font-weight: bold;
|
|
|
color: #2C2C2C;
|
|
|
margin: 30rpx 30rpx 0rpx 30rpx;
|
|
|
}
|
|
|
- .total-content{
|
|
|
+
|
|
|
+ .total-content {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-around;
|
|
|
height: 175rpx;
|
|
|
- .number-box{
|
|
|
+
|
|
|
+ .number-box {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
- .number{
|
|
|
+
|
|
|
+ .number {
|
|
|
font-size: 46rpx;
|
|
|
font-weight: bold;
|
|
|
color: #2C2C2C;
|
|
|
}
|
|
|
- .number-detail{
|
|
|
+
|
|
|
+ .number-detail {
|
|
|
margin-top: 10rpx;
|
|
|
font-size: 28rpx;
|
|
|
color: #afafaf;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.state-box {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
+ justify-content: center;
|
|
|
height: 200rpx;
|
|
|
width: 100%;
|
|
|
|
|
@@ -153,14 +183,13 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- margin: 20rpx;
|
|
|
border-radius: 100%;
|
|
|
- height: 130rpx;
|
|
|
- width: 130rpx;
|
|
|
- background-color: #3C9CFF;
|
|
|
+ margin: 20rpx;
|
|
|
+ height: 150rpx;
|
|
|
+ width: 150rpx;
|
|
|
|
|
|
.state-text {
|
|
|
- font-size: 28rpx;
|
|
|
+ font-size: 32rpx;
|
|
|
font-weight: bold;
|
|
|
color: #FFF;
|
|
|
}
|