<template>
|
<view class="box">
|
<scroll-view scroll-x class="box_head">
|
<view class="box_head_list">
|
<view
|
class="box_head_item"
|
:class="{ active: status == '' }"
|
@click="tabsClick('')"
|
>全部</view
|
>
|
<view
|
class="box_head_item"
|
@click="tabsClick('0')"
|
:class="{ active: status == '0' }"
|
>待审核</view
|
>
|
<view
|
class="box_head_item"
|
@click="tabsClick('2')"
|
:class="{ active: status == '2' }"
|
>审核通过</view
|
>
|
<view
|
class="box_head_item"
|
@click="tabsClick('3')"
|
:class="{ active: status == '3' }"
|
>审核驳回</view
|
>
|
</view>
|
</scroll-view>
|
<view class="box_list">
|
<view
|
@click="handleDetail(item.id)"
|
class="box_list_item"
|
v-for="(item, index) in list"
|
:key="index"
|
>
|
<view class="box_list_item_head">
|
<text>{{ item.name }}的劳务入厂申请</text>
|
<text class="loading">{{ statusMap[item.status] }}</text>
|
</view>
|
<view class="box_list_item_nr">
|
<view class="box_list_item_nr_item">
|
<text>被访问人:</text>
|
<text
|
>{{ item.receptMemberDepartment }}-{{
|
item.receptMemberName
|
}}</text
|
>
|
</view>
|
<view class="box_list_item_nr_item">
|
<text>进厂时间:</text>
|
<text>{{ item.starttime }}</text>
|
</view>
|
<view class="box_list_item_nr_item">
|
<text>离厂时间:</text>
|
<text>{{ item.endtime }}</text>
|
</view>
|
<view class="box_list_item_nr_item">
|
<text>来访事由:</text>
|
<text>{{ item.reason }}</text>
|
</view>
|
<view class="box_list_item_nr_x"></view>
|
<view class="box_list_item_nr_text">{{ item.createDate }} 提交</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import { getVisitedRecord } from '@/api'
|
export default {
|
data() {
|
return {
|
pagination: {
|
page: 0,
|
capacity: 10
|
},
|
list: [],
|
total: 0,
|
status: '',
|
|
statusMap: {
|
0: '待审核',
|
1: '已提交',
|
2: '审核通过',
|
3: '审核不通过',
|
4: '取消',
|
5: '下发成功',
|
6: '下发失败',
|
}
|
}
|
},
|
onLoad() {
|
this.getList()
|
},
|
onReachBottom() {
|
if (this.total > 10) {
|
this.getList()
|
}
|
|
},
|
methods: {
|
handleDetail(id) {
|
uni.navigateTo({
|
url: "/pages/appointmentDetails/appointmentDetails?id=" + id
|
})
|
},
|
tabsClick(val) {
|
this.pagination.page = 0
|
this.status = val
|
this.getList()
|
},
|
getList() {
|
const { pagination, status, list } = this
|
pagination.page = pagination.page + 1
|
getVisitedRecord({
|
...pagination,
|
model: {
|
openid: this.$store.state.openId,
|
status
|
},
|
}).then(res => {
|
if (res.data.records.length > 0) {
|
if(pagination.page === 1){
|
this.list = res.data.records
|
}else{
|
this.list = [...list, ...res.data.records]
|
}
|
this.total = res.data.total
|
}
|
})
|
}
|
|
}
|
}
|
</script>
|
<style>
|
page {
|
background-color: #f7f7f7 !important;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.box {
|
width: 100%;
|
.box_head {
|
width: 100%;
|
height: 108rpx;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
background: #ffffff;
|
position: sticky;
|
top: 0;
|
left: 0;
|
.box_head_list {
|
width: 100%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
.active {
|
border: 1rpx solid #279baa !important;
|
color: #279baa !important;
|
}
|
.box_head_item {
|
padding: 0 30rpx;
|
height: 60rpx;
|
line-height: 60rpx;
|
box-sizing: border-box;
|
border-radius: 30rpx;
|
border: 1rpx solid #999999;
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #333333;
|
margin-right: 20rpx;
|
}
|
}
|
}
|
.box_list {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
.box_list_item {
|
width: 100%;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.box_list_item_head {
|
width: 100%;
|
height: 100rpx;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%);
|
border-radius: 8rpx 8rpx 0rpx 0rpx;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
.loading {
|
color: #279baa;
|
}
|
.success {
|
color: #03c68f;
|
}
|
.error {
|
color: #e0312a;
|
}
|
text {
|
&:nth-child(1) {
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
&:nth-child(2) {
|
font-size: 26rpx;
|
font-weight: 400;
|
}
|
}
|
}
|
.box_list_item_nr {
|
padding: 30rpx;
|
width: 100%;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
.box_list_item_nr_x {
|
width: 100%;
|
height: 1rpx;
|
background-color: #e5e5e5;
|
}
|
.box_list_item_nr_text {
|
width: 100%;
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #999999;
|
margin-top: 32rpx;
|
}
|
.box_list_item_nr_item {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
margin-bottom: 20rpx;
|
text {
|
&:nth-child(1) {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
}
|
&:nth-child(2) {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #333333;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
</style>
|