西海岸相关功能 合并代码

This commit is contained in:
guoyue 2022-10-09 14:29:51 +08:00
commit af1c03d3ed
10 changed files with 678 additions and 643 deletions

View File

@ -28,7 +28,8 @@ var CONFIGITEM = {
previewUrl: 'http://15.72.183.90:7008/', previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/', //frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/renren-admin', //apiURL: 'http://15.72.183.90:8000/renren-admin',
websocketURL: '15.72.183.90:8000/renren-admin', // websocketURL: '15.72.183.90:8000/renren-admin',
websocketURL: '192.168.124.254:8888/renren-admin', // -
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
}, },
@ -62,8 +63,9 @@ var CONFIGITEM = {
}, },
backUrl: 'http://10.134.135.9:9797', backUrl: 'http://10.134.135.9:9797',
previewUrl: 'http://10.134.135.9:9796/', previewUrl: 'http://10.134.135.9:9796/',
websocketURL: '10.134.135.9:8888/renren-admin', // // websocketURL: '10.134.135.9:8888/renren-admin', //
websocketURL: '10.134.135.92:8888/renren-admin', // // websocketURL: '10.134.135.92:8888/renren-admin', //
websocketURL: '192.168.124.254:8888/renren-admin', // -
// websocketURL: '10.18.1.99:8889/renren-admin', // // websocketURL: '10.18.1.99:8889/renren-admin', //
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',

View File

@ -74,7 +74,8 @@ export function getHls(params) {
// //
export function sgcInsert(data) { export function sgcInsert(data) {
return request({ return request({
url: '/resourcecar/insert', // url: '/resourcecar/insert',
url: '/resourcecar/batchInsert', // 西-
method: 'post', method: 'post',
data, data,
}) })

View File

@ -60,6 +60,7 @@ import {
} from '@/api/abilityStatistics.js' } from '@/api/abilityStatistics.js'
// import { zywMessage } from '@/api/home' // import { zywMessage } from '@/api/home'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { message } from 'ant-design-vue'
// //
let dataList = ref({ let dataList = ref({
title: '各类资源汇聚量', title: '各类资源汇聚量',
@ -95,11 +96,10 @@ let dataList = ref({
// }) // })
// } // }
selectTotal().then((res) => { selectTotal().then((res) => {
console.log('selectTotal===============>', res.data.data) console.log('selectTotal===============>', res)
// res.data.data.map((item, index) => { if(res.data.code !== 0) {
// dataList.value.dataList[index].organization = '' return message.error(res.data.msg)
// dataList.value.dataList[index].photo = photo.value[index] }
// })
let imgObj = { let imgObj = {
'组件服务': require('../../../assets/abilityStatistics/banner-zj.png'), '组件服务': require('../../../assets/abilityStatistics/banner-zj.png'),
'应用资源': require('../../../assets/abilityStatistics/banner-yy.png'), '应用资源': require('../../../assets/abilityStatistics/banner-yy.png'),

View File

@ -89,11 +89,15 @@
</span> </span>
<span>{{ val.type }}</span> <span>{{ val.type }}</span>
</div> </div>
<!-- (item.note1 && JSON.parse(item.note1) &&
JSON.parse(item.note1)[0] &&
JSON.parse(item.note1)[0].channelName -->
<div class="description"> <div class="description">
{{ {{
val.description || val.description ||
((val.note1 || '') && ((val.note1 || '') &&
(JSON.parse(val.note1)[0].channelName || '--') + (JSON.parse(val.note1) && JSON.parse(val.note1)[0] && JSON.parse(val.note1)[0].channelName || '--') +
'等' + '等' +
JSON.parse(val.note1).length + JSON.parse(val.note1).length +
'个摄像头') || '个摄像头') ||

View File

@ -502,26 +502,29 @@ export default {
if (item.note1 && typeof item.note1 == 'string') { if (item.note1 && typeof item.note1 == 'string') {
item.note1 = JSON.parse(item.note1) item.note1 = JSON.parse(item.note1)
} }
item.note1.map((sxt) => { item.note1 && item.note1.map((jcss) => {
if (!jcss) {
return;
}
let _itemData = { let _itemData = {
resourceId: sxt.idtCameraChannel + '', resourceId: (jcss.idtCameraChannel || '') + '',
resourceName: sxt.channelName, resourceName: jcss.channelName,
cameraId: sxt.channelId, // cameraId: jcss.channelId, //
channelCode: sxt.channelCode, channelCode: jcss.channelCode,
channelId: sxt.channelId, channelId: jcss.channelId,
channelName: sxt.channelName, channelName: jcss.channelName,
checkStatus: sxt.checkStatus + '', checkStatus: jcss.checkStatus + '',
gpsX: sxt.gpsX, gpsX: jcss.gpsX,
gpsY: sxt.gpsY, gpsY: jcss.gpsY,
idtCameraChannel: sxt.idtCameraChannel + '', idtCameraChannel: (jcss.idtCameraChannel || '') + '',
nodeName: sxt.nodeName, nodeName: jcss.nodeName,
parentId: sxt.parentId, parentId: jcss.parentId,
status: sxt.status + '', status: jcss.status + '',
} }
// 西 // 西
if (isXiHaiAn.value) { if (isXiHaiAn.value) {
_itemData.managementUnitName = sxt.managementUnitName _itemData.managementUnitName = jcss.managementUnitName;
_itemData.cameraPointTypeName = sxt.cameraPointTypeName _itemData.cameraPointTypeName = jcss.cameraPointTypeName;
} }
obj.system.push(_itemData) obj.system.push(_itemData)
}) })

View File

@ -1,11 +1,8 @@
<template> <template>
<div <div class="home-header" :class="[
class="home-header" select !== 'home' || scrollTop > 500 ? 'white' : '',
:class="[ props.showView === 'algorithm-details' ? '' : '',
select !== 'home' || scrollTop > 500 ? 'white' : '', ]">
props.showView === 'algorithm-details' ? '' : '',
]"
>
<div class="name" @click="goToHome"> <div class="name" @click="goToHome">
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div> <div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div> <div class="name-bg-xihaian" v-else></div>
@ -14,53 +11,26 @@
<p>(United Capacity System)</p> <p>(United Capacity System)</p>
</div> </div>
</div> </div>
<div <div v-for="item in navList" :key="item.key" @click="jumpPage(item)" class="nav"
v-for="item in navList" :class="item.key == select ? 'select' : ''">
:key="item.key"
@click="jumpPage(item)"
class="nav"
:class="item.key == select ? 'select' : ''"
>
{{ item.name }} {{ item.name }}
</div> </div>
<!-- 购物车 -->
<a-badge :count="sgcNum"> <a-badge :count="sgcNum">
<!-- 购物车 --> <svg t="1650455446850" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
<svg p-id="2069" width="0.4rem" height="0.4rem" @click="goToSgc">
t="1650455446850"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2069"
width="0.4rem"
height="0.4rem"
@click="goToSgc"
>
<path <path
d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z" d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2070"></path>
p-id="2070"
></path>
</svg> </svg>
<!-- <a-avatar shape="square" size="large" /> -->
</a-badge> </a-badge>
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem"> <a-badge :count="mynoticeNum" style="margin-left: 0.2rem">
<!-- 消息提醒 --> <!-- 消息提醒 -->
<svg <svg t="1654051054113" class="icon2" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
t="1654051054113" p-id="2187" width="0.35rem" height="0.35rem">
class="icon2"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2187"
width="0.35rem"
height="0.35rem"
>
<path <path
d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z" d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2188"></path>
p-id="2188"
></path>
</svg> </svg>
<!-- <a-avatar shape="square" size="large" /> --> <!-- <a-avatar shape="square" size="large" /> -->
</a-badge> </a-badge>
@ -89,10 +59,7 @@
<template #title> <template #title>
<span>{{ user.username }}</span> <span>{{ user.username }}</span>
</template> </template>
<span <span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
>
{{ user.username }} {{ user.username }}
</span> </span>
</a-tooltip> </a-tooltip>
@ -115,156 +82,219 @@
fill="#bfbfbf" fill="#bfbfbf"
></path> ></path>
</svg> --> </svg> -->
<i <i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo"></i>
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo"
></i>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue' import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { recordRoute } from '@/config' import { recordRoute } from '@/config'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { mynotice } from '@/api/home' import { mynotice } from '@/api/home'
import { useStore } from 'vuex' import { useStore } from 'vuex'
import { getSgcTotal } from '@/api/home' import { getSgcTotal } from '@/api/home'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js' import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { message } from 'ant-design-vue'
const store = useStore() const store = useStore()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const whoShow1 = whoShow const whoShow1 = ref(whoShow)
const user = ref({ const user = ref({
username: store.getters['user/username'], username: store.getters['user/username'],
}) })
// user.username.value = store.getters(['user/username']) // user.username.value = store.getters(['user/username'])
const select = ref(router.currentRoute.value.name) const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false) const mynoticeFlag = ref(false)
const mynoticeData = ref([]) const mynoticeData = ref([])
console.log('navListManagement------------>', navListManagement) console.log('navListManagement------------>', navListManagement)
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
const navList = ref(navListManagement.navList) const navList = ref(navListManagement.navList)
console.log('navList------------>', navList) console.log('navList------------>', navList)
const props = defineProps({ const props = defineProps({
showView: { type: String, default: '' }, showView: { type: String, default: '' },
}) })
// // // //
// getUser().then((res) => { // getUser().then((res) => {
// user.value = res.data.data // user.value = res.data.data
// // console.log('user===============>', user.value) // // console.log('user===============>', user.value)
// }) // })
// 退 // 退
const logout = async () => { const logout = async () => {
await store.dispatch('user/logout') await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([])) window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西 // 西
if (!whoShow1.itShowXiHaiAn) { if (!whoShow1.itShowXiHaiAn) {
if (recordRoute) { if (recordRoute) {
const fullPath = route.fullPath const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`) router.push(`/login?redirect=${fullPath}`)
} else { } else {
router.push('/login') router.push('/login')
}
} }
} }
// }
const goToHome = () => { //
router.push({ const goToHome = () => {
path: '/home', router.push({
path: '/home',
})
}
//
const jumpPage = (item) => {
// 西
if (whoShow1.itShowXiHaiAn) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name)) {
return message.warn('正在建设中!')
}
}
select.value = item.key
switch (item.name) {
case '个人中心':
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push({
path: '/personalCenter',
})
break
case '能力统计':
router.push({
path: '/abilityStatistics',
})
break
case '能力集市':
router.push({
path: '/DetailsPageconetent',
query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
},
})
break
case '能力云图':
router.push({
path: '/capabilityCloud',
})
break
// case '':
// router.push({
// path: '/developmentGuide',
// })
// break
case '新手指南':
router.push({
path: '/instructionManual',
})
break
case '需求中心':
router.push({
path: '/demandCenter',
})
break
case '区市站点':
router.push({
path: '/mapTest',
})
break
case '后台管理':
Cookies.remove('JSESSIONID')
window.open(window.SITE_CONFIG.backUrl + '/#/workBench-workBench')
// window.reload('http://15.2.21.238:9797')
break
case '赋能案例':
router.push({
path: '/assignCase',
})
break
case '典型赋能案例':
router.push({
path: '/assignCase',
})
break
case '融合服务':
router.push({
path: '/integrationServices',
})
break
case 'CIM专区':
router.push({
path: '/cimSpecialArea',
})
break
default:
router.push('/home')
break
}
}
const scrollTop = ref(0)
window.onscroll = function () {
//
//scrollTop
scrollTop.value =
document.documentElement.scrollTop || document.body.scrollTop
// console.log('' + scrollTop.value)
}
mybus.on('getSgcNum', () => {
getSgcTotal().then((res) => {
sgcNum.value = res.data.data.count
// console.log('========================>', res.data.data.count)
})
})
const sgcNum = ref(0)
const goToSgc = () => {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push('/personalCenter')
}
const mynoticeNum = ref(0)
//
const getMynotice = () => {
mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => {
// console.log('', res.data.data)
mynoticeNum.value = res.data.data.total
mynoticeData.value = res.data.data.list
})
}
const goToView = () => {
router.push({
path: '/mynoticeView',
})
}
// const read = (item) => {
// mynoticeRead(item.id).then((res) => {
// console.log('', res)
// getMynotice()
// })
// }
// -- cookie
onMounted(() => {
getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count)
sgcNum.value = res.data.data.count
})
getMynotice()
//
const mynoticeDom = document.querySelector('.icon2')
const mynotice = document.querySelector('.mynotice')
if (mynoticeDom) {
mynoticeDom.addEventListener('mouseover', () => {
mynoticeFlag.value = true
})
mynoticeDom.addEventListener('mouseout', () => {
mynoticeFlag.value = false
}) })
} }
// if (mynotice) {
const jumpPage = (item) => { mynotice.addEventListener('mouseover', () => {
// console.log(item) mynoticeFlag.value = true
select.value = item.key })
switch (item.name) { mynotice.addEventListener('mouseout', () => {
case '个人中心': mynoticeFlag.value = false
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle')) })
router.push({
path: '/personalCenter',
})
break
case '能力统计':
router.push({
path: '/abilityStatistics',
})
break
case '能力集市':
router.push({
path: '/DetailsPageconetent',
query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
},
})
break
case '能力云图':
router.push({
path: '/capabilityCloud',
})
break
// case '':
// router.push({
// path: '/developmentGuide',
// })
// break
case '新手指南':
router.push({
path: '/instructionManual',
})
break
case '需求中心':
router.push({
path: '/demandCenter',
})
break
case '区市站点':
router.push({
path: '/mapTest',
})
break
case '后台管理':
Cookies.remove('JSESSIONID')
window.open(window.SITE_CONFIG.backUrl + '/#/workBench-workBench')
// window.reload('http://15.2.21.238:9797')
break
case '赋能案例':
router.push({
path: '/assignCase',
})
break
case '典型赋能案例':
router.push({
path: '/assignCase',
})
break
case '融合服务':
router.push({
path: '/integrationServices',
})
break
case 'CIM专区':
router.push({
path: '/cimSpecialArea',
})
break
default:
router.push('/home')
break
}
}
const scrollTop = ref(0)
window.onscroll = function () {
//
//scrollTop
scrollTop.value =
document.documentElement.scrollTop || document.body.scrollTop
// console.log('' + scrollTop.value)
} }
mybus.on('getSgcNum', () => { mybus.on('getSgcNum', () => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
@ -272,292 +302,268 @@
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)
}) })
}) })
mybus.on('getMynotice', () => {
const sgcNum = ref(0)
const goToSgc = () => {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push('/personalCenter')
}
const mynoticeNum = ref(0)
//
const getMynotice = () => {
mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => {
// console.log('', res.data.data)
mynoticeNum.value = res.data.data.total
mynoticeData.value = res.data.data.list
})
}
const goToView = () => {
router.push({
path: '/mynoticeView',
})
}
// const read = (item) => {
// mynoticeRead(item.id).then((res) => {
// console.log('', res)
// getMynotice()
// })
// }
// -- cookie
onMounted(() => {
getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count)
sgcNum.value = res.data.data.count
})
getMynotice() getMynotice()
//
const mynoticeDom = document.querySelector('.icon2')
const mynotice = document.querySelector('.mynotice')
if (mynoticeDom) {
mynoticeDom.addEventListener('mouseover', () => {
mynoticeFlag.value = true
})
mynoticeDom.addEventListener('mouseout', () => {
mynoticeFlag.value = false
})
}
if (mynotice) {
mynotice.addEventListener('mouseover', () => {
mynoticeFlag.value = true
})
mynotice.addEventListener('mouseout', () => {
mynoticeFlag.value = false
})
}
mybus.on('getSgcNum', () => {
getSgcTotal().then((res) => {
sgcNum.value = res.data.data.count
// console.log('========================>', res.data.data.count)
})
})
mybus.on('getMynotice', () => {
getMynotice()
})
})
onBeforeUnmount(() => {
mybus.off('getSgcNum')
mybus.off('getMynotice')
}) })
})
onBeforeUnmount(() => {
mybus.off('getSgcNum')
mybus.off('getMynotice')
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@font-face { @font-face {
font-family: 'header-typeface'; font-family: 'header-typeface';
src: url('~@/assets/newHome/font/header-typeface.ttf'); src: url('~@/assets/newHome/font/header-typeface.ttf');
}
.home-header {
height: 0.64rem;
width: 100%;
max-width: 1920px;
display: flex;
justify-content: center;
align-items: center;
// padding: 0 1rem;
background-color: rgba(0, 0, 25, 0.7);
position: fixed;
z-index: 1000;
top: 0;
div {
color: #fff;
font-size: 0.16rem;
} }
.home-header {
height: 0.64rem; .name {
width: 100%; cursor: pointer;
max-width: 1920px; font-size: 0.22rem;
font-family: header-typeface;
margin-right: 0.2rem;
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
// padding: 0 1rem;
background-color: rgba(0, 0, 25, 0.7); .name-bg {
position: fixed; height: 0.6rem;
z-index: 1000; width: 0.6rem;
top: 0; background: url('~@/assets/newHome/ucs-2.png') no-repeat;
div { background-size: 100%;
color: #fff; margin-right: 0.15rem;
font-size: 0.16rem;
} }
.name {
cursor: pointer; .name-bg-xihaian {
font-size: 0.22rem; height: 0.6rem;
font-family: header-typeface; width: 0.6rem;
margin-right: 0.2rem; background: url('~@/assets/newHome/newHome-title-bg-xihaian.png') no-repeat;
display: flex; background-size: 100%;
align-items: center; margin-right: 0.15rem;
.name-bg { }
height: 0.6rem;
width: 0.6rem; .name-content {
background: url('~@/assets/newHome/ucs-2.png') no-repeat; padding-top: 0.14rem;
background-size: 100%;
margin-right: 0.15rem; p {
} font-size: 0.2rem;
.name-bg-xihaian { margin-bottom: 0;
height: 0.6rem;
width: 0.6rem; &:nth-of-type(2) {
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png') font-size: 0.12rem;
no-repeat;
background-size: 100%;
margin-right: 0.15rem;
}
.name-content {
padding-top: 0.14rem;
p {
font-size: 0.2rem;
margin-bottom: 0;
&:nth-of-type(2) {
font-size: 0.12rem;
}
} }
} }
} }
.nav {
width: 1.2rem;
height: 0.64rem;
line-height: 0.64rem;
text-align: center;
}
.nav:hover {
background: #0058e1;
color: #fff;
cursor: pointer;
}
.select {
background: #0058e1;
color: #fff !important;
}
.info {
// width: 2rem;
margin-left: 0.2rem;
display: flex;
justify-content: center;
.img {
width: 0.3rem;
height: 0.3rem;
border-radius: 0.1rem;
background: url('~@/assets/newHome/user.png') no-repeat;
background-size: 100%;
}
span {
height: 0.3rem;
line-height: 0.3rem;
margin-left: 0.08rem;
margin-right: 0.06rem;
font-size: 0.16rem;
}
.name {
max-width: 2.3rem;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
}
.out {
cursor: pointer;
// padding: 0 0.16rem;
padding: 0 0.04rem 0 0.1rem;
border-left: 0.01rem solid #666;
}
.icon {
cursor: pointer;
}
}
} }
.white {
background-color: #fff; .nav {
box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1); width: 1.2rem;
.name { height: 0.64rem;
color: #0058e1; line-height: 0.64rem;
.name-bg { text-align: center;
height: 0.6rem; }
width: 0.6rem;
background: url('~@/assets/newHome/ucs-1.png') no-repeat; .nav:hover {
background-size: 100%; background: #0058e1;
margin-right: 0.15rem; color: #fff;
} cursor: pointer;
p { }
color: #0058e1;
} .select {
background: #0058e1;
color: #fff !important;
}
.info {
// width: 2rem;
margin-left: 0.2rem;
display: flex;
justify-content: center;
.img {
width: 0.3rem;
height: 0.3rem;
border-radius: 0.1rem;
background: url('~@/assets/newHome/user.png') no-repeat;
background-size: 100%;
} }
span {
height: 0.3rem;
line-height: 0.3rem;
margin-left: 0.08rem;
margin-right: 0.06rem;
font-size: 0.16rem;
}
.name {
max-width: 2.3rem;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-all;
}
.out {
cursor: pointer;
// padding: 0 0.16rem;
padding: 0 0.04rem 0 0.1rem;
border-left: 0.01rem solid #666;
}
.icon { .icon {
cursor: pointer; cursor: pointer;
} }
.nav {
color: #000;
}
.info {
span {
color: #000;
}
}
} }
.blue { }
position: absolute;
background: linear-gradient( .white {
to right, background-color: #fff;
rgba(15, 90, 253, 0.8), box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1);
rgba(36, 25, 248, 0.8)
); .name {
.name { color: #0058e1;
color: #fff;
.name-bg {
height: 0.6rem;
width: 0.6rem;
background: url('~@/assets/newHome/ucs-1.png') no-repeat;
background-size: 100%;
margin-right: 0.15rem;
} }
.nav {
color: #fff; p {
}
.nav:hover {
background: #fff;
color: #0058e1; color: #0058e1;
} }
.info {
span {
color: #fff;
}
}
} }
.mynotice {
width: 4rem; .icon {
height: 3rem;
background: #eee;
border-radius: 0.05rem;
position: absolute;
top: 0.45rem;
right: 2.4rem;
overflow-y: scroll;
.bottom {
cursor: pointer;
width: 100%;
text-align: center;
color: #000;
font-size: 0.16rem;
}
}
.mynotice::-webkit-scrollbar {
display: none;
}
:deep(.ant-list-item) {
border-bottom: 0.01rem solid #ccc;
padding: 0.1rem;
}
:deep(.ant-list-item-meta-title) {
// display: flex;
// justify-content: space-around;
// align-items: center;
// padding: 0 0.05rem;
a {
width: 3.8rem;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
word-break: break-all;
-webkit-box-orient: vertical;
}
button {
width: 0.7rem;
height: 0.25rem;
display: flex;
justify-content: center;
align-items: center;
span {
font-size: 0.1rem;
}
}
}
.iconTo {
display: block;
width: 0.35rem;
height: 0.35rem;
background: url('~@/assets/newHome/iconTo.png') no-repeat;
cursor: pointer; cursor: pointer;
} }
.nav {
color: #000;
}
.info {
span {
color: #000;
}
}
}
.blue {
position: absolute;
background: linear-gradient(to right,
rgba(15, 90, 253, 0.8),
rgba(36, 25, 248, 0.8));
.name {
color: #fff;
}
.nav {
color: #fff;
}
.nav:hover {
background: #fff;
color: #0058e1;
}
.info {
span {
color: #fff;
}
}
}
.mynotice {
width: 4rem;
height: 3rem;
background: #eee;
border-radius: 0.05rem;
position: absolute;
top: 0.45rem;
right: 2.4rem;
overflow-y: scroll;
.bottom {
cursor: pointer;
width: 100%;
text-align: center;
color: #000;
font-size: 0.16rem;
}
}
.mynotice::-webkit-scrollbar {
display: none;
}
:deep(.ant-list-item) {
border-bottom: 0.01rem solid #ccc;
padding: 0.1rem;
}
:deep(.ant-list-item-meta-title) {
// display: flex;
// justify-content: space-around;
// align-items: center;
// padding: 0 0.05rem;
a {
width: 3.8rem;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
word-break: break-all;
-webkit-box-orient: vertical;
}
button {
width: 0.7rem;
height: 0.25rem;
display: flex;
justify-content: center;
align-items: center;
span {
font-size: 0.1rem;
}
}
}
.iconTo {
display: block;
width: 0.35rem;
height: 0.35rem;
background: url('~@/assets/newHome/iconTo.png') no-repeat;
cursor: pointer;
}
</style> </style>
<style> <style>
html::-webkit-scrollbar { html::-webkit-scrollbar {
display: none; display: none;
} }
</style> </style>

View File

@ -452,15 +452,6 @@
> >
批量预览 批量预览
</a-button> </a-button>
<!-- 批量预览 -->
<!-- <a-button
type="primary"
@click="batchPicturePreview"
class="buttonAdd"
v-else
>
批量预览
</a-button> -->
<!-- 添加至申购车 --> <!-- 添加至申购车 -->
<a-button <a-button
v-if="isXiHaiAn" v-if="isXiHaiAn"
@ -1421,6 +1412,8 @@
tabList.value[1].title = '视频标签' tabList.value[1].title = '视频标签'
} }
selectType.value = '视频资源' selectType.value = '视频资源'
console.log('444------------>', 444);
} else if (name == '政务云资源') { } else if (name == '政务云资源') {
room.value = true room.value = true
tableHeight.value = 600 tableHeight.value = 600
@ -1488,7 +1481,12 @@
mapSearchParam.value.labelCodes.push(item.labelCode) mapSearchParam.value.labelCodes.push(item.labelCode)
}) })
} }
console.log('选中的标签code', mapSearchParam.value) // todo
mapSearchParam.value.gpsX = ''
mapSearchParam.value.gpsY = ''
mapSearchParam.value.radius = ''
mapSearchParam.value.type = ''
console.log('mapSearchParam----->查询条件', mapSearchParam.value)
mapSearchParam.value.labelCodes = mapSearchParam.value.labelCodes + '' mapSearchParam.value.labelCodes = mapSearchParam.value.labelCodes + ''
emits('add', 1) emits('add', 1)
getCamera() getCamera()
@ -1872,7 +1870,6 @@
mapSearchParam.value.parentId || '70be8c5b664f4bcf869d82f2e8335051', mapSearchParam.value.parentId || '70be8c5b664f4bcf869d82f2e8335051',
pageNum: mapSearchParam.value.pageNum, pageNum: mapSearchParam.value.pageNum,
pageSize: mapSearchParam.value.pageSize, pageSize: mapSearchParam.value.pageSize,
name: mapSearchParam.value.cameraName || '',
longitude: mapSearchParam.value.gpsX || '', longitude: mapSearchParam.value.gpsX || '',
latitude: mapSearchParam.value.gpsY || '', latitude: mapSearchParam.value.gpsY || '',
radius: mapSearchParam.value.radius || '', radius: mapSearchParam.value.radius || '',
@ -1916,13 +1913,20 @@
// //
const addShoppingCart = () => { const addShoppingCart = () => {
if (selectedList.value.length > 0) { if (selectedList.value.length > 0) {
sgcInsert({ let _arr = []
delFlag: '0', selectedList.value.map(v => {
resourceId: '8888888880000000001', _arr.push({
note1: selectedList.value, delFlag: '0',
// userId: userId.value, resourceId: v.idtCameraChannel,
}).then((res) => { note1: [v],
console.log(res) })
})
console.log('_arr------------>', _arr);
sgcInsert(_arr).then((res) => {
console.log('res------申购车------>', res);
if(res.data.code !== 0) {
return message.error(res.data.msg)
}
message.success('添加申购车成功!') message.success('添加申购车成功!')
mybus.emit('getSgcNum') mybus.emit('getSgcNum')
}) })
@ -1958,7 +1962,7 @@
]) ])
// 西-- // 西--
if(isXiHaiAn) { if(isXiHaiAn) {
columns.value = columns.value.splice(2, 0, { columns.value.splice(2, 0, {
title: '状态', title: '状态',
dataIndex: 'status', dataIndex: 'status',
width: '10%', width: '10%',

View File

@ -93,8 +93,11 @@
:checked="val.checked" :checked="val.checked"
@click.stop="checkedDept(val)" @click.stop="checkedDept(val)"
></a-checkbox> ></a-checkbox>
<span style="margin-left: 0.2rem"> <span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
{{ val.deptName + '(' + val.count + ')' }} {{ val.deptName}}
</span>
<span style="margin-left: 0.2rem" v-else>
{{ val.deptName + '(' + val.count + ')' }}
</span> </span>
</div> </div>
<DownOutlined v-show="!val.show" /> <DownOutlined v-show="!val.show" />
@ -113,13 +116,13 @@
<a-list-item-meta <a-list-item-meta
:description=" :description="
item.description || item.description ||
(JSON.parse(item.note1) && (item.note1 && JSON.parse(item.note1) &&
JSON.parse(item.note1)[0] && JSON.parse(item.note1)[0] &&
JSON.parse(item.note1)[0].channelName + JSON.parse(item.note1)[0].channelName +
'等' + '等' +
JSON.parse(item.note1).length + JSON.parse(item.note1).length +
'个摄像头') || '个摄像头') ||
'--' ''
" "
style="position: relative" style="position: relative"
> >
@ -144,8 +147,9 @@
</a-tooltip> </a-tooltip>
<span class="type">{{ item.type }}</span> <span class="type">{{ item.type }}</span>
</div> </div>
<!-- // todo -->
<span class="time"> <span class="time">
加购时间:{{ item.time }} <span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span>
<a-popconfirm <a-popconfirm
title="是否删除该记录?" title="是否删除该记录?"
ok-text="是" ok-text="是"
@ -318,6 +322,7 @@
const name = ref('') const name = ref('')
const type = ref('') const type = ref('')
const list = ref([]) const list = ref([])
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
// //
onMounted(() => { onMounted(() => {
getList('init') getList('init')
@ -498,6 +503,10 @@
pageSize: pageSize.value, pageSize: pageSize.value,
name: name.value, name: name.value,
}).then((res) => { }).then((res) => {
console.log('res---获取信息--------->', res);
if(res.data.code !== 0) {
return message.error(res.data.msg)
}
let statistics = 0 let statistics = 0
res.data.data.list.map((val) => { res.data.data.list.map((val) => {
val.initLoading = true val.initLoading = true
@ -524,30 +533,13 @@
} }
// console.log('===============>', load.value) // console.log('===============>', load.value)
// //
debugger
list.value = res.data.data.list list.value = res.data.data.list
if (index || index === 0) { if (index || index === 0) {
debugger
list.value[index].show = true list.value[index].show = true
// console.log('1111', list.value[index])
showNew(list.value[index]) showNew(list.value[index])
// showBottom()
} }
// list.value = res.data.data.list
console.log(
'重新请求值',
index,
// res.data.data.list[index].show,
list.value
)
total.value = res.data.data.deptCount total.value = res.data.data.deptCount
console.log(
'重新请求值2',
index,
// res.data.data.list[index].show,
list.value
)
showKey.value++ showKey.value++
if (type == 'init' || type == 'changePage') { if (type == 'init' || type == 'changePage') {
getListByDeptId(list.value[0]) getListByDeptId(list.value[0])
@ -558,12 +550,18 @@
const getListByDeptId = (item) => { const getListByDeptId = (item) => {
console.log(item, 'item') console.log(item, 'item')
if (item.children.length == 0) { if (item.children.length == 0) {
selectResourceListByDept({ let _obj = {
pageNum: item.pageNum, pageNum: item.pageNum,
pageSize: item.pageSize, pageSize: item.pageSize,
deptId: item.deptId, deptId: item.deptId || '',
name: name.value, name: name.value,
}).then((res) => { }
// 西 todo
if(whoShow.itShowXiHaiAn) {
_obj.key = item.deptName
}
selectResourceListByDept(_obj).then((res) => {
console.log('res----根据部门查询-------->', res);
// console.log( // console.log(
// '=============>', // '=============>',
// item, // item,
@ -641,16 +639,17 @@
} }
// //
const checkedDept = (item) => { const checkedDept = (item) => {
// console.log( console.log(
// '==================>', '点击部门多选框==================>',
// item, item,
// checkedList.value, checkedList.value,
// checkAll.value checkAll.value
// ) )
item.checked = !item.checked item.checked = !item.checked
if (item.checked) { if (item.checked) {
if (item.children.length > 0) { if (item.children.length > 0) {
item.children.map((val) => { item.children.map((val) => {
console.log('val.id------------>', val.id);
if (checkedListAbility.value.indexOf(val.id) == -1) { if (checkedListAbility.value.indexOf(val.id) == -1) {
checkedListAbility.value.push(val.id) checkedListAbility.value.push(val.id)
item.checkedList.push(val.id) item.checkedList.push(val.id)
@ -838,8 +837,15 @@
} else { } else {
let arr = [] let arr = []
let delArr = [] let delArr = []
console.log('list.value------------>', list.value);
list.value.map((val) => { list.value.map((val) => {
val.arr = val.children.filter((item) => { val.arr = val.children.filter((item) => {
if(whoShow.itShowXiHaiAn) {
item.type = '基础设施';
item.resourceName = '摄像头列表';
item.resourceId = '1522550195055828996';
}
console.log('选择的数据=============>', item) console.log('选择的数据=============>', item)
if (checkedListAbility.value.indexOf(item.id) > -1) { if (checkedListAbility.value.indexOf(item.id) > -1) {
if (item.delFlag == 0) { if (item.delFlag == 0) {
@ -857,6 +863,7 @@
if (arr.length > 0) { if (arr.length > 0) {
console.log('一键申请===================>', arr) console.log('一键申请===================>', arr)
localStorage.setItem('applyList', JSON.stringify(arr)) localStorage.setItem('applyList', JSON.stringify(arr))
return;
router.push({ router.push({
path: '/apply', path: '/apply',
}) })

View File

@ -1,136 +1,144 @@
<template> <template>
<div id="aside-menu-container"> <div id="aside-menu-container">
<a-menu <a-menu id="aside-menu" v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" mode="inline">
id="aside-menu" <a-menu-item class="aside-menu-item" v-for="item in menuList" :key="item.key" @click="handleClick(item)">
v-model:openKeys="openKeys" <i class="icon" :style="{
v-model:selectedKeys="selectedKeys" backgroundImage:
mode="inline" selectedKeys == item.key
> ? 'url(' + item.imgActive + ')'
<a-menu-item : 'url(' + item.img + ')',
class="aside-menu-item" }"></i>
v-for="item in menuList"
:key="item.key"
@click="handleClick(item)"
>
<i
class="icon"
:style="{
backgroundImage:
selectedKeys == item.key
? 'url(' + item.imgActive + ')'
: 'url(' + item.img + ')',
}"
></i>
<span>{{ item.title }}</span> <span>{{ item.title }}</span>
</a-menu-item> </a-menu-item>
</a-menu> </a-menu>
</div> </div>
</template> </template>
<script> <script>
import { defineComponent, ref } from 'vue' import { defineComponent, ref, onMounted } from 'vue'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
export default defineComponent({
components: {},
setup() { export default defineComponent({
const menuList = [ components: {},
{ setup() {
title: '申购车', const itShowXiHaiAn = whoShow.itShowXiHaiAn;
img: require('@/assets/personalCenter/demand.png'), let menuList = [
imgActive: require('@/assets/personalCenter/demandactive.png'), {
key: 'PurchaseVehicle', title: '申购车',
}, img: require('@/assets/personalCenter/demand.png'),
{ imgActive: require('@/assets/personalCenter/demandactive.png'),
title: '我的发布', key: 'PurchaseVehicle',
img: require('@/assets/personalCenter/push.png'), },
imgActive: require('@/assets/personalCenter/pushactive.png'), {
key: 'push', title: '我的发布',
}, img: require('@/assets/personalCenter/push.png'),
{ imgActive: require('@/assets/personalCenter/pushactive.png'),
title: '我的申请', key: 'push',
img: require('@/assets/personalCenter/apply.png'), },
imgActive: require('@/assets/personalCenter/applyactive.png'), {
key: 'apply', title: '我的申请',
}, img: require('@/assets/personalCenter/apply.png'),
{ imgActive: require('@/assets/personalCenter/applyactive.png'),
title: '我的收藏', key: 'apply',
img: require('@/assets/personalCenter/collect.png'), },
imgActive: require('@/assets/personalCenter/collectactive.png'), {
key: 'collect', title: '我的收藏',
}, img: require('@/assets/personalCenter/collect.png'),
{ imgActive: require('@/assets/personalCenter/collectactive.png'),
title: '我的浏览', key: 'collect',
img: require('@/assets/personalCenter/recent.png'), },
imgActive: require('@/assets/personalCenter/recentactive.png'), {
key: 'recent', title: '我的浏览',
}, img: require('@/assets/personalCenter/recent.png'),
{ imgActive: require('@/assets/personalCenter/recentactive.png'),
title: '我的需求', key: 'recent',
img: require('@/assets/personalCenter/demand.png'), },
imgActive: require('@/assets/personalCenter/demandactive.png'), {
key: 'demand', title: '我的需求',
}, img: require('@/assets/personalCenter/demand.png'),
{ imgActive: require('@/assets/personalCenter/demandactive.png'),
title: '我的评论', key: 'demand',
img: require('@/assets/personalCenter/remark.png'), },
imgActive: require('@/assets/personalCenter/remarkactive.png'), {
key: 'remark', title: '我的评论',
}, img: require('@/assets/personalCenter/remark.png'),
] imgActive: require('@/assets/personalCenter/remarkactive.png'),
const selectedKeys = ref(['PurchaseVehicle']) key: 'remark',
const type = JSON.parse(window.sessionStorage.getItem('type')) },
if (type) { ]
selectedKeys.value = [type] // 西
} if(itShowXiHaiAn) {
const handleClick = (item) => { let _newArr = JSON.parse(JSON.stringify(menuList))
console.log('click', item) menuList = _newArr.splice(0, 1)
mybus.emit('tabsChange', item) }
} const selectedKeys = ref(['apply'])
return { const type = JSON.parse(window.sessionStorage.getItem('type'))
menuList, if (type) {
selectedKeys, selectedKeys.value = [type]
handleClick, }
const handleClick = (item) => {
console.log('click', item)
mybus.emit('tabsChange', item)
}
onMounted(() => {
if(menuList[1]) {
handleClick(menuList[1])
}else {
handleClick(menuList[0])
} }
}, })
})
return {
menuList,
selectedKeys,
handleClick,
}
},
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#aside-menu-container { #aside-menu-container {
margin-top: 20px; margin-top: 20px;
height: 790px; height: 790px;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
:deep(.ant-menu-item) { :deep(.ant-menu-item) {
height: 60px; height: 60px;
font-size: 16px; font-size: 16px;
color: #333; color: #333;
&:hover {
color: #0087ff; &:hover {
background-color: #edf4fc;
}
}
:deep(.ant-menu-title-content) {
display: flex;
align-items: center;
.icon {
display: block;
width: 24px;
height: 24px;
background: no-repeat center;
margin-right: 30px;
}
}
:deep(.ant-menu-item-selected) {
background-color: #edf4fc;
color: #0087ff; color: #0087ff;
&::after { background-color: #edf4fc;
display: none;
}
} }
} }
#aside-menu-container::-webkit-scrollbar {
width: 0 !important; :deep(.ant-menu-title-content) {
display: flex;
align-items: center;
.icon {
display: block;
width: 24px;
height: 24px;
background: no-repeat center;
margin-right: 30px;
}
} }
:deep(.ant-menu-item-selected) {
background-color: #edf4fc;
color: #0087ff;
&::after {
display: none;
}
}
}
#aside-menu-container::-webkit-scrollbar {
width: 0 !important;
}
</style> </style>

View File

@ -50,7 +50,7 @@
const delFlag = ref(true) const delFlag = ref(true)
mybus.on('tabsChange', (e) => { mybus.on('tabsChange', (e) => {
console.log('进入详情', e) console.log('进入详情', e)
if (e.flag) { if (e && e.flag) {
delFlag.value = false delFlag.value = false
} else { } else {
console.log('tabsChange', e.key) console.log('tabsChange', e.key)