building-sign/pagesB/quitApply/quitApply.vue

208 lines
5.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="pad-x120">
<!-- 头部 -->
<status-nav :ifReturn="true" navBarTitle="离职审核"></status-nav>
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
<sub-nav @changeEv="changeEv"></sub-nav>
</view>
<!-- 全选 -->
<view class="choose-all-bg">
<view class="choose-all font26" v-if="status==0 && quitApplyList.length>0">
<view class="radio" :class="isAll?'checked':''" @tap="chooseAll"></view>
<view class="title">全选</view>
<view class="choose-all-btns font24" v-if="ids!==''">
<view class="btn color-blue" @tap="submitAll(1)">一键确认</view>
<view class="btn color-99 btn-no" @tap="submitAll(0)">一键退回</view>
</view>
</view>
</view>
<!-- 打卡列表 -->
<view class="sign-record sign-record-other bg-white">
<view class="item font26" v-for="(item,index) in quitApplyList" :key="index">
<view class="radio" :class="item.ifcheck?'checked':''" @tap="chooseEv(index)" v-if="status==0"></view>
<view class="info" :class="status==0?'hide':''">
<text>姓名{{item.real_name}}</text>
<text>技术岗位{{item.position_name}}</text>
<text>入职工地{{item.worksite_name}}</text>
<text>入职时间{{item.work_at}}</text>
<text>申请时间{{item.created_at}}</text>
</view>
<!-- 待确认 -->
<view class="examine-btns font24" v-if="item.status==0">
<view class="btn color-blue" @tap="submitEv(item.id,1)"></view>
<view class="btn color-99" @tap="submitEv(item.id,0)">退</view>
</view>
<!-- -->
<view class="state" :class="item.status==-1?'color-red':''" v-if="item.status==1 || item.status==-1">{{item.status==-1?'不通过':'已确认'}}</view>
</view>
<!-- 加载更多 -->
<view class="more-tips font24">{{quitApplyList.length==total?'没有更多数据了':'下滑获取更多'}}</view>
</view>
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="2"></tabbar>
</view>
</template>
<script>
import subNav from '@/components/sub-nav/sub-nav.vue';
import tabbar from '@/components/tabbar/tabbar';
export default {
components:{
subNav,
tabbar
},
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //状态栏高度
userType:'director', //账户类型 工人worker 负责人director
quitApplyList:[], //离职列表
page:1,
size:10,
status:0,
total:0,
isAll:false, //是否全选
ids:'', //选中的id
}
},
onLoad() {
},
onShow() {
// 获取离职列表
this.getQuitApplyList();
},
onReachBottom() {
if(this.quitApplyList.length<this.total){
this.page++;
//
this.getQuitApplyList();
}
},
onPullDownRefresh() {
this.page = 1;
//
this.getQuitApplyList();
//
uni.stopPullDownRefresh();
},
methods: {
//
changeEv(index){
this.status = index;
this.page = 1;
//
this.getQuitApplyList();
},
//
chooseEv(index) {
this.quitApplyList[index].ifcheck = !this.quitApplyList[index].ifcheck;
let exit = this.quitApplyList.filter(item=>item.ifcheck==false);
if(exit.length>0){
this.isAll = false;
} else {
this.isAll = true;
}
let idsTemparr = this.quitApplyList.filter(item=>{return item.ifcheck==true})
let idsArr = [];
idsTemparr.forEach(item=>{
idsArr.push(item.id)
})
// 选中的id
this.ids = idsArr.join(',');
},
// 全选事件
chooseAll(){
let exit = this.quitApplyList.filter(item=>item.ifcheck==false);
if(exit.length>0){
this.isAll = true;
this.quitApplyList.forEach(item=>item.ifcheck = true);
} else {
this.isAll = false;
this.quitApplyList.forEach(item=>{item.ifcheck = false});
}
let idsTemparr = this.quitApplyList.filter(item=>{return item.ifcheck==true})
let idsArr = [];
idsTemparr.forEach(item=>{
idsArr.push(item.id)
})
// 选中的id
this.ids = idsArr.join(',');
},
// 确认&退回事件
submitEv(id,type){
let params = {
id:id,
type:type
}
this.$requst.post('/api/v1/manager/check-dimission',params).then(res=>{
if(res.code==0){
if(type==0){
this.$toolAll.tools.showToast('已退回');
}else{
this.$toolAll.tools.showToast('已确认');
}
// 获取离职列表
this.getQuitApplyList();
}
})
},
// 批量确认&退回事件
submitAll(type){
let params = {
id:this.ids,
type:type
}
this.$requst.post('/api/v1/manager/check-dimission',params).then(res=>{
if(res.code==0){
if(type==0){
this.$toolAll.tools.showToast('已退回');
}else{
this.$toolAll.tools.showToast('已确认');
}
// 获取离职列表
this.getQuitApplyList();
}
})
},
// 获取离职列表
getQuitApplyList(){
let params = {
page:this.page,
size:this.size,
status:this.status
}
if(this.page==1) this.quitApplyList = [];
this.$requst.post('/api/v1/manager/dimission-check-list',params).then(res=>{
if(res.code==0){
console.log(res,'离职列表');
this.total = res.data.total;
let quitApplyArr = [];
res.data.list.forEach(item=>{
let obj = {
id: item.id,
created_at:item.created_at,
status:item.status,
worksite_name: item.worksite_name,
real_name:item.real_name,
work_at: item.work_at,
position_name: item.position_name,
ifcheck:false,
}
quitApplyArr.push(obj);
})
this.quitApplyList = this.quitApplyList.concat(quitApplyArr);
}
})
},
}
}
</script>
<style scoped>
</style>