|
|
@ -183,7 +183,7 @@ |
|
|
|
<li> |
|
|
|
<div class="row-item"> |
|
|
|
<div class="svg-box"> |
|
|
|
<svg-icon icon-class="danganzongliang" class-name="card-panel-icon" /> |
|
|
|
<svg-icon icon-class="guancangzongliang" class-name="card-panel-icon" /> |
|
|
|
</div> |
|
|
|
<span>馆藏总量</span> |
|
|
|
</div> |
|
|
@ -195,23 +195,23 @@ |
|
|
|
<li> |
|
|
|
<div class="row-item"> |
|
|
|
<div class="svg-box"> |
|
|
|
<svg-icon icon-class="zaijieshuliang" class-name="card-panel-icon" /> |
|
|
|
<svg-icon icon-class="zaijie" class-name="card-panel-icon" /> |
|
|
|
</div> |
|
|
|
<span>在借数量</span> |
|
|
|
<span>文件数量</span> |
|
|
|
</div> |
|
|
|
<div class="card-panel-text"> |
|
|
|
<count-to :start-val="0" :end-val="lendingNum" :duration="3200" class="row-num" /> |
|
|
|
<count-to :start-val="0" :end-val="filesNum" :duration="3200" class="row-num" /> |
|
|
|
</div> |
|
|
|
</li> |
|
|
|
<li> |
|
|
|
<div class="row-item"> |
|
|
|
<div class="svg-box"> |
|
|
|
<svg-icon icon-class="danganhezongliang" class-name="card-panel-icon" /> |
|
|
|
<svg-icon icon-class="zaiku" class-name="card-panel-icon" /> |
|
|
|
</div> |
|
|
|
<span>在库数量</span> |
|
|
|
<span>案卷数量</span> |
|
|
|
</div> |
|
|
|
<div class="card-panel-text"> |
|
|
|
<count-to :start-val="0" :end-val="storeNum" :duration="3200" class="row-num" /> |
|
|
|
<count-to :start-val="0" :end-val="archivesNum" :duration="3200" class="row-num" /> |
|
|
|
</div> |
|
|
|
</li> |
|
|
|
</ul> |
|
|
@ -246,7 +246,7 @@ |
|
|
|
<span>离线设备</span> |
|
|
|
</div> |
|
|
|
<div class="card-panel-text"> |
|
|
|
<count-to :start-val="0" :end-val="onlineDevNumL" :duration="3200" class="row-num" /> |
|
|
|
<count-to :start-val="0" :end-val="offDevNum" :duration="3200" class="row-num" /> |
|
|
|
</div> |
|
|
|
</li> |
|
|
|
</ul> |
|
|
@ -298,8 +298,6 @@ |
|
|
|
<warehouse-warning :height="'calc(100% - 38px)'" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 摄像头视频 --> |
|
|
|
<Video ref="camera" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
@ -307,7 +305,7 @@ |
|
|
|
import { getCurrentTime } from '@/utils/index' |
|
|
|
import typePie from '@/views/components/echarts/typePie.vue' |
|
|
|
import lendAcross from '@/views/components/echarts/lendAcross.vue' |
|
|
|
import Video from '@/views/storeManage/warehouse3D/module/video' |
|
|
|
// import Video from '@/views/storeManage/warehouse3D/module/video' |
|
|
|
import WarehouseWarning from '@/views/components/WarehouseWarning' |
|
|
|
import SecurityDoor from '@/views/components/SecurityDoor' |
|
|
|
import displayConfigApi from '@/api/storeManage/displayConfig' |
|
|
@ -315,13 +313,16 @@ import thirdApi from '@/api/thirdApi' |
|
|
|
import { statisticsCrud } from '@/views/system/archiveStatistics/mixins/statistics' |
|
|
|
import NumFlip from './module/numFlip.vue' |
|
|
|
import CountTo from 'vue-count-to' |
|
|
|
|
|
|
|
import { getDayYearBorrowNum } from '@/api/archivesManage/lendManage' |
|
|
|
import { getDeviceList } from '@/api/storeManage/deviceManage/device' |
|
|
|
import { getOnlineDevice } from '@/api/home/device' |
|
|
|
import { FetchGetArchivesNum, FetchInitArchivesTypeNum } from '@/api/archivesManage/statistics' |
|
|
|
export default { |
|
|
|
name: 'EnvironmentalScreen', |
|
|
|
components: { |
|
|
|
WarehouseWarning, |
|
|
|
SecurityDoor, |
|
|
|
Video, |
|
|
|
// Video, |
|
|
|
lendAcross, |
|
|
|
typePie, |
|
|
|
NumFlip, |
|
|
@ -385,19 +386,19 @@ export default { |
|
|
|
waterLeakageText4: '' |
|
|
|
}, |
|
|
|
daylend: 'daylend', |
|
|
|
daylendnum: 1234, |
|
|
|
daylendnum: 0, |
|
|
|
dayreturn: 'dayreturn', |
|
|
|
dayreturnnum: 4567, |
|
|
|
dayreturnnum: 0, |
|
|
|
monlend: 'monlend', |
|
|
|
monlendnum: 1001, |
|
|
|
monlendnum: 0, |
|
|
|
monreturn: 'monreturn', |
|
|
|
monreturnnum: 123456, |
|
|
|
totalNum: 12345, |
|
|
|
lendingNum: 54985, |
|
|
|
storeNum: 12456, |
|
|
|
allDevNum: 15, |
|
|
|
lineDevNum: 6, |
|
|
|
onlineDevNumL: 9, |
|
|
|
monreturnnum: 0, |
|
|
|
totalNum: 0, |
|
|
|
filesNum: 0, |
|
|
|
archivesNum: 0, |
|
|
|
allDevNum: 0, |
|
|
|
lineDevNum: 0, |
|
|
|
offDevNum: 0, |
|
|
|
echartsTimer: null, |
|
|
|
refreshtime: 60000 |
|
|
|
} |
|
|
@ -431,6 +432,8 @@ export default { |
|
|
|
this.dataTimer = setInterval(async() => { |
|
|
|
await _this.getRealTimeData() |
|
|
|
_this.handleAQI() |
|
|
|
_this.getDayYearBorrowNum() |
|
|
|
_this.handleLeftTableNum() |
|
|
|
}, 10000) |
|
|
|
// 每隔一分钟刷新档案借阅和档案类型的数据 |
|
|
|
this.echartsTimer = setInterval(() => { |
|
|
@ -471,19 +474,19 @@ export default { |
|
|
|
}, |
|
|
|
// 点击查看设备状况 / 密集架列号 |
|
|
|
handleMessageDevice(event) { |
|
|
|
const _this = this |
|
|
|
if (event.data && event.data.data) { |
|
|
|
const data = event.data.data |
|
|
|
// 摄像头 |
|
|
|
if (data.includes('CAM')) { |
|
|
|
_this.$nextTick(() => { |
|
|
|
this.$refs.camera.openVideoVisible = true |
|
|
|
// 后期看接口调试变化 |
|
|
|
this.$refs.camera.videoSrc = 'https://qiniu.aiyxlib.com/1606275873000.mp4' |
|
|
|
this.$refs.camera.videoTitle = data |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
// const _this = this |
|
|
|
// if (event.data && event.data.data) { |
|
|
|
// const data = event.data.data |
|
|
|
// 摄像头 |
|
|
|
// if (data.includes('CAM')) { |
|
|
|
// _this.$nextTick(() => { |
|
|
|
// this.$refs.camera.openVideoVisible = true |
|
|
|
// // 后期看接口调试变化 |
|
|
|
// this.$refs.camera.videoSrc = 'https://qiniu.aiyxlib.com/1606275873000.mp4' |
|
|
|
// this.$refs.camera.videoTitle = data |
|
|
|
// }) |
|
|
|
// } |
|
|
|
// } |
|
|
|
}, |
|
|
|
// 设置温湿度 |
|
|
|
handleAQI() { |
|
|
@ -589,8 +592,39 @@ export default { |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
getDayYearBorrowNum() { |
|
|
|
getDayYearBorrowNum({ ids: this.allDeviceIds, url: this.url }).then((data) => { |
|
|
|
if (data) { |
|
|
|
this.daylendnum = data.dayBorrow |
|
|
|
this.dayreturnnum = data.dayReturn |
|
|
|
this.monlendnum = data.monthBorrow |
|
|
|
this.monreturnnum = data.monthReturn |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 获取下方中间偏左table数据 |
|
|
|
handleLeftTableNum() { |
|
|
|
// 档案总数 |
|
|
|
FetchGetArchivesNum().then(data => { |
|
|
|
this.totalNum = data |
|
|
|
}) |
|
|
|
// 文件总数,案卷总数 |
|
|
|
FetchInitArchivesTypeNum().then(data => { |
|
|
|
this.filesNum = data.filesNum |
|
|
|
this.archivesNum = data.archivesNum |
|
|
|
}) |
|
|
|
// 设备总数,在线设备数,离线设备数 |
|
|
|
this.handleTotalDeviceNum() |
|
|
|
}, |
|
|
|
// 设备总数,在线设备数,离线设备数 |
|
|
|
handleTotalDeviceNum() { |
|
|
|
Promise.all([getDeviceList({ page: 0, size: 10 }), getOnlineDevice()]).then((result) => { |
|
|
|
this.allDevNum = result[0].totalElements |
|
|
|
this.lineDevNum = result[1] |
|
|
|
this.offDevNum = this.allDevNum - this.lineDevNum |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|