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.

380 lines
10 KiB

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="indexcontent">
<u-navbar :leftText="'驾驶舱'+navbarValue" :safeAreaInsetTop="false" @rightClick="rightClick" :autoBack="true"
:placeholder="true" leftIconColor="#ffffff">
<view class="u-nav-slot" slot="right">
欢迎您审核员
</view>
</u-navbar>
<view class="indexcontent-tab">
<u-tabs :list="list1" :scrollable="false" lineWidth="30" @change="utabschange"
:current='tabscurrent'></u-tabs>
</view>
<scroll-view class="indexcontent-box" @scrolltolower="lowerBottom" scroll-y="true">
<view class="indexcontent-bottom">
<u-search placeholder="请输入搜索内容" v-model="massEventsObj.title" @search="searchSou" @clear="qingkong"
showAction animation @custom="searchSou"></u-search>
<template class="" v-if="contentList.length !=0">
<view class="indexcontentbttom-item" v-for="item in contentList">
<view class="indexcontentbttom-item-left">
<view class="indexcontentbttom-item-left-1 indexcontentbttom-item-left-jiti">
<view class="indexcontentbttom-item-left-1-left">
{{item.msgTypeName}}
</view>
<view class="indexcontentbttom-item-left-1-right">
{{item.title}}
</view>
</view>
<view class="indexcontentbttom-item-left-2 indexcontentbttom-item-left-jiti">
<view class="indexcontentbttom-item-left-1-icon">
<u-icon name="map" size="18" color="#AEBAC8" class="icon"></u-icon>
</view>
<view class="smofontsiez">
{{item.warnFactor}}
</view>
</view>
<view class="indexcontentbttom-item-left-2 indexcontentbttom-item-left-jiti">
<view class="indexcontentbttom-item-left-1-icon ">
<u-icon name="clock" size="18" color="#AEBAC8" class="" class="icon"></u-icon>
</view>
<view class="smofontsiez">
{{item.eventTime}}
</view>
</view>
</view>
<view class="indexcontentbttom-item-rigth" @click="nextblack(item)">
{{tabscurrent==0?'审核':'查看'}}
</view>
</view>
</template>
<u-empty mode="list" v-else>
</u-empty>
</view>
<u-tabbar :value="tabValue" @change="change1" :fixed="true" :placeholder="true" :safeAreaInsetBottom="true">
<u-tabbar-item text="群体事件" name="群体事件-1" :badge="msgTypecount[0].count">
<image class="u-page__item__slot-icon" slot="active-icon" src="@/static/images/contimg/icon-0.png">
</image>
<image class="u-page__item__slot-icon" slot="inactive-icon"
src="@/static/images/contimg/icon-0-0.png"></image>
</u-tabbar-item>
<u-tabbar-item text="同人同诉" name="同人同诉-2" :badge="msgTypecount[1].count">
<image class="u-page__item__slot-icon" slot="active-icon" src="@/static/images/contimg/icon-3.png">
</image>
<image class="u-page__item__slot-icon" slot="inactive-icon"
src="@/static/images/contimg/icon-0-3.png"></image>
</u-tabbar-item>
<u-tabbar-item text="紧急事件" name="紧急事件-3" :badge="msgTypecount[2].count">
<image class="u-page__item__slot-icon" slot="active-icon" src="@/static/images/contimg/icon-1.png">
</image>
<image class="u-page__item__slot-icon" slot="inactive-icon"
src="@/static/images/contimg/icon-0-1.png"></image>
</u-tabbar-item>
<u-tabbar-item text="重点人员" name="重点人员-4" :badge="msgTypecount[3].count">
<image class="u-page__item__slot-icon" slot="active-icon" src="@/static/images/contimg/icon-4.png">
</image>
<image class="u-page__item__slot-icon" slot="inactive-icon"
src="@/static/images/contimg/icon-0-4.png"></image>
</u-tabbar-item>
<u-tabbar-item text="一人多诉" name="一人多诉-5" :badge="msgTypecount[4].count">
<image class="u-page__item__slot-icon" slot="active-icon" src="@/static/images/contimg/icon-2.png">
</image>
<image class="u-page__item__slot-icon" slot="inactive-icon"
src="@/static/images/contimg/icon-0-2.png"></image>
</u-tabbar-item>
</u-tabbar>
</scroll-view>
</view>
</template>
<script>
import {
massEventsList,
eventPageCount,
fiveEventCount
} from '@/api/system/ApiList.js'
export default {
data() {
return {
tabscurrent: 0,
navbarValue: "群体事件",
tabValue: "群体事件-1",
list1: [{
name: '待审核',
badge: {
value: 5,
}
}, {
name: '已上报',
badge: {
value: 0,
}
}, {
name: '重训练',
badge: {
value: 0,
}
}, ],
massEventsObj: {
msgType: "1", //事件类型编码【群体事件】1【同人同诉】2【紧急事件】3【重点人员】4【一人多诉】5
isReport: null, //为未通过 2为已办结 3为作废
size: 10,
current: 1,
title: ""
},
pagesLogin: "",
contentList: [],
msgTypecount: [{count:0},{count:0},{count:0},{count:0},{count:0},]
}
},
methods: {
// 顶部导航栏
utabschange(e) {
this.tabscurrent = e.index
this.massEventsObj.current = 1
this.massEventsObj.title = ""
this.getList()
console.log(e);
},
//搜索
searchSou() {
this.massEventsObj.current = 1
this.getList()
},
//清空
qingkong() {
this.massEventsObj.title = ""
this.getList()
},
// 跳转
nextblack(item) {
console.log(item);
//navbarValue 头部标题
//tabscurrent 区分待审核0, 已上报1 重训练2
// item
uni.navigateTo({
url: `/views/jiashicangshenhe/jiashicangshenhe?navbarValue=${this.navbarValue}&tabscurrent=${this.tabscurrent}&innerEventId=${item.innerEventId}`
})
},
//切换
change1(e) {
this.navbarValue = e.split("-")[0]
// 标题
this.massEventsObj.title = ""
// 类型
this.massEventsObj.msgType = e.split("-")[1]
// 页码
this.massEventsObj.current = 1
// 头部类型
this.massEventsObj.isReport = null
// tab
this.tabValue = e
// 头部归位
this.tabscurrent = 0
this.geteventPageCount()
this.getList()
},
// 触底刷新
//触底加载
lowerBottom() {
console.log("触底加载")
if (this.massEventsObj.current < this.pagesLogin) {
++this.massEventsObj.current
this.getList("触底")
} else {
console.log("到底了");
uni.showToast({
title: '暂无更多',
icon: 'none',
duration: 1000
});
}
},
//获取list
getList(type) {
if (this.tabscurrent == 0) {
this.massEventsObj.isReport = null
this.massEventsObj.toBeReviewed = 0
} else {
this.massEventsObj.toBeReviewed = null
this.massEventsObj.isReport = this.tabscurrent
}
massEventsList(this.massEventsObj).then(res => {
if (type == "触底") {
this.contentList = this.contentList.concat(res.data.records)
this.pagesLogin = res.data.pages
} else {
this.contentList = res.data.records
this.pagesLogin = res.data.pages
}
})
},
// 获取待审核数量
geteventPageCount() {
eventPageCount({
msgType: this.massEventsObj.msgType
}).then(res => {
console.log(res);
this.list1[0].badge.value = res.data
})
fiveEventCount().then(res => {
this.msgTypecount = res.data
this.msgTypecount = this.msgTypecount.sort((a, b) => {
return a.msgType - b.msgType;
});
})
}
},
onLoad: function() {
this.getList()
this.geteventPageCount()
this.$store.dispatch("Deletestate")
},
onShow() {
this.getList()
this.geteventPageCount()
this.$store.dispatch("Deletestate")
}
}
</script>
<style lang="scss" scoped>
.indexcontent {
width: 100%;
.indexcontent-tab {
width: 100%;
height: 85rpx;
background: #ffffff;
position: sticky;
top: 0;
left: 0;
}
.indexcontent-box {
padding: 20rpx 20rpx 0 20rpx;
max-height: 85vh;
overflow: auto;
.indexcontent-bottom {
width: 100%;
padding: 20rpx;
border-radius: 10rpx;
background: #ffffff;
.indexcontentbttom-item {
padding: 25rpx;
width: 100%;
background: #f7f7f7fa;
border-radius: 10rpx;
display: grid;
grid-template-columns: 85% 15%;
margin: 20rpx 0;
.indexcontentbttom-item-left {
.indexcontentbttom-item-left-jiti {
width: 100%;
display: grid;
grid-template-columns: 13% auto;
align-items: center;
/* 设置垂直居中对齐 */
margin-bottom: 10rpx;
.indexcontentbttom-item-left-1-icon {
width: 60rpx;
height: 40rpx;
display: flex;
align-items: center;
justify-content: center;
color: #AEBAC8;
}
.smofontsiez {
color: #AEBAC8;
font-size: 25rpx;
}
}
.indexcontentbttom-item-left-1 {
.indexcontentbttom-item-left-1-left {
width: 60rpx;
height: 60rpx;
padding-top: 6rpx;
border-radius: 6rpx;
font-weight: bold;
font-size: 25rpx;
color: #F43147;
background-color: #f4c9c5;
line-height: 27rpx;
text-align: center;
}
.indexcontentbttom-item-left-1-right {
text-align: left;
font-weight: 500;
font-size: 30rpx;
font-weight: bold;
color: #35393D;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
}
}
}
.indexcontentbttom-item-rigth {
width: 85rpx;
height: 85rpx;
border-radius: 50%;
color: #ffffff;
text-align: center;
line-height: 85rpx;
background: #4379D6;
margin-top: 60rpx;
box-shadow: 0rpx 0rpx 19rpx 0rpx rgba(67, 121, 214, 0.3);
}
}
}
}
}
.u-nav-slot {
font-size: 22rpx;
}
.u-page__item__slot-icon {
width: 50rpx;
height: 50rpx;
}
// /deep/.u-tabs__wrapper__nav__item {
// position: relative;
// .u-badge--not-dot {
// position: absolute;
// top: 10rpx;
// right: 50rpx;
// }
// }
/deep/.u-tabbar__content {
height: 120rpx;
}
</style>