From 88078aa63c669cffc2d91e1269d460436427d09d Mon Sep 17 00:00:00 2001 From: ZZJ <10913410+zzj2100@user.noreply.gitee.com> Date: 星期四, 28 七月 2022 10:21:01 +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 | 5 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 | 5 src/views/hashrate/CameraManage/CameraRules/index.vue | 54 + src/views/connectUs/index.vue | 4 src/views/equipmentManagement/equipmentDetail/components/FormArea.vue | 16 src/views/GB28181/components/FormArea.vue | 13 29 files changed, 889 insertions(+), 757 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 6132f0c..36e7659 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -24,7 +24,10 @@ }, methods: { jump() { - window.open("http://www.smartai.com/"); + 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 410116a..706eaf5 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -17,7 +17,10 @@ export default { methods: { jump() { - window.open("http://www.smartai.com/"); + 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 d861af0..020d65b 100644 --- a/src/views/connectUs/index.vue +++ b/src/views/connectUs/index.vue @@ -37,8 +37,8 @@ if (index == 0) { this.$router.push("/"); } - if (index == 2 || index == 4) { - window.open("http://smartai.com/contact"); + if (index == 2) { + window.open("http://smartai.com/about"); } }, }, 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 7a85ad9..09c9ddf 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 ef308c3..9968aaa 100644 --- a/vue.config.js +++ b/vue.config.js @@ -13,11 +13,15 @@ // hotOnly: false, // 鐑洿鏂� proxy: { "/api": { +<<<<<<< HEAD // target: "http://192.168.20.10:7004", <<<<<<< HEAD // target: "http://192.168.20.174:7070", target: "http://192.168.20.115:7070", ======= +======= + // target: "http://192.168.20.10:7009", +>>>>>>> gb18186 target: "http://192.168.20.115:7070", // target: "http://192.168.20.235:7070", >>>>>>> bug淇 -- Gitblit v1.8.0