Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
guoyue 2022-10-12 11:53:43 +08:00
commit ae252efcc0
1 changed files with 482 additions and 435 deletions

View File

@ -1,8 +1,11 @@
<template> <template>
<div class="home-header" :class="[ <div
class="home-header"
:class="[
select !== 'home' || scrollTop > 500 ? 'white' : '', select !== 'home' || scrollTop > 500 ? 'white' : '',
props.showView === 'algorithm-details' ? '' : '', props.showView === 'algorithm-details' ? '' : '',
]"> ]"
>
<div class="name" @click="goToHome"> <div class="name" @click="goToHome">
<div class="name-bg" v-if="!itShowXiHaiAn"></div> <div class="name-bg" v-if="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div> <div class="name-bg-xihaian" v-else></div>
@ -11,26 +14,52 @@
<p>(United Capacity System)</p> <p>(United Capacity System)</p>
</div> </div>
</div> </div>
<div v-for="item in navList" :key="item.key" @click="jumpPage(item)" class="nav" <div
:class="item.key == select ? 'select' : ''"> v-for="item in navList"
:key="item.key"
@click="jumpPage(item)"
class="nav"
:class="item.key == select ? 'select' : ''"
>
{{ item.name }} {{ item.name }}
</div> </div>
<!-- 购物车 --> <!-- 购物车 -->
<a-badge :count="sgcNum"> <a-badge :count="sgcNum">
<svg t="1650455446850" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg
p-id="2069" width="0.4rem" height="0.4rem" @click="goToSgc"> t="1650455446850"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2069"
width="0.4rem"
height="0.4rem"
@click="goToSgc"
>
<path <path
d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z" d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2070"></path> :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'"
p-id="2070"
></path>
</svg> </svg>
</a-badge> </a-badge>
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem"> <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" <svg
p-id="2187" width="0.35rem" height="0.35rem"> 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 <path
d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z" d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2188"></path> :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'"
p-id="2188"
></path>
</svg> </svg>
<!-- <a-avatar shape="square" size="large" /> --> <!-- <a-avatar shape="square" size="large" /> -->
</a-badge> </a-badge>
@ -59,7 +88,10 @@
<template #title> <template #title>
<span>{{ user.realName }}</span> <span>{{ user.realName }}</span>
</template> </template>
<span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })"> <span
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
>
{{ user.realName }} {{ user.realName }}
</span> </span>
</a-tooltip> </a-tooltip>
@ -82,45 +114,55 @@
fill="#bfbfbf" fill="#bfbfbf"
></path> ></path>
</svg> --> </svg> -->
<i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo"></i> <i
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo"
v-show="backFlag"
></i>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue' import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { recordRoute } from '@/config' import { getUserInfo } from '@/api/user'
import { useRoute, useRouter } from 'vue-router' import { recordRoute } from '@/config'
import { mynotice } from '@/api/home' import { useRoute, useRouter } from 'vue-router'
import { useStore } from 'vuex' import { mynotice } from '@/api/home'
import { getSgcTotal } from '@/api/home' import { useStore } from 'vuex'
import Cookies from 'js-cookie' import { getSgcTotal } from '@/api/home'
import mybus from '@/myplugins/mybus' import Cookies from 'js-cookie'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js' import mybus from '@/myplugins/mybus'
import { message } from 'ant-design-vue' import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { message } from 'ant-design-vue'
const store = useStore() const store = useStore()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn) //
const user = ref({
//
const user = ref({
username: store.getters['user/username'], username: store.getters['user/username'],
realName: store.getters['user/realName'], realName: store.getters['user/realName'],
}) })
const select = ref(router.currentRoute.value.name) const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false) const mynoticeFlag = ref(false)
const mynoticeData = ref([]) const mynoticeData = ref([])
const navList = ref(navListManagement.navList) const navList = ref(navListManagement.navList)
console.log('navList------------>', navList) const backFlag = ref(true)
getUserInfo().then((res) => {
if (res.data.data.roleIdList.length == 0) {
backFlag.value = false
}
})
console.log('navList------------>', navList)
const props = defineProps({ const props = defineProps({
showView: { type: String, default: '' }, showView: { type: String, default: '' },
}) })
// 退 // 退
const logout = async () => { const logout = async () => {
await store.dispatch('user/logout') await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([])) window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西 // 西
@ -132,19 +174,22 @@ const logout = async () => {
router.push('/login') router.push('/login')
} }
} }
} }
// //
const goToHome = () => { const goToHome = () => {
router.push({ router.push({
path: '/home', path: '/home',
}) })
} }
// //
const jumpPage = (item) => { const jumpPage = (item) => {
// 西 // 西
if (itShowXiHaiAn.value) { if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例'] let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name) && !xhaHasPermissionUser.list.includes(user.value.username)) { if (
_arr.includes(item.name) &&
!xhaHasPermissionUser.list.includes(user.value.username)
) {
return message.warn('暂无权限') return message.warn('暂无权限')
} }
} }
@ -165,7 +210,7 @@ const jumpPage = (item) => {
router.push({ router.push({
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
}, },
}) })
break break
@ -223,50 +268,50 @@ const jumpPage = (item) => {
router.push('/home') router.push('/home')
break break
} }
} }
const scrollTop = ref(0) const scrollTop = ref(0)
window.onscroll = function () { window.onscroll = function () {
// //
//scrollTop //scrollTop
scrollTop.value = scrollTop.value =
document.documentElement.scrollTop || document.body.scrollTop document.documentElement.scrollTop || document.body.scrollTop
// console.log('' + scrollTop.value) // console.log('' + scrollTop.value)
} }
mybus.on('getSgcNum', () => { mybus.on('getSgcNum', () => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
sgcNum.value = res.data.data.count sgcNum.value = res.data.data.count
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)
}) })
}) })
const sgcNum = ref(0) const sgcNum = ref(0)
const goToSgc = () => { const goToSgc = () => {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle')) window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push('/personalCenter') router.push('/personalCenter')
} }
const mynoticeNum = ref(0) const mynoticeNum = ref(0)
// //
const getMynotice = () => { const getMynotice = () => {
mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => { mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => {
// console.log('', res.data.data) // console.log('', res.data.data)
mynoticeNum.value = res.data.data.total mynoticeNum.value = res.data.data.total
mynoticeData.value = res.data.data.list mynoticeData.value = res.data.data.list
}) })
} }
const goToView = () => { const goToView = () => {
router.push({ router.push({
path: '/mynoticeView', path: '/mynoticeView',
}) })
} }
// const read = (item) => { // const read = (item) => {
// mynoticeRead(item.id).then((res) => { // mynoticeRead(item.id).then((res) => {
// console.log('', res) // console.log('', res)
// getMynotice() // getMynotice()
// }) // })
// } // }
// -- cookie // -- cookie
onMounted(() => { onMounted(() => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)
sgcNum.value = res.data.data.count sgcNum.value = res.data.data.count
@ -300,19 +345,19 @@ onMounted(() => {
mybus.on('getMynotice', () => { mybus.on('getMynotice', () => {
getMynotice() getMynotice()
}) })
}) })
onBeforeUnmount(() => { onBeforeUnmount(() => {
mybus.off('getSgcNum') mybus.off('getSgcNum')
mybus.off('getMynotice') mybus.off('getMynotice')
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@font-face { @font-face {
font-family: 'header-typeface'; font-family: 'header-typeface';
src: url('~@/assets/newHome/font/header-typeface.ttf'); src: url('~@/assets/newHome/font/header-typeface.ttf');
} }
.home-header { .home-header {
height: 0.64rem; height: 0.64rem;
width: 100%; width: 100%;
max-width: 1920px; max-width: 1920px;
@ -349,7 +394,8 @@ onBeforeUnmount(() => {
.name-bg-xihaian { .name-bg-xihaian {
height: 0.6rem; height: 0.6rem;
width: 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%; background-size: 100%;
margin-right: 0.15rem; margin-right: 0.15rem;
} }
@ -429,9 +475,9 @@ onBeforeUnmount(() => {
cursor: pointer; cursor: pointer;
} }
} }
} }
.white { .white {
background-color: #fff; background-color: #fff;
box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1); box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1);
@ -464,13 +510,15 @@ onBeforeUnmount(() => {
color: #000; color: #000;
} }
} }
} }
.blue { .blue {
position: absolute; position: absolute;
background: linear-gradient(to right, background: linear-gradient(
to right,
rgba(15, 90, 253, 0.8), rgba(15, 90, 253, 0.8),
rgba(36, 25, 248, 0.8)); rgba(36, 25, 248, 0.8)
);
.name { .name {
color: #fff; color: #fff;
@ -490,9 +538,9 @@ onBeforeUnmount(() => {
color: #fff; color: #fff;
} }
} }
} }
.mynotice { .mynotice {
width: 4rem; width: 4rem;
height: 3rem; height: 3rem;
background: #eee; background: #eee;
@ -509,19 +557,18 @@ onBeforeUnmount(() => {
color: #000; color: #000;
font-size: 0.16rem; font-size: 0.16rem;
} }
} }
.mynotice::-webkit-scrollbar { .mynotice::-webkit-scrollbar {
display: none; display: none;
} }
:deep(.ant-list-item) { :deep(.ant-list-item) {
border-bottom: 0.01rem solid #ccc; border-bottom: 0.01rem solid #ccc;
padding: 0.1rem; padding: 0.1rem;
} }
:deep(.ant-list-item-meta-title) {
:deep(.ant-list-item-meta-title) {
// display: flex; // display: flex;
// justify-content: space-around; // justify-content: space-around;
// align-items: center; // align-items: center;
@ -547,18 +594,18 @@ onBeforeUnmount(() => {
font-size: 0.1rem; font-size: 0.1rem;
} }
} }
} }
.iconTo { .iconTo {
display: block; display: block;
width: 0.35rem; width: 0.35rem;
height: 0.35rem; height: 0.35rem;
background: url('~@/assets/newHome/iconTo.png') no-repeat; background: url('~@/assets/newHome/iconTo.png') no-repeat;
cursor: pointer; cursor: pointer;
} }
</style> </style>
<style> <style>
html::-webkit-scrollbar { html::-webkit-scrollbar {
display: none; display: none;
} }
</style> </style>