From 0daac085e308ab5dd5557048bbcb28473ae1b7df Mon Sep 17 00:00:00 2001
From: ZZJ <10913410+zzj2100@user.noreply.gitee.com>
Date: 星期三, 27 七月 2022 17:13:32 +0800
Subject: [PATCH] gb18186
---
src/views/GB28181/components/TableArea.vue | 670 ++---------------------
src/views/hashrate/CameraManage/CameraRules/components/SdkBox.vue | 2
vue.config.js | 4
src/views/GB28181/components/DevList.vue | 122 ++--
src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue | 2
src/views/search/index.vue | 6
src/components/Footer.vue | 2
src/views/GB28181/components/TreeArea.vue | 105 +++
src/Pool/TreeData.ts | 17
src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue | 4
src/api/search.ts | 19
src/views/search/Searching.vue | 20
src/views/equipmentManagement/equipmentList/components/Content.vue | 2
src/api/Gb28181.ts | 30
src/views/search/components/SetBox.vue | 325 +++++++++++
src/views/equipmentManagement/algorithmDetail/components/Card.vue | 3
src/components/giantTree/index.vue | 129 ++++
src/api/area.ts | 38
src/views/search/components/CardWindow.vue | 10
src/views/manageCenter/index.vue | 6
src/scripts/httpRequest.ts | 5
src/views/GB28181/components/SettingBox.vue | 19
src/views/hashrate/CameraManage/CameraInfo/index.vue | 4
src/api/system.ts | 7
src/components/Header.vue | 2
src/views/hashrate/CameraManage/CameraRules/index.vue | 54 +
src/views/connectUs/index.vue | 2
src/views/equipmentManagement/equipmentDetail/components/FormArea.vue | 16
src/views/GB28181/components/FormArea.vue | 13
29 files changed, 880 insertions(+), 758 deletions(-)
diff --git a/src/Pool/TreeData.ts b/src/Pool/TreeData.ts
index 7156994..1ff4151 100644
--- a/src/Pool/TreeData.ts
+++ b/src/Pool/TreeData.ts
@@ -67,6 +67,8 @@
public baseImageLoading: boolean
public activeNode: string
+ public clusterId: string
+ public devId: string
constructor() {
@@ -108,6 +110,8 @@
this.gb28181CameraBaseImage = ""
this.baseImageLoading = false
this.activeNode = ''
+ this.clusterId = ''
+ this.devId = ''
}
@@ -447,7 +451,7 @@
}
async refreshGB28181() {
- await refreshGB28181Tree()
+ await refreshGB28181Tree({})
// this.fetchGbTree()
}
@@ -485,7 +489,10 @@
if (update) {
fn = refreshGB28181Tree
}
- const rsp: any = await fn()
+ const rsp: any = await fn({
+ clusterId:this.clusterId,
+ devId:this.devId,
+ })
if (rsp && rsp.success) {
this.selectedNode = {}
@@ -541,7 +548,11 @@
this.cameraNameForBaseImage = node.name
try {
- const rsp: any = await getCameraBaseImage({ id: node.id })
+ const rsp: any = await getCameraBaseImage({
+ id: node.id,
+ clusterId: this.clusterId,
+ devId: this.devId,
+ })
if (rsp && rsp.data) {
this.gb28181CameraBaseImage = rsp.data
diff --git a/src/api/Gb28181.ts b/src/api/Gb28181.ts
index 235a523..171ae36 100644
--- a/src/api/Gb28181.ts
+++ b/src/api/Gb28181.ts
@@ -1,16 +1,17 @@
import request from '@/scripts/httpRequest'
-export const getGB28181Config = () => {
+export const getGB28181Config = (query: any) => {
return request({
- url: "/data/api-v/sysset/gb28181ConfigShow",
- method: "get"
+ url: "/saas/api-s/gb28181/configShow",
+ method: "get",
+ params:query
});
};
export const saveGB28181Config = (query: any) => {
return request({
- url: "/data/api-v/sysset/gb28181ConfEdit",
+ url: "/saas/api-s/gb28181/configEdit",
method: "post",
data: query
});
@@ -18,7 +19,7 @@
export const getGb28181AreaList = (query: any) => {
return request({
- url: "/data/api-v/gb28181/findAreaByParentId",
+ url: "/saas/api-s/gb28181/findAreaByParentId",
method: "get",
params: query
});
@@ -26,15 +27,15 @@
export const getAllSubServer = (query: any) => {
return request({
- url: "/data/api-v/gb28181/getAllSubServer",
- method: "get",
- params: query
+ url: "/saas/api-s/gb28181/getAllSubServer",
+ method: "post",
+ data: query
});
};
export const newGb28181ID = (query: any) => {
return request({
- url: "/data/api-v/gb28181/newGbId",
+ url: "/saas/api-s/gb28181/newGbId",
method: "get",
params: query
});
@@ -65,8 +66,17 @@
export const saveGb28181CamTree = (query: any) => {
return request({
- url: "/data/api-v/gb28181/saveGb28181CamTree",
+ url: "/saas/api-s/gb28181/autoSaveGb28181CamTree",
method: "post",
data: query
});
};
+
+export const saveTree = (data) => {
+ return request({
+ url: "/saas/api-s/gb28181/saveGb28181CamTree",
+ method: "post",
+ data
+ });
+};
+
diff --git a/src/api/area.ts b/src/api/area.ts
index 087b428..a8ce2ad 100644
--- a/src/api/area.ts
+++ b/src/api/area.ts
@@ -49,25 +49,27 @@
});
};
-export const getCameraBaseImage = (query: any) => {
+export const getCameraBaseImage = (data: any) => {
return request({
- url: "/data/api-v/gb28181/camera/capture",
- method: "get",
- params: query
- });
-};
-
-export const getGb28181Pool = () => {
- return request({
- url: "/data/api-v/gb28181/treeSelected",
- method: "get"
- });
-};
-
-export const refreshGB28181Tree = () => {
- return request({
- url: "/data/api-v/gb28181/treeRefresh",
+ url: "/saas/api-s/gb28181/camera/capture",
method: "post",
+ data
+ });
+};
+
+export const getGb28181Pool = (data) => {
+ return request({
+ url: "/saas/api-s/gb28181/treeSelected",
+ method: "post",
+ data
+ });
+};
+
+export const refreshGB28181Tree = (data) => {
+ return request({
+ url: "/saas/api-s/gb28181/treeRefresh",
+ method: "post",
+ data
});
};
@@ -78,3 +80,5 @@
data: qs.stringify(query)
});
};
+
+
diff --git a/src/api/search.ts b/src/api/search.ts
index 74c4dee..618cf75 100644
--- a/src/api/search.ts
+++ b/src/api/search.ts
@@ -62,4 +62,21 @@
method: "post",
data: query
});
-};
\ No newline at end of file
+};
+
+// 鑾峰彇閰嶇疆
+export const config = () => {
+ return request({
+ url: "/saas/api-s/es/config",
+ method: "get",
+ });
+};
+
+// 淇濆瓨閰嶇疆
+export const saveEsConfig = (query: any) => {
+ return request({
+ url: " /saas/api-s/es/saveEsConfig",
+ method: "post",
+ data: query
+ });
+};
diff --git a/src/api/system.ts b/src/api/system.ts
index e1cc118..5780091 100644
--- a/src/api/system.ts
+++ b/src/api/system.ts
@@ -68,10 +68,11 @@
});
};
-export const getGB28181Config = () => {
+export const getGB28181Config = (query: any) => {
return request({
- url: "/data/api-v/gb28181/configShow",
- method: "get"
+ url: "/saas/api-s/gb28181/configShow",
+ method: "get",
+ params:query
});
};
diff --git a/src/components/Footer.vue b/src/components/Footer.vue
index 006050c..0ccb1c8 100644
--- a/src/components/Footer.vue
+++ b/src/components/Footer.vue
@@ -24,7 +24,7 @@
},
methods: {
jump() {
- window.open("http://www.smartai.com/contact");
+ window.open("http://www.smartai.com/about");
},
jump2() {
window.open("http://www.smartai.com/consult");
diff --git a/src/components/Header.vue b/src/components/Header.vue
index 75b8a2c..6d1040a 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -17,7 +17,7 @@
export default {
methods: {
jump() {
- window.open("http://www.smartai.com/contact");
+ window.open("http://www.smartai.com/about");
},
jump2() {
window.open("http://www.smartai.com/consult");
diff --git a/src/components/giantTree/index.vue b/src/components/giantTree/index.vue
index c04cbae..9351497 100644
--- a/src/components/giantTree/index.vue
+++ b/src/components/giantTree/index.vue
@@ -1,5 +1,28 @@
<template>
<div class="tree-menu" :style="`max-height:${height - 200}px;`">
+ <div class="devArea">
+ <swiper :options="swiperOption" v-if="showDevArea">
+ <swiper-slide
+ v-for="item in nodeList"
+ :key="item.devId"
+ :class="{ active: activeTabObj.devId === item.devId }"
+ >
+ <div class="tab" @click="chooseTab(item)">
+ {{ item.devName }}
+ </div>
+ </swiper-slide>
+ </swiper>
+ <div class="swiper-pre-border" v-if="showDevArea">
+ <div class="icon-btn" slot="button-prev">
+ <i class="iconfont"></i>
+ </div>
+ </div>
+ <div class="swiper-next-border" v-if="showDevArea">
+ <div class="icon-btn" slot="button-next">
+ <i class="iconfont"></i>
+ </div>
+ </div>
+ </div>
<z-tree
:nodes="node"
:show-checkbox="TreeDataPool.multiple"
@@ -92,6 +115,11 @@
type: Boolean,
default: false,
},
+ showDevArea: {
+ type: Boolean,
+ default: false,
+ },
+ nodeList: {},
},
data() {
return {
@@ -108,9 +136,27 @@
],
},
curNodeTid: "",
+
+ activeTabObj: {},
+ swiperOption: {
+ slidesPerView: 3,
+ spaceBetween: 0,
+ pagination: {
+ el: ".swiper-pagination",
+ clickable: true,
+ },
+ navigation: {
+ nextEl: ".swiper-next-border",
+ prevEl: ".swiper-pre-border",
+ },
+ observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
+ observeParents: true, //淇敼swiper鐨勭埗鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
+ },
};
},
created() {
+ this.activeTabObj =
+ this.nodeList && this.nodeList.length > 0 ? this.nodeList[0] : "";
this.TreeDataPool.zTree = true;
this.TreeDataPool.activeVideoIndex = sessionStorage.activeIndexVideo
? Number(sessionStorage.activeIndexVideo)
@@ -121,6 +167,9 @@
if (newValue !== this.treeName) {
this.TreeDataPool.cleanTree(this.treeName);
}
+ },
+ showDevArea: function () {
+ this.$forceUpdate();
},
},
methods: {
@@ -153,6 +202,12 @@
this.ztreeObj.selectNode(node, false, true);
}
+ },
+ chooseTab(item) {
+ this.$emit("saveTree", this.activeTabObj);
+ setTimeout(() => {
+ this.activeTabObj = item;
+ }, 100);
},
findTidByIdFromArr(arr) {
@@ -357,6 +412,9 @@
};
</script>
<style lang="scss" scoped>
+.devArea {
+}
+
.dialog-box {
position: absolute;
width: 220px;
@@ -445,4 +503,75 @@
.tree-menu:hover {
overflow-y: auto;
}
+
+.devArea {
+ position: relative;
+ margin: 20px;
+ background: #f0f5fa;
+ padding: 0 40px;
+
+ .swiper-slide {
+ display: flex;
+ align-items: center;
+ height: 46px;
+
+ &.active {
+ .tab {
+ color: #0064ff;
+ }
+ border-bottom: 2px solid #0064ff;
+ }
+
+ .tab {
+ margin: 0 12px 0 24px;
+ font-size: 14px;
+ color: #666;
+ cursor: pointer;
+ }
+
+ .iconfont {
+ font-size: 12px;
+ color: #dbdbdb;
+ }
+ }
+
+ .swiper-pre-border {
+ position: absolute;
+ padding-bottom: 13px;
+ padding-right: 18px;
+ top: 12px;
+ left: 10px;
+ cursor: pointer;
+
+ i {
+ font-size: 16px;
+ color: #999;
+ }
+ }
+
+ .swiper-next-border {
+ position: absolute;
+ top: 12px;
+ right: 10px;
+ padding-bottom: 13px;
+ padding-left: 18px;
+ cursor: pointer;
+
+ i {
+ font-size: 16px;
+ color: #999;
+ }
+ }
+
+ .swiper-button-disabled {
+ cursor: not-allowed;
+ i {
+ color: #dbdbdb;
+ }
+ }
+
+ .del {
+ cursor: pointer;
+ }
+}
</style>
diff --git a/src/scripts/httpRequest.ts b/src/scripts/httpRequest.ts
index 36ccb94..4a82703 100644
--- a/src/scripts/httpRequest.ts
+++ b/src/scripts/httpRequest.ts
@@ -38,6 +38,11 @@
if(config.url === '/saas/api-d/device/userClusterInfo') {
config.data.clusterId = ''
}
+
+ if(config.url === '/saas/api-s/es/saveEsConfig') {
+ delete config.data.clusterId
+ delete config.data.devId
+ }
}
diff --git a/src/views/GB28181/components/DevList.vue b/src/views/GB28181/components/DevList.vue
index 396f565..83ae5ea 100644
--- a/src/views/GB28181/components/DevList.vue
+++ b/src/views/GB28181/components/DevList.vue
@@ -4,25 +4,45 @@
<div class="empty" v-if="devList.length === 0">
<img src="/images/search/1.png" alt="" />
<div class="des">鎮ㄨ繕鏈坊鍔犻泦缇ゆ垨璁惧锛岃鍦ㄨ澶囩鐞嗕腑娣诲姞</div>
- <div class="button add">绔嬪嵆娣诲姞</div>
+ <div class="button add" @click="$router.push('/equipmentList')">
+ 绔嬪嵆娣诲姞
+ </div>
</div>
<div class="list scroll">
- <div class="devItem" v-for="(item, index) in devList" :key="index">
+ <div class="devItem" v-for="(item, index) in clusterList" :key="index">
<div class="mainInfo">
- <img
- v-if="item.type == 1"
- src="/images/hashrate/cluster.png"
- alt=""
- />
- <img v-else src="/images/hashrate/equipment.png" alt="" />
+ <img src="/images/hashrate/cluster.png" alt="" />
<div class="right">
- <div class="name">闆嗙兢123</div>
- <div class="ip">192.168.1.1</div>
- <div class="number">璁惧鎬婚噺:7</div>
+ <div class="name">{{ item.cluster_name }}</div>
+ <div class="ip">{{ item.virtual_ip }}</div>
+ <div class="number">璁惧鎬婚噺:{{ item.nodeNum }}</div>
</div>
- <div class="button set" @click="showSettingBox = true">閰嶇疆</div>
+ <div
+ class="button set"
+ @click="setting({ clusterId: item.cluster_id }, item.nodeList)"
+ >
+ 閰嶇疆
+ </div>
+ </div>
+ </div>
+ <div
+ class="devItem"
+ v-for="(item, index) in devList"
+ :key="index + 'dev'"
+ >
+ <div class="mainInfo">
+ <img src="/images/hashrate/equipment.png" alt="" />
+
+ <div class="right">
+ <div class="name">{{ item.devName }}</div>
+ <div class="ip">{{ item.devIp }}</div>
+ </div>
+
+ <div class="button set" @click="setting({ devId: item.devId })">
+ 閰嶇疆
+ </div>
</div>
</div>
</div>
@@ -30,73 +50,45 @@
<SettingBox
v-if="showSettingBox"
@close="showSettingBox = false"
+ :id="idObj"
+ :nodeList="nodeList"
></SettingBox>
</div>
</template>
<script>
import SettingBox from "@/views/GB28181/components/SettingBox";
+import { getClusterDevList } from "@/api/clusterManage";
export default {
components: {
SettingBox,
},
+ created() {
+ this.getClusterDevList();
+ },
data() {
return {
- devList: [
- {
- type: 1,
- },
- {
- type: 1,
- },
-
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
-
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 1,
- },
- {
- type: 0,
- },
- {
- type: 0,
- },
- ],
+ clusterList: [],
+ devList: [],
showSettingBox: false,
+ idObj: {},
+ nodeList: [],
};
+ },
+ methods: {
+ async getClusterDevList() {
+ const res = await getClusterDevList();
+ if (res && res.success) {
+ this.clusterList = res.data.clusterList;
+ this.devList = res.data.devList;
+ }
+ },
+ setting(id, nodeList) {
+ this.idObj = id;
+ this.nodeList = nodeList ? nodeList : [];
+ this.showSettingBox = true;
+ },
},
};
</script>
@@ -213,4 +205,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/GB28181/components/FormArea.vue b/src/views/GB28181/components/FormArea.vue
index 9184634..42bfb6f 100644
--- a/src/views/GB28181/components/FormArea.vue
+++ b/src/views/GB28181/components/FormArea.vue
@@ -116,6 +116,9 @@
import { isPort, isIPv4 } from "@/scripts/validate";
export default {
+ props: {
+ id: {},
+ },
created() {
this.initGB28181Conf();
},
@@ -168,7 +171,7 @@
},
methods: {
initGB28181Conf() {
- getGB28181Config().then((rsp) => {
+ getGB28181Config(this.id).then((rsp) => {
if (rsp && rsp.success) {
this.gb28181 = rsp.data;
//this.gb28181.idType = 0;
@@ -179,7 +182,7 @@
});
getGb28181AreaList().then((rsp) => {
if (rsp && rsp.success) {
- this.locationCity.provinceOptions = rsp.data;
+ this.locationCity.provinceOptions = rsp.data.list;
}
});
},
@@ -205,7 +208,7 @@
let pid = this.locationCity.province;
getGb28181AreaList({ parentId: pid }).then((rsp) => {
if (rsp && rsp.success) {
- this.locationCity.cityOptions = rsp.data;
+ this.locationCity.cityOptions = rsp.data.list;
this.locationCity.city = this.locationCity.cityOptions[0].id;
this.changeCity();
}
@@ -215,7 +218,7 @@
let pid = this.locationCity.city;
getGb28181AreaList({ parentId: pid }).then((rsp) => {
if (rsp && rsp.success) {
- this.locationCity.countyOptions = rsp.data;
+ this.locationCity.countyOptions = rsp.data.list;
this.locationCity.county = this.locationCity.countyOptions[0].id;
}
});
@@ -224,7 +227,7 @@
let cCode = this.locationCity.county + "";
newGb28181ID({ code: cCode }).then((rsp) => {
if (rsp && rsp.success) {
- this.gb28181.PublicId = rsp.data;
+ this.gb28181.PublicId = rsp.data.code;
}
});
},
diff --git a/src/views/GB28181/components/SettingBox.vue b/src/views/GB28181/components/SettingBox.vue
index 0815666..fcf1cca 100644
--- a/src/views/GB28181/components/SettingBox.vue
+++ b/src/views/GB28181/components/SettingBox.vue
@@ -27,9 +27,18 @@
</div>
</div>
- <FormArea @close="$emit('close')" v-if="activeTab === 0"></FormArea>
- <TableArea v-if="activeTab === 1"></TableArea>
- <TreeArea @close="$emit('close')" v-if="activeTab === 2"></TreeArea>
+ <FormArea
+ :id="id"
+ @close="$emit('close')"
+ v-if="activeTab === 0"
+ ></FormArea>
+ <TableArea :id="id" v-if="activeTab === 1"></TableArea>
+ <TreeArea
+ :id="id"
+ :nodeList="nodeList"
+ @close="$emit('close')"
+ v-if="activeTab === 2"
+ ></TreeArea>
</div>
</div>
</template>
@@ -45,6 +54,10 @@
TableArea,
TreeArea,
},
+ props: {
+ id: {},
+ nodeList: {},
+ },
data() {
return {
activeTab: 0,
diff --git a/src/views/GB28181/components/TableArea.vue b/src/views/GB28181/components/TableArea.vue
index 3539206..87561d5 100644
--- a/src/views/GB28181/components/TableArea.vue
+++ b/src/views/GB28181/components/TableArea.vue
@@ -1,38 +1,40 @@
<template>
<div class="TableArea">
- <el-table
- :data="subDevTable"
- fit
- highlight-current-row
- style="width: 100%"
- height="500"
- >
- <el-table-column
- type="index"
- label="搴忓彿"
- align="center"
- width="80"
- ></el-table-column>
- <el-table-column
- prop="name"
- label="鍚嶇О"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- prop="publicid"
- label="ID"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column prop="ip" label="IP"></el-table-column>
- <el-table-column prop="status" label="鐘舵��" align="center">
- <template slot-scope="scope">
- <span :style="scope.row.alive ? `color:#36B24A` : 'color:#FF4B33;'">{{
- scope.row.alive ? "鍦ㄧ嚎" : "绂荤嚎"
- }}</span>
- </template>
- </el-table-column>
- <el-table-column prop="corp" label="澶囨敞"></el-table-column>
- </el-table>
+ <div class="content">
+ <el-table
+ :data="subDevTable"
+ fit
+ highlight-current-row
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ align="center"
+ width="80"
+ ></el-table-column>
+ <el-table-column
+ prop="name"
+ label="鍚嶇О"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="publicid"
+ label="ID"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column prop="ip" label="IP"></el-table-column>
+ <el-table-column prop="status" label="鐘舵��" align="center">
+ <template slot-scope="scope">
+ <span
+ :style="scope.row.alive ? `color:#36B24A` : 'color:#FF4B33;'"
+ >{{ scope.row.alive ? "鍦ㄧ嚎" : "绂荤嚎" }}</span
+ >
+ </template>
+ </el-table-column>
+ <el-table-column prop="corp" label="澶囨敞"></el-table-column>
+ </el-table>
+ </div>
</div>
</template>
@@ -40,6 +42,9 @@
import { getAllSubServer } from "@/api/Gb28181";
export default {
+ props: {
+ id: {},
+ },
created() {
this.getList();
},
@@ -50,586 +55,22 @@
},
methods: {
async getList() {
- console.log(12121);
- // const res = await getAllSubServer();
- this.subDevTable = [
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "218.11.13.177",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 15060,
- publicid: "34020000002000000001",
- username: "",
- },
- {
- alive: 1,
- corp: "",
- devmode: "gb28181",
- ip: "192.168.5.53",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 5060,
- publicid: "34020000001320000001",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.5.215.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 60783,
- publicid: "1278",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "138.199.42.181",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 53998,
- publicid: "2376",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "156.146.50.98",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 49420,
- publicid: "2924",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "149.34.242.65",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 54724,
- publicid: "3775",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "188.240.57.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 61962,
- publicid: "4423",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "89.37.173.34",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 58343,
- publicid: "4877",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "89.187.162.185",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 56095,
- publicid: "391",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "62.197.145.4",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 60973,
- publicid: "1872",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.134.212.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 55040,
- publicid: "4379",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.33.40.115",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 51789,
- publicid: "4923",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "91.219.215.52",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 52951,
- publicid: "1885",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "185.99.3.103",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 60547,
- publicid: "3377",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "213.152.165.107",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 62282,
- publicid: "769",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "129.227.219.8",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 53877,
- publicid: "1271",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.9.249.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 57637,
- publicid: "3424",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.136.155.91",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 55749,
- publicid: "2877",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "156.146.50.98",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 49162,
- publicid: "2925",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.5.215.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 50858,
- publicid: "1279",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "188.240.57.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 61692,
- publicid: "4424",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "138.199.42.181",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 58970,
- publicid: "2377",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "149.34.242.65",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 54856,
- publicid: "3776",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "89.187.162.185",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 52956,
- publicid: "392",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.33.40.115",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 64302,
- publicid: "4924",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.134.212.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 63807,
- publicid: "4380",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "91.219.215.52",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 64985,
- publicid: "1886",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.9.249.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 57372,
- publicid: "3425",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "213.152.165.107",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 49539,
- publicid: "770",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.136.155.91",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 60032,
- publicid: "2878",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "156.146.50.98",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 65234,
- publicid: "2926",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "188.240.57.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 61386,
- publicid: "4425",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.5.215.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 62886,
- publicid: "1280",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "149.34.242.65",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 57416,
- publicid: "3777",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.33.40.115",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 65530,
- publicid: "4925",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "89.187.162.185",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 59341,
- publicid: "393",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.134.212.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 49608,
- publicid: "4381",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "91.219.215.52",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 62294,
- publicid: "1887",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.9.249.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 57068,
- publicid: "3426",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "213.152.165.107",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 61066,
- publicid: "771",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "156.146.50.98",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 64946,
- publicid: "2927",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "188.240.57.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 61133,
- publicid: "4426",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.5.215.118",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 63212,
- publicid: "1281",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "194.33.40.115",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 56324,
- publicid: "4926",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "149.34.242.65",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 50517,
- publicid: "3778",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.134.212.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 52108,
- publicid: "4382",
- username: "",
- },
- {
- alive: 0,
- corp: "",
- devmode: "gb28181",
- ip: "45.9.249.244",
- name: "",
- parentid: "11011400011121000001",
- passwd: "",
- port: 56708,
- publicid: "3427",
- username: "",
- },
- {
- alive: 0,
- corp: "GBT28181",
- devmode: "gb28181",
- ip: "192.168.5.56",
- name: "Camera 01",
- parentid: "11011400011121000001",
- passwd: "",
- port: 5060,
- publicid: "44122500041325000002",
- username: "",
- },
- ];
+ let params = {};
+ if (this.id.clusterId) {
+ params = {
+ clusterId: this.id.clusterId,
+ devId: "",
+ };
+ } else {
+ params = {
+ clusterId: "",
+ devId: this.id.devId,
+ };
+ }
+ const res = await getAllSubServer(params);
+ if (res && res.success) {
+ this.subDevTable = res.data;
+ }
},
},
};
@@ -638,6 +79,9 @@
<style lang="scss" scoped >
.TableArea {
padding: 30px 0;
+ .content {
+ height: 500px;
+ }
.el-table ::v-deep {
background-color: rgb(233, 235, 238);
padding: 1px;
diff --git a/src/views/GB28181/components/TreeArea.vue b/src/views/GB28181/components/TreeArea.vue
index 281491a..3ea8c29 100644
--- a/src/views/GB28181/components/TreeArea.vue
+++ b/src/views/GB28181/components/TreeArea.vue
@@ -1,6 +1,27 @@
<template>
<div class="TreeArea">
<div class="refresh">
+ <span v-if="nodeList && nodeList.length > 0">閰嶇疆瑙勫垯</span>
+ <el-switch
+ v-model="ruleType"
+ active-color="#0065FF"
+ inactive-color="#ED7E2F"
+ :width="52"
+ v-if="nodeList && nodeList.length > 0"
+ >
+ </el-switch>
+ <span
+ class="des1"
+ @click="ruleType = false"
+ v-if="ruleType && nodeList && nodeList.length > 0"
+ >鑷姩</span
+ >
+ <span
+ class="des2"
+ @click="ruleType = true"
+ v-if="!ruleType && nodeList && nodeList.length > 0"
+ >鎵嬪姩</span
+ >
<div class="button" @click="updateCamerasFromVideosvr">鍒锋柊</div>
鍗曞彴璁惧鏈�澶ф敮鎸侀厤缃�500璺憚鍍忔満锛岄泦缇ゆ渶澶ф敮鎸侀厤缃矾鏁�=闆嗙兢鍐呰澶囨�婚噺*500
</div>
@@ -18,7 +39,10 @@
:node="TreeDataPool.treeData"
:height="600"
:setting="treeSettings"
+ :showDevArea="!ruleType"
+ :nodeList="nodeList"
@itemChecked="onItemCheck"
+ @saveTree="tempSaveTree"
search
style="width: 450px; min-height: 600px"
/>
@@ -68,7 +92,7 @@
</template>
<script>
-import { saveGb28181CamTree } from "@/api/Gb28181";
+import { saveGb28181CamTree, saveTree } from "@/api/Gb28181";
import TreeMenu from "@/components/giantTree/index";
import ZTree from "@/components/giantTree/zTree/ztree";
@@ -76,6 +100,10 @@
components: {
TreeMenu,
ZTree,
+ },
+ props: {
+ id: {},
+ nodeList: {},
},
data() {
return {
@@ -91,7 +119,13 @@
},
dstTreeData: [],
loading: null,
+ ruleType: true,
+ allTreeData: {},
};
+ },
+ created() {
+ this.TreeDataPool.clusterId = this.id.clusterId ? this.id.clusterId : "";
+ this.TreeDataPool.devId = this.id.devId ? this.id.devId : "";
},
mounted() {
this.TreeDataPool.multiple = true;
@@ -127,6 +161,13 @@
this.TreeDataPool.activeTreeData
);
},
+ tempSaveTree(tab) {
+ console.log(1212);
+ console.log(tab);
+ this.allTreeData[tab.devId] = this.TreeDataPool.newTreeByChecked(
+ this.TreeDataPool.activeTreeData
+ );
+ },
saveChecked() {
localStorage.setItem(
"ztree_fold_list",
@@ -148,8 +189,12 @@
this.TreeDataPool.activeTreeData
);
- saveGb28181CamTree({ checkedMenus: treeData })
- .then((rsp) => {
+ if (this.ruleType) {
+ saveGb28181CamTree({
+ clusterId: this.id.clusterId ? this.id.clusterId : "",
+ devId: this.id.devId ? this.id.devId : "",
+ checkedMenus: treeData,
+ }).then((rsp) => {
if (rsp && rsp.success) {
this.$message({
type: "success",
@@ -157,14 +202,30 @@
});
}
this.loading = false;
- })
- .catch((err) => {
- this.$message({
- type: "error",
- message: "淇濆瓨澶辫触",
+ });
+ } else {
+ let tab = this.$refs["ztree"].activeTabObj;
+ this.allTreeData[tab.devId] = treeData;
+ let params = [];
+ for (const key in this.allTreeData) {
+ params.push({
+ devId: key,
+ checkedMenus: this.allTreeData[key],
});
+ }
+
+ saveTree({
+ list: params,
+ }).then((rsp) => {
+ if (rsp && rsp.success) {
+ this.$message({
+ type: "success",
+ message: "淇濆瓨鎴愬姛",
+ });
+ }
this.loading = false;
});
+ }
},
},
};
@@ -181,6 +242,34 @@
align-items: center;
font-size: 12px;
color: #666666;
+ position: relative;
+
+ span {
+ font-size: 14px;
+ }
+
+ .el-switch {
+ margin-left: 16px;
+ margin-right: 32px;
+ }
+
+ .des1 {
+ top: 7px;
+ left: 78px;
+ position: absolute;
+ font-size: 12px;
+ color: #fff;
+ cursor: pointer;
+ }
+
+ .des2 {
+ top: 7px;
+ left: 92px;
+ position: absolute;
+ font-size: 12px;
+ color: #fff;
+ cursor: pointer;
+ }
.button {
margin-right: 10px;
diff --git a/src/views/connectUs/index.vue b/src/views/connectUs/index.vue
index 574d3ea..d788d04 100644
--- a/src/views/connectUs/index.vue
+++ b/src/views/connectUs/index.vue
@@ -38,7 +38,7 @@
this.$router.push("/");
}
if (index == 2) {
- window.open("http://smartai.com/contact");
+ window.open("http://smartai.com/about");
}
if (index == 4) {
window.open("http://smartai.com/consult");
diff --git a/src/views/equipmentManagement/algorithmDetail/components/Card.vue b/src/views/equipmentManagement/algorithmDetail/components/Card.vue
index 0271d4a..b1c6b0d 100644
--- a/src/views/equipmentManagement/algorithmDetail/components/Card.vue
+++ b/src/views/equipmentManagement/algorithmDetail/components/Card.vue
@@ -35,7 +35,8 @@
<li>
<div class="label">婵�娲荤爜:</div>
- <div class="data">-</div>
+ <div class="data" v-if="data.activateCode">{{ data.activateCode }}</div>
+ <div class="data" v-else>-</div>
</li>
</ul>
diff --git a/src/views/equipmentManagement/equipmentDetail/components/FormArea.vue b/src/views/equipmentManagement/equipmentDetail/components/FormArea.vue
index 391eb76..42d70b5 100644
--- a/src/views/equipmentManagement/equipmentDetail/components/FormArea.vue
+++ b/src/views/equipmentManagement/equipmentDetail/components/FormArea.vue
@@ -8,30 +8,30 @@
>
</div>
<el-table :data="data.algos" stripe style="width: 100%">
- <el-table-column prop="name" label="鍚嶇О" width="206" class-name="name">
+ <el-table-column prop="name" label="鍚嶇О" class-name="name">
</el-table-column>
- <el-table-column label="CPU" width="206">
+ <el-table-column label="CPU">
<template slot-scope="scope">
<span>{{ scope.row.cpu.toFixed(2) }} %</span>
</template>
</el-table-column>
- <el-table-column prop="mem" label="鍐呭瓨" width="206">
+ <el-table-column prop="mem" label="鍐呭瓨">
<template slot-scope="scope">
<span>{{ scope.row.mem.toFixed(2) }} %</span>
</template>
</el-table-column>
- <el-table-column prop="dist" label="纭洏" width="206">
- </el-table-column>
- <el-table-column prop="gpu" label="绠楀姏" width="206">
+ <!-- <el-table-column prop="dist" label="纭洏" width="206">
+ </el-table-column> -->
+ <el-table-column prop="gpu" label="绠楀姏">
<template slot-scope="scope">
<span>{{ scope.row.gpu.toFixed(2) }} Mbps</span>
</template>
</el-table-column>
- <el-table-column prop="net" label="缃戠粶">
+ <!-- <el-table-column prop="net" label="缃戠粶">
<template slot-scope="scope">
<span>{{ scope.row.net.toFixed(2) }} %</span>
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
</div>
diff --git a/src/views/equipmentManagement/equipmentList/components/Content.vue b/src/views/equipmentManagement/equipmentList/components/Content.vue
index e3bde8d..bb69fb1 100644
--- a/src/views/equipmentManagement/equipmentList/components/Content.vue
+++ b/src/views/equipmentManagement/equipmentList/components/Content.vue
@@ -194,7 +194,7 @@
box-sizing: border-box;
display: none;
position: absolute;
- padding: 20px;
+ padding: 20px 10px;
top: 40px;
left: -100px;
width: 247px;
diff --git a/src/views/hashrate/CameraManage/CameraInfo/index.vue b/src/views/hashrate/CameraManage/CameraInfo/index.vue
index 2b886e1..793881c 100644
--- a/src/views/hashrate/CameraManage/CameraInfo/index.vue
+++ b/src/views/hashrate/CameraManage/CameraInfo/index.vue
@@ -204,6 +204,7 @@
:rtspUrl="videoItem.rtsp"
:isRunning="false"
:showArea="false"
+ :videoUrl="ip"
v-if="
videoItem !== '' &&
videoItem !== undefined &&
@@ -261,6 +262,7 @@
togglePlay: true,
eventAudio: new Audio(),
soundPath: "",
+ ip: "",
form: {},
// 璁板綍娣诲姞鐘舵��
isAdd: false,
@@ -375,6 +377,8 @@
if (node.type === "4") {
getCameraInfo(node.id).then((res) => {
if (res.success) {
+ this.ip = "ws://" + res.data.ip + ":7009/ws";
+
if (res.data.resolutions) {
let list = res.data.resolutions.map((i) => {
let obj = {};
diff --git a/src/views/hashrate/CameraManage/CameraRules/components/SdkBox.vue b/src/views/hashrate/CameraManage/CameraRules/components/SdkBox.vue
index da349b8..578b2d6 100644
--- a/src/views/hashrate/CameraManage/CameraRules/components/SdkBox.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/components/SdkBox.vue
@@ -54,7 +54,7 @@
height: 534px;
background-color: #fff;
box-shadow: 0px 2px 16px 0px rgba(0, 43, 106, 0.25);
- z-index: 2100;
+ z-index: 2002;
.title {
box-sizing: border-box;
diff --git a/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue b/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue
index 8604d05..e984e29 100644
--- a/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue
@@ -733,6 +733,8 @@
setOptArgValueOptions(optArg) {
let alias = optArg.alias;
+ console.log(121212);
+ console.log(alias);
optArg.valueOptions = this.VideoManageData.Dictionary[alias].map((r) => {
return {
name: r.name,
diff --git a/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue b/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
index c000dc0..5d4415e 100644
--- a/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
@@ -451,7 +451,7 @@
position: absolute;
padding-bottom: 13px;
padding-right: 18px;
- top: 16px;
+ top: 12px;
left: -34px;
cursor: pointer;
border-bottom: 1px solid #e9ebee;
@@ -464,7 +464,7 @@
.swiper-next-border {
position: absolute;
- top: 16px;
+ top: 12px;
right: -34px;
padding-bottom: 13px;
padding-left: 18px;
diff --git a/src/views/hashrate/CameraManage/CameraRules/index.vue b/src/views/hashrate/CameraManage/CameraRules/index.vue
index 789c9f6..b069cc3 100644
--- a/src/views/hashrate/CameraManage/CameraRules/index.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/index.vue
@@ -129,9 +129,30 @@
<div class="SeparateRules" @click="selectMultiple(false)">
<div class="title">鐙珛鍦烘櫙</div>
<div class="control">
- <i class="iconfont" @click="openSdkBox($event)"></i>
- <i class="iconfont"></i>
- <i class="iconfont"></i>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="绠楁硶浜嬩欢"
+ placement="top"
+ >
+ <i class="iconfont" @click="openSdkBox($event)"></i>
+ </el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="鏁版嵁娴佷紶"
+ placement="top"
+ >
+ <i class="iconfont"></i>
+ </el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="妯℃澘鍔╂墜"
+ placement="top"
+ >
+ <i class="iconfont"></i>
+ </el-tooltip>
</div>
<div class="content">
@@ -171,9 +192,30 @@
<div class="linkageRule" @click="selectMultiple(true)">
<div class="title">鑱斿姩鍦烘櫙</div>
<div class="control">
- <i class="iconfont" @click="showSdkBox = true"></i>
- <i class="iconfont"></i>
- <i class="iconfont"></i>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="绠楁硶浜嬩欢"
+ placement="top"
+ >
+ <i class="iconfont" @click="showSdkBox = true"></i>
+ </el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="鏁版嵁娴佷紶"
+ placement="top"
+ >
+ <i class="iconfont"></i>
+ </el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="妯℃澘鍔╂墜"
+ placement="top"
+ >
+ <i class="iconfont"></i>
+ </el-tooltip>
</div>
<template v-if="linkageRule.length > 0">
<div class="content" v-for="(item, index) in linkageRule" :key="index">
diff --git a/src/views/manageCenter/index.vue b/src/views/manageCenter/index.vue
index fe31d59..f170113 100644
--- a/src/views/manageCenter/index.vue
+++ b/src/views/manageCenter/index.vue
@@ -291,13 +291,13 @@
permission: "statisticMng",
},
- /* {
+ {
name: "GB28181",
- icon: "/images/manageCenter/缁熻鏌ヨ.png",
+ icon: "/images/manageCenter/search.png",
openPath: "/GB28181Open",
path: "/GB28181Open",
permission: "statisticMng",
- }, */
+ },
],
timeList: [
{ name: "20.103鏈嶅姟鍣�", time: "9澶�12灏忔椂44鍒�39绉�" },
diff --git a/src/views/search/Searching.vue b/src/views/search/Searching.vue
index eb7d71d..639d258 100644
--- a/src/views/search/Searching.vue
+++ b/src/views/search/Searching.vue
@@ -141,6 +141,16 @@
<p class="p-clear">
<b class="clear-searching" @click="clearSearch">閲嶇疆</b>
</p>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="閰嶇疆瀛樺偍璺緞"
+ placement="bottom"
+ >
+ <span @click="showSetBox = true" class="iconfont setIcon"
+ ></span
+ >
+ </el-tooltip>
</div>
<div ref="mid" style="height: calc(100% - 50px)">
<div class="left-selection" v-if="VideoPhotoData.uploadDiaplay">
@@ -272,6 +282,7 @@
</div>
</hsc-window>
</hsc-window-style-metal>
+ <SetBox v-if="showSetBox" @close="showSetBox = false"></SetBox>
</div>
</template>
@@ -280,11 +291,13 @@
import UploadImg from "./components/UploadImg";
import bus from "@/main";
import { getUrlKey } from "@/api/utils.ts";
+import SetBox from "@/views/search/components/SetBox";
export default {
name: "RightSide",
components: {
Card,
UploadImg,
+ SetBox,
},
data() {
return {
@@ -305,6 +318,7 @@
],
searchText: "",
currentPage: 1,
+ showSetBox: false,
};
},
computed: {
@@ -887,6 +901,12 @@
color: #2249b4;
}
}
+ .setIcon {
+ margin-left: 10px;
+ font-size: 18px;
+ color: #1677ff;
+ cursor: pointer;
+ }
.clear-searching {
cursor: pointer;
text-decoration: underline;
diff --git a/src/views/search/components/CardWindow.vue b/src/views/search/components/CardWindow.vue
index e163d51..13cc517 100644
--- a/src/views/search/components/CardWindow.vue
+++ b/src/views/search/components/CardWindow.vue
@@ -37,7 +37,7 @@
></model-card>
</el-carousel-item>
</el-carousel>
- <div class="model-bottom">
+ <!-- <div class="model-bottom">
<p class="model-bottom-left" @click="upPage(item.list, index)">
<i class="el-icon-arrow-left"></i>
涓婁竴涓�
@@ -46,7 +46,7 @@
涓嬩竴涓�
<i class="el-icon-arrow-right"></i>
</p>
- </div>
+ </div> -->
</hsc-window>
</hsc-window-style-metal>
</div>
@@ -251,6 +251,12 @@
},
};
</script>
+
+
+
+
+
+
<style lang="scss">
.layout {
min-width: 1350px;
diff --git a/src/views/search/components/SetBox.vue b/src/views/search/components/SetBox.vue
new file mode 100644
index 0000000..bb22d9c
--- /dev/null
+++ b/src/views/search/components/SetBox.vue
@@ -0,0 +1,325 @@
+<template>
+ <div class="SetBox">
+ <div class="title">閰嶇疆瀛樺偍璺緞</div>
+
+ <!-- 鍒涘缓闆嗙兢琛ㄦ牸 -->
+ <el-form
+ :model="formData"
+ :rules="rules"
+ ref="Form"
+ label-position="left"
+ label-width="150px"
+ >
+ <el-form-item class="h32" prop="enable" label="鏄惁瀹夎鏁版嵁搴�">
+ <el-radio-group v-model="formData.enable">
+ <el-radio :label="true">鏄�</el-radio>
+ <el-radio :label="false">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formData.enable"
+ class="h32 ip"
+ prop="alarmIp"
+ label="鏁版嵁搴撳瓨鍌ㄤ綅缃�"
+ >
+ <el-input
+ v-model="formData.alarmIp"
+ placeholder="渚嬶細192.168.20.118锛�9200"
+ class="h32"
+ ></el-input>
+
+ <el-input
+ v-model="formData.alarmPort"
+ placeholder="璇疯緭鍏ョ鍙�"
+ class="h32"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formData.enable"
+ class="h32 ip"
+ prop="webPicIp"
+ label="鏂囦欢瀛樺偍浣嶇疆"
+ >
+ <el-input
+ v-model="formData.webPicIp"
+ placeholder="璇疯緭鍏ユ湇鍔″櫒淇℃伅"
+ class="h32"
+ ></el-input>
+
+ <el-input
+ v-model="formData.webPicPort"
+ placeholder="璇疯緭鍏ョ鍙�"
+ class="h32"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formData.enable"
+ class="h32"
+ prop="esIsAuth"
+ label="鏁版嵁搴撻獙璇佹柟寮�"
+ >
+ <el-radio-group v-model="formData.esIsAuth">
+ <el-radio :label="false">鏃�</el-radio>
+ <el-radio :label="true">璐︽埛瀵嗙爜楠岃瘉</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formData.enable && formData.esIsAuth"
+ class="h32"
+ prop="esUsername"
+ label="鏁版嵁搴撹处鍙�"
+ >
+ <el-input
+ v-model="formData.esUsername"
+ placeholder="璇疯緭鍏ユ暟鎹簱璐﹀彿"
+ class="h32"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formData.enable && formData.esIsAuth"
+ class="h32"
+ prop="esPassword"
+ label="鏁版嵁搴撳瘑鐮�"
+ >
+ <el-input
+ v-model="formData.esPassword"
+ placeholder="璇疯緭鍏ユ暟鎹簱瀵嗙爜"
+ class="h32"
+ type="password"
+ ></el-input>
+ </el-form-item>
+ </el-form>
+
+ <!-- 鍙栨秷涓庢彁浜� -->
+ <div class="btns">
+ <div class="cancel button" @click="close()">鍙栨秷</div>
+ <div class="quit button" @click="submit">纭畾</div>
+ </div>
+
+ <div class="close iconfont" @click="close()"></div>
+ </div>
+</template>
+
+<script>
+import { config, saveEsConfig } from "@/api/search";
+
+export default {
+ created() {
+ this.getData();
+ },
+ data() {
+ return {
+ formData: {
+ id: "", //鍙杇et缁撴灉涓殑id 绗竴娆′繚瀛樹紶绌�
+ alarmIp: "", //es鐨刬p
+ alarmPort: 9200, //es鐨刾ort
+ webPicIp: "", //weedfs鐨刬p
+ webPicPort: 6333, //weedfs鐨刾ort
+ enable: false, //鍚敤瀛樺偍浼爐rue,涓嶅惎鐢ㄤ紶false
+ esIsAuth: false, //es鏄惁寮�鍚敤鎴峰悕瀵嗙爜閴存潈
+ esUsername: "", //寮�鍚壌鏉冿紝es鐢ㄦ埛鍚�
+ esPassword: "", //es瀵嗙爜
+ },
+ rules: {
+ enable: [
+ {
+ required: true,
+ message: "璇烽�夋嫨鏄惁瀹夎鏁版嵁搴�",
+ trigger: "blur",
+ },
+ ],
+ alarmIp: [
+ {
+ required: true,
+ message: "璇疯緭鍏ユ暟鎹簱瀛樺偍浣嶇疆",
+ trigger: "blur",
+ },
+ ],
+ webPicIp: [
+ { required: true, message: "璇疯緭鍏ユ枃浠跺瓨鍌ㄤ綅缃�", trigger: "blur" },
+ ],
+ esIsAuth: [
+ {
+ required: true,
+ message: "璇烽�夋嫨鏁版嵁搴撻獙璇佹柟寮�",
+ trigger: "blur",
+ },
+ ],
+ esUsername: [
+ { required: true, message: "璇疯緭鍏ユ暟鎹簱璐﹀彿", trigger: "blur" },
+ ],
+ esPassword: [
+ { required: true, message: "璇疯緭鍏ユ暟鎹簱瀵嗙爜", trigger: "blur" },
+ ],
+ },
+ };
+ },
+ methods: {
+ close() {
+ this.$emit("close");
+ },
+ async getData() {
+ const res = await config();
+ if (res && res.success) {
+ this.formData = res.data;
+ }
+ },
+ submit() {
+ this.$refs["Form"].validate(async (valid) => {
+ if (valid) {
+ const res = await saveEsConfig(this.formData);
+ if (res && res.success) {
+ this.$notify({
+ type: "success",
+ message: "淇濆瓨鎴愬姛",
+ });
+ this.close();
+ }
+ }
+ });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.SetBox {
+ position: relative;
+ box-sizing: border-box;
+ padding: 20px;
+ position: fixed;
+ width: 520px;
+ height: 490px;
+ top: 50%;
+ left: 50%;
+ margin-top: -260px;
+ margin-left: -245px;
+ filter: drop-shadow(0px 2px 16px rgba(0, 43, 106, 0.25));
+ z-index: 3000;
+ background-color: #fff;
+
+ .title {
+ margin-bottom: 10px;
+ padding-bottom: 20px;
+ font-size: 18px;
+ font-weight: 700;
+ border-bottom: 1px solid #e9ebee;
+ }
+
+ .el-form-item ::v-deep {
+ margin-bottom: 22px;
+
+ label {
+ color: #666;
+ }
+
+ .el-form-item__error {
+ padding-top: 0;
+ }
+
+ .el-input {
+ .el-input__inner {
+ padding: 0 10px;
+ color: #3d3d3d;
+ border-radius: 0;
+ border-color: #c0c5cc;
+ &::-webkit-input-placeholder {
+ color: #999999;
+ }
+
+ &:focus {
+ border-color: #0065ff;
+ }
+ }
+ }
+ }
+
+ .el-form-item.ip ::v-deep {
+ .el-form-item__content {
+ display: flex;
+
+ .el-input {
+ flex: 1;
+ }
+
+ .el-input:first-child {
+ margin-right: 10px;
+ flex: 2;
+ }
+ }
+ }
+ .el-form-item.password ::v-deep {
+ .el-form-item__content {
+ display: flex;
+ justify-content: space-between;
+
+ .el-input {
+ margin-left: -4px;
+ width: 250px;
+ }
+
+ .createPassword {
+ font-size: 14px;
+ color: #0065ff;
+ cursor: pointer;
+ }
+
+ .search {
+ margin-top: 8px;
+ width: 64px;
+ height: 24px;
+ font-size: 12px;
+ line-height: 24px;
+ text-align: center;
+ background-color: #0065ff;
+ color: #fff;
+ cursor: pointer;
+ }
+ }
+ }
+
+ .btns {
+ padding: 20px 0;
+ border-top: 1px solid #e9ebee;
+ position: absolute;
+ left: 20px;
+ right: 20px;
+ bottom: 0;
+ display: flex;
+ justify-content: flex-end;
+ text-align: center;
+ line-height: 32px;
+ font-size: 14px;
+
+ .cancel {
+ margin-right: 10px;
+ width: 60px;
+ height: 32px;
+ border: 1px solid #0065ff;
+ color: #0065ff;
+ }
+
+ .quit {
+ width: 60px;
+ height: 32px;
+ color: #fff;
+ background-color: #0065ff;
+ border: 1px solid #0065ff;
+ }
+ }
+
+ .close {
+ position: absolute;
+ top: 20px;
+ right: 20px;
+ font-size: 12px;
+ color: #666;
+ cursor: pointer;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/search/index.vue b/src/views/search/index.vue
index e252b64..8d37ce7 100644
--- a/src/views/search/index.vue
+++ b/src/views/search/index.vue
@@ -61,6 +61,10 @@
})();
};
},
+ beforeDestroy() {
+ sessionStorage.removeItem("clusterId");
+ sessionStorage.removeItem("devId");
+ },
methods: {
parseUrl() {},
selectCluster(val) {
@@ -198,7 +202,7 @@
}
.search_cluster {
- top: 12px;
+ top: 18px;
left: 172px;
position: fixed;
width: 135px;
diff --git a/vue.config.js b/vue.config.js
index 3dc4473..871f606 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -13,7 +13,7 @@
// hotOnly: false, // 鐑洿鏂�
proxy: {
"/api": {
- // target: "http://192.168.20.10:7004",
+ // target: "http://192.168.20.10:7009",
target: "http://192.168.20.115:7070",
// target: "http://192.168.20.235:7070",
// target: "http://192.168.20.117:7080",
@@ -33,7 +33,7 @@
},
"/ws": {
- target: "http://192.168.20.235:7070",
+ target: "http://192.168.20.115:7070",
// ws: true,
changeOrigin: true,
},
--
Gitblit v1.8.0