180 lines
5.0 KiB
Vue
180 lines
5.0 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="dateReport">
|
|||
|
|
<view class="pd20">
|
|||
|
|
<uni-segmented-control
|
|||
|
|
:current="curSub"
|
|||
|
|
class="subsection"
|
|||
|
|
active-color="#376cf3"
|
|||
|
|
:values="subsectionList"
|
|||
|
|
@clickItem="sectionChange"
|
|||
|
|
/>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 申请报表 -->
|
|||
|
|
<view v-if="curSub == 0">
|
|||
|
|
<!-- apply -->
|
|||
|
|
<Apply :navHeight="navHeight"/>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 申请记录 -->
|
|||
|
|
<view v-if="curSub == 1">
|
|||
|
|
<view
|
|||
|
|
class="record event-list"
|
|||
|
|
v-if="eventList.length != 0"
|
|||
|
|
:style="{ height: 'calc(100vh - ' + (navHeight + 56) + 'px)', overflow: 'auto' }"
|
|||
|
|
>
|
|||
|
|
<!-- 循环渲染事件项 -->
|
|||
|
|
<uni-card class="event-item" :class="item.type" v-for="(item, index) in eventList" :key="index">
|
|||
|
|
<view class="title" :class="item.status == 1 ? 'completed' : 'incomplete'">
|
|||
|
|
<view> {{ item.status == 1 ? '已完成' : '未完成' }} </view>
|
|||
|
|
</view>
|
|||
|
|
<!-- 头部:图标 + 信息 + 操作 -->
|
|||
|
|
<view class="event-header">
|
|||
|
|
<view class="event-info">
|
|||
|
|
<view class="event-title">
|
|||
|
|
<text class="event-id">{{ item.id }}</text>
|
|||
|
|
<text class="event-tags">{{ item.tag }}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<!-- 详情区域 -->
|
|||
|
|
<view class="event-detail">
|
|||
|
|
<text>申请人:xxx</text>
|
|||
|
|
<text>电话号码:18888888888</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="downloadReport">
|
|||
|
|
<!-- <u-icon :name="item.status == 1 ? 'download' : 'upload'" color="#376cf3" size="40"></u-icon> -->
|
|||
|
|
<uni-icons
|
|||
|
|
:type="item.status == 1 ? 'download' : 'upload'"
|
|||
|
|
size="16"
|
|||
|
|
color="#376cf3"
|
|||
|
|
></uni-icons>
|
|||
|
|
|
|||
|
|
{{ item.status == 1 ? '下载报告' : '生成报告' }}
|
|||
|
|
</view>
|
|||
|
|
</uni-card>
|
|||
|
|
<uni-load-more :status="status"></uni-load-more>
|
|||
|
|
</view>
|
|||
|
|
<Cn-empty v-else></Cn-empty>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
<script>
|
|||
|
|
import Apply from './apply.vue'
|
|||
|
|
export default {
|
|||
|
|
components: { Apply },
|
|||
|
|
props: {
|
|||
|
|
indexList: {
|
|||
|
|
type: Array,
|
|||
|
|
default: () => [],
|
|||
|
|
},
|
|||
|
|
total: {
|
|||
|
|
type: Number,
|
|||
|
|
default: 0,
|
|||
|
|
},
|
|||
|
|
// status: {
|
|||
|
|
// type: String,
|
|||
|
|
// default: 'more',
|
|||
|
|
// },
|
|||
|
|
navHeight: {
|
|||
|
|
type: Number,
|
|||
|
|
default: 0,
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
value: ['0'],
|
|||
|
|
content: 123,
|
|||
|
|
curSub: 0,
|
|||
|
|
subsectionList: ['申请报表', '申请记录'],
|
|||
|
|
form: {
|
|||
|
|
type: 0,
|
|||
|
|
lindId: '',
|
|||
|
|
},
|
|||
|
|
status: 'noMore',
|
|||
|
|
eventList: [
|
|||
|
|
{
|
|||
|
|
id: '测试监测点',
|
|||
|
|
tag: '2026-01-23至2026-01-23',
|
|||
|
|
status: '1',
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: '测试监测点',
|
|||
|
|
tag: '2026-01-23至2026-01-23',
|
|||
|
|
status: '0',
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
created() {},
|
|||
|
|
mounted() {},
|
|||
|
|
computed: {},
|
|||
|
|
methods: {
|
|||
|
|
scrolltolower() {
|
|||
|
|
this.$emit('scrolltolower')
|
|||
|
|
},
|
|||
|
|
getHeight() {},
|
|||
|
|
|
|||
|
|
sectionChange(index) {
|
|||
|
|
this.curSub = index.currentIndex
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
watch: {},
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
@import '@/pages/message1/index.scss';
|
|||
|
|
.event-title {
|
|||
|
|
justify-content: space-between;
|
|||
|
|
}
|
|||
|
|
.event-tags {
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.event-detail {
|
|||
|
|
display: grid;
|
|||
|
|
grid-template-columns: 1fr 1fr;
|
|||
|
|
}
|
|||
|
|
.downloadReport {
|
|||
|
|
width: 100%;
|
|||
|
|
background: #376cf320;
|
|||
|
|
height: 60rpx;
|
|||
|
|
line-height: 60rpx;
|
|||
|
|
color: #376cf3;
|
|||
|
|
font-weight: 600;
|
|||
|
|
border-radius: 15rpx;
|
|||
|
|
margin-top: 10rpx;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.title {
|
|||
|
|
position: absolute;
|
|||
|
|
left: 0px;
|
|||
|
|
width: calc(100% - 36rpx);
|
|||
|
|
// margin: 0 10px;
|
|||
|
|
top: 0;
|
|||
|
|
border-radius: 4px 4px 0 0;
|
|||
|
|
padding: 2px 10px;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
font-weight: 600px;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
font-weight: 700;
|
|||
|
|
}
|
|||
|
|
.completed {
|
|||
|
|
background: #e1f3d8;
|
|||
|
|
color: #67c23a;
|
|||
|
|
}
|
|||
|
|
.incomplete {
|
|||
|
|
background: #fde2e2;
|
|||
|
|
color: #f56c6c;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/deep/ .record {
|
|||
|
|
.uni-card__content {
|
|||
|
|
padding: 55rpx 20rpx 20rpx !important;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|