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.
116 lines
2.3 KiB
116 lines
2.3 KiB
8 months ago
|
<template>
|
||
|
<view class="bg">
|
||
|
<view class="row-container header-row" v-if="list.length>0">
|
||
|
<view>所属日期</view>
|
||
|
<view>打卡时间</view>
|
||
|
<view>打卡状态</view>
|
||
|
</view>
|
||
|
<view class="row-container item-row" v-for="(item, index) in list" :key="index" @click="goDetail(item)">
|
||
|
<view>{{ item.date }}</view>
|
||
|
<view v-if="item.status==1">
|
||
|
{{item.type==1?item.create_time.slice(11):item.update_time.slice(11) }}
|
||
|
</view>
|
||
|
<view v-else></view>
|
||
|
<view>
|
||
|
{{item.status==0?'审批中':item.status==1?'打卡正常':item.status==2?'审批拒绝':item.status==3?'审批取消':''}}
|
||
|
</view>
|
||
|
</view>
|
||
|
|
||
|
|
||
|
<view class="empty-text" v-if="list.length == 0">
|
||
|
暂无打卡记录
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
list: [],
|
||
|
finished: false,
|
||
|
page: 1,
|
||
|
limit: 30,
|
||
|
}
|
||
|
},
|
||
|
onLoad() {
|
||
|
this.page = 1
|
||
|
this.finished = false
|
||
|
this.list = []
|
||
|
this.getList()
|
||
|
},
|
||
|
methods: {
|
||
|
getList() {
|
||
|
this.Post({
|
||
|
page: this.page,
|
||
|
limit: this.limit,
|
||
|
},'/api/Merchants/getGuideClockList').then(res => {
|
||
|
this.list = this.list.concat(res.data || [])
|
||
|
this.page++
|
||
|
if (res.data.length<this.limit) {
|
||
|
this.finished = true
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
goDetail (item) {
|
||
|
// 审批打卡要跳转详情
|
||
|
if (item.type == 2) {
|
||
|
uni.navigateTo({
|
||
|
url: '/subPackages/clockIn/index?id='+item.id
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
onReachBottom() {
|
||
|
setTimeout(() => {
|
||
|
if (!this.finished) this.getList()
|
||
|
},1000)
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
.bg {
|
||
|
background: #F5F5F5;
|
||
|
min-height: calc(100vh - 44px - env(safe-area-inset-top)) ;
|
||
|
padding: 26rpx 26rpx 50rpx;
|
||
|
}
|
||
|
.row-container{
|
||
|
display: flex;
|
||
|
width: 100%;
|
||
|
flex-wrap: nowrap;
|
||
|
background: white;
|
||
|
&>view{
|
||
|
flex: 1;
|
||
|
flex-shrink: 0;
|
||
|
text-align: center;
|
||
|
padding: 22rpx 27rpx;
|
||
|
}
|
||
|
}
|
||
|
.header-row{
|
||
|
color: white;
|
||
|
background: #96684F;
|
||
|
border-radius: 13rpx 13rpx 0rpx 0rpx;
|
||
|
}
|
||
|
.item-row{
|
||
|
border-bottom: 1px solid #ccc;
|
||
|
&>view{
|
||
|
border-left: 1px solid #ccc;;
|
||
|
}
|
||
|
&>view:first-child{
|
||
|
border-left: none;
|
||
|
}
|
||
|
&:last-child{
|
||
|
border-bottom: none;
|
||
|
border-radius: 0rpx 0rpx 13rpx 13rpx;;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.empty-text {
|
||
|
font-weight: 500;
|
||
|
font-size: 25rpx;
|
||
|
color: #646464;
|
||
|
text-align: center;
|
||
|
margin: 50rpx 0;
|
||
|
}
|
||
|
</style>
|