Compare commits

...

21 Commits

Author SHA1 Message Date
wuhongjian 3679743b39 bug修复 2022-06-21 20:33:39 +08:00
wuhongjian 43d8b96d5e bug修复 2022-06-21 17:44:50 +08:00
gaoyuanwei bbc8941fbd bt-location 2022-06-21 14:37:56 +08:00
wuhongjian 626abf682b 包头更改 2022-06-21 09:40:46 +08:00
wuhongjian f7999e0474 更改配置文件 2022-06-20 18:05:31 +08:00
wuhongjian 4f62053fdb 包头bug修复 2022-06-18 11:04:00 +08:00
851673013@qq.com edc2b43109 详情页底部页面更换 2022-06-17 17:55:15 +08:00
wuhongjian 54360fee74 Merge branch 'hi-ucs-bt' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-bt 2022-06-17 17:46:49 +08:00
wuhongjian 808e6136b3 加入视频预览 2022-06-17 17:46:44 +08:00
gaoyuanwei 8611d61efa Merge branch 'hi-ucs-bt' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-bt 2022-06-17 17:31:10 +08:00
gaoyuanwei 160f660cd5 在线申请按钮跳转 2022-06-17 17:30:08 +08:00
wuhongjian 832d5b2ec4 需求变更 2022-06-17 17:30:01 +08:00
851673013@qq.com ba20f28bac 隐藏掉赋能案例和区市站点 2022-06-17 16:49:41 +08:00
851673013@qq.com 52eb566ca6 基础设施-图片更改 2022-06-17 15:44:40 +08:00
851673013@qq.com 0f46b15fab bug修改 2022-06-17 14:20:19 +08:00
851673013@qq.com 090816c33d 下载地址 2022-06-17 11:38:16 +08:00
gaoyuanwei 6c2db1ee8a 技术文档 2022-06-17 09:58:53 +08:00
851673013@qq.com 144e80ef5e 基础设施和页面底部配置文件 2022-06-16 18:07:47 +08:00
gaoyuanwei a118461845 数据资源参数外引 2022-06-16 18:00:49 +08:00
gaoyuanwei db6bd47bd9 数据资源页面 2022-06-16 17:30:33 +08:00
wuhongjian 29689b2319 更换文件上传配置 2022-06-16 16:56:27 +08:00
33 changed files with 700 additions and 224 deletions

4
.gitignore vendored
View File

@ -1 +1,5 @@
back/dist-西海岸-后台管理.zip
back/dist-市局-后台管理-带配置文件.zip
back/dist-西海岸-后台管理-带配置文件.zip
back/dist.zip
front/public/index.html

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-11 10:11:40
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-13 11:21:09
* @LastEditTime: 2022-06-16 15:52:33
* @Description: 告诉大家这是什么
-->
<!DOCTYPE html>
@ -28,8 +28,8 @@
'iframeURL': '' // 是否通过iframe嵌套展示内容? (以http[s]://开头, 自动匹配)
};
// window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/#/vueTemplateDemo';
window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo';
window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo';
window.SITE_CONFIG['menuList'] = []; // 左侧菜单列表(后台返回,未做处理)
window.SITE_CONFIG['permissions'] = []; // 页面按钮操作权限(后台返回,未做处理)
window.SITE_CONFIG['dynamicRoutes'] = []; // 动态路由列表
@ -67,10 +67,10 @@
<% if (process.env.VUE_APP_NODE_ENV === 'prod') { %>
<script>
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// WebSocket地址
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
</script>

View File

@ -2,25 +2,26 @@
* @Author: hisense.wuhongjian
* @Date: 2022-03-29 16:45:25
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-16 12:46:36
* @LastEditTime: 2022-06-21 19:58:32
* @Description: 告诉大家这是什么
-->
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<title><%= htmlWebpackPlugin.options.title %></title>
<title>
<%= htmlWebpackPlugin.options.title %>
</title>
<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"
/>
name="keywords" />
<meta
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" />
<link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" />
<script>
@ -28,10 +29,10 @@
<!-- 站点配置 -->
<script>
window.SITE_CONFIG = {};
window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001';
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['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
window.SITE_CONFIG['backUrl'] = 'http://10.110.205.1:8001';
window.SITE_CONFIG['previewUrl'] = 'http://10.110.205.1:8002/';
window.SITE_CONFIG['frontUrl'] = 'http://10.110.205.1:8002/document/#/devModelFile/';
window.SITE_CONFIG['apiURL'] = 'http://10.110.205.1:8000/renren-admin';
// window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001';
// window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/';
@ -60,6 +61,10 @@
<script type="text/javascript" src="./static/config/basicConfig.js"></script>
<script type="text/javascript" src="./static/config/mapConfig.js"></script>
<!-- 页面底部参数引用 -->
<script type="text/javascript" src="./static/config/footerData.js"></script>
<!-- 数据资源参数引用 -->
<script type="text/javascript" src="./static/config/location.js"></script>
<!-- ==========地图相关配置========== -->
<script type="text/javascript" src="./leaflet/libs/leaflet/1.3.1/leaflet.js"></script>
<script type="text/javascript" src="./static/js/jquery-3.6.0.min.js"></script>
@ -89,8 +94,9 @@
<script type="text/javascript" src="./static/js/encrypt.js"></script>
<script type="text/javascript" src="./static/js/DHWs.js"></script>
</head>
<body>
</head>
<body>
<noscript>
<strong>
We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
@ -107,9 +113,12 @@
<i></i>
</span>
</div>
<h1><%= VUE_APP_TITLE %></h1>
<h1>
<%= VUE_APP_TITLE %>
</h1>
</div>
</div>
<!-- built files will be auto injected -->
</body>
</body>
</html>

View File

@ -0,0 +1,28 @@
/*
* @Author: zhangfeihu
* @Date: 2022-06-16 16:37:31
* @LastEditors: 851673013@qq.com 851673013@qq.com
* @LastEditTime: 2022-06-16 17:10:48
* @FilePath: \qiantai\front\public\static\config\footerData.js
* @Description: 底部菜单数据配置配置
*/
const footerDataList = {
company: {
left: '青岛市大数据发展管理局建设',
right: '海信网络科技股份有限公司'
},
address: [
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
{
name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼',
},
{
name: '电话0532-8561234',
value: '传真0532-2145122',
},
]
}

View File

@ -0,0 +1,18 @@
/*
* @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-04-01 10:51:45
* @Description: 数据资源参数配置
*/
const launchedDataNum = [
{
num: 10372,
},
{
num: 1080,
},
{
num: 976,
},
]

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-20 17:16:35
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-05-26 22:40:46
* @LastEditTime: 2022-06-17 17:42:37
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -46,3 +46,9 @@ export function correct(params) {
export function paddleocr(params) {
return axios.post('http://15.72.183.90:7008/paddleocr', params, config2)
}
export function getHls(id) {
return axios.get(
'http://10.110.205.1:18088/server/device/hisdeviceapplylist/url/' + id,
config2
)
}

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: 100 KiB

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

@ -18,6 +18,6 @@
import SharingSituation from '@/views/abilityStatistics/components/SharingSituation.vue'
import AbilityRanking from '@/views/abilityStatistics/components/AbilityRanking.vue'
import CapabilityRequirements from '@/views/abilityStatistics/components/CapabilityRequirements.vue'
import HomeFooter from '@/views/abilityStatistics/components/Footer'
import HomeFooter from '@/views/newHome/components/Footer'
</script>
<style lang="less" scoped></style>

View File

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

View File

@ -1,14 +1,14 @@
<!--
* @Author: hisense.liangjunhua
* @Date: 2022-06-09 15:41:19
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-10 15:44:37
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-16 16:54:05
* @Description: 上传组件
-->
<template>
<a-upload
v-model:file-list="fileList"
:action="`${baseURL}/upload`"
:action="`${apiURL}/upload`"
list-type="picture"
class="upload-list-inline"
:maxCount="props.maxCount"
@ -35,7 +35,7 @@
</template>
<script setup>
import { ref, defineProps } from 'vue'
import { baseURL } from '@/config'
// import { baseURL } from '@/config'
import { message, Upload } from 'ant-design-vue'
import mybus from '@/myplugins/mybus'
const props = defineProps({
@ -47,6 +47,7 @@
list: { type: Array, default: null },
emitFlag: { type: String, default: '' },
})
const apiURL = window.SITE_CONFIG.apiURL
const fileList = ref([])
if (props.list.length > 0) {
fileList.value = JSON.parse(JSON.stringify(props.list))

View File

@ -62,7 +62,7 @@
<script setup>
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import { pinyin } from 'pinyin-pro'
// import { pinyin } from 'pinyin-pro'
import { ref, defineProps, watch } from 'vue'
let dataFrom = ref({
title: '使用方式',
@ -152,14 +152,16 @@
}
)
function technical() {
console.log('技术文档', dataFrom.value.link)
window.open(dataFrom.value.link)
//
const type = pinyin(props.dataList.type, {
pattern: 'initial',
}).replace(/\s*/g, '')
//
const id = props.dataList.id
window.open(window.SITE_CONFIG.frontUrl + type + '/' + id + '.md', '_blank')
// const type = pinyin(props.dataList.type, {
// pattern: 'initial',
// }).replace(/\s*/g, '')
// //
// const id = props.dataList.id
// window.open(window.SITE_CONFIG.frontUrl + type + '/' + id + '.md', '_blank')
// window.open()
// console.log('dataFrom.value.link', dataFrom.value.link)
// window.open(
// window.SITE_CONFIG.previewUrl +

View File

@ -4,7 +4,7 @@
<div class="details-pageconetent-left">
<detailsPageconetentTree />
</div>
<div class="top" v-if="Cardsname != '知识库'">
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '数据资源'">
<div class="top-title">
<div
v-for="item in titleName"
@ -22,8 +22,9 @@
<span>{{ item.name }}</span>
</div>
</div>
<!-- Cardsname !== '基础设施' && -->
<div
v-show="Cardsname !== '基础设施' && Cardsname !== '数据资源'"
v-show="Cardsname !== '数据资源'"
class="resultListSearchInput-father"
>
<div class="resultListSearchInput-son">
@ -46,6 +47,7 @@
v-if="
Cardsname == '组件服务' ||
Cardsname == '应用资源' ||
Cardsname == '基础设施' ||
Cardsname == ''
"
>
@ -117,16 +119,18 @@
</div>
</template>
</div>
<!-- 中心内容 -->
<searchResultList
v-show="resourceList.data?.length > 0 && Cardsname !== '基础设施'"
v-show="resourceList.data?.length > 0"
:key="listKey2"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
:select-cardsname="Cardsname"
/>
<!-- 分页 -->
<div class="pagination">
<a-pagination
v-if="resourceList.data?.length > 0 && Cardsname !== '基础设施'"
v-if="resourceList.data?.length > 0 && Cardsname != '数据资源'"
v-model:current="currentPage"
v-model:pageSize="currentPageSize"
show-size-changer
@ -137,9 +141,21 @@
@change="pageChange"
@showSizeChange="onShowSizeChange"
/>
<a-pagination
v-else
v-model:current="currentPage"
v-model:pageSize="currentPageSize"
show-size-changer
show-less-items
show-quick-jumper
:total="resourceTotal"
:page-size-options="pageSizeOptions"
@change="pageChangeOther"
@showSizeChange="onShowSizeChangeOther"
/>
</div>
<div class="jichusheshi" v-if="Cardsname == '基础设施'">
<!-- <div class="yunziyuan">
<!-- <div class="jichusheshi" v-if="Cardsname == '基础设施'">
<div class="yunziyuan">
<div class="yunziyuan-title">
<div class="tupian"></div>
<div class="title" @click="dianjitiaozhaun('青岛市云资源管理平台')">
@ -255,8 +271,8 @@
/>
</div>
</div> -->
<VideoSurveillance></VideoSurveillance>
</div>
<!-- <VideoSurveillance></VideoSurveillance> -->
<!-- </div> -->
<div class="shujuziyuan" v-if="Cardsname == '数据资源'">
<div class="yunziyuan">
<div class="yunziyuan-title">
@ -281,11 +297,29 @@
</div>
</div>
<div v-if="resourceList.data?.length <= 0" style="margin-top: 2rem">
<a-empty
v-if="!(Cardsname == '基础设施') && !(Cardsname == '数据资源')"
/>
<a-empty />
</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-title">
<div
@ -352,13 +386,15 @@
} from '@ant-design/icons-vue'
import { selectDicStoreAll, pageWithAttrs, zywMessage } from '@/api/home.js'
import { getSgcList } from '@/api/personalCenter'
import { getRecord } from '@/api/file'
import { useRouter } from 'vue-router'
// import { useStore } from 'vuex'
import HomeHeader from '@/views/home/components/header'
import detailsPageconetentTree from '@/views/home/detailsPageconetentTree.vue'
import searchResultList from '@/views/home/components/searchResultList.vue'
import KnowledgeBase from '@/views/home/components/KnowledgeBase.vue'
import VideoSurveillance from '@/views/home/videoSurveillance'
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
// import VideoSurveillance from '@/views/home/videoSurveillance'
export default defineComponent({
setup() {
// const store = useStore()
@ -537,6 +573,7 @@
'港口',
'高速',
])
const selBqTags = ref([])
const handleChangeBqTags = (tag, checked) => {
loading.value = true
@ -722,20 +759,147 @@
const resourceList = reactive({ data: [] })
const videoList = reactive({ data: [] })
const resourceTotal = ref('')
//
const infrastructure = ref({
status: true,
message: '查询成功!',
data: {
total: 77,
records: [
{
serviceId: '516224376401072128',
name: '电子警察数据',
description: '电子警察数据',
type: 'data',
createDate: '2020-10-26T06:45:42.000+0000',
requestNum: 1540003,
requestQuantity: 154060,
starNum: 5,
},
{
serviceId: '553628641336680448',
name: '婚姻信息',
description: null,
type: 'data',
createDate: '2021-02-01T06:44:56.270+0000',
requestNum: 389562,
requestQuantity: 107211740,
starNum: 5,
},
{
serviceId: '553628691060154368',
name: '联系信息',
description: null,
type: 'data',
createDate: '2021-02-01T06:44:53.368+0000',
requestNum: 365069,
requestQuantity: 68082160,
starNum: 5,
},
{
serviceId: '515975914317189120',
name: '成都出租车GPS数据开放服务',
description: '成都出租车GPS数据开放服务',
type: 'data',
createDate: '2020-10-22T03:24:16.000+0000',
requestNum: 300044,
requestQuantity: 57500,
starNum: 5,
},
{
serviceId: '516224453593042944',
name: '设施数据',
description: '设施数据',
type: 'data',
createDate: '2020-10-26T03:43:18.000+0000',
requestNum: 200000,
requestQuantity: 2000000,
starNum: 5,
},
{
serviceId: '516224413768126464',
name: '车道数据',
description: '车道数据',
type: 'data',
createDate: '2020-10-26T03:43:26.000+0000',
requestNum: 195007,
requestQuantity: 1950140,
starNum: 5,
},
{
serviceId: '514474782668898304',
name: '共享库数据',
description: '共享库数据',
type: 'data',
createDate: '2020-10-22T03:24:02.000+0000',
requestNum: 154048,
requestQuantity: 1578100,
starNum: 5,
},
{
serviceId: '514474693493800960',
name: '出租车GPS数据',
description: '出租车GPS数据',
type: 'data',
createDate: '2020-10-22T03:24:14.000+0000',
requestNum: 154044,
requestQuantity: 1574100,
starNum: 5,
},
{
serviceId: '514475042631860224',
name: '出租车运营数据',
description: '出租车运营数据',
type: 'data',
createDate: '2020-10-22T03:24:11.000+0000',
requestNum: 154042,
requestQuantity: 1572100,
starNum: 5,
},
{
serviceId: '514474984528166912',
name: '环保数据',
description: '环保数据',
type: 'data',
createDate: '2020-10-22T03:23:59.000+0000',
requestNum: 154038,
requestQuantity: 1568100,
starNum: 5,
},
],
pageNum: 1,
pageSize: 10,
size: 10,
startRow: 1,
endRow: 10,
pages: 8,
prePage: 0,
nextPage: 2,
isFirstPage: true,
isLastPage: false,
hasPreviousPage: false,
hasNextPage: true,
navigatePages: 8,
navigatepageNums: [1, 2, 3, 4, 5, 6, 7, 8],
navigateFirstPage: 1,
navigateLastPage: 8,
},
})
const getAppResources = () => {
paramsGetResources.name = searchValue.value
paramsGetResources.type = Cardsname.value
if (
paramsGetResources.type == '组件服务' ||
paramsGetResources.type == '应用资源' ||
paramsGetResources.type == '基础设施' ||
paramsGetResources.type == '知识库'
) {
pageWithAttrs(paramsGetResources).then((res) => {
console.log('查询列表============>', resourceList, res.data.data)
resourceList.data = []
videoList.data = []
if (Cardsname.value === '基础设施') {
console.log('基础设施~~~~~~~~~~~')
videoList.data = res.data.data.records || []
resourceTotal.value = res.data.data.total || ''
loading.value = false
} else {
// resourceList.data = res.data.data.records || []
debugger
resourceTotal.value = res.data.data.total || ''
getShoppingCartList(res.data.data.records)
console.log(
@ -743,9 +907,33 @@
resourceList.data,
resourceTotal.value
)
}
})
}
// } else if (paramsGetResources.type == '') {
// // videoList.data = res.data.data.records || []
// // resourceTotal.value = infrastructure.value.data.total || ''
// // getShoppingCartList(infrastructure.value.data.records)
// // console.log(
// // '~~~~~~~~~~~',
// // resourceTotal.value,
// // resourceList.data
// // )
// const params = {
// name: searchValue.value || '',
// pageNo: paramsGetResources.pageNum,
// pageSize: paramsGetResources.pageSize,
// }
// getVideoList(params).then((res) => {
// //
// res.data.data.list.forEach((val) => {
// val.id = val.serviceId
// })
// resourceTotal.value = res.data.data.total
// resourceList.data = res.data.data.list
// })
// }
}
let shoppingCartList = ref([])
//
const getShoppingCartList = (list) => {
@ -949,7 +1137,8 @@
DownOutlined,
KnowledgeBase,
// VideoCameraOutlined,
VideoSurveillance,
// VideoSurveillance,
DetailsPageResource,
},
beforeUnmount() {
mybus.off('selectCardsitem')

View File

@ -146,7 +146,7 @@
<a-upload
v-model:file-list="fileList"
name="file"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
:headers="headers"
@change="handleChange"
:before-upload="beforeUpload"
@ -251,7 +251,7 @@
} from '@/api/home'
import mybus from '@/myplugins/mybus'
import { sgcDel, getApplyForm } from '@/api/personalCenter'
import { baseURL } from '@/config'
// import { baseURL } from '@/config'
// import AsideMenu from './components/asideMenu.vue'
export default {
@ -561,7 +561,7 @@
handleChange,
applySuccess,
disabled,
baseURL,
// baseURL,
beforeUpload,
}
},

View File

@ -0,0 +1,159 @@
<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" @click="OnApplication">
<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: launchedDataNum[0].num,
img: require('@/assets/home/pageResource/catalogue-icon.png'),
},
{
title: '已发布服务',
num: launchedDataNum[1].num,
img: require('@/assets/home/pageResource/service-icon.png'),
},
{
title: '已发布接口',
num: launchedDataNum[2].num,
img: require('@/assets/home/pageResource/port-icon.png'),
},
])
const OnApplication = () => {
window.open('https://10.110.205.1:18199/portal/#/home')
}
</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>

View File

@ -126,10 +126,10 @@
{ name: '能力统计', key: 'abilityStatistics' },
{ name: '开发指南', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
{ name: '区市站点', key: 'mapTest' },
{ name: '个人中心', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
{ name: '赋能案例', key: 'assignCase' },
// { name: '', key: 'assignCase' },
])
const user = ref({})
const select = ref(router.currentRoute.value.name)

View File

@ -38,6 +38,8 @@
? 'yyzy'
: item.applicationType == '智能算法'
? 'znsf'
: item.type == '基础设施'
? 'jcss'
: 'gis'
"
></div>
@ -145,7 +147,10 @@
免费试用
</a-button>
</div>
<a-button type="primary" @click="toView('details', item)">
<a-button v-if="cardType == '基础设施'" type="primary" @click="openVideo(item)">
在线预览
</a-button>
<a-button v-else type="primary" @click="toView('details', item)">
查看详情
</a-button>
<a-button type="primary" @click="toView('apply', item)">
@ -158,13 +163,27 @@
</div>
</div>
</div>
<a-modal
v-model:visible="visible"
title="视频预览"
:width="750"
destroyOnClose
>
<template #footer></template>
<div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%">
<vue3VideoPlay v-bind="options" />
</div>
</div>
</a-modal>
</div>
</template>
<script>
import { ref } from 'vue'
import { ref, reactive } from 'vue'
import { message } from 'ant-design-vue'
import { useRouter } from 'vue-router'
import { getHls } from '@/api/file.js'
import { getUser, sgcInsert } from '@/api/home'
import { scInsert, scDel } from '@/api/personalCenter'
import mybus from '@/myplugins/mybus'
@ -272,6 +291,34 @@
components: {},
setup(props) {
let shoppingKey = ref(1)
let visible = ref(false)
const options = reactive({
width: '700px', //
height: '400px', //
color: '#409eff', //
title: '', //
src: '', //
type: 'm3u8', //
muted: false, //
webFullScreen: false,
speedRate: ['0.75', '1.0', '1.25', '1.5', '2.0'], //
autoPlay: true, //
loop: false, //
mirror: false, //
ligthOff: false, //
volume: 0.3, //
control: true, //
controlBtns: [
'audioTrack',
'quality',
'speedRate',
'volume',
'setting',
'pip',
'pageFullScreen',
'fullScreen',
], //,
})
// id
const selList = ref([
{ name: '发布时间', value: 'tdr.create_date' },
@ -330,6 +377,15 @@
})
}
}
//
const openVideo = (item) => {
getHls(item.link).then((res) => {
console.log('获取视频地址===============>', res)
// videoUrl.value = res.data.data
options.src = res.data.data
visible.value = true
})
}
//
const addShoppingCart = (item, index) => {
console.log('item===============>', item)
@ -407,6 +463,9 @@
cardType,
findComponentName,
shoppingKey,
visible,
openVideo,
options
}
},
beforeUnmount() {
@ -514,6 +573,10 @@
background: url('~@/assets/home/yyzy-bg.png') no-repeat;
background-size: 120px 110px;
}
.jcss {
background: url('~@/assets/home/jcss-bg.png') no-repeat;
background-size: 100%;
}
.znsf {
background: url('~@/assets/home/znsf-bg.png') no-repeat;
background-size: 120px 110px;

View File

@ -16,7 +16,7 @@
<application-details
v-else-if="showView === 'application-details'"
></application-details>
<ability-to-recommend-bottom></ability-to-recommend-bottom>
<home-footer></home-footer>
</div>
</div>
</template>
@ -25,7 +25,7 @@
import HomeHeader from '@/views/home/components/header'
import { defineComponent, reactive, ref } from 'vue'
import DetailsView from './components/DetailsView.vue'
import AbilityToRecommendBottom from '@/views/home/components/AbilityToRecommendBottom'
import HomeFooter from '@/views/newHome/components/Footer'
import AlgorithmDetails from '@/views/detailsAll/AlgorithmDetails'
import ApplicationDetails from '@/views/detailsAll/ApplicationDetails'
import { selectOne } from '@/api/home'
@ -36,7 +36,7 @@
components: {
HomeHeader,
DetailsView,
AbilityToRecommendBottom,
HomeFooter,
AlgorithmDetails,
ApplicationDetails,
},

View File

@ -1,13 +1,21 @@
<!--
* @Author: 851673013@qq.com 851673013@qq.com
* @Date: 2022-06-16 15:20:52
* @LastEditors: 851673013@qq.com 851673013@qq.com
* @LastEditTime: 2022-06-16 17:14:56
* @FilePath: \qiantai\front\src\views\newHome\components\Footer.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="footer">
<div class="fotter-son">
<div class="top">
<div>青岛市大数据发展管理局建设</div>
<div>{{ dataList.company.left }}</div>
<div class="shuxian"></div>
<div>海信网络科技股份有限公司</div>
<div>{{ dataList.company.right }}</div>
</div>
<div class="bottom">
<p v-for="item in dataList" :key="item">
<p v-for="(item, index) in dataList.address" :key="index">
<span>{{ item.name }}</span>
<span>{{ item.value }}</span>
</p>
@ -16,21 +24,10 @@
</div>
</template>
<script setup>
import { reactive } from 'vue'
let dataList = reactive([
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
{
name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼',
},
{
name: '电话0532-8561234',
value: '传真0532-2145122',
},
])
import { ref } from 'vue'
console.log('footerDataList', footerDataList)
let dataList = ref({})
dataList.value = footerDataList
</script>
<style lang="less" scoped>
.footer {

View File

@ -64,7 +64,7 @@
<a-upload
v-if="itemchild.name == '上传图片'"
v-model:file-list="fileList"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
list-type="picture-card"
@preview="handlePreview"
@change="handleChange"
@ -88,7 +88,7 @@
itemchild.name == '子系统一图片'
"
v-model:file-list="fileListone"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
list-type="picture-card"
@preview="handlePreviewone"
@change="handleChangeone"
@ -112,7 +112,7 @@
itemchild.name == '子系统二图片'
"
v-model:file-list="fileListtwo"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
list-type="picture-card"
@preview="handlePreviewtwo"
@change="handleChangetwo"
@ -136,7 +136,7 @@
itemchild.name == '子系统三图片'
"
v-model:file-list="fileListthree"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
list-type="picture-card"
@preview="handlePreviewthree"
@change="handleChangethree"
@ -416,7 +416,7 @@
updateRes,
relaunch,
} from '@/api/home'
import { baseURL } from '@/config'
// import { baseURL } from '@/config'
import { message } from 'ant-design-vue'
const router = useRouter()
const showKey = ref(0)

View File

@ -135,7 +135,7 @@
<a-upload
v-model:file-list="fileList"
name="file"
:action="`${baseURL}/upload`"
:action="`${window.SITE_CONFIG.apiURL}/upload`"
:headers="headers"
@change="handleChange"
>
@ -230,7 +230,7 @@
getDemandForm,
updateDemandForm,
} from '@/api/personalCenter'
import { baseURL } from '@/config'
// import { baseURL } from '@/config'
import { useRouter } from 'vue-router'
export default {
@ -346,7 +346,7 @@
disabled,
signOut,
processStartHandle,
baseURL,
// baseURL,
}
},
}