Compare commits

...

4 Commits
main ... master

Author SHA1 Message Date
coco1986509808 68e08d187c init 2024-07-28 19:44:56 +08:00
coco1986509808 702c6b3b0e 1.17 2024-01-17 15:35:30 +08:00
code_nan 6f92ef1360 主页登录页 2024-01-15 21:30:37 +08:00
code_nan 48adb7ca3e 主页与登录页面 2024-01-15 21:28:47 +08:00
28 changed files with 2444 additions and 2375 deletions

4487
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
window.GLOBAL_CONFIG = {
apiURL: "http://127.0.0.1:8889/face",
IMG_SERVER_URL: "http://192.168.1.133:9000",
SOCKET_URL: "ws://127.0.0.1:8889/face/webSocketServer",
SOCKET_URL: "ws://192.168.1.109:8889/face/webSocketServer",
rtspApi_URL: window.location.protocol + '//' + window.location.hostname + ':' + window.location.port,
}

BIN
src/assets/images/bg2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

BIN
src/assets/images/bg3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
src/assets/img/camera2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 KiB

View File

@ -4,7 +4,7 @@ t.loading = '加载中...'
t.brand = {}
t.brand.lg = '室外图像采集平台'
t.brand.mini = '像'
t.brand.mini = '像'
t.add = '新增'
t.delete = '删除'
@ -364,6 +364,7 @@ t.role = {}
t.role.name = '名称'
t.role.remark = '备注'
t.role.createDate = '创建时间'
t.role.updateDate = '更新时间'
t.role.menuList = '菜单授权'
t.role.deptList = '数据授权'

0
src/mixins/resize.js Normal file
View File

View File

@ -2,9 +2,18 @@ import Vue from 'vue'
import Router from 'vue-router'
import http from '@/utils/request'
import { isURL } from '@/utils/validate'
import F1 from '@/views/modules/monitoring/ifarm'
Vue.use(Router)
//ifarm 单独路由
export const ifarmRoutes =[
{
path:'/monitoring/ifarm',
name:'ifarm',
// ifarmComponent:printReportShow,
// component:() => import('@/views/modules/monitoring/ifarm')
}
]
// 页面路由(独立页面)
export const pageRoutes = [
{
@ -33,6 +42,7 @@ export const moduleRoutes = {
meta: { title: '主入口布局' },
children: [
{ path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } }
//此处为自己添加的页面
]
}

View File

@ -23,11 +23,11 @@ export default new Vuex.Store({
contentTabs: [
{
...window.SITE_CONFIG['contentTabDefault'],
'name': 'monitoring-home',
'name': 'monitoring-chart-test2',
'title': '首页'
}
],
contentTabsActiveName: 'monitoring-home',
contentTabsActiveName: 'monitoring-chart-test2',
//人像库 跳转页面 数据
libraryurl:''
},

View File

@ -112,3 +112,25 @@ export function replaceImgUrl(url) {
return url
}
}
export function debounce(func, wait, immediate) {
let timeout, args, context, timestamp, result
const later = function() {
// 据上一次触发时间间隔
const last = +new Date() - timestamp
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last)
} else {
timeout = null
// 如果设定为immediate===true因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args)
if (!timeout) context = args = null
}
}
}
}

View File

@ -12,7 +12,7 @@
</el-dropdown>
<el-tabs v-model="$store.state.contentTabsActiveName" @tab-click="tabSelectedHandle" @tab-remove="tabRemoveHandle">
<el-tab-pane v-for="item in $store.state.contentTabs" :key="item.name" :name="item.name" :label="item.title"
:closable="item.name !== 'monitoring-home'" :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
:closable="item.name !== 'monitoring-chart-test2'" :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
<!-- <template v-if="item.name === 'monitoring-home'">
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true">
<use xlink:href="#icon-home"></use>
@ -76,12 +76,12 @@
},
// tabs, tab
tabRemoveHandle(tabName) {
if (tabName === 'monitoring-home') {
if (tabName === 'monitoring-chart-test2') {
return false
}
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
if (this.$store.state.contentTabs.length <= 0) {
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'monitoring-home'
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'monitoring-chart-test2'
return false
}
// tab
@ -99,14 +99,14 @@
// tabs,
tabsCloseOtherHandle() {
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => {
return item.name === 'monitoring-home' || item.name === this.$store.state.contentTabsActiveName
return item.name === 'monitoring-chart-test2' || item.name === this.$store.state.contentTabsActiveName
})
},
// tabs,
tabsCloseAllHandle() {
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'monitoring-home')
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'monitoring-chart-test2')
this.$router.push({
name: 'monitoring-home'
name: 'monitoring-chart-test2'
})
}
}

View File

@ -9,7 +9,7 @@
activated() {
this.$store.state.contentTabs.pop()
this.$router.push({
name: "monitoring-home"
name: "monitoring-chart-test2"
})
}
}

View File

@ -2,61 +2,62 @@
<div>
<div v-show="!allPicState">
<!-- 预警-->
<div style="float:right;width: 528px;box-sizing: border-box;">
<div style="margin-bottom: 8px; display: flex;justify-content: space-between;">
<i style="font-size: 18px;font-weight: bold;color: #333;">人脸比中</i>
<i @click="showAllClick()" style="cursor: pointer;">查看全部
<i class="el-icon-arrow-right">
</i>
</i>
</div>
<div style="width: 528px;height: 190px;margin-bottom: 10px;background: #FFF;border-radius:2px; cursor: pointer;"
v-for="(item,index) in videoFaceList" v-if = "item.xsd > textStyle" class="warning-class" @click="openTask(item)">
<div v-if = "item.xsd > textStyle"
style="height:40px;display:flex;align-items: center; justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">
<!-- <i style="font-weight: bold;color: #333333;margin-left: 20px">{{item.cameraRegion}}</i>-->
<i style="font-weight: bold;color: #333333;margin-left: 20px">{{"十楼工位"}}</i>
<i style="font-weight: bold;color: #333333;margin-right: 20px;">{{item.time}}</i>
</div>
<div v-if = "item.xsd > textStyle" style="display: flex;align-items: center;height: 150px;margin-left: 34px;">
<div style="width: 120px;height: 120px;background: #F1F6F9;">
<!--<canvas width=120 height=120 :ref="'warningImage'+index">
</canvas>-->
<img style="width: 120px;height: 120px;" :src="videoFaceList[index].cphoto" fit="contain"/>
</div>
<div
style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;position: relative;">
<!-- src="item.rphoto"-->
<img style="width: 120px;height: 120px;" :src="item.rphoto" />
<div
style="position: absolute;width: 100%;background-color: red;bottom: 0;opacity: 0.6;background: #000;color: #FFF;line-height: 1.8;">
<i>测试库</i>
</div>
</div>
<div style="width: 194px;height: 120px;position: relative;">
<div
style="display: flex;flex-direction: column;justify-content: space-around;height: 120px;">
<span><iv
style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgritem.name}}</i></span>
<span><i>性别未知</i></span>
<span><i>来源测试库</i></span>
<span><i>相似度</i><i style="font-size: 30px;font-weight: 600;color: #FF343E; font-family:Bahnschrift;">
{{item.xsd+"%"}}</i></span>
</div>
<div style="position: absolute;top:0;right: 0;">
<img src="../../../assets/img/warning/jk.png" alt="监控">
<img v-if="item.taskType=='3'" src="../../../assets/img/warning/ts.png" alt="提示">
<img v-if="item.taskType=='2'" src="../../../assets/img/warning/jk.png" alt="监控">
<img v-if="item.taskType=='1'" src="../../../assets/img/warning/zb.png" alt="抓捕">
</div>
</div>
</div>
</div>
<!-- 子组件 任务详情 -->
<task v-if="taskVisible" ref="task" @refreshTaskList></task>
</div>
<!-- <div style="float:right;width: 528px;box-sizing: border-box;">-->
<!-- <div style="margin-bottom: 8px; display: flex;justify-content: space-between;">-->
<!-- <i style="font-size: 18px;font-weight: bold;color: #333;">人脸比中</i>-->
<!-- <i @click="showAllClick()" style="cursor: pointer;">查看全部-->
<!-- <i class="el-icon-arrow-right">-->
<!-- </i>-->
<!-- </i>-->
<!-- </div>-->
<!-- <div style="width: 528px;height: 190px;margin-bottom: 10px;background: #FFF;border-radius:2px; cursor: pointer;"-->
<!-- v-for="(item,index) in videoFaceList" v-if = "item.xsd > textStyle" class="warning-class" @click="openTask(item)">-->
<!-- <div v-if = "item.xsd > textStyle"-->
<!-- style="height:40px;display:flex;align-items: center; justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">-->
<!--&lt;!&ndash; <i style="font-weight: bold;color: #333333;margin-left: 20px">{{item.cameraRegion}}</i>&ndash;&gt;-->
<!-- <i style="font-weight: bold;color: #333333;margin-left: 20px">{{"十楼工位"}}</i>-->
<!-- <i style="font-weight: bold;color: #333333;margin-right: 20px;">{{item.time}}</i>-->
<!-- </div>-->
<!-- <div v-if = "item.xsd > textStyle" style="display: flex;align-items: center;height: 150px;margin-left: 34px;">-->
<!-- <div style="width: 120px;height: 120px;background: #F1F6F9;">-->
<!-- &lt;!&ndash;<canvas width=120 height=120 :ref="'warningImage'+index">-->
<!-- </canvas>&ndash;&gt;-->
<!-- <img style="width: 120px;height: 120px;" :src="videoFaceList[index].cphoto" fit="contain"/>-->
<!-- </div>-->
<!-- <div-->
<!-- style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;position: relative;">-->
<!-- &lt;!&ndash; src="item.rphoto"&ndash;&gt;-->
<!-- <img style="width: 120px;height: 120px;" :src="item.rphoto" />-->
<!-- <div-->
<!-- style="position: absolute;width: 100%;background-color: red;bottom: 0;opacity: 0.6;background: #000;color: #FFF;line-height: 1.8;">-->
<!-- <i>测试库</i>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div style="width: 194px;height: 120px;position: relative;">-->
<!-- <div-->
<!-- style="display: flex;flex-direction: column;justify-content: space-around;height: 120px;">-->
<!-- <span><iv-->
<!-- style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgr style="width: 120px;height: 120px;backgritem.name}}</i></span>-->
<!-- <span><i>性别未知</i></span>-->
<!-- <span><i>来源测试库</i></span>-->
<!-- <span><i>相似度</i><i style="font-size: 30px;font-weight: 600;color: #FF343E; font-family:Bahnschrift;">-->
<!-- {{item.xsd+"%"}}</i></span>-->
<!-- </div>-->
<!-- <div style="position: absolute;top:0;right: 0;">-->
<!-- <img src="../../../assets/img/warning/jk.png" alt="监控">-->
<!-- <img v-if="item.taskType=='3'" src="../../../assets/img/warning/ts.png" alt="提示">-->
<!-- <img v-if="item.taskType=='2'" src="../../../assets/img/warning/jk.png" alt="监控">-->
<!-- <img v-if="item.taskType=='1'" src="../../../assets/img/warning/zb.png" alt="抓捕">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 子组件 任务详情 &ndash;&gt;-->
<!-- <task v-if="taskVisible" ref="task" @refreshTaskList></task>-->
<!-- </div>-->
<!-- 抓拍-->
<div style="margin-right:548px;">
<!-- <div style="margin-right:548px;">-->
<div >
<!-- 条件 -->
<div style=";margin-bottom: 8px;">
<i style="font-size: 18px;font-weight: bold;color: #333;">卡口切换</i>
@ -65,7 +66,7 @@
<span class="el-icon-caret-bottom" style="font-size: 18px;cursor: pointer;"
@click.stop="barrierSelectStateClick" v-show="barrierState"></span>
<i style="font-size: 18px;margin-left: 30px;">{{barrierName}}</i>
<i style="font-size: 18px;float:right">布控任务:{{taskName}}</i>
<!-- <i style="font-size: 18px;float:right">布控任务:{{taskName}}</i>-->
</div>
<!-- 卡口树 -->
<div style="width: 305px;height: 600px;position: absolute;background-color: #FFF;z-index:1"
@ -97,36 +98,36 @@
<!-- </div>-->
<!-- </el-image>-->
<el-card shadow="never" class="aui-card--fill">
<div style="border: 1px solid #000000;height: 100%;width: 100%;float: left" v-for="item in cameraList" >
<video-control :msg=nowRtspurl :key="nowRtspurl" ></video-control>
<div style="border: 1px solid #000000;height: 400px;width: 50%;float: left" v-for="item in cameraList" >
<video-control :msg=item.rtspUrl ></video-control>
</div>
<!-- <button style="width: 200px;height: 200px;" @click="plays"></button>-->
<button style="width: 200px;height: 200px;" @click="plays"></button>
</el-card>
</div>
<!-- 抓拍图片详情 -->
<div style="display: flex;justify-content: space-between;margin: 10px 0 8px 0;">
<span>
<i style="color:#333;font-size: 14px;font-weight:bold ;">今日抓拍</i>
<i
style="color:#333;font-size: 18px;font-weight:bold;margin-left: 5px;font-family:Bahnschrift">{{toDaySnapShot}}</i>
<i style="color:#333;font-size: 14px;font-weight:bold ;">/累计抓拍 </i>
<i
style="color:#333;font-size: 18px;font-weight:bold;margin-left: 5px;font-family:Bahnschrift">{{totalSnapShot}}</i>
</span>
<i style="font-size: 14px;font-weight: 400;cursor: pointer;" @click="showAllPicClick()">
<span class="el-icon-arrow-right">
</span>
</i>
</div>
<!-- <div style="display: flex;justify-content: space-between;margin: 10px 0 8px 0;">-->
<!-- <span>-->
<!-- <i style="color:#333;font-size: 14px;font-weight:bold ;">今日抓拍</i>-->
<!-- <i-->
<!-- style="color:#333;font-size: 18px;font-weight:bold;margin-left: 5px;font-family:Bahnschrift">{{toDaySnapShot}}</i>-->
<!-- <i style="color:#333;font-size: 14px;font-weight:bold ;">/累计抓拍 </i>-->
<!-- <i-->
<!-- style="color:#333;font-size: 18px;font-weight:bold;margin-left: 5px;font-family:Bahnschrift">{{totalSnapShot}}</i>-->
<!-- </span>-->
<!-- <i style="font-size: 14px;font-weight: 400;cursor: pointer;" @click="showAllPicClick()">-->
<!-- <span class="el-icon-arrow-right">-->
<!-- </span>-->
<!-- </i>-->
<!-- </div>-->
<!-- 抓拍图片 -->
<div class="pic-div">
<div style="display: flex;align-items: center;">
<template v-for="(item,i) in videoFaceList">
<img width=120 height=120 style="margin-left: 12px;" :src="item.cphoto">
</template>
</div>
</div>
<!-- <div class="pic-div">-->
<!-- <div style="display: flex;align-items: center;">-->
<!-- <template v-for="(item,i) in videoFaceList">-->
<!-- <img width=120 height=120 style="margin-left: 12px;" :src="item.cphoto">-->
<!-- </template>-->
<!-- </div>-->
<!-- </div>-->
<!-- 声音提醒 -->
<!-- <audio ref="notice">-->
<!-- <source src="../../../assets/mp3/warning1.mp3" type="audio/mpeg">-->
@ -220,14 +221,21 @@
flag : false,
//70
textStyle : 70.00,
// websock: null
}
},
mounted() {
//this.timer = setInterval(this.get, 1000);
// this.get()
},
beforeDestroy() {},
created() {
beforeDestroy() {
},
destroyed() {
//this.websocketclose();
//ws
this.websock.close() // websocket
},
created() {
//
this.initGetCameraId()
//
@ -265,10 +273,10 @@
this.getCurrentTime()
}
},
// plays(){
// // this.cameraList.pop();
// this.cameraList.push({rtspUrl: "rtsp://admin:123uestc@192.168.1.32:554"});
// },
plays(){
// this.cameraList.pop();
this.cameraList.push({rtspUrl: "rtsp://admin:123uestc@192.168.1.32:554"});
},
// 4
initGetWarningPicture() {
this.$http.post("/faces/compareList", {

View File

@ -41,9 +41,9 @@
<el-form-item label="IP" prop="ip">
<el-input v-model="formModel.ip" placeholder="ip" clearable></el-input>
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="formModel.port" placeholder="端口" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="端口" prop="port">-->
<!-- <el-input v-model="formModel.port" placeholder="端口" clearable></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="用户名" prop="userName">
<el-input
v-model="formModel.userName"
@ -51,17 +51,18 @@
clearable
maxlength="30"
show-word-limit
disabled="true"
></el-input>
</el-form-item>
<el-form-item label="密码" prop="passwd">
<el-input
v-model="formModel.passwd"
placeholder="密码"
clearable
maxlength="30"
show-word-limit
></el-input>
</el-form-item>
<!-- <el-form-item label="密码" prop="passwd">-->
<!-- <el-input-->
<!-- v-model="formModel.passwd"-->
<!-- placeholder="密码"-->
<!-- clearable-->
<!-- maxlength="30"-->
<!-- show-word-limit-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="品牌" prop="idBrand">
<el-select
style="width:100%"
@ -246,7 +247,7 @@ export default {
cameraRegionFirstlevelArrays: [],
cameraAddress: "",
ip: "",
userName: "",
userName: this.$store.state.user.name,
passwd: "",
idBrand: "",
version: "",

View File

@ -266,7 +266,8 @@ export default {
},
//
commonSeach(pageObj = this.pageObj) {
this.$http.post("/camera/getList", pageObj).then(res => {
let userName =this.$store.state.user.name;
this.$http.post(`/camera/getList?userName=${userName}`, pageObj).then(res => {
if (res.data.code === 0) {
this.cameraList = res.data.data.records;
this.total = Number(res.data.data.total);
@ -276,7 +277,7 @@ export default {
console.log(res);
}
});
this.$http.get("/camera/getAllList").then(res => {
this.$http.get("/camera/getAllList",{params:{userName:this.$store.state.user.name}}).then(res => {
this.mapList = res.data.data;
this.mapList.forEach(item => {
item.displayCss = "block";

View File

@ -98,6 +98,7 @@ export default {
count: '209'
}, {
id: '2',
name: '设备2',
count: '126'
}, {

View File

@ -4,33 +4,33 @@
<el-header>
<div class="home_content">
<div >
<p class="home_title" style="color: blue">欢迎登录{{$store.state.user.name}}&nbsp;!</p>
<p class="home_data" style="color: blue">系统已经安全运行<span>&nbsp;{{homeData.daysOfOperation}}&nbsp;</span></p>
<p class="home_title" style="color: rgb(0, 47, 255);font-size:45px">欢迎登录{{$store.state.user.name}}用户,好久不见!</p>
<p class="home_data" style="color: blue;font-size:45px">采集平台已经安全运行<span style="font-size:65x">&nbsp;{{homeData.daysOfOperation}}&nbsp;</span></p>
</div>
</div>
</el-header>
<el-main>
<div class="home_main_box1">
<div class="home_m_b_f">
<div class="home_m_b_f_t">人像库数量</div>
<div class="home_m_b_f_t">采集群数量</div>
<div class="home_m_b_f_b">{{homeData.libNumber}}</div>
</div>
</div>
<div class="home_main_box2">
<div class="home_m_b_f">
<div class="home_m_b_f_t">人脸数量</div>
<div class="home_m_b_f_t">设备数量</div>
<div class="home_m_b_f_b">{{homeData.faceNumber}}</div>
</div>
</div>
<div class="home_main_box3">
<div class="home_m_b_f">
<div class="home_m_b_f_t">布控任务数</div>
<div class="home_m_b_f_t">运行任务数</div>
<div class="home_m_b_f_b">{{homeData.taskNumber}}</div>
</div>
</div>
<div class="home_main_box4">
<div class="home_m_b_f">
<div class="home_m_b_f_t">预警数量</div>
<div class="home_m_b_f_t">运行峰值</div>
<div class="home_m_b_f_b">{{homeData.warnNumber}}</div>
</div>
</div>
@ -40,7 +40,9 @@
</template>
<script>
export default {
import Cookies from "js-cookie";
export default {
data() {
return {
sysInfo: {
@ -82,6 +84,7 @@
}).catch(() => {})
},
data() {
console.log(Cookies)
this.$http.get('/index/show')
.then(res => {
if (res.data.code == 0) {
@ -106,7 +109,7 @@
color: #fff;
margin-bottom: 20px;
/*background: url(~@/assets/img/home_bgc0.png) no-repeat;*/
background: url("~@/assets/images/sensitive_bg.png") ;
background: url("~@/assets/images/bg3.jpg") ;
}
.home_content {
@ -170,7 +173,7 @@
}
.el-main .home_main_box2 {
background-image: url("../../../assets/img/123_08.png")
background-image: url("../../../assets/img/home_02_01.jpg")
}
.el-main .home_main_box3 {

View File

@ -2,7 +2,7 @@
<!-- <iframe style="width: 800px; height: 600px;" src="../../../../020/index.html"/>-->
<!-- <iframe :src="this.txtUrl" width="100%" :style="{height:calHeight}" sandbox></iframe>-->
<!-- <iframe src="../../../../public/index.html" width="100%" :style="{height:calHeight}" ></iframe>-->
<iframe src=" http://localhost:8080" width="100%" :style="{height:calHeight}" ></iframe>
<iframe src=" http://192.168.1.109:8008" width="100%" :style="{height:calHeight}" ></iframe>
<!-- <div class="baidu-page">-->
<!-- <h1>嵌套百度页面</h1>-->
<!-- <iframe src="https://www.baidu.com" frameborder="0"></iframe>-->

View File

@ -0,0 +1,23 @@
<!--// -->
<template>
<div class="dashboard-editor-container">
<div style="width: 100%" class="itemflex-div">
<iframe
:src="newSrc"
class="iframemain"
allowfullscreen="true"
id="iframeId"
></iframe>
</div>
</div>
</template>
<script>
export default {
props:{
newSrc:{
type:String,
default:''
}
},
};
</script>

View File

@ -108,7 +108,7 @@
{ id: 12, message: "日志12", timestamp: "2024-01-09 11:15:00" },
], //
currentPage:1, //
pagesize:3, //
pagesize:10, //
accounts: [
{ id: 1, name: "子账号1" },
{ id: 2, name: "子账号2" },

View File

@ -26,6 +26,7 @@
<el-table-column prop="name" :label="$t('role.name')" header-align="center" align="center"></el-table-column>
<el-table-column prop="remark" :label="$t('role.remark')" header-align="center" align="center"></el-table-column>
<el-table-column prop="createDate" :label="$t('role.createDate')" sortable="custom" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="updateDate" :label="$t('role.updateDate')" sortable="custom" header-align="center" align="center" width="180"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button v-if="$hasPermission('sys:role:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>

View File

@ -145,6 +145,8 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
console.log("角色列表")
console.log(res.data)
this.roleList = res.data
}).catch(() => {})
},

View File

@ -3,11 +3,11 @@
<div class="aui-content__wrapper">
<main class="aui-content">
<div class="login-header">
<h2 class="login-brand">室外图像采集系统</h2>
<h1 class="login-brand">室外图像采集系统</h1>
</div>
<div class="login-body">
<div class="login_p">
<img src="../../../src/assets/img/login_bg.jpg" alt="" style="object-fit: contain">
<img src="../../../src/assets/img/camera2.jpg" alt="" style="object-fit: contain; position: relative;left: 35%;top: 50%;transform: translate(-50%,-50%);">
</div>
<div class="login_dl">
<div class="login-title">{{ $t('login.title') }}</div>
@ -108,6 +108,7 @@
//
getCaptcha() {
this.dataForm.uuid = getUUID()
console.log("uuid"+this.dataForm.uuid)
this.captchaPath = `${window.SITE_CONFIG['apiURL']}/captcha?uuid=${this.dataForm.uuid}`
},
//
@ -124,8 +125,9 @@
return this.$message.error(res.msg)
}
Cookies.set('token', res.data.token)
//console.log(Cookies.get('token'))
this.$router.replace({
name: 'monitoring-home'
name: 'monitoring-chart-test2'
})
}).catch(() => {})
})
@ -138,7 +140,10 @@
</script>
<style scoped>
.aui-page__login {
background-image: url("../../assets/img/login_bg.jpg")
background-image: url("../../assets/img/login_bg_tech3.jpg");
background-size: cover;
position: absolute;
width: 100%;height: 100%;
}
.login-body {