This commit is contained in:
guoyue 2022-10-25 18:00:40 +08:00
commit 5fea910701
7 changed files with 2452 additions and 2185 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@ back/dist-西海岸-后台管理-v0.8.2.1.zip
back/dist-市局-后台管理-v0.8.2.3.zip
back/dist-西海岸-后台管理-v0.8.2.4.d.zip
*.zip
front/public/static/config/basicConfig.js

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-01 19:19:40
* @LastEditors: Light
* @LastEditTime: 2022-10-24 10:36:56
* @LastEditTime: 2022-10-25 09:51:56
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -110,6 +110,13 @@ export function initiateMeet(data) {
data: data,
})
}
export function getEnkeUsers(params) {
return request({
url: '/enke/getEnkeUsers',
method: 'get',
params: params,
})
}
//
export function ApplicationServe(data) {

View File

@ -1,8 +1,8 @@
/*
* @Author: hisense.wuhongjian
* @Date: 2022-03-29 17:48:03
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-15 16:42:22
* @LastEditors: Light
* @LastEditTime: 2022-10-25 09:37:05
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -23,6 +23,13 @@ export async function socialLogin(data) {
})
}
export function getRole(params) {
return request({
url: '/sys/role/' + params,
method: 'get',
params,
})
}
export function getUserInfo(redict) {
//mock.js使dataaccessToken使mockheaders
// debugger
@ -30,8 +37,8 @@ export function getUserInfo(redict) {
url: '/sys/user/info',
method: 'get',
headers: {
REQUESTURI:redict
}
REQUESTURI: redict,
},
})
}
export function getDeptAll() {

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,11 @@
<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="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div>
@ -11,26 +14,52 @@
<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">
<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-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>
@ -59,12 +88,19 @@
<template #title>
<span>{{ user.realName }}</span>
</template>
<span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
<span
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
>
{{ user.realName }}
</span>
</a-tooltip>
<span @click="logout" class="out">退出</span>
<i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo" v-show="backFlag"></i>
<i
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo"
v-show="backFlag"
></i>
<!-- <i class="img1" @click="jumpWaibu"></i> -->
</div>
<div class="info1">
@ -73,49 +109,50 @@
</div>
</template>
<script setup>
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { getUserInfo } from '@/api/user'
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'
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { getUserInfo, getRole } from '@/api/user'
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 itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
const store = useStore()
const router = useRouter()
const route = useRoute()
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
//
const user = ref({
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
const navList = ref(navListManagement.navList)
const backFlag = ref(true)
getUserInfo().then((res) => {
if (
res.data.data.roleIdList.length == 0 &&
res.data.data.superAdmin === 0
) {
backFlag.value = false
})
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
const navList = ref(navListManagement.navList)
const backFlag = ref(false)
getUserInfo().then((res) => {
res.data.data.roleIdList.map((val) => {
getRole(val).then((role) => {
if (role.data.data.name === '后台管理员') {
backFlag.value = true
}
})
console.log('navList------------>', navList)
})
})
})
console.log('navList------------>', navList)
const props = defineProps({
const props = defineProps({
showView: { type: String, default: '' },
})
})
// 退
const logout = async () => {
// 退
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西
@ -127,26 +164,24 @@ const logout = async () => {
router.push('/login')
}
}
}
//
const goToHome = () => {
}
//
const goToHome = () => {
// 西
if (itShowXiHaiAn.value) {
if (
!xhaHasPermissionUser.list.includes(user.value.username)
) {
if (!xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
router.push({
path: '/home',
})
}
const jumpWaibu=()=>{
window.open('http://15.72.177.175:18460/analystrunner/tonglan', "_blank");
}
//
const jumpPage = (item) => {
}
const jumpWaibu = () => {
window.open('http://15.72.177.175:18460/analystrunner/tonglan', '_blank')
}
//
const jumpPage = (item) => {
// 西
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
@ -232,50 +267,50 @@ const jumpPage = (item) => {
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
@ -309,19 +344,19 @@ onMounted(() => {
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;
@ -358,7 +393,8 @@ onBeforeUnmount(() => {
.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;
}
@ -397,7 +433,7 @@ onBeforeUnmount(() => {
.info1 {
margin-left: 0.1rem;
display: flex;
.img1{
.img1 {
height: 0.3rem;
width: 1.4rem;
margin-left: 0.1rem;
@ -456,9 +492,9 @@ onBeforeUnmount(() => {
cursor: pointer;
}
}
}
}
.white {
.white {
background-color: #fff;
box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1);
@ -491,13 +527,15 @@ onBeforeUnmount(() => {
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;
@ -517,9 +555,9 @@ onBeforeUnmount(() => {
color: #fff;
}
}
}
}
.mynotice {
.mynotice {
width: 4rem;
height: 3rem;
background: #eee;
@ -536,19 +574,18 @@ onBeforeUnmount(() => {
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;
@ -574,18 +611,18 @@ onBeforeUnmount(() => {
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

@ -230,12 +230,7 @@
</span>
</template>
</div>
<div
v-if="
selectCardsname === '打包模式'
"
class="label-content1"
>
<div v-if="selectCardsname === '打包模式'" class="label-content1">
发布时间
<template v-if="item.createDate">
<span>
@ -300,11 +295,13 @@
>
申请量{{ item.applyCount || 0 }}
</div>
<!-- 青岛不展示数据量 -->
<div
v-if="
selectCardsname === '数据资源' &&
selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景'
selectCardsname !== '赋能场景' &&
whoShow1.itShowXiHaiAn
"
>
数据量{{ item.sjlCount || 0 }}

View File

@ -544,18 +544,19 @@
>
<a-table
class="ant-table-striped"
:dataSource="meetingName"
:dataSource="meetingList"
:columns="meetingColumns"
:scroll="{ y: tableHeight }"
rowKey="key"
:rowClassName="
(record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:showSizeChanger="false"
:pagination="meetingPagination"
:row-selection="{
selectedRowKeys: meetingSelect,
selectedRowKeys: meetingSelect.data,
onChange: meetingOnSelectChange,
}"
@change="handleMeeting"
></a-table>
</div>
<!-- 西海岸-无人机单兵设备 -->
@ -782,7 +783,7 @@
defineExpose,
computed,
} from 'vue'
import { getUser, initiateMeet } from '@/api/home'
import { getUser, initiateMeet, getEnkeUsers } from '@/api/home'
import {
getCameraByParentId,
getStreamByChannelCode,
@ -846,24 +847,66 @@
'fullScreen',
], //,
})
const meetingSelect = ref([])
const meetingList = ref([])
const meetingPagination = ref({
total: 0,
current: 1,
pageSize: 5, //5
showSizeChanger: false,
})
const meetingSelect = reactive({ data: [] })
const meetingSelectOld = reactive({ data: [] })
const meetingOnSelectChange = (selectedRowKeys) => {
console.log(
'selectedRowKeys changed: ',
selectedRowKeys,
meetingSelect.value
meetingSelect.data
)
meetingSelect.value = selectedRowKeys
meetingSelect.data = selectedRowKeys
meetingSelectOld.data[meetingPagination.value.current - 1] =
meetingSelect.data
}
const videoList = ref([])
const initMeeting = () => {
let str = ''
meetingSelect.value.map((val) => (str += val + '/'))
let str = '青岛市一网统揽项目组/'
// meetingSelect.data.map((val) => (str += val + '/'))
meetingSelectOld.data.map((val) => {
val.map((data) => (str += data + '/'))
})
initiateMeet(str).then((res) => {
console.log('组会=========>', res)
})
}
//
const meetingColumns = ref([
{
title: '视频会议用户名称',
dataIndex: 'hostName',
key: 'hostName',
},
])
const getMeetingList = () => {
getEnkeUsers({
page: meetingPagination.value.current,
limit: meetingPagination.value.pageSize,
}).then((res) => {
meetingList.value = []
res.data.data.list.map((val) => {
val.key = val.hostName
})
meetingList.value = res.data.data.list
meetingPagination.value.total = res.data.data.total
meetingSelect.data =
meetingSelectOld.data[meetingPagination.value.current - 1]
console.log('会议列表=============>', res.data.data)
})
}
getMeetingList()
const handleMeeting = (pag, filters, sorter) => {
console.log(pag, filters, sorter)
meetingPagination.value.current = pag.current
getMeetingList()
}
let visible = ref(false) //
let picVisible = ref(false) //
let batchVisible = ref(false) //
@ -2072,20 +2115,6 @@
key: 'channelId',
},
])
const meetingColumns = ref([
{
title: '视频会议用户名称',
dataIndex: 'name',
key: 'name',
},
])
const meetingName = ref([
{ name: '一网统揽平台组', key: '一网统揽平台组' },
{ name: '市气象局', key: '市气象局' },
{ name: '地铁集团', key: '地铁集团' },
{ name: '市公安局', key: '市公安局' },
{ name: '市交通运输局', key: '市交通运输局' },
])
// 西--
if (isXiHaiAn) {
columns.value.splice(2, 0, {
@ -2597,6 +2626,11 @@
text-align: end;
}
}
:deep(.ant-table-thead > tr > th) {
color: #5580f7 !important;
font-size: 16px !important;
font-weight: 600 !important;
}
</style>
<style lang="less">
.wrj {