|
|
@@ -25,25 +25,32 @@
|
|
|
<van-row>
|
|
|
<van-col span="24">
|
|
|
<van-tabs v-model="activeTab" @click="tabActiveHandler">
|
|
|
- <van-tab name="0" title="录像检测" badge="10"></van-tab>
|
|
|
- <van-tab name="1" title="视频质量诊断"></van-tab>
|
|
|
- <van-tab name="3" title="磁盘空间"></van-tab>
|
|
|
+ <van-tab name="videoCheck" title="录像检测" :badge="videoCheckBadge"></van-tab>
|
|
|
+ <van-tab name="videoDiagnosis" title="视频质量诊断" :badge="videoDiagnosisBadge"></van-tab>
|
|
|
+ <van-tab name="dvrDisk" title="磁盘空间" :badge="dvrDiskBadge"></van-tab>
|
|
|
</van-tabs>
|
|
|
</van-col>
|
|
|
- <van-col span="8" class="customVanCell">
|
|
|
- <van-cell title="录像机总数:" value="3" />
|
|
|
+ <van-col v-if="activeTab!='dvrDisk'" span="8" class="customVanCell">
|
|
|
+ <van-cell title="录像机总数:" :value="dvrTotalCount" />
|
|
|
</van-col>
|
|
|
- <van-col span="8" class="customVanCell">
|
|
|
- <van-cell title="通道总数:" value="80" />
|
|
|
+ <van-col v-if="activeTab!='dvrDisk'" span="8" class="customVanCell">
|
|
|
+ <van-cell title="通道总数:" :value="channelTotalCount" />
|
|
|
</van-col>
|
|
|
- <van-col span="8" class="customVanCell">
|
|
|
- <van-cell title="异常总数:" value="2" />
|
|
|
+ <van-col v-if="activeTab!='dvrDisk'" span="8" class="customVanCell">
|
|
|
+ <van-cell title="异常总数:" :value="exChannelCount" />
|
|
|
+ </van-col>
|
|
|
+ <van-col v-if="activeTab =='dvrDisk'" span="12" class="customVanCell">
|
|
|
+ <van-cell title="硬盘总数:" :value="dvrDiskTotalCount" />
|
|
|
+ </van-col>
|
|
|
+ <van-col v-if="activeTab =='dvrDisk'" span="12" class="customVanCell">
|
|
|
+ <van-cell title="异常总数:" :value="exDiskCount" />
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
<div class="container">
|
|
|
- <k-list :list="list" :params="search" :auto="false" ref="list" @load="reLoadData">
|
|
|
+ <k-list :list="smartOprationlist" :params="search" :auto="false" ref="list" @load="reLoadData">
|
|
|
<template slot-scope="{ data }">
|
|
|
- <item :data="data" :defaultExpanded="!search.checkSub"></item>
|
|
|
+ <disk-item v-if="activeTab =='dvrDisk'" :data="data" :defaultExpanded="!search.checkSub"></disk-item>
|
|
|
+ <item v-else :data="data" :defaultExpanded="!search.checkSub"></item>
|
|
|
</template>
|
|
|
</k-list>
|
|
|
</div>
|
|
|
@@ -54,23 +61,36 @@
|
|
|
import NavBar from '@/components/NavBar'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import { deptTreeList } from '@/api/public'
|
|
|
-import { list } from '@/api/iot/videoDiagnosis.js'
|
|
|
+import { list,smartOprationlist,getSmartOprationBadge } from '@/api/iot/videoDiagnosis.js'
|
|
|
import KList from '@/components/list/index.vue'
|
|
|
import Item from './components/item.vue'
|
|
|
+import DiskItem from './components/diskItem.vue'
|
|
|
import OrgTree from '@/components/orgTree'
|
|
|
export default {
|
|
|
- components: { NavBar, KList, Item, OrgTree },
|
|
|
+ components: { NavBar, KList, Item, OrgTree,DiskItem },
|
|
|
name:'iot_smartOpration',
|
|
|
data() {
|
|
|
return {
|
|
|
- activeTab:"0",
|
|
|
+ activeTab:"videoCheck",
|
|
|
search: {
|
|
|
orgId: this.orgId,
|
|
|
checkSub: true,
|
|
|
state: null,
|
|
|
pageNum: 1,
|
|
|
- pageSize: 10
|
|
|
+ pageSize: 10,
|
|
|
+ activeTab:"videoCheck",
|
|
|
},
|
|
|
+ videoCheckBadge:null,
|
|
|
+ videoDiagnosisBadge:null,
|
|
|
+ dvrDiskBadge:null,
|
|
|
+
|
|
|
+ dvrTotalCount:null,
|
|
|
+ channelTotalCount:null,
|
|
|
+ exChannelCount:null,
|
|
|
+
|
|
|
+ dvrDiskTotalCount:null,
|
|
|
+ exDiskCount:null,
|
|
|
+
|
|
|
showStatus:false,
|
|
|
defaultStatus:'全部',
|
|
|
dicts: ["app_video_diagnosis_status"]
|
|
|
@@ -80,8 +100,8 @@ export default {
|
|
|
created() {},
|
|
|
mounted() {
|
|
|
this.search.orgId = this.orgId
|
|
|
- },
|
|
|
-
|
|
|
+ this.getBadge();
|
|
|
+ },
|
|
|
computed: {
|
|
|
...mapGetters(['orgName', 'orgId', 'dictionary']),
|
|
|
statusOptions() {
|
|
|
@@ -101,8 +121,9 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
list,
|
|
|
+ smartOprationlist,
|
|
|
tabActiveHandler(){
|
|
|
-
|
|
|
+ this.search.activeTab=this.activeTab;
|
|
|
},
|
|
|
// refreshData(){
|
|
|
// this.search.pageNum=0;
|
|
|
@@ -124,7 +145,66 @@ export default {
|
|
|
},
|
|
|
reLoadData(data)
|
|
|
{
|
|
|
- console.log("reLoadData",data)
|
|
|
+ console.log("reLoadData",data)
|
|
|
+ if(this.activeTab=="dvrDisk"){
|
|
|
+ // this.dvrDiskTotalCount =data.length;
|
|
|
+ let template =0;
|
|
|
+ let templateEx =0;
|
|
|
+ data.forEach(x=>{
|
|
|
+ let ex= x.diskInfos.filter(x=> x.state===1);
|
|
|
+ templateEx=templateEx+ex.length;
|
|
|
+ template=template+x.diskInfos.length;
|
|
|
+ })
|
|
|
+ this.dvrDiskTotalCount =template;
|
|
|
+ this.exDiskCount=templateEx;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.dvrTotalCount=data.length;
|
|
|
+ if(data.length>0){
|
|
|
+ let template =0;
|
|
|
+ let templateEx =0;
|
|
|
+ data.forEach(x=>{
|
|
|
+ let ex= x.channels.filter(x=> x.state===1);
|
|
|
+ templateEx=templateEx+ex.length;
|
|
|
+ template=template+x.channels.length;
|
|
|
+ })
|
|
|
+ this.channelTotalCount =template;
|
|
|
+ this.exChannelCount=templateEx;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ this.channelTotalCount =0;
|
|
|
+ this.exChannelCount=0;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ console.log("reLoadData1", this.dvrTotalCount)
|
|
|
+ this.$forceUpdate()
|
|
|
+ },
|
|
|
+ getBadge()
|
|
|
+ {
|
|
|
+ getSmartOprationBadge(this.orgId).then(r => {
|
|
|
+ console.log("getSmartOprationBadge",r)
|
|
|
+ if (r.videoCheckBadge) {
|
|
|
+ this.videoCheckBadge=r.videoCheckBadge> 99 ? '99+' : r.videoCheckBadge;
|
|
|
+ } else {
|
|
|
+ this.videoCheckBadge=null;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (r.videoDiagnosisBadge) {
|
|
|
+ this.videoDiagnosisBadge=r.videoDiagnosisBadge> 99 ? '99+' : r.videoDiagnosisBadge;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.videoDiagnosisBadge=null;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (r.dvrDiskBadge) {
|
|
|
+ this.dvrDiskBadge=r.dvrDiskBadge> 99 ? '99+' : r.dvrDiskBadge;
|
|
|
+ } else {
|
|
|
+ this.dvrDiskBadge=null;
|
|
|
+ }
|
|
|
+ this.$forceUpdate()
|
|
|
+ })
|
|
|
}
|
|
|
// onStatusChanged(state) {
|
|
|
// if(this.search.state===state){
|