105 lines
2.3 KiB
Vue
105 lines
2.3 KiB
Vue
<template>
|
||
<view class="xilu">
|
||
<view class="page-foot bg-normal" >
|
||
<view class="pb30 plr25">
|
||
<view class="btn1" @click="addReport()">新增报备</view>
|
||
</view>
|
||
</view>
|
||
<view class="container">
|
||
<view class="ptb15 plr25">
|
||
<template v-if="list.length > 0">
|
||
<view class="xilu_item" v-for="(vo,index) in list">
|
||
<view class="fs32 col9 lh46">请假时间:</view>
|
||
<view class="mt10 fs32 colf lh46">{{vo.start_at || ''}} ~ {{vo.end_at || ''}}</view>
|
||
<view class="mt20 fs32 col9 lh46">请假事由:</view>
|
||
<view class="mt10 fs32 colf lh46">{{vo.description || ''}}</view>
|
||
</view>
|
||
</template>
|
||
<template v-else>
|
||
<empty-data :tips="'暂无报备记录'" :lineHeight="300"></empty-data>
|
||
</template>
|
||
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
list: [],
|
||
page: 1,
|
||
total_count: 0,
|
||
coachInfo: null
|
||
}
|
||
},
|
||
methods: {
|
||
//获取请假数据
|
||
getLists() {
|
||
let _this = this;
|
||
this.$http({
|
||
url: '/addons/xilufitness/coach/getReports',
|
||
data: {
|
||
page: _this.page,
|
||
id: _this.coachInfo.id || 0
|
||
},
|
||
method: 'get'
|
||
}).then(res => {
|
||
if (res.code == 1) {
|
||
if (_this.page > 1) {
|
||
_this.list.push(...res.data.list);
|
||
} else {
|
||
_this.list = res.data.list;
|
||
}
|
||
_this.total_count = res.data.total_count;
|
||
}
|
||
}).catch(error => {
|
||
console.log('reportLitsError', error);
|
||
})
|
||
},
|
||
//新增报备
|
||
addReport() {
|
||
let _this = this;
|
||
this.$api.navigate('../add_report/add_report', function(res) {
|
||
res.eventChannel.on('reloadReport', function() {
|
||
_this.clearData();
|
||
});
|
||
})
|
||
},
|
||
//清除数据
|
||
clearData() {
|
||
this.page = 1;
|
||
this.total_count = 1;
|
||
this.list = [];
|
||
}
|
||
},
|
||
onLoad() {
|
||
let eventChannel = this.getOpenerEventChannel();
|
||
let _this = this;
|
||
eventChannel.on('userData', function(params) {
|
||
console.log('params',params);
|
||
_this.coachInfo = params.coachInfo || null;
|
||
_this.getLists();
|
||
});
|
||
},
|
||
onReachBottom() {
|
||
if (this.total_count > this.list.length) {
|
||
this.page = this.page + 1;
|
||
this.getLists();
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.xilu {
|
||
&_item {
|
||
width: 700rpx;
|
||
margin-bottom: 30rpx;
|
||
background: #292B2C;
|
||
border-radius: 20rpx;
|
||
padding: 30rpx 30rpx 20rpx;
|
||
}
|
||
}
|
||
</style> |