被覆盖

This commit is contained in:
a0049873 2022-11-21 10:51:54 +08:00
parent 558663fbfa
commit de09c71c8b
6 changed files with 410 additions and 63 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-05-06 11:12:00
* @LastEditors: Light
* @LastEditTime: 2022-11-16 10:21:49
* @LastEditTime: 2022-11-21 10:45:07
* @Description: 告诉大家这是什么
-->
<template>
@ -117,7 +117,7 @@
realName.charCodeAt()
)
//
if (oldValue == '/login' || oldValue == '/') {
if (newValue == '/home') {
waterMarkInit(newValue)
}
changeWaterMark(newValue)
@ -125,7 +125,7 @@
{ immediate: true }
)
onMounted(() => {
waterMarkInit()
// waterMarkInit()
})
onBeforeUnmount(() => {
// 4.,

View File

@ -1,8 +1,8 @@
/*
* @Author: hisense.wuhongjian
* @Date: 2022-04-20 17:16:35
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-26 17:57:52
* @LastEditors: Light
* @LastEditTime: 2022-11-21 10:51:25
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -97,7 +97,22 @@ export function getHls(params) {
config2
)
}
// 西 POI
export function getListForPOI(params) {
return axios.get(
'http://10.134.135.3:21009/service/lbs/coder/geocoding2?appKey=675d95594136456bb7b1434dda31953f&city=青岛&keywords=' +
params.keywords,
config2
)
}
//西
export function getPlaceType() {
return axios.get(
'http://10.134.135.92:9537/data_service/placeTypes/getPlaceType',
config2
)
}
// 西-- (10.134.135.92:9537)
let _cameraUrl =
(_global &&

View File

@ -1,5 +1,4 @@
<template>
itShowQingDao
<!-- 青岛 -->
<div class="details-pageconetent" v-if="whoShow1 && whoShow1.itShowQingDao">
<home-header></home-header>
@ -305,7 +304,7 @@
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
<detailsPageconetentTree />
</div>
<div class="details-pageconetent-left" style="left:0.16rem" v-else>
<div class="details-pageconetent-left" style="left: 0.16rem" v-else>
<detailsPageInfrastructureTreeXha />
</div>
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
@ -436,7 +435,11 @@
<a-empty />
</div>
</div>
<div class="top" style="width: 13.5rem;margin-left:0" v-else-if="Cardsname === '基础设施'">
<div
class="top"
style="width: 13.5rem; margin-left: 0"
v-else-if="Cardsname === '基础设施'"
>
<div class="top-title">
<div
v-for="item in titleName"
@ -507,6 +510,9 @@
:resourceTotal="resourceTotal"
></KnowledgeBase>
</div>
<template v-if="Cardsname == '基础设施'">
<infrastructureApplication></infrastructureApplication>
</template>
<div class="talk-monitor" @click="openMonitor">
<a-tooltip>
<template #title>问答机器人</template>
@ -778,6 +784,7 @@
import infrastructurePageXha from '@/views/home/infrastructurePageXha.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import detailsPageInfrastructureTreeXha from '@/views/home/detailsPageInfrastructureTreeXha.vue'
import infrastructureApplication from '@/views/home/infrastructureApplication.vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { useStore } from 'vuex'
import { message } from 'ant-design-vue'
@ -803,7 +810,7 @@
const handleAdd = (value) => {
flag.value = value
}
    const titleName=ref([])
const titleName = ref([])
const openMonitor = () => {
window.open('http://www.qingdao.gov.cn:8083/ghwd/znwdqd/index.html')
}
@ -904,15 +911,14 @@
name: '',
})
// 西
 const setTitle = () => {
        let  title = titleNameArray
        let whoShow1 = ref(whoShow)
      if( whoShow1 && whoShow1.value.itShowXiHaiAn){
        title[0] = title.splice(2, 1, title[0])[0];
     
      }
      titleName.value=title
      }
const setTitle = () => {
let title = titleNameArray
let whoShow1 = ref(whoShow)
if (whoShow1 && whoShow1.value.itShowXiHaiAn) {
title[0] = title.splice(2, 1, title[0])[0]
}
titleName.value = title
}
//
const onSearch = () => {
loading.value = true
@ -1280,21 +1286,27 @@
.replace({
query: newQuery,
})
.then(() => {})
mybus.emit('changeRoomInput', searchValue.value)
if (
whoShow1.value.itShowQingDao &&
paramsGetResources.type == '基础设施'
) {
console.log('camera2', camera)
camera.value.getCamera(true, searchValue.value)
} else {
if (storageSearchInfo) {
getAppResources('分页查询')
} else {
getAppResources()
}
}
.then(() => {
mybus.emit('changeRoomInput', searchValue.value)
if (
whoShow1.value.itShowQingDao &&
paramsGetResources.type == '基础设施'
) {
console.log('camera2', camera)
let selectType = router.currentRoute.value.query.selectType
if (selectType == '政务云资源') {
camera.value.getGovernmentCloud()
} else {
camera.value.getCamera(true, searchValue.value)
}
} else {
if (storageSearchInfo) {
getAppResources('分页查询')
} else {
getAppResources()
}
}
})
}
const getAppResources = (switchIndex) => {
if (!globalFlag.value) {
@ -1751,7 +1763,7 @@
onMounted(() => {
//
//西
setTitle();
setTitle()
handleSetSearchData()
listKey2.value++
//
@ -1953,6 +1965,7 @@
infrastructurePageXha,
detailsPageInfrastructureTree,
detailsPageInfrastructureTreeXha,
infrastructureApplication,
},
beforeUnmount() {
mybus.off('getCameraByParentId')

View File

@ -0,0 +1,178 @@
<!--
* @Author: Light
* @Date: 2022-11-18 11:53:43
* @LastEditors: Light
* @LastEditTime: 2022-11-19 17:15:15
* @Description: 告诉大家这是什么
-->
<template>
<div class="infrastructureApplication">
<div class="top">
<a-list size="small" bordered :data-source="dataList.toBeApplied">
<template #renderItem="{ item }">
<a-list-item>
<div class="name">
<a-tooltip>
<template #title>{{ item.channelName }}</template>
{{ item.channelName }}
</a-tooltip>
</div>
<a-button type="link" danger @click="delWillApplyCamera(item.id)">
移出
</a-button>
</a-list-item>
</template>
<template #header>
<div class="title">待申请列表</div>
</template>
<template #footer>
<a-button type="primary">一键申请</a-button>
</template>
</a-list>
</div>
<div class="bottom">
<a-list size="small" bordered :data-source="data">
<template #renderItem="{ item }">
<a-list-item>
<div class="name">
<a-tooltip>
<template #title>{{ item }}</template>
{{ item }}
</a-tooltip>
</div>
<a-button type="link" danger>删除</a-button>
</a-list-item>
</template>
<template #header>
<div class="title">已申请列表</div>
</template>
</a-list>
</div>
</div>
</template>
<script setup>
import {
willApplyCameraSelect,
willApplyCameraBatchInsert,
willApplyCameraBatchDelete,
} from '@/api/home'
import { onBeforeUnmount, reactive, ref } from 'vue'
import { message } from 'ant-design-vue'
import mybus from '@/myplugins/mybus'
const dataList = reactive({ toBeApplied: [], requested: [] })
//
const addWacFlag = ref(true)
const delWacFlag = ref(true)
const delWillApplyCamera = (id) => {
console.log('删除===>', id)
if (delWacFlag.value) {
delWacFlag.value = false
willApplyCameraBatchDelete([id]).then((res) => {
if (res.data.code == 0) {
message.success('移出成功')
} else {
message.warning('移出失败')
}
init()
})
}
}
const init = () => {
willApplyCameraSelect().then((res) => {
if (res.data.code == 0) {
dataList.toBeApplied = res.data.data
delWacFlag.value = true
addWacFlag.value = true
} else {
message.warning('查询失败')
dataList.toBeApplied = []
}
})
}
init()
mybus.on('selectCamera', (obj) => {
// 10
if (dataList.toBeApplied.length + dataList.requested.length > 10) {
message.warning('最多只能申请10个摄像头')
return
}
//
let addFlag = true
dataList.toBeApplied.map((val) => {
if (addFlag && val.channelId == obj.channelId) {
addFlag = false
}
})
dataList.requested.map((val) => {
if (addFlag && val.channelId == obj.channelId) {
addFlag = false
}
})
if (addWacFlag.value) {
if (addFlag) {
addWacFlag.value = false
willApplyCameraBatchInsert([obj]).then((res) => {
if (res.data.code == 0) {
message.success('移入成功')
} else {
message.warning('移入失败')
}
init()
})
} else {
message.warning('已申请该摄像头!')
}
}
})
onBeforeUnmount(() => {
mybus.off('selectCamera')
})
const data = [
'Racing car sprays burning fuel into crowd.',
'Japanese princess to wed commoner.',
'Australian walks 100km after outback crash.',
'Man charged over missing wedding girl.',
'Los Angeles battles huge wildfires.',
'Racing car sprays burning fuel into crowd.',
'Japanese princess to wed commoner.',
'Australian walks 100km after outback crash.',
'Man charged over missing wedding girl.',
'Los Angeles battles huge wildfires.',
]
</script>
<style lang="less" scoped>
.infrastructureApplication {
background: #fff;
position: fixed;
top: 50%;
right: 0.16rem;
margin-top: -3.5rem;
.bottom {
margin-top: 32px;
}
.title {
font-size: 16px;
font-weight: 600;
}
.name {
width: 150px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
:deep(.ant-list-footer) {
display: flex;
justify-content: flex-end;
}
:deep(.ant-list-items) {
height: 2.45rem;
overflow-y: scroll;
}
:deep(.ant-spin-nested-loading) {
height: 2.45rem;
}
}
</style>

View File

@ -562,9 +562,13 @@
</div>
<div
class="infrastructrue-table"
:key="showKey"
v-if="!wrjFlag && selectType == '政务云资源'"
>
<GovernmentCloudResources></GovernmentCloudResources>
<GovernmentCloudResources
:governmentCloud="governmentCloud"
@getGovernmentCloud="getGovernmentCloud"
></GovernmentCloudResources>
</div>
<!-- 西海岸-无人机单兵设备 -->
<div class="infrastructrue-table" v-else-if="isXiHaiAn && wrjFlag">
@ -1553,6 +1557,7 @@
}
const emits = defineEmits(['add'])
const selectType = ref('政务云资源')
const showKey = ref(0)
//
let tableHeight = ref('600')
//tab
@ -1561,6 +1566,15 @@
selectedList.value = []
if (clickList.value[indexFather].content.indexOf(name) != -1) {
if (name == '视频资源') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
room.value = true
tableHeight.value = 330
showMap.value = true
@ -1570,6 +1584,15 @@
selectType.value = '视频资源'
console.log('444------------>', 444)
} else if (name == '政务云资源') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
room.value = true
tableHeight.value = 600
showMap.value = false
@ -1589,7 +1612,25 @@
pagination.value.total = 0
selectType.value = '感知资源'
} else if (name == '城市云脑会客厅') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
} else if (name == '视频会议') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
room.value = true
tableHeight.value = 600
showMap.value = false
@ -1609,6 +1650,15 @@
}
} else {
if (name == '视频资源') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
selectType.value = '视频资源'
wrjFlag.value = false
tableHeight.value = 330
@ -1649,6 +1699,15 @@
emits('add', 1)
getCamera()
} else if (name == '政务云资源') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
selectType.value = '政务云资源'
tableHeight.value = 600
showMap.value = false
@ -1667,6 +1726,7 @@
'PaaS服务',
'安全服务',
'大数据服务',
'运营服务',
'附加增值服务',
]
} else {
@ -1680,6 +1740,15 @@
wrjFlag.value = false
emits('add', 2)
} else if (name == '视频会议') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
selectType.value = '视频会议'
tableHeight.value = 600
showMap.value = false
@ -1722,6 +1791,15 @@
pagination.value.current = 1
getSoldierData(indexFather, name)
} else if (name == '城市云脑会客厅') {
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
newQuery.selectType = name
router
.replace({
query: newQuery,
})
.then(() => {})
showMap.value = false
dataSource.value = []
dataSource2.value = []
@ -1783,7 +1861,9 @@
clickList.value[indexFather].content = [name]
}
if (!isXiHaiAn) {
getGovernmentCloud()
getGovernmentCloud(1)
governmentCloud.current = 1
showKey.value++
}
}
// labelCode
@ -2142,10 +2222,6 @@
})
}
}
defineExpose({
getCamera,
reSetSearch,
})
//
const addShoppingCart = () => {
if (selectedList.value.length > 0) {
@ -2313,9 +2389,18 @@
} else {
}
}
const getGovernmentCloud = () => {
getPolicyCloudService().then((res) => {
const governmentCloud = reactive({ data: [], total: 0, current: 1 })
const getGovernmentCloud = (page) => {
let roomStr = router.currentRoute.value.query.str
getPolicyCloudService({
limit: 5,
page: page || 1,
name: roomStr || '',
type: clickList.value[1].content[0],
}).then((res) => {
console.log('获取政务云资源======》', res.data.data)
governmentCloud.data = res.data.data.list
governmentCloud.total = res.data.data.total
})
}
// tab
@ -2378,6 +2463,12 @@
message.warning(err)
})
}
defineExpose({
getCamera,
reSetSearch,
getGovernmentCloud,
})
</script>
<style lang="less" scoped>
.infrastructrueBox {

View File

@ -8,23 +8,7 @@
</div>
<div class="searchPoint">
<el-autocomplete
v-model="address"
placeholder="请输入地址"
:fetch-suggestions="
(queryString, cb) => {
searchAddressByKeyWord(queryString, cb, i)
}
"
:trigger-on-focus="false"
:popper-append-to-body="false"
class="address-auto-complete-input"
@select="
(addressItem) => {
selectedAddress(addressItem, i)
}
"
/>
<!-- 第一版 -->
<!-- <el-autocomplete
class="inline-input"
prefix-icon="Search"
@ -46,6 +30,37 @@
</template>
<template v-slot:append>搜索</template>
</el-autocomplete> -->
<!-- 第二版 -->
<el-select class="input-with-select" v-model="addressType" style="width: 115px" @change="address=''">
<el-option label="兴趣点" value="1" />
<el-option label="点位" value="2" />
</el-select>
<el-input
v-if="addressType==1"
v-model="address"
placeholder="请输入关键词"
class="input-with-select"
@keyup.enter="handleEnter"
>
</el-input>
<el-autocomplete
v-else-if="addressType==2"
v-model="address"
placeholder="请输入地址"
:fetch-suggestions="
(queryString, cb) => {
searchAddressByKeyWord(queryString, cb, i)
}
"
:trigger-on-focus="false"
:popper-append-to-body="false"
class="address-auto-complete-input"
@select="
(addressItem) => {
selectedAddress(addressItem, i)
}
"
/>
</div>
<svg
t="1656319660834"
@ -77,6 +92,7 @@
</template>
<script>
import { ElMessage } from 'element-plus'
import { message } from 'ant-design-vue'
import { HieimpMap } from '@/supermap/map-init'
import TiledMap from './components/tiledMap'
@ -92,7 +108,7 @@
selectByLabelName,
selectByChannelName,
} from '@/api/videoSurveillance'
import { getCameraByCondition } from '@/api/file'
import { getCameraByCondition,getListForPOI } from '@/api/file'
import mybus from '@/myplugins/mybus'
import * as turf from '@turf/turf';
@ -118,6 +134,7 @@
areaModeFlag: false,
addressMatchUrl: '',
address: '',
addressType:'1',
whoShow1: whoShow,
mapSearchParam: {
//
@ -188,7 +205,31 @@
this.addResourceTomap('videoMap', data)
})
},
methods: {
methods: { //
handleEnter(){
console.log('查询',this.address,this.addressType)
if(this.address){
getListForPOI({keywords:this.address}).then(res => {
console.log('POI=========>',res.data.data)
if(res.data.data.rows[0]){
let arr = res.data.data.rows[0].location.split(',')
this.selectedAddress({location:{y:arr[1],x:arr[0]}})
}else{
ElMessage({
showClose: true,
message: '未查询到兴趣点!',
type: 'warning',
})
}
})
}else{
ElMessage({
showClose: true,
message: '请输入兴趣点!',
type: 'warning',
})
}
},
selectedAddress(item, index) {
//
console.log('跳转', item)
@ -327,10 +368,10 @@
this.pointAllData = res.data.data;
if(this.mapSearchParam.type!=0){
this.addResourceTomap('videoMap', res.data.data)
}
}
else
{this.addResourceTomap('videoMap', []) } //}
})
}
},
@ -692,4 +733,13 @@
max-width: 2.4rem;
}
}
.input-with-select{
width: 2.4rem;
svg{
position: relative;
bottom: 0;
right: 0;
}
}
</style>