修改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>
@ -27,7 +27,7 @@
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed } from 'vue'
import { computed, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
export default {
@ -49,7 +49,8 @@
}
return {
avatar: user,
username: computed(() => store.getters['user/username']),
// username: computed(() => store.getters['user/username']),
realName: computed(() => store.getters['user/realName']),
logout,
}
},
@ -60,6 +61,7 @@
display: flex;
align-items: center;
justify-content: center;
.ant-dropdown-link {
display: block;
// min-height: 64px;

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,10 +82,7 @@
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>
@ -132,39 +96,35 @@
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 whoShow1 = whoShow
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
// 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)
// eslint-disable-next-line no-undef
const navList = ref(navListManagement.navList)
console.log('navList------------>', navList)
const props = defineProps({
showView: { type: String, default: '' },
})
// //
// getUser().then((res) => {
// user.value = res.data.data
// // console.log('user===============>', user.value)
// })
// 退
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}`)
@ -181,7 +141,13 @@
}
//
const jumpPage = (item) => {
// console.log(item)
// 西
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name) && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
select.value = item.key
switch (item.name) {
case '个人中心':
@ -345,6 +311,7 @@
font-family: 'header-typeface';
src: url('~@/assets/newHome/font/header-typeface.ttf');
}
.home-header {
height: 0.64rem;
width: 100%;
@ -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 {
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,45 +445,53 @@
background-size: 100%;
margin-right: 0.15rem;
}
p {
color: #0058e1;
}
}
.icon {
cursor: pointer;
}
.nav {
color: #000;
}
.info {
span {
color: #000;
}
}
}
.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 {
width: 4rem;
height: 3rem;
@ -508,6 +501,7 @@
top: 0.45rem;
right: 2.4rem;
overflow-y: scroll;
.bottom {
cursor: pointer;
width: 100%;
@ -516,14 +510,18 @@
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;
@ -537,17 +535,20 @@
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;

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>

View File

@ -12,75 +12,22 @@
</div>
<div class="right">
<div class="sousuokuang">
<a-input-search
v-model:value="name"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getList('init')"
/>
<a-input-search v-model:value="name" placeholder="请输入关键词" enter-button="搜索" size="large"
@search="getList('init')" />
</div>
<a-popconfirm
v-if="checkedListAbility.length != 0"
title="是否进行批量删除?"
ok-text="是"
cancel-text="否"
@confirm="delList"
@cancel="cancel"
>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-right: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="ceshiFunction()"
>
<a-popconfirm v-if="checkedListAbility.length != 0" title="是否进行批量删除?" ok-text="" cancel-text=""
@confirm="handleDelete" @cancel="cancel">
<a-button type="primary" class="collect-btn" @click="ceshiFunction()">
批量删除
</a-button>
</a-popconfirm>
<a-button
v-else
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-right: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="ceshiFunction()"
>
<a-button v-else type="primary" class="collect-btn" @click="ceshiFunction()">
批量删除
</a-button>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="collection"
>
<a-button type="primary" v-if="!itShowXiHaiAn" class="collect-btn" @click="collection">
批量收藏
</a-button>
<a-button
type="primary"
style="
width: 1rem;
height: 0.36rem;
margin-left: 0.12rem;
border-radius: 2px;
"
@click="apply"
>
<a-button type="primary" class="apply-btn" @click="apply">
一键申请
</a-button>
</div>
@ -89,11 +36,11 @@
<div class="item" v-for="(val, valIndex) in list" :key="val.id">
<div class="item-top" @click="showBottom(val)">
<div>
<a-checkbox
:checked="val.checked"
@click.stop="checkedDept(val)"
></a-checkbox>
<span style="margin-left: 0.2rem">
<a-checkbox :checked="val.checked" @click.stop="checkedDept(val)"></a-checkbox>
<span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
{{ val.deptName}}
</span>
<span style="margin-left: 0.2rem" v-else>
{{ val.deptName + '(' + val.count + ')' }}
</span>
</div>
@ -101,121 +48,76 @@
<UpOutlined v-show="val.show" />
</div>
<div class="item-bottom" v-show="val.show">
<a-list
class="demo-loadmore-list"
:loading="val.initLoading"
item-layout="horizontal"
:data-source="val.children"
>
<a-list class="demo-loadmore-list" :loading="val.initLoading" item-layout="horizontal"
:data-source="val.children">
<template #renderItem="{ item }">
<a-list-item>
<a-skeleton avatar :title="false" :loading="item.loading" active>
<a-list-item-meta
:description="
<a-list-item-meta :description="
item.description ||
(JSON.parse(item.note1) &&
(item.note1 && JSON.parse(item.note1) &&
JSON.parse(item.note1)[0] &&
JSON.parse(item.note1)[0].channelName +
'等' +
JSON.parse(item.note1).length +
'个摄像头') ||
'--'
"
style="position: relative"
>
''
" style="position: relative">
<template #title>
<div>
<a-tooltip>
<template #title>{{ item.resourceName }}</template>
<span
@click="
<span @click="
showItem(
item.resourceId,
item.type,
item.delFlag,
item.note1
)
"
style="cursor: pointer"
class="name"
>
" style="cursor: pointer" class="name">
{{ item.resourceName }}
</span>
</a-tooltip>
<span class="type">{{ item.type }}</span>
</div>
<!-- // todo -->
<span class="time">
加购时间:{{ item.time }}
<a-popconfirm
title="是否删除该记录?"
ok-text="是"
cancel-text="否"
@confirm="delOne(item, valIndex)"
@cancel="cancel"
>
<a-button
type="primary"
style="
<span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span>
<a-popconfirm title="是否删除该记录?" ok-text="" cancel-text="" @confirm="handleDelete(item, valIndex)"
@cancel="cancel">
<a-button type="primary" style="
width: 0.7rem;
height: 0.3rem;
margin-left: 0.12rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
"
@click="del"
>
" @click="del">
删除
</a-button>
</a-popconfirm>
</span>
<svg
t="1652233950228"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="5970"
data-spm-anchor-id="a313x.7781069.0.i8"
width="50"
height="50"
v-if="item.delFlag == 4 || item.delFlag == 5"
style="position: absolute; top: 0; left: 1rem"
>
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="50"
height="50" v-if="item.delFlag == 4 || item.delFlag == 5"
style="position: absolute; top: 0; left: 1rem">
<path
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
fill="#515151"
opacity=".5"
p-id="5971"
></path>
fill="#515151" opacity=".5" p-id="5971"></path>
<path
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
fill="#515151"
opacity=".5"
p-id="5972"
></path>
fill="#515151" opacity=".5" p-id="5972"></path>
<path
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
fill="#515151"
opacity=".5"
p-id="5973"
></path>
fill="#515151" opacity=".5" p-id="5973"></path>
<path
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
fill="#515151"
opacity=".5"
p-id="5974"
></path>
fill="#515151" opacity=".5" p-id="5974"></path>
</svg>
</template>
<template #avatar>
<a-checkbox
:checked="item.checked"
@click.stop="checkedItem(val, item)"
></a-checkbox>
<div
class="tx"
:class="
<a-checkbox :checked="item.checked" @click.stop="checkedItem(val, item)"></a-checkbox>
<div class="tx" v-if="!itShowXiHaiAn" :class="
item.type == '基础设施'
? 'sxt'
: item.type == '应用资源'
@ -229,36 +131,19 @@
: item.componentType == '业务组件'
? 'ywzj'
: ''
"
></div>
"></div>
</template>
</a-list-item-meta>
</a-skeleton>
</a-list-item>
</template>
</a-list>
<!-- <a-pagination
v-model:current="val.pageNum"
v-model:page-size="val.pageSize"
:total="val.count"
@change="pageChange2(val)"
:key="showKey"
:hideOnSinglePage="true"
></a-pagination> -->
</div>
</div>
</div>
<a-modal
v-model:visible="videoVisible"
title="已申请摄像头列表"
@ok="videoVisible = false"
>
<a-table
:columns="columns"
:data-source="xVideoList"
bordered
:pagination="{ defaultPageSize: 6 }"
>
<a-modal v-model:visible="videoVisible" title="已申请摄像头列表" @ok="videoVisible = false">
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }">
<template #bodyCell="{ column, text }">
<!-- <template>
<a>{{ text }}</a>
@ -266,19 +151,7 @@
</template>
</a-table>
</a-modal>
<!-- <a-pagination
v-model:current="pageNum"
v-model:page-size="pageSize"
:page-size-options="pageSizeOptions"
:total="total"
show-size-changer
@change="pageChange"
:key="showKey"
>
<template #buildOptionText="props">
<span>{{ props.value }}/</span>
</template>
</a-pagination> -->
</template>
<script setup>
import { onMounted, ref } from 'vue'
@ -291,12 +164,12 @@
scInsert,
selectResourceCarGroupByDept,
selectResourceListByDept,
selectResourceListByDeptName,
} from '@/api/personalCenter'
const router = useRouter()
//
const pageNum = ref('1')
const pageSize = ref('99999')
// const pageSizeOptions = ref(['5', '10', '20'])
const videoVisible = ref(false)
const xVideoList = ref([])
const total = ref(0)
@ -318,18 +191,13 @@
const name = ref('')
const type = ref('')
const list = ref([])
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn);
//
onMounted(() => {
getList('init')
})
//
const collection = () => {
// console.log(
// '=================',
// checkedList.value,
// list.value,
// scInsert
// )
let scArr = []
if (checkedListAbility.value.length === 0) {
message.warning('请选择需要收藏的数据')
@ -498,6 +366,10 @@
pageSize: pageSize.value,
name: name.value,
}).then((res) => {
console.log('res---获取信息--------->', res);
if (res.data.code !== 0) {
return message.error(res.data.msg)
}
let statistics = 0
res.data.data.list.map((val) => {
val.initLoading = true
@ -524,30 +396,14 @@
}
// console.log('===============>', load.value)
//
debugger
list.value = res.data.data.list
if (index || index === 0) {
debugger
list.value[index].show = true
// console.log('1111', 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
)
list.value = res.data.data.list || []
console.log('list.value------------>', list.value);
if (index || index === 0) {
list.value[index].show = true
showNew(list.value[index])
}
total.value = res.data.data.deptCount
console.log(
'重新请求值2',
index,
// res.data.data.list[index].show,
list.value
)
showKey.value++
if (type == 'init' || type == 'changePage') {
getListByDeptId(list.value[0])
@ -555,21 +411,29 @@
})
}
// deptid
const getListByDeptId = (item) => {
console.log(item, 'item')
const getListByDeptId = async (item) => {
console.log('通过deptid或者deptName查询列表------------>', item);
if (item.children.length == 0) {
selectResourceListByDept({
let _obj = {
pageNum: item.pageNum,
pageSize: item.pageSize,
deptId: item.deptId,
name: name.value,
}).then((res) => {
// console.log(
// '=============>',
// item,
// checkedListAbility.value
// )
res.data.data.map((val) => {
}
let res;
// 西 todo
if (whoShow.itShowXiHaiAn) {
_obj.deptName = item.deptName;
res = await selectResourceListByDeptName(_obj)
} else {
_obj.deptId = item.deptId || '';
res = await selectResourceListByDept(_obj)
}
console.log('res----根据部门查询-------->', res);
item.initLoading = false
if (res.data.code !== 0) {
return message.error(res.data.msg)
}
(res.data.data || []).map((val) => {
if (
(!item.load || item.load < Number(item.pageNum)) &&
load.value <= Number(pageNum.value)
@ -588,11 +452,6 @@
val.checked = false
}
} else {
// console.log(
// '++++++++++++++',
// checkedListAbility.value,
// val.id
// )
if (
checkedListAbility.value.indexOf(val.id) > -1 ||
(item.load < Number(item.pageNum) &&
@ -611,11 +470,8 @@
if (item.load < Number(item.pageNum)) {
item.load = Number(item.pageNum)
}
// console.log('==============>>', item.load)
item.children = res.data.data
item.show = true
item.initLoading = false
})
}
}
//
@ -641,16 +497,17 @@
}
//
const checkedDept = (item) => {
// console.log(
// '==================>',
// item,
// checkedList.value,
// checkAll.value
// )
console.log(
'点击部门多选框==================>',
item,
checkedList.value,
checkAll.value
)
item.checked = !item.checked
if (item.checked) {
if (item.children.length > 0) {
item.children.map((val) => {
console.log('val.id------------>', val.id);
if (checkedListAbility.value.indexOf(val.id) == -1) {
checkedListAbility.value.push(val.id)
item.checkedList.push(val.id)
@ -791,10 +648,23 @@
message.warning('请先选择需要操作的数据!')
}
}
const delOne = (item, index) => {
// console.log(item)
// delOne delList handleDelete
const handleDelete = (item, index) => {
console.log('item------------>', item);
let delArr = [];
//
if (item) {
delArr = [item.id]
} else {
//
if (checkedListAbility.value.length == 0) {
return message.warning('请先选择需要操作的数据!')
} else {
delArr = checkedListAbility.value
}
}
sgcDel({
ids: [item.id],
ids: delArr
}).then((res) => {
if (res.data.msg === 'success') {
message.success('删除成功')
@ -838,8 +708,15 @@
} else {
let arr = []
let delArr = []
console.log('list.value------------>', list.value);
list.value.map((val) => {
val.arr = val.children.filter((item) => {
if (whoShow.itShowXiHaiAn) {
item.type = '基础设施';
item.resourceName = '摄像头列表';
item.resourceId = '1522550195055828996';
}
console.log('选择的数据=============>', item)
if (checkedListAbility.value.indexOf(item.id) > -1) {
if (item.delFlag == 0) {
@ -866,27 +743,33 @@
</script>
<style lang="less" scoped>
.ant-list {
// max-height: 5.3rem;
.ant-list-item {
width: 100%;
padding: 0.24rem 0.2rem;
.ant-list-item-meta {
align-items: center;
:deep(.ant-list-item-meta-avatar) {
padding-left: 0.2rem;
margin-right: 0.3rem;
}
.time {
margin-left: 0.3rem;
font-size: 0.12rem;
color: #ccc;
}
.type {
margin-left: 0.1rem;
padding: 0.03rem 0.1rem;
background: #00a7e3;
color: #fff;
}
:deep(.ant-list-item-meta-description) {
margin-top: 0.1rem;
max-height: 0.22rem;
@ -901,18 +784,22 @@
}
}
}
.ant-list::-webkit-scrollbar {
width: 0 !important;
}
.top {
margin: 0.1rem;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.left {
display: flex;
align-items: center;
p {
height: 0.18rem;
line-height: 0.14rem;
@ -920,35 +807,44 @@
margin-bottom: 0;
border-left: 1px solid #212121;
}
.reverseSelection {
margin-right: 0.1rem;
cursor: pointer;
}
.reverseSelection:hover {
color: #0058e1;
}
span {
margin-left: 0.1rem;
}
.num {
margin-left: 0;
color: #0087ff;
font-size: 0.2rem;
}
}
.right {
display: flex;
align-items: center;
justify-content: space-around;
button {
margin-bottom: 0.1rem;
}
.sousuokuang {
width: 3.25rem;
margin: 0.1rem 0rem 0.21rem 0.2rem;
.ant-input-search {
max-width: 3rem;
}
:deep(.ant-input) {
width: 2.4rem;
height: 0.36rem;
@ -956,9 +852,11 @@
color: #000;
background: #fff;
}
:deep(.ant-input-group-addon) {
display: inline-block;
margin-left: 0.1rem;
.ant-input-search-button {
width: 0.65rem;
height: 0.36rem;
@ -969,6 +867,7 @@
}
}
}
.title {
font-size: 0.2rem;
color: #000000;
@ -977,6 +876,7 @@
margin-top: 0.2rem;
margin-left: 0.2rem;
}
.tab {
margin-top: 0.1rem;
margin-left: 0.2rem;
@ -984,6 +884,7 @@
display: flex;
font-size: 0.14rem;
color: #999999;
div {
width: 0.7rem;
height: 0.24rem;
@ -994,11 +895,13 @@
color: #666666;
cursor: pointer;
}
.tabclass {
border: 0.01rem solid #0087ff;
color: #0087ff;
}
}
.name {
max-width: 4.15rem;
overflow: hidden;
@ -1007,13 +910,16 @@
-o-text-overflow: ellipsis;
word-break: break-all;
}
.name:hover {
color: #0087ff;
}
.items {
height: 7.25rem;
padding: 0 0.3rem;
overflow-y: scroll;
.item {
.item-top {
width: 100%;
@ -1027,65 +933,94 @@
padding: 0 0.1rem;
margin-top: 0.08rem;
}
.item-top:hover {
cursor: pointer;
// 0058e1 0.5
background: rgba(0, 88, 225, 0.8);
color: white;
:deep(.anticon) {
color: white;
}
}
.item-bottom {
padding: 0 0.2rem;
border: 1px solid rgba(0, 135, 225, 0.1);
}
}
}
:deep(.ant-list-item-meta-avatar) {
display: flex;
align-items: center;
}
.ant-pagination {
margin-bottom: 0.2rem;
}
.tx {
display: inline-block;
width: 0.8rem;
height: 0.8rem;
margin-left: 0.1rem;
}
.sxt {
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.yyzy {
background: url('~@/assets/home/yyzy_square.png') no-repeat;
background-size: 100%;
}
.znsf {
background: url('~@/assets/home/znsf_square.png') no-repeat;
background-size: 100%;
}
.tcfw {
background: url('~@/assets/home/tcfw_square.png') no-repeat;
background-size: 100%;
}
.kfzj {
background: url('~@/assets/home/kfzj_square.png') no-repeat;
background-size: 100%;
}
.ywzj {
background: url('~@/assets/home/ywzj_square.png') no-repeat;
background-size: 100%;
}
:deep(.ant-list-item-meta-title) {
display: flex;
justify-content: space-between;
align-items: center;
div {
display: flex;
align-items: center;
}
}
.collect-btn {
width: 1rem;
height: 0.36rem;
border-radius: 2px;
background: #fff;
color: #0558e1;
}
.apply-btn {
width: 1rem;
height: 0.36rem;
margin-left: 0.12rem;
border-radius: 2px;
}
</style>

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 { 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,6 +82,14 @@
mybus.emit('tabsChange', item)
}
onMounted(() => {
if (menuList[1]) {
handleClick(menuList[1])
} else {
handleClick(menuList[0])
}
})
return {
menuList,
selectedKeys,
@ -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,14 +128,17 @@
margin-right: 30px;
}
}
:deep(.ant-menu-item-selected) {
background-color: #edf4fc;
color: #0087ff;
&::after {
display: none;
}
}
}
#aside-menu-container::-webkit-scrollbar {
width: 0 !important;
}

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)