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.

209 lines
5.1 KiB

3 years ago
<template>
<view class="containers">
<view class="dbbtns justify-between">
3 years ago
<text v-for="item in btnList" :class="{'active':btnActive===item.value}" @click="btnActiveList(item.value)">
3 years ago
{{item.label}}
</text>
<!-- <text >已完成</text>
<text>待完成</text> -->
</view>
<view class="db">
<view class="dblist">
<view>
<view v-for="(item, index) in list" :key="index">
<view class="dbitem" @click="toDetail(item.id)">
<text class="dbtype">{{item.type_text}}</text>
<view class="dbstatus bm">
3 years ago
<view class="justify-start">
{{item.audit_status_text}}
2 years ago
<button class="signBtn" @click.stop='signPic(item.id)' type="primary" v-if="nowadminID==item.accompany_id&&item.audit_status==3&&!item.accept_admin_sign"></button>
3 years ago
</view>
3 years ago
<view>
<text style="margin-right:10px">访问时间{{item.date}}</text>
<text>{{item.visit_time.start_time}}{{item.visit_time.end_time}}</text>
</view>
</view>
<view class="dbinfo justify-left">
<view>
3 years ago
<view>被访人<text>{{item.accept_admin.name}}</text></view>
<view>部门<text>{{item.accept_admin.department.name}}</text></view>
<view>访问区域<text>{{item.visit_area.name}}</text></view>
3 years ago
</view>
<view>
<view>拜访人<text>{{item.name}}</text></view>
<view>电话{{item.mobile}}</view>
<view v-if="item.type=='1'"><text>{{item.reason}}</text></view>
<view v-else-if="item.type=='3'">车牌<text>{{item.plate}}</text></view>
</view>
2 years ago
</view>
<view class="company">
<view>
拜访公司<text>{{item.company_name?item.company_name:''}}</text>
</view>
3 years ago
</view>
<view class="dblong">
<view>长期访客申请<text>{{item.long_time==0?'否':'是'}}</text></view>
2 years ago
<text v-if="item.long_time==1">访{{item.start_date?item.start_date:''}} {{item.end_date?item.end_date:''}}</text>
3 years ago
</view>
</view>
</view>
</view>
3 years ago
<view v-if="isEmpty">
<u-empty mode="data">
</u-empty>
</view>
3 years ago
</view>
</view>
</view>
</template>
<script>
import '@/static/css/bd.css'
export default {
data() {
return {
3 years ago
btnActive: "",
nowadminID:'',
3 years ago
btnList: [{
label: "全部",
3 years ago
value: ''
3 years ago
},
{
label: "已完成",
3 years ago
value: 4
3 years ago
},
{
label: "待完成",
3 years ago
value: 0
3 years ago
}
],
list: [],
select: {
page: 1,
page_size: 5,
total: 0,
3 years ago
audit_status: '',
my_self:0,
my_audit:0,
my_accept_admin:0
3 years ago
},
3 years ago
isEmpty:false,
recordType:""
3 years ago
}
},
3 years ago
onLoad(options) {
this.recordType = options.type
this.select.my_audit = this.recordType=='mycheck'?1:0
this.select.my_self = this.recordType=='call'?1:0
3 years ago
this.select.my_accept_admin = this.recordType=='myrecord'?1:0
this.nowadminID = uni.getStorageSync('userInfo_Bd').id
console.log("this.nowadminID",this.nowadminID)
3 years ago
this.loadList()
},
onPullDownRefresh() {
this.select.page = 1
this.loadList()
uni.stopPullDownRefresh();
},
//上拉加载
onReachBottom() {
//当当前列表数据长度>=数据总长度时
if (this.list.length >= this.select.total) {
//提示
uni.showToast({
title: '没有更多了',
duration: 1000,
icon: 'none'
})
} else {
//否则,页码+1继续请求列表
this.select.page++
this.loadList()
}
},
3 years ago
methods: {
signPic(id){
uni.navigateTo({
url:'/pages/bd/signpic?id='+id
})
},
3 years ago
toDetail(id) {
3 years ago
uni.navigateTo({
3 years ago
url: '/pages/bd/bddetail?id=' + id
3 years ago
})
},
3 years ago
btnActiveList(val) {
this.btnActive = val
this.select.audit_status = val
this.select.page = 1
this.list = []
this.isEmpty = false
this.loadList()
},
3 years ago
loadList() {
let that = this
this.util.request({
api: '/api/admin/visit/index',
method: "get",
3 years ago
requestType: "bd",
3 years ago
data: {
...this.select,
3 years ago
page: this.select.page,
3 years ago
// page_size: this.select.page_size,
// audit_status: this.select.audit_status
3 years ago
},
3 years ago
utilSuccess: function(res) {
if(res.total==0){
that.isEmpty=true
}
3 years ago
if (that.select.page == 1) {
that.list = res.data
} else {
that.list.push(...res.data)
}
that.select.total = res.total
},
utilFail: function(res) {
uni.showToast({
3 years ago
title: res,
3 years ago
duration: 2000,
icon: 'none'
})
}
})
},
}
}
</script>
<style scoped>
.containers {
background-color: #eceefe;
min-height: 100vh;
/* padding-top:20rpx; */
3 years ago
}
/deep/ .u-empty{
min-height: 60vh;
3 years ago
}
.signBtn{
background-color: #044ed7;
padding: 0 30rpx;
margin-left: 40rpx;
font-size: 32rpx;
line-height: 2.3;
2 years ago
}
.company{
padding-bottom:30rpx;
margin-top:-10rpx;
}
.company text{
color: #8f9596;
3 years ago
}
</style>