building-sign/pagesB/repair/repair.vue

211 lines
5.8 KiB
Vue
Raw Permalink Normal View History

2022-11-18 10:33:37 +00:00
<template>
<view class="pad-x120">
<!-- 头部 -->
2022-12-21 08:26:21 +00:00
<status-nav navBarTitle="补卡确认"></status-nav>
2022-11-18 10:33:37 +00:00
<view class="content" :style="{'padding-top':statusHeight+50+'px'}">
2022-12-21 08:26:21 +00:00
<!-- 导航 -->
<view class="pull-nav" :style="{'top':statusHeight+50+'px'}">
<sub-nav @changeEv="changeEv"></sub-nav>
</view>
<!-- 全选 -->
<view class="choose-all-bg">
2023-01-14 03:15:59 +00:00
<view class="choose-all font26" v-if="status==0 && repairList.length>0">
2022-12-21 08:26:21 +00:00
<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>
2023-01-14 03:15:59 +00:00
<view class="btn color-99 btn-no" @tap="submitAll(0)">退</view>
2022-11-28 06:26:17 +00:00
</view>
2022-11-18 10:33:37 +00:00
</view>
2022-12-21 08:26:21 +00:00
</view>
<!-- 打卡列表 -->
<view class="sign-record sign-record-other bg-white">
2023-01-14 03:15:59 +00:00
<view class="item font26" v-for="(item,index) in repairList" :key="index">
2022-12-21 08:26:21 +00:00
<view class="radio" :class="item.ifcheck?'checked':''" @tap="chooseEv(index)" v-if="status==0"></view>
<view class="info" :class="status==0?'hide':''">
2023-01-14 03:15:59 +00:00
<text>工地{{item.worksite_name}}</text>
2022-12-21 08:26:21 +00:00
<text>姓名{{item.worker_name}}</text>
2023-01-14 03:15:59 +00:00
<text>提交时间{{item.create_time}}</text>
<text>补卡内容{{item.desc}}</text>
2022-11-28 06:26:17 +00:00
</view>
2022-12-21 08:26:21 +00:00
<!-- 待确认 -->
<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>
2022-11-28 06:26:17 +00:00
</view>
2022-12-21 08:26:21 +00:00
<!-- 已确认 -->
<view class="state" :class="item.status==-1?'color-red':''" v-if="item.status==1 || item.status==-1">{{item.status_text}}</view>
2022-11-18 10:33:37 +00:00
</view>
2022-12-21 08:26:21 +00:00
<!-- 加载更多 -->
2023-01-14 03:15:59 +00:00
<view class="more-tips font24">{{repairList.length==total?'没有更多数据了':'下滑获取更多'}}</view>
2022-12-08 10:07:45 +00:00
</view>
2022-11-18 10:33:37 +00:00
</view>
<!-- 尾部 -->
<tabbar :userType="userType" current="2"></tabbar>
2022-11-18 10:33:37 +00:00
</view>
</template>
<script>
2022-12-21 08:26:21 +00:00
import subNav from '@/components/sub-nav/sub-nav.vue';
2022-11-18 10:33:37 +00:00
import tabbar from '@/components/tabbar/tabbar';
export default {
components:{
2022-12-21 08:26:21 +00:00
subNav,
2022-11-18 10:33:37 +00:00
tabbar
},
data() {
return {
statusHeight:uni.getSystemInfoSync().statusBarHeight, //状态栏高度
userType:'director', //账户类型 工人worker 负责人director
2023-01-14 03:15:59 +00:00
repairList:[], //打卡列表
2022-12-21 08:26:21 +00:00
page:1,
size:10,
status:0,
total:0,
isAll:false, //是否全选
ids:'', //选中的id
2022-11-18 10:33:37 +00:00
}
},
2022-12-21 08:26:21 +00:00
onLoad() {
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2023-01-16 07:13:07 +00:00
},
onShow() {
2022-12-21 08:26:21 +00:00
},
onReachBottom() {
2023-01-14 03:15:59 +00:00
if(this.repairList.length<this.total){
2022-12-21 08:26:21 +00:00
this.page++;
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2022-12-21 08:26:21 +00:00
}
},
onPullDownRefresh() {
this.page = 1;
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2022-12-21 08:26:21 +00:00
// 关闭下拉刷新
uni.stopPullDownRefresh();
2022-12-08 10:07:45 +00:00
},
2022-11-18 10:33:37 +00:00
methods: {
2022-12-21 08:26:21 +00:00
// 选择栏目
changeEv(index){
this.status = index;
this.page = 1;
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2022-12-21 08:26:21 +00:00
},
// 选中事件
chooseEv(index) {
2023-01-14 03:15:59 +00:00
this.repairList[index].ifcheck = !this.repairList[index].ifcheck;
let exit = this.repairList.filter(item=>item.ifcheck==false);
2022-12-21 08:26:21 +00:00
if(exit.length>0){
this.isAll = false;
} else {
this.isAll = true;
}
2023-01-14 03:15:59 +00:00
let idsTemparr = this.repairList.filter(item=>{return item.ifcheck==true})
2022-12-21 08:26:21 +00:00
let idsArr = [];
idsTemparr.forEach(item=>{
idsArr.push(item.id)
2022-11-18 10:33:37 +00:00
})
2022-12-21 08:26:21 +00:00
// 选中的id
this.ids = idsArr.join(',');
2022-11-18 10:33:37 +00:00
},
2022-12-21 08:26:21 +00:00
// 全选事件
chooseAll(){
2023-01-14 03:15:59 +00:00
let exit = this.repairList.filter(item=>item.ifcheck==false);
2022-12-21 08:26:21 +00:00
if(exit.length>0){
this.isAll = true;
2023-01-14 03:15:59 +00:00
this.repairList.forEach(item=>item.ifcheck = true);
2022-12-21 08:26:21 +00:00
} else {
this.isAll = false;
2023-01-14 03:15:59 +00:00
this.repairList.forEach(item=>{item.ifcheck = false});
2022-12-08 10:07:45 +00:00
}
2023-01-14 03:15:59 +00:00
let idsTemparr = this.repairList.filter(item=>{return item.ifcheck==true})
2022-12-21 08:26:21 +00:00
let idsArr = [];
idsTemparr.forEach(item=>{
idsArr.push(item.id)
})
// 选中的id
this.ids = idsArr.join(',');
2022-12-08 10:07:45 +00:00
},
2022-12-21 08:26:21 +00:00
// 确认&退回事件
submitEv(id,type){
let params = {
id:id,
type:type
}
2023-01-14 03:15:59 +00:00
this.$requst.post('/api/v1/manager/check-replenish',params).then(res=>{
2022-12-21 08:26:21 +00:00
if(res.code==0){
2022-12-08 10:07:45 +00:00
if(type==0){
this.$toolAll.tools.showToast('已退回');
}else{
this.$toolAll.tools.showToast('已确认');
}
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2022-12-08 10:07:45 +00:00
}
})
},
2022-12-21 08:26:21 +00:00
// 批量确认&退回事件
submitAll(type){
let params = {
id:this.ids,
type:type
}
2023-01-14 03:15:59 +00:00
this.$requst.post('/api/v1/manager/check-replenish',params).then(res=>{
2022-12-21 08:26:21 +00:00
if(res.code==0){
if(type==0){
this.$toolAll.tools.showToast('已退回');
}else{
this.$toolAll.tools.showToast('已确认');
}
2023-01-14 03:15:59 +00:00
// 获取补卡列表
this.getRepairList();
2022-12-21 08:26:21 +00:00
}
})
},
2023-01-14 03:15:59 +00:00
// 获取补卡列表
getRepairList(){
2022-12-21 08:26:21 +00:00
let params = {
page:this.page,
size:this.size,
status:this.status
}
2023-01-14 03:15:59 +00:00
if(this.page==1) this.repairList = [];
this.$requst.post('/api/v1/manager/replenish-list',params).then(res=>{
2022-12-21 08:26:21 +00:00
if(res.code==0){
2023-01-14 03:15:59 +00:00
console.log(res,'补卡列表');
2022-12-21 08:26:21 +00:00
this.total = res.data.total;
2023-01-14 03:15:59 +00:00
let repairArr = [];
2022-12-21 08:26:21 +00:00
res.data.list.forEach(item=>{
let obj = {
id: item.id,
created_at:item.created_at,
status:item.status,
status_text:item.status_text,
2023-01-14 03:15:59 +00:00
worksite_name:item.worksite_name,
2022-12-21 08:26:21 +00:00
worker_name:item.worker_name,
2023-01-14 03:15:59 +00:00
create_time:item.create_time,
type_text:item.type_text,
day_text:item.day_text,
is_statistic:item.is_statistic,
desc: item.desc,
2022-12-21 08:26:21 +00:00
ifcheck:false,
}
2023-01-14 03:15:59 +00:00
repairArr.push(obj);
2022-12-21 08:26:21 +00:00
})
2023-01-14 03:15:59 +00:00
this.repairList = this.repairList.concat(repairArr);
2022-12-21 08:26:21 +00:00
}
})
},
2022-11-18 10:33:37 +00:00
}
}
</script>
<style scoped>
</style>