修改bug

This commit is contained in:
unknown 2022-10-10 10:15:39 +08:00
commit 0ba3526904
21 changed files with 1808 additions and 1815 deletions

View File

@ -191,7 +191,7 @@
</template>
</el-table-column>
</el-table>
<div class="block">
<!-- <div class="block">
<el-pagination
@current-change="handleCurrentChange"
layout="total, prev, pager, next, jumper"
@ -200,7 +200,7 @@
:current-page="currentPage"
>
</el-pagination>
</div>
</div> -->
</div>
</el-card>
</div>
@ -528,8 +528,7 @@ export default {
detailClick(row){
this.detailParamss={}
let applyNumber=row.applyNumber
if(applyNumber ==nu)
if (this.departmentId === 3) { //
if (this.departmentId == 3) { //
this.detailType='能力上架'
let params = {
processInstanceId: applyNumber,

View File

@ -19,226 +19,11 @@
<meta content="vab,vab官网,后台管理框架,vue后台管理框架,vue-admin-beautiful,vue-admin-beautiful-pro,vue-admin-beautiful官网,vue-admin-beautiful文档,vue-element-admin,vue-element-admin官网,vue-element-admin文档,vue-admin,vue-admin官网,vue-admin文档" name="keywords" />
<meta content="<%= VUE_APP_TITLE %>官网与文档基于vue-admin-beautiful-pro构建简称vab是一款超棒的vue+element中后台前端快速开发框架QQ群972435319作者<%= VUE_APP_AUTHOR %>" name="description" />
<meta content="<%= VUE_APP_AUTHOR %>" name="author" />
<style>
* {
font-weight: normal;
font-style: normal;
}
<!-- 浏览器弹框相关 -->
<link href="<%= BASE_URL %>static/css/modal.css" rel="stylesheet" />
<script type="text/javascript" src="./static/js/modal.js"></script>
.mask-layer {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(0, 0, 0, 0.6);
}
.model-container {
width: 360px;
height: 150px;
background: #fff;
border-radius: 10px;
/* box-shadow: 0px 0px 12px 4px #ff3; */
text-align: center;
font-size: 18px;
color: #333;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 99999999999;
}
.model-container .model-title {
font-size: 16px;
}
.model-container .controls {
position: absolute;
bottom: 10px;
width: 100%;
padding: 12px;
padding-top: 40px;
}
.model-container a {
display: inline-block;
width: 49%;
text-align: center;
cursor: pointer;
}
.model-container .confirm {
width: 60px;
height: 30px;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 14px;
font-weight: 400;
color: #fff;
line-height: 30px;
}
.model-container .cancel {
width: 60px;
height: 30px;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 14px;
font-weight: 400;
color: #fff;
line-height: 30px;
margin-left: 100px;
}
</style>
<script>
function judgeAgent() {
let userAgent = navigator.userAgent // 取得浏览器的userAgent字符串
console.log('userAgent------------>', userAgent)
let isOpera = userAgent.indexOf('Opera') > -1
//判断是否Opera浏览器
if (isOpera) {
return 'Opera'
}
//判断是否Firefox浏览器
if (userAgent.indexOf('Firefox') > -1) {
return 'FF'
}
//判断是否chorme浏览器
if (userAgent.indexOf('Chrome') > -1) {
return 'Chrome'
}
//判断是否Safari浏览器
if (userAgent.indexOf('Safari') > -1) {
return 'Safari'
}
//判断是否IE浏览器
if (
userAgent.indexOf('compatible') > -1 &&
userAgent.indexOf('MSIE') > -1 &&
!isOpera
) {
return 'IE'
}
//判断是否Edge浏览器
if (userAgent.indexOf('Trident') > -1) {
return 'Edge'
}
}
function downloadFile(name, url) {
const alink = document.createElement('a')
alink.download = name // 文件名,大部分浏览器兼容,IE10及以下不兼容
alink.href = url // 创建 url地址
alink.click() // 自动点击
}
function getPCNum() {
const agent = navigator.userAgent.toLowerCase()
if (agent.indexOf('win32') >= 0 || agent.indexOf('wow32') >= 0) {
return 32
}
if (agent.indexOf('win64') >= 0 || agent.indexOf('wow64') >= 0) {
return 64
}
}
console.log('------判断浏览器------>', judgeAgent())
var ModelBox = (function() {
var ModelBox = function(option) {
this.option = option || {}
console.log(999, 'init')
this.init()
}
ModelBox.prototype = {
isShow: false,
init: function() {
var _this = this
_this.isShow = this.option.isShow
var html =
'<div class="model-container">' +
'<h1 class="model-title">title</h1>' +
'<div class="model-content"></div>' +
'<div class="controls">' +
'<a class="confirm">下载</a>' +
'<a class="cancel">取消</a>' +
'</div>' +
'</div>'
var ModelBoxCon = document.createElement('div')
ModelBoxCon.setAttribute('class', 'mask-layer')
ModelBoxCon.innerHTML = html
ModelBoxCon.querySelector('.model-title').innerHTML =
_this.option.title
ModelBoxCon.querySelector('.model-content').innerHTML =
_this.option.content
document.getElementsByTagName('html')[0].appendChild(ModelBoxCon)
if (!_this.isShow) {
ModelBoxCon.style.display = 'none'
}
ModelBoxCon.querySelector('.cancel').onclick =
ModelBoxCon.querySelector('.confirm').onclick =
_this.eventsFn.bind('', this, ModelBoxCon)
},
show: function() {
document.querySelector('.mask-layer').style.display = 'block'
this.isShow = true
},
hide: function() {
document.querySelector('.mask-layer').style.display = 'none'
this.isShow = false
},
eventsFn: function(e, doc, target) {
var _thisEvent = target.target
if (_thisEvent.classList.contains('confirm')) {
e.option.confirmCallBack()
}
doc.style.display = 'none'
e.isShow = false
return false
},
} || {}
return ModelBox
})()
var opt = new ModelBox({
title: '当前系统不支持IE内核建议使用Chrome浏览器或360浏览器极速模式',
content: '',
isShow: false,
confirmCallBack: function() {
// 获取当前系统的方法
const agent = getPCNum()
console.log('agent------------>', agent)
if (agent == 64) {
// 64位操作系统
downloadFile(
'ChromeStandaloneSetup64.exe',
'/static/download/ChromeStandaloneSetup64.exe'
)
} else {
// 32位操作系统
downloadFile(
'ChromeStandalonesetup32.exe',
'/static/download/standalonesetup32.exe'
)
}
},
})
// 提示下载谷歌
if (judgeAgent() !== 'Chrome') {
//alert('哈哈哈不支持')
opt.show()
}
</script>
<link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" />
<link href="./leaflet/libs/leaflet/1.3.1/leaflet.css" rel="stylesheet" />
<link href="./leaflet/dist/leaflet/iclient-leaflet.css" rel="stylesheet" />
<link href="./leaflet/libs/leaflet/plugins/leaflet.draw/leaflet.draw.css" rel="stylesheet" />

View File

@ -28,7 +28,8 @@ var CONFIGITEM = {
previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//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:
'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',
previewUrl: 'http://10.134.135.9:9796/',
websocketURL: '10.134.135.9:8888/renren-admin', //
websocketURL: '10.134.135.92:8888/renren-admin', //
// websocketURL: '10.134.135.9: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', //
POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',

View File

@ -23,6 +23,8 @@ const infrastructure = {}
const mapTestNum = {}
//
const footerDataList = {}
// 西--
const xhaHasPermissionUser = {}
// qingdao
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
whoShow.itShowQingDao = true
@ -521,4 +523,6 @@ else if (newLocation === 'xihaian') {
},
],
}
xhaHasPermissionUser.list = ['xihaian01', 'xihaian02', 'xihaian03', 'xihaian04', 'admin']
}

View File

@ -0,0 +1,75 @@
* {
font-weight: normal;
font-style: normal;
}
.mask-layer {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(0, 0, 0, 0.6);
}
.model-container {
width: 360px;
height: 150px;
background: #fff;
border-radius: 10px;
/* box-shadow: 0px 0px 12px 4px #ff3; */
text-align: center;
font-size: 18px;
color: #333;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 99999999999;
}
.model-container .model-title {
font-size: 16px;
}
.model-container .controls {
position: absolute;
bottom: 10px;
width: 100%;
padding: 12px;
padding-top: 40px;
}
.model-container a {
display: inline-block;
width: 49%;
text-align: center;
cursor: pointer;
}
.model-container .confirm {
width: 60px;
height: 30px;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 14px;
font-weight: 400;
color: #fff;
line-height: 30px;
}
.model-container .cancel {
width: 60px;
height: 30px;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 14px;
font-weight: 400;
color: #fff;
line-height: 30px;
margin-left: 100px;
}

View File

@ -0,0 +1,138 @@
function judgeAgent() {
let userAgent = navigator.userAgent // userAgent
console.log('userAgent------------>', userAgent)
let isOpera = userAgent.indexOf('Opera') > -1
//Opera
if (isOpera) {
return 'Opera'
}
//Firefox
if (userAgent.indexOf('Firefox') > -1) {
return 'FF'
}
//chorme
if (userAgent.indexOf('Chrome') > -1) {
return 'Chrome'
}
//Safari
if (userAgent.indexOf('Safari') > -1) {
return 'Safari'
}
//IE
if (
userAgent.indexOf('compatible') > -1 &&
userAgent.indexOf('MSIE') > -1 &&
!isOpera
) {
return 'IE'
}
//Edge
if (userAgent.indexOf('Trident') > -1) {
return 'Edge'
}
}
function downloadFile(name, url) {
const alink = document.createElement('a')
alink.download = name // ,,IE10
alink.href = url // url
alink.click() //
}
function getPCNum() {
const agent = navigator.userAgent.toLowerCase()
if (agent.indexOf('win32') >= 0 || agent.indexOf('wow32') >= 0) {
return 32
}
if (agent.indexOf('win64') >= 0 || agent.indexOf('wow64') >= 0) {
return 64
}
}
console.log('------判断浏览器------>', judgeAgent())
var ModelBox = (function() {
var ModelBox = function(option) {
this.option = option || {}
console.log(999, 'init')
this.init()
}
ModelBox.prototype = {
isShow: false,
init: function() {
var _this = this
_this.isShow = this.option.isShow
var html =
'<div class="model-container">' +
'<h1 class="model-title">title</h1>' +
'<div class="model-content"></div>' +
'<div class="controls">' +
'<a class="confirm">下载</a>' +
'<a class="cancel">取消</a>' +
'</div>' +
'</div>'
var ModelBoxCon = document.createElement('div')
ModelBoxCon.setAttribute('class', 'mask-layer')
ModelBoxCon.innerHTML = html
ModelBoxCon.querySelector('.model-title').innerHTML =
_this.option.title
ModelBoxCon.querySelector('.model-content').innerHTML =
_this.option.content
document.getElementsByTagName('html')[0].appendChild(ModelBoxCon)
if (!_this.isShow) {
ModelBoxCon.style.display = 'none'
}
ModelBoxCon.querySelector('.cancel').onclick =
ModelBoxCon.querySelector('.confirm').onclick =
_this.eventsFn.bind('', this, ModelBoxCon)
},
show: function() {
document.querySelector('.mask-layer').style.display = 'block'
this.isShow = true
},
hide: function() {
document.querySelector('.mask-layer').style.display = 'none'
this.isShow = false
},
eventsFn: function(e, doc, target) {
var _thisEvent = target.target
if (_thisEvent.classList.contains('confirm')) {
e.option.confirmCallBack()
}
doc.style.display = 'none'
e.isShow = false
return false
},
} || {}
return ModelBox
})()
var opt = new ModelBox({
title: '当前系统不支持IE内核建议使用Chrome浏览器或360浏览器极速模式',
content: '',
isShow: false,
confirmCallBack: function() {
//
const agent = getPCNum()
console.log('agent------------>', agent)
if (agent == 64) {
// 64
downloadFile(
'ChromeStandaloneSetup64.exe',
'/static/download/ChromeStandaloneSetup64.exe'
)
} else {
// 32
downloadFile(
'ChromeStandalonesetup32.exe',
'/static/download/standalonesetup32.exe'
)
}
},
})
//
if (judgeAgent() !== 'Chrome') {
//alert('')
opt.show()
}

View File

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

View File

@ -236,6 +236,14 @@ export function selectResourceListByDept(params) {
params,
})
}
// 西--
export function selectResourceListByDeptName(params) {
return request({
url: '/resourcecar/selectResourceListByDeptName',
method: 'get',
params,
})
}
//
export function queryApplicationRelByResourceId(params) {
return request({

View File

@ -10,7 +10,7 @@
<a-dropdown>
<span class="ant-dropdown-link">
<a-avatar :src="avatar" />
{{ username }}
{{ realName }}
<DownOutlined />
</span>
<template v-slot:overlay>
@ -23,14 +23,14 @@
</template>
<script>
import { recordRoute } from '@/config'
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { recordRoute } from '@/config'
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
export default {
export default {
name: 'VabAvatar',
components: { DownOutlined },
setup() {
@ -49,21 +49,23 @@
}
return {
avatar: user,
username: computed(() => store.getters['user/username']),
// username: computed(() => store.getters['user/username']),
realName: computed(() => store.getters['user/realName']),
logout,
}
},
}
}
</script>
<style lang="less">
.vab-avatar {
.vab-avatar {
display: flex;
align-items: center;
justify-content: center;
.ant-dropdown-link {
display: block;
// min-height: 64px;
cursor: pointer;
}
}
}
</style>

View File

@ -14,6 +14,7 @@ import { message, notification } from 'ant-design-vue'
const state = () => ({
accessToken: getAccessToken(),
username: '',
realName: '',
userId: '',
avatar: '',
role: 0, //
@ -21,6 +22,7 @@ const state = () => ({
const getters = {
accessToken: (state) => state.accessToken,
username: (state) => state.username,
realName: (state) => state.realName,
avatar: (state) => state.avatar,
role: (state) => state.role,
userId: (state) => state.userId,
@ -45,6 +47,15 @@ const mutations = {
setUsername(state, username) {
state.username = username
},
/**
* @author chuzhixin 1204505056@qq.com
* @description 设置真实用户名
* @param {*} state
* @param {*} username
*/
setRealname(state, realName) {
state.realName = realName
},
//
setRole(state, role) {
state.role = role
@ -75,6 +86,7 @@ const actions = {
})
commit('setAvatar', 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif')
commit('setUsername', 'admin(未开启登录拦截)')
commit('setRealname', 'admin(未开启登录拦截)')
},
/**
* @author chuzhixin 1204505056@qq.com
@ -120,7 +132,8 @@ const actions = {
return false
}
// debugger
commit('setUsername', data.data.realName)
commit('setUsername', data.data.username)
commit('setRealname', data.data.realName)
commit('setRole', data.data.roleIdList.length)
commit('setUserId', data.data.id)
// TODO

View File

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

View File

@ -300,6 +300,7 @@
'应用名称',
'应用描述',
'应用类型',
'应用状态',
])
const notFilled = ref([])
getUser().then((res) => {

View File

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

View File

@ -450,7 +450,7 @@ import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue
import infrastructurePage from '@/views/home/infrastructurePage.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { useStore } from 'vuex'
import { message } from 'ant-design-vue'
import {
titleNameArray,
@ -521,6 +521,13 @@ export default defineComponent({
orderType: 'DESC', // ASC DESC
}
const store = useStore()
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
const searchResultListDom = ref(null)
//
@ -1268,8 +1275,10 @@ export default defineComponent({
}
const changeCards = (name) => {
// 西-
if(whoShow1.value.itShowXiHaiAn && name !== '基础设施') {
return message.warn('正在建设中!')
if(whoShow1.value.itShowXiHaiAn) {
if(name !== '基础设施' && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
resourceList.data = []
videoList.data = []

View File

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

View File

@ -1,66 +1,36 @@
<template>
<div
class="home-header"
:class="[
<div class="home-header" :class="[
select !== 'home' || scrollTop > 500 ? 'white' : '',
props.showView === 'algorithm-details' ? '' : '',
]"
>
]">
<div class="name" @click="goToHome">
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
<div class="name-bg" v-if="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div>
<div class="name-content">
<p>城市云脑通用能力服务平台</p>
<p>(United Capacity System)</p>
</div>
</div>
<div
v-for="item in navList"
:key="item.key"
@click="jumpPage(item)"
class="nav"
:class="item.key == select ? 'select' : ''"
>
<div v-for="item in navList" :key="item.key" @click="jumpPage(item)" class="nav"
:class="item.key == select ? 'select' : ''">
{{ item.name }}
</div>
<a-badge :count="sgcNum">
<!-- 购物车 -->
<svg
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"
>
<a-badge :count="sgcNum">
<svg 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
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'"
p-id="2070"
></path>
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2070"></path>
</svg>
<!-- <a-avatar shape="square" size="large" /> -->
</a-badge>
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem">
<!-- 消息提醒 -->
<svg
t="1654051054113"
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"
>
<svg t="1654051054113" 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
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'"
p-id="2188"
></path>
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2188"></path>
</svg>
<!-- <a-avatar shape="square" size="large" /> -->
</a-badge>
@ -87,13 +57,10 @@
<i class="img"></i>
<a-tooltip placement="bottom">
<template #title>
<span>{{ user.username }}</span>
<span>{{ user.realName }}</span>
</template>
<span
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
>
{{ user.username }}
<span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
{{ user.realName }}
</span>
</a-tooltip>
<span @click="logout" class="out">退出</span>
@ -115,56 +82,49 @@
fill="#bfbfbf"
></path>
</svg> -->
<i
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo"
></i>
<i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo"></i>
</div>
</div>
</template>
<script setup>
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { recordRoute } from '@/config'
import { useRoute, useRouter } from 'vue-router'
import { mynotice } from '@/api/home'
import { useStore } from 'vuex'
import { getSgcTotal } from '@/api/home'
import Cookies from 'js-cookie'
import mybus from '@/myplugins/mybus'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { recordRoute } from '@/config'
import { useRoute, useRouter } from 'vue-router'
import { mynotice } from '@/api/home'
import { useStore } from 'vuex'
import { getSgcTotal } from '@/api/home'
import Cookies from 'js-cookie'
import mybus from '@/myplugins/mybus'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { message } from 'ant-design-vue'
const store = useStore()
const router = useRouter()
const route = useRoute()
const store = useStore()
const router = useRouter()
const route = useRoute()
const whoShow1 = whoShow
const user = ref({
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
//
const user = ref({
username: store.getters['user/username'],
})
// user.username.value = store.getters(['user/username'])
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
console.log('navListManagement------------>', navListManagement)
realName: store.getters['user/realName'],
})
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
const navList = ref(navListManagement.navList)
console.log('navList------------>', navList)
// eslint-disable-next-line no-undef
const navList = ref(navListManagement.navList)
console.log('navList------------>', navList)
const props = defineProps({
const props = defineProps({
showView: { type: String, default: '' },
})
// //
// getUser().then((res) => {
// user.value = res.data.data
// // console.log('user===============>', user.value)
// })
// 退
const logout = async () => {
})
// 退
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西
if (!whoShow1.itShowXiHaiAn) {
if (!itShowXiHaiAn.value) {
if (recordRoute) {
const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`)
@ -172,16 +132,22 @@
router.push('/login')
}
}
}
//
const goToHome = () => {
}
//
const goToHome = () => {
router.push({
path: '/home',
})
}
//
const jumpPage = (item) => {
// 西
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name) && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
//
const jumpPage = (item) => {
// console.log(item)
select.value = item.key
switch (item.name) {
case '个人中心':
@ -257,50 +223,50 @@
router.push('/home')
break
}
}
const scrollTop = ref(0)
window.onscroll = function () {
}
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) => {
sgcNum.value = res.data.data.count
// console.log('========================>', res.data.data.count)
})
})
})
const sgcNum = ref(0)
const goToSgc = () => {
const sgcNum = ref(0)
const goToSgc = () => {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push('/personalCenter')
}
const mynoticeNum = ref(0)
//
const getMynotice = () => {
}
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 = () => {
}
const goToView = () => {
router.push({
path: '/mynoticeView',
})
}
// const read = (item) => {
// mynoticeRead(item.id).then((res) => {
// console.log('', res)
// getMynotice()
// })
// }
// -- cookie
}
// const read = (item) => {
// mynoticeRead(item.id).then((res) => {
// console.log('', res)
// getMynotice()
// })
// }
// -- cookie
onMounted(() => {
onMounted(() => {
getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count)
sgcNum.value = res.data.data.count
@ -334,18 +300,19 @@
mybus.on('getMynotice', () => {
getMynotice()
})
})
onBeforeUnmount(() => {
})
onBeforeUnmount(() => {
mybus.off('getSgcNum')
mybus.off('getMynotice')
})
})
</script>
<style lang="less" scoped>
@font-face {
@font-face {
font-family: 'header-typeface';
src: url('~@/assets/newHome/font/header-typeface.ttf');
}
.home-header {
}
.home-header {
height: 0.64rem;
width: 100%;
max-width: 1920px;
@ -357,10 +324,12 @@
position: fixed;
z-index: 1000;
top: 0;
div {
color: #fff;
font-size: 0.16rem;
}
.name {
cursor: pointer;
font-size: 0.22rem;
@ -368,6 +337,7 @@
margin-right: 0.2rem;
display: flex;
align-items: center;
.name-bg {
height: 0.6rem;
width: 0.6rem;
@ -375,45 +345,53 @@
background-size: 100%;
margin-right: 0.15rem;
}
.name-bg-xihaian {
height: 0.6rem;
width: 0.6rem;
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png')
no-repeat;
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png') 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;
@ -421,6 +399,7 @@
background: url('~@/assets/newHome/user.png') no-repeat;
background-size: 100%;
}
span {
height: 0.3rem;
line-height: 0.3rem;
@ -428,6 +407,7 @@
margin-right: 0.06rem;
font-size: 0.16rem;
}
.name {
max-width: 2.3rem;
text-overflow: ellipsis;
@ -437,22 +417,27 @@
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 {
}
.white {
background-color: #fff;
box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1);
.name {
color: #0058e1;
.name-bg {
height: 0.6rem;
width: 0.6rem;
@ -460,46 +445,54 @@
background-size: 100%;
margin-right: 0.15rem;
}
p {
color: #0058e1;
}
}
.icon {
cursor: pointer;
}
.nav {
color: #000;
}
.info {
span {
color: #000;
}
}
}
.blue {
}
.blue {
position: absolute;
background: linear-gradient(
to right,
background: linear-gradient(to right,
rgba(15, 90, 253, 0.8),
rgba(36, 25, 248, 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 {
}
.mynotice {
width: 4rem;
height: 3rem;
background: #eee;
@ -508,6 +501,7 @@
top: 0.45rem;
right: 2.4rem;
overflow-y: scroll;
.bottom {
cursor: pointer;
width: 100%;
@ -515,15 +509,19 @@
color: #000;
font-size: 0.16rem;
}
}
.mynotice::-webkit-scrollbar {
}
.mynotice::-webkit-scrollbar {
display: none;
}
:deep(.ant-list-item) {
}
:deep(.ant-list-item) {
border-bottom: 0.01rem solid #ccc;
padding: 0.1rem;
}
:deep(.ant-list-item-meta-title) {
}
:deep(.ant-list-item-meta-title) {
// display: flex;
// justify-content: space-around;
// align-items: center;
@ -537,27 +535,30 @@
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 {
}
.iconTo {
display: block;
width: 0.35rem;
height: 0.35rem;
background: url('~@/assets/newHome/iconTo.png') no-repeat;
cursor: pointer;
}
}
</style>
<style>
html::-webkit-scrollbar {
html::-webkit-scrollbar {
display: none;
}
}
</style>

View File

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

View File

@ -12,7 +12,7 @@
</div> -->
<div class="first-title-text new-guide-box" :style="{ color: '使用手册' === titleData.name ? '#0058e1' : '' }"
@click="changeName({ name: '使用手册' })">
@click="downloadDoc('/static/doc/userbook.docx', '通用能力服务平台USC用户手册')">
<div class="guide-text">使用手册</div>
<img src="@/assets/developmentGuide/download.png" @click="downloadDoc('/static/doc/userbook.docx', '通用能力服务平台USC用户手册')" alt="" />
</div>

File diff suppressed because it is too large Load Diff

View File

@ -1,57 +1,47 @@
<template>
<div id="aside-menu-container">
<a-menu
id="aside-menu"
v-model:openKeys="openKeys"
v-model:selectedKeys="selectedKeys"
mode="inline"
>
<a-menu-item
class="aside-menu-item"
v-for="item in menuList"
:key="item.key"
@click="handleClick(item)"
>
<i
class="icon"
:style="{
<a-menu id="aside-menu" v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" mode="inline">
<a-menu-item class="aside-menu-item" 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>
}"></i>
<span>{{ item.title }}</span>
</a-menu-item>
</a-menu>
</div>
</template>
<script>
import { defineComponent, ref } from 'vue'
import mybus from '@/myplugins/mybus'
export default defineComponent({
components: {},
import { defineComponent, ref, onMounted } from 'vue'
import mybus from '@/myplugins/mybus'
export default defineComponent({
components: {},
setup() {
const menuList = [
{
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
const car = {
title: '申购车',
img: require('@/assets/personalCenter/demand.png'),
imgActive: require('@/assets/personalCenter/demandactive.png'),
key: 'PurchaseVehicle',
},
}
const apply = {
title: '我的申请',
img: require('@/assets/personalCenter/apply.png'),
imgActive: require('@/assets/personalCenter/applyactive.png'),
key: 'apply',
}
let menuList = [
car,
{
title: '我的发布',
img: require('@/assets/personalCenter/push.png'),
imgActive: require('@/assets/personalCenter/pushactive.png'),
key: 'push',
},
{
title: '我的申请',
img: require('@/assets/personalCenter/apply.png'),
imgActive: require('@/assets/personalCenter/applyactive.png'),
key: 'apply',
},
apply,
{
title: '我的收藏',
img: require('@/assets/personalCenter/collect.png'),
@ -77,7 +67,12 @@
key: 'remark',
},
]
const selectedKeys = ref(['PurchaseVehicle'])
// 西
if (itShowXiHaiAn) {
menuList = [car, apply]
}
const selectedKeys = ref(['apply'])
const type = JSON.parse(window.sessionStorage.getItem('type'))
if (type) {
selectedKeys.value = [type]
@ -87,16 +82,24 @@
mybus.emit('tabsChange', item)
}
onMounted(() => {
if (menuList[1]) {
handleClick(menuList[1])
} else {
handleClick(menuList[0])
}
})
return {
menuList,
selectedKeys,
handleClick,
}
},
})
})
</script>
<style lang="less" scoped>
#aside-menu-container {
#aside-menu-container {
margin-top: 20px;
height: 790px;
overflow-y: scroll;
@ -106,14 +109,17 @@
height: 60px;
font-size: 16px;
color: #333;
&:hover {
color: #0087ff;
background-color: #edf4fc;
}
}
:deep(.ant-menu-title-content) {
display: flex;
align-items: center;
.icon {
display: block;
width: 24px;
@ -122,15 +128,18 @@
margin-right: 30px;
}
}
:deep(.ant-menu-item-selected) {
background-color: #edf4fc;
color: #0087ff;
&::after {
display: none;
}
}
}
#aside-menu-container::-webkit-scrollbar {
}
#aside-menu-container::-webkit-scrollbar {
width: 0 !important;
}
}
</style>

View File

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