数据资源页面

This commit is contained in:
gaoyuanwei 2022-06-16 17:30:33 +08:00
parent 29689b2319
commit db6bd47bd9
17 changed files with 324 additions and 163 deletions

View File

@ -7,20 +7,21 @@
--> -->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" /> <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<title><%= htmlWebpackPlugin.options.title %></title> <title>
<%= htmlWebpackPlugin.options.title %>
</title>
<meta <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文档" 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" name="keywords" />
/>
<meta <meta
content="<%= VUE_APP_TITLE %>官网与文档基于vue-admin-beautiful-pro构建简称vab是一款超棒的vue+element中后台前端快速开发框架QQ群972435319作者<%= VUE_APP_AUTHOR %>" content="<%= VUE_APP_TITLE %>官网与文档基于vue-admin-beautiful-pro构建简称vab是一款超棒的vue+element中后台前端快速开发框架QQ群972435319作者<%= VUE_APP_AUTHOR %>"
name="description" name="description" />
/>
<meta content="<%= VUE_APP_AUTHOR %>" name="author" /> <meta content="<%= VUE_APP_AUTHOR %>" name="author" />
<link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" /> <link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" />
<script> <script>
@ -31,7 +32,7 @@
window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001'; window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001';
window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/'; window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/';
window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/document/#/devModelFile/'; window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/document/#/devModelFile/';
window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin'; window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin';
// window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001'; // window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001';
// window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/'; // window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/';
@ -89,8 +90,9 @@
<script type="text/javascript" src="./static/js/encrypt.js"></script> <script type="text/javascript" src="./static/js/encrypt.js"></script>
<script type="text/javascript" src="./static/js/DHWs.js"></script> <script type="text/javascript" src="./static/js/DHWs.js"></script>
</head> </head>
<body>
<body>
<noscript> <noscript>
<strong> <strong>
We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
@ -107,9 +109,12 @@
<i></i> <i></i>
</span> </span>
</div> </div>
<h1><%= VUE_APP_TITLE %></h1> <h1>
<%= VUE_APP_TITLE %>
</h1>
</div> </div>
</div> </div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
</html> </html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -212,7 +212,7 @@
.banner { .banner {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 400px; height: 4rem;
background: url(../../../assets/assignCase/bg.png) no-repeat center; background: url(../../../assets/assignCase/bg.png) no-repeat center;
} }
.mainBox { .mainBox {
@ -221,51 +221,51 @@
background: #f7f8fa; background: #f7f8fa;
} }
.top { .top {
width: 1350px; width: 13.5rem;
margin: 0 auto; margin: 0 auto;
height: 400px; height: 4rem;
padding-top: 80px; padding-top: 0.8rem;
position: relative; position: relative;
margin-top: 64px; margin-top: 0.64rem;
h1 { h1 {
font-size: 40px; font-size: 0.4rem;
font-weight: 300; font-weight: 300;
line-height: 50px; line-height: 0.5rem;
color: #ffffff; color: #ffffff;
} }
div { div {
width: 76px; width: 0.76rem;
height: 4px; height: 0.04rem;
background: #ff8b55; background: #ff8b55;
margin: 20px 0; margin: 0.2rem 0;
} }
h3 { h3 {
font-weight: 300; font-weight: 300;
font-size: 26px; font-size: 0.26rem;
color: #ffffff; color: #ffffff;
} }
} }
.navigation { .navigation {
width: 100%; width: 100%;
// height: 80px; // height: 0.80rem;
line-height: 80px; line-height: 0.8rem;
background: #ffffff; background: #ffffff;
.navigationMain { .navigationMain {
width: 1350px; width: 13.5rem;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
.top-title { .top-title {
display: flex; display: flex;
.tabAll { .tabAll {
font-size: 22px; font-size: 0.22rem;
color: #526aff; color: #526aff;
margin-right: 35px; margin-right: 0.35rem;
cursor: pointer; cursor: pointer;
} }
.tabAll:nth-child(2) { .tabAll:nth-child(2) {
margin-left: 35px; margin-left: 0.35rem;
margin-right: 60px; margin-right: 0.6rem;
} }
.tabAllActive { .tabAllActive {
color: #999999; color: #999999;
@ -274,17 +274,17 @@
.tabClickRight { .tabClickRight {
display: flex; display: flex;
.more { .more {
font-size: 22px; font-size: 0.22rem;
color: #526aff; color: #526aff;
} }
.moreLogo { .moreLogo {
display: inline-block; display: inline-block;
width: 20px; width: 0.2rem;
height: 20px; height: 0.2rem;
background: url(../../../assets/assignCase/left.png) no-repeat background: url(../../../assets/assignCase/left.png) no-repeat
center; center;
margin-top: 30px; margin-top: 0.3rem;
transform: rotate(-90deg); transform: rotate(-90deg);
} }
.moreLogoActive { .moreLogoActive {
@ -294,75 +294,75 @@
} }
} }
.tabClick { .tabClick {
height: 80px; height: 0.8rem;
line-height: 80px; line-height: 0.8rem;
width: 1000px; width: 10rem;
overflow: hidden; overflow: hidden;
span { span {
font-size: 22px; font-size: 0.22rem;
color: #333333; color: #333333;
margin-right: 30px; margin-right: 0.3rem;
cursor: pointer; cursor: pointer;
} }
span:nth-of-type(8n) { span:nth-of-type(8n) {
margin-right: 50px; margin-right: 0.5rem;
} }
} }
.hidetext { .hidetext {
height: unset; height: unset;
overflow: unset; overflow: unset;
line-height: 80px; line-height: 0.8rem;
} }
} }
} }
main { main {
position: relative; position: relative;
z-index: 5; z-index: 5;
// width: 1350px; // width: 13.50rem;
height: 100%; height: 100%;
margin: 0 auto; margin: 0 auto;
.content { .content {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
padding-top: 40px; padding-top: 0.4rem;
overflow: hidden; overflow: hidden;
.contenBox { .contenBox {
// width: 430px; // width: 4.30rem;
padding: 30px; padding: 0.3rem;
border: 1px solid #e4e6f5; border: 0.01rem solid #e4e6f5;
margin-right: 30px; margin-right: 0.3rem;
background: #ffffff; background: #ffffff;
border-radius: 6px; border-radius: 0.06rem;
box-shadow: 5px 5px 20px 0 #f2f3fb; box-shadow: 0.05rem 0.05rem 0.2rem 0 #f2f3fb;
img { img {
// width: 370px; // width: 3.70rem;
height: 200px; height: 2rem;
border-radius: 6px; border-radius: 0.06rem;
} }
h3 { h3 {
margin: 30px 0 20px; margin: 0.3rem 0 0.2rem;
font-size: 28px; font-size: 0.28rem;
color: #000000; color: #000000;
} }
p { p {
font-size: 18px; font-size: 0.18rem;
color: #999999; color: #999999;
} }
.look { .look {
width: 100px; width: 1rem;
height: 36px; height: 0.36rem;
line-height: 36px; line-height: 0.36rem;
border: 1px solid #526aff; border: 0.01rem solid #526aff;
color: #526aff; color: #526aff;
border-radius: 6px; border-radius: 0.06rem;
font-size: 18px; font-size: 0.18rem;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
} }
} }
.contenBox:last-of-type { .contenBox:last-of-type {
margin-right: 0px; margin-right: 0rem;
} }
.contenBoxImg { .contenBoxImg {
display: flex; display: flex;
@ -370,32 +370,32 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.hopeingImg { .hopeingImg {
width: 178px; width: 1.78rem;
height: 130px; height: 1.3rem;
margin-bottom: 40px; margin-bottom: 0.4rem;
} }
h3 { h3 {
font-size: 22px; font-size: 0.22rem;
color: #999999; color: #999999;
} }
} }
} }
.pagination { .pagination {
padding: 60px 0 40px; padding: 0.6rem 0 0.4rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
span { span {
font-size: 18px; font-size: 0.18rem;
color: #999999; color: #999999;
margin-right: 20px; margin-right: 0.2rem;
} }
.ant-pagination { .ant-pagination {
margin-top: 0; margin-top: 0;
} }
:deep(.ant-pagination-item) { :deep(.ant-pagination-item) {
border-radius: 4px; border-radius: 0.04rem;
border: 1px solid #b2b2b2; border: 0.01rem solid #b2b2b2;
a { a {
color: #b2b2b2; color: #b2b2b2;
} }
@ -409,14 +409,14 @@
} }
:deep(.ant-pagination-item-active) { :deep(.ant-pagination-item-active) {
background: #526aff; background: #526aff;
border: 1px solid #526aff; border: 0.01rem solid #526aff;
border-radius: 4px; border-radius: 0.04rem;
a { a {
color: #ffffff; color: #ffffff;
} }
} }
:deep(.ant-pagination-options-quick-jumper input) { :deep(.ant-pagination-options-quick-jumper input) {
width: 32px; width: 0.32rem;
} }
} }
} }

View File

@ -4,7 +4,7 @@
<div class="details-pageconetent-left"> <div class="details-pageconetent-left">
<detailsPageconetentTree /> <detailsPageconetentTree />
</div> </div>
<div class="top" v-if="Cardsname != '知识库'"> <div class="top" v-if="Cardsname != '知识库' && Cardsname != '数据资源'">
<div class="top-title"> <div class="top-title">
<div <div
v-for="item in titleName" v-for="item in titleName"
@ -257,35 +257,33 @@
</div> --> </div> -->
<VideoSurveillance></VideoSurveillance> <VideoSurveillance></VideoSurveillance>
</div> </div>
<div class="shujuziyuan" v-if="Cardsname == '数据资源'">
<div class="yunziyuan">
<div class="yunziyuan-title">
<div class="tupian"></div>
<div
class="title"
@click="dianjitiaozhaun('青岛市政务资源管理平台')"
>
青岛市政务资源管理平台
</div>
</div>
<div class="keyongziyuan">
<div v-for="item in shujuziyuanqingkuang" :key="item">
<div>{{ item.name }}</div>
<div>{{ item.value }}</div>
{{ item.danwei }}
</div>
</div>
<div class="shuoming">
说明数据资源目前通过青岛市政务信息网进行申请
</div>
</div>
</div>
<div v-if="resourceList.data?.length <= 0" style="margin-top: 2rem"> <div v-if="resourceList.data?.length <= 0" style="margin-top: 2rem">
<a-empty <a-empty
v-if="!(Cardsname == '基础设施') && !(Cardsname == '数据资源')" v-if="!(Cardsname == '基础设施') && !(Cardsname == '数据资源')"
/> />
</div> </div>
</div> </div>
<div class="top" v-else-if="Cardsname == '数据资源'">
<div class="top-title">
<div
v-for="item in titleName"
:key="item.name"
:class="item.name === Cardsname ? 'sel' : ''"
@click="changeCards(item.name)"
>
<span
class="photo"
:style="{
backgroundImage: `url(${item.photo}) `,
backgroundSize: 'cover',
}"
></span>
<span>{{ item.name }}</span>
</div>
</div>
<details-page-resource></details-page-resource>
</div>
<div class="top" v-else> <div class="top" v-else>
<div class="top-title"> <div class="top-title">
<div <div
@ -359,6 +357,7 @@
import searchResultList from '@/views/home/components/searchResultList.vue' import searchResultList from '@/views/home/components/searchResultList.vue'
import KnowledgeBase from '@/views/home/components/KnowledgeBase.vue' import KnowledgeBase from '@/views/home/components/KnowledgeBase.vue'
import VideoSurveillance from '@/views/home/videoSurveillance' import VideoSurveillance from '@/views/home/videoSurveillance'
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
export default defineComponent({ export default defineComponent({
setup() { setup() {
// const store = useStore() // const store = useStore()
@ -950,6 +949,7 @@
KnowledgeBase, KnowledgeBase,
// VideoCameraOutlined, // VideoCameraOutlined,
VideoSurveillance, VideoSurveillance,
DetailsPageResource,
}, },
beforeUnmount() { beforeUnmount() {
mybus.off('selectCardsitem') mybus.off('selectCardsitem')

View File

@ -0,0 +1,156 @@
<template>
<div class="pageResource">
<div class="left">
<img :src="leftImg" alt="" />
</div>
<div class="right">
<div class="launchedList">
<div v-for="(item, index) in launchedData" :key="index">
<img :src="item.img" alt="" />
<h3>{{ item.title }}</h3>
<p>
{{ item.num }}
<span></span>
</p>
</div>
</div>
<p>
政府机构内不同部门间系统的数据存在信息孤岛数据烟囱等现象以数据应用为抓手通过政务数据共享交换平台进一步打通数据流实现信息资源跨部门跨层级跨区域互联互通业务协同和综合应用满足政府企业部门多方位多层次的数据需求
</p>
<div class="application">
<span>在线申请</span>
</div>
</div>
</div>
</template>
<script setup>
import { ref } from 'vue'
// import { useRouter } from 'vue-router'
// import { useStore } from 'vuex'
const leftImg = require('@/assets/home/pageResource/left.png')
const launchedData = ref([
{
title: '已上线目录',
num: 10372,
img: require('@/assets/home/pageResource/catalogue-icon.png'),
},
{
title: '已发布服务',
num: 1080,
img: require('@/assets/home/pageResource/service-icon.png'),
},
{
title: '已发布接口',
num: 976,
img: require('@/assets/home/pageResource/port-icon.png'),
},
])
</script>
<style lang="less" scoped>
@font-face {
font-family: 'Medium';
src: url('~@/assets/home/font/Alibaba-PuHuiTi-Medium.otf');
}
// @font-face {
// font-family: 'text-typeface';
// src: url('~@/assets/home/font/text-typeface.otf');
// }
.pageResource {
position: absolute;
top: 0.68rem;
left: -5.37rem;
width: 176%;
height: 90.5%;
background: url(../../../assets/home/pageResource/bg.png) no-repeat center;
background-size: 100% 100%;
.left {
position: absolute;
top: 1.16rem;
left: 1.25rem;
width: 4.7rem;
height: 3rem;
img {
width: 100%;
}
}
.right {
position: absolute;
top: 0.5rem;
left: 7.6rem;
width: 60%;
.launchedList {
display: flex;
div {
width: 2.6rem;
height: 2.7rem;
margin-right: 0.4rem;
background: url(../../../assets/home/pageResource/catalogue-bg.png)
no-repeat;
background-size: 100% 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
img {
width: 0.8rem;
height: 0.8rem;
}
h3 {
margin: 0;
margin-top: 0.25rem;
font-size: 0.22rem;
color: #213162;
opacity: 0.8;
}
p {
margin: 0;
margin-top: 0.1rem;
font-size: 0.35rem;
font-weight: bold;
color: #0d165b;
span {
font-size: 0.2rem;
color: #213162;
font-weight: normal;
}
}
}
div:nth-of-type(2) {
background: url(../../../assets/home/pageResource/service-bg.png)
no-repeat;
background-size: 100% 100%;
}
div:nth-of-type(3) {
background: url(../../../assets/home/pageResource/port-bg.png)
no-repeat;
background-size: 100% 100%;
}
}
.application {
width: 14%;
height: 0.6rem;
line-height: 0.6rem;
text-align: center;
border-radius: 0.1rem;
margin-top: 0.5rem;
background-image: linear-gradient(to right, #336cf6, #1cadfd);
box-shadow: 0.08rem 0.08rem 0.2rem 0 rgba(40, 140, 249, 0.4);
cursor: pointer;
span {
font-size: 0.22rem;
color: #ffffff;
font-family: 'Medium';
}
}
}
.right > p {
margin-top: 0.5rem;
font-size: 0.18rem;
width: 75%;
color: #4e586b;
}
}
</style>