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.
94 lines
2.4 KiB
94 lines
2.4 KiB
<template>
|
|
<view class="pageBg pad">
|
|
<zeng-calen :actDay="actDay" :chooseDayLack="chooseDayLack" @onDayClick='onDayClick' @changeMonth="changeMonth" :chooseDay="chooseDay"></zeng-calen>
|
|
<view class="btnBg" style="margin: 20rpx 0;" @click="scanCodeClick">去签到/去签退</view>
|
|
<view class="card" v-if="list.length">
|
|
<view class="h1"><text class="active">签到记录</text></view>
|
|
<view class="ul">
|
|
<view class="li" v-for="(item,index) in list" :key="index">
|
|
<view class="lab">{{ item.loginStatus==1? '签退成功':'签到成功'}}</view>
|
|
<view class="date">{{item.signDate}} <text style="margin-left: 10rpx;">{{ item.time }}</text></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import zengCalen from '@/uni_modules/zeng-calen/components/zeng-calen/zeng-calen'
|
|
import { scanCodeFn } from '@/config/utils.js'
|
|
import { monthSignRecord, signDetail } from '@/config/api.js'
|
|
export default {
|
|
components: {zengCalen},
|
|
data() {
|
|
return {
|
|
actDay: [], //用户选择的日期
|
|
chooseDay: [], //已被投标的数据
|
|
chooseDayLack: [], //已被投标的数据
|
|
list: [],
|
|
signMonth: ''
|
|
}
|
|
},
|
|
onLoad() {
|
|
this.signMonth = this.$u.timeFormat(Date.now(), 'yyyy-mm')
|
|
this.monthSignRecordFn()
|
|
},
|
|
methods: {
|
|
// 按月查询签到天数
|
|
async monthSignRecordFn() {
|
|
const {data: res} = await monthSignRecord({signMonth: this.signMonth})
|
|
this.chooseDay = res
|
|
if(res&&res.length) {
|
|
let day = res[res.length-1]
|
|
this.actDay = [day]
|
|
this.onDayClick(day)
|
|
}
|
|
},
|
|
changeMonth(ym) {
|
|
console.log(ym)
|
|
this.signMonth = ym
|
|
this.monthSignRecordFn(ym)
|
|
this.list = []
|
|
},
|
|
// 展开日历
|
|
async onDayClick(data) {
|
|
this.actDay = [data]
|
|
const {data: res} = await signDetail({signDate: data})
|
|
this.list = res || []
|
|
|
|
},
|
|
// 扫码
|
|
scanCodeClick() {
|
|
scanCodeFn(this)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.pageBg {
|
|
padding-bottom: 30rpx;
|
|
}
|
|
.card {
|
|
padding: 20rpx;
|
|
.ul {
|
|
.li {
|
|
padding: 30rpx 0;
|
|
border-bottom: 1px solid #f4f4f4;
|
|
&:last-child {
|
|
border: none;
|
|
}
|
|
.lab {
|
|
font-size: 28rpx;
|
|
color: #333;
|
|
}
|
|
.date {
|
|
font-size: 24rpx;
|
|
color: #999;
|
|
margin-top: 16rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
</style>
|