Compare commits

...

4 Commits

6 changed files with 484 additions and 378 deletions

View File

@ -2,16 +2,16 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-08-25 14:37:49 * @Date: 2022-08-25 14:37:49
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-12 15:25:01 * @LastEditTime: 2022-10-13 14:49:32
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
var _global = {} var _global = {}
var CONFIGITEM = { var CONFIGITEM = {
// version: 'qingdao', // 青岛 // version: 'qingdao', // 青岛
// version: 'xihaian', // 西海岸 // version: 'xihaian', // 西海岸
// version: 'test', // 测试 version: 'test', // 测试
// version: 'frp', // 内网穿透 // version: 'frp', // 内网穿透
version: 'xihaian', // 开发 // version: 'xihaian', // 开发
vNum: 'v0.8.7.2', vNum: 'v0.8.7.2',
configData: { configData: {
// 青岛市大数据局 // 青岛市大数据局

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23 * @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-29 09:55:56 * @LastEditTime: 2022-10-13 15:29:31
* @Description: 数据资源参数配置 * @Description: 数据资源参数配置
*/ */
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
@ -51,10 +51,10 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
right: '海信网络科技股份有限公司', right: '海信网络科技股份有限公司',
}, },
address: [ address: [
{ // {
name: '鲁IC备00000000号', // name: 'IC00000000',
value: '政府标识码3702000106', // value: '3702000106',
}, // },
{ {
name: '版权所有:青岛市大数据发展管理局', name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼', value: '地址山东省青岛市香港中路17号市级机关办公楼',
@ -523,6 +523,11 @@ else if (newLocation === 'xihaian') {
}, },
], ],
} }
xhaHasPermissionUser.list = ['xihaian01', 'xihaian02', 'xihaian03', 'xihaian04', 'admin'] xhaHasPermissionUser.list = [
'xihaian01',
'xihaian02',
'xihaian03',
'xihaian04',
'admin',
]
} }

View File

@ -1,3 +1,10 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-07-05 12:53:04
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-13 15:29:14
* @Description: 告诉大家这是什么
-->
<template> <template>
<div class="footer"> <div class="footer">
<div class="fotter-son"> <div class="fotter-son">
@ -18,10 +25,10 @@
<script setup> <script setup>
import { reactive } from 'vue' import { reactive } from 'vue'
let dataList = reactive([ let dataList = reactive([
{ // {
name: '鲁IC备00000000号', // name: 'IC00000000',
value: '政府标识码3702000106', // value: '3702000106',
}, // },
{ {
name: '版权所有:青岛市大数据发展管理局', name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼', value: '地址山东省青岛市香港中路17号市级机关办公楼',

View File

@ -331,10 +331,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item <a-form-item name="phone" label="联系电话">
name="phone"
label="联系电话"
>
<a-input v-model:value="formState.phone" style="width: 72%" /> <a-input v-model:value="formState.phone" style="width: 72%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -389,7 +386,9 @@
:wrapper-col="{ span: 14, offset: 4 }" :wrapper-col="{ span: 14, offset: 4 }"
style="text-align: center; margin-top: 0.4rem" style="text-align: center; margin-top: 0.4rem"
> >
<a-button @click="resetFields" type="primary" danger>取消</a-button> <a-button @click="appointmentRoom = false" type="primary" danger>
取消
</a-button>
<a-button <a-button
style="margin-left: 10px" style="margin-left: 10px"
type="primary" type="primary"
@ -551,7 +550,10 @@
> >
<template #footer></template> <template #footer></template>
<div style="width: 100%; display: flex; justify-content: center"> <div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%; position: relative" v-show="isXiHaiAn"> <div
style="width: 100%; height: 100%; position: relative"
v-show="isXiHaiAn"
>
<!-- 西海岸--预览视频--遮罩 todo--> <!-- 西海岸--预览视频--遮罩 todo-->
<div class="video-cover" @click="videoShowMsg"></div> <div class="video-cover" @click="videoShowMsg"></div>
<div class="waterMark waterMark-left-top"> <div class="waterMark waterMark-left-top">
@ -635,17 +637,33 @@
style="width: 100%; height: 100%; position: relative" style="width: 100%; height: 100%; position: relative"
> >
<!-- 批量预览视频--遮罩 --> <!-- 批量预览视频--遮罩 -->
<div class="batch-video-cover" @click="videoShowMsg(index)" v-show="isXiHaiAn"></div> <div
<div class="batch-waterMark batch-waterMark-left-top" v-show="isXiHaiAn"> class="batch-video-cover"
@click="videoShowMsg(index)"
v-show="isXiHaiAn"
></div>
<div
class="batch-waterMark batch-waterMark-left-top"
v-show="isXiHaiAn"
>
{{ userInfo.usernameShow }} {{ userInfo.usernameShow }}
</div> </div>
<div class="batch-waterMark batch-waterMark-right-top" v-show="isXiHaiAn"> <div
class="batch-waterMark batch-waterMark-right-top"
v-show="isXiHaiAn"
>
{{ userInfo.realNameShow }} {{ userInfo.realNameShow }}
</div> </div>
<div class="batch-waterMark batch-waterMark-left-bottom" v-show="isXiHaiAn"> <div
class="batch-waterMark batch-waterMark-left-bottom"
v-show="isXiHaiAn"
>
{{ userInfo.usernameShow }} {{ userInfo.usernameShow }}
</div> </div>
<div class="batch-waterMark batch-waterMark-right-bottom" v-show="isXiHaiAn"> <div
class="batch-waterMark batch-waterMark-right-bottom"
v-show="isXiHaiAn"
>
{{ userInfo.realNameShow }} {{ userInfo.realNameShow }}
</div> </div>
<p></p> <p></p>
@ -899,12 +917,12 @@
tabClick(0, '视频资源') tabClick(0, '视频资源')
} else { } else {
// //
if(formPage && formPage == 'noticePage') { if (formPage && formPage == 'noticePage') {
tabClick(0, '城市云脑会客厅') tabClick(0, '城市云脑会客厅')
roomYuyue.value = false roomYuyue.value = false
roomResult.value = true roomResult.value = true
onSearch() onSearch()
}else { } else {
tabClick(0, '政务云资源') tabClick(0, '政务云资源')
} }
} }
@ -1397,7 +1415,7 @@
tabList.value[1].title = '视频标签' tabList.value[1].title = '视频标签'
} }
selectType.value = '视频资源' selectType.value = '视频资源'
console.log('444------------>', 444); console.log('444------------>', 444)
} else if (name == '政务云资源') { } else if (name == '政务云资源') {
room.value = true room.value = true
tableHeight.value = 600 tableHeight.value = 600
@ -1579,7 +1597,10 @@
clickList.value[1].content = [] clickList.value[1].content = []
} }
clickList.value[indexFather].content[0] = name clickList.value[indexFather].content[0] = name
console.log('clickList.value[indexFather].content[0]------------>', clickList.value[indexFather].content[0]); console.log(
'clickList.value[indexFather].content[0]------------>',
clickList.value[indexFather].content[0]
)
if (tabList.value[1]) { if (tabList.value[1]) {
tabList.value[1].title = '' tabList.value[1].title = ''
@ -1814,20 +1835,22 @@
// 西-loading // 西-loading
const loadingCamera = ref(false) const loadingCamera = ref(false)
const getCamera = (flag, str) => { const getCamera = (flag, str) => {
loadingCamera.value = true; loadingCamera.value = true
if (flag) { if (flag) {
mapSearchParam.value.cameraName = str mapSearchParam.value.cameraName = str
} }
console.log('初始化调用') console.log('初始化调用')
console.log('不选左侧树的时候不调用接口', mapSearchParam.value) console.log('不选左侧树的时候不调用接口', mapSearchParam.value)
if (!whoShow1.value.itShowXiHaiAn) { if (!whoShow1.value.itShowXiHaiAn) {
getCameraByParentId(mapSearchParam.value).then((res) => { getCameraByParentId(mapSearchParam.value)
console.log('res--查询摄像头---------->', res); .then((res) => {
loadingCamera.value = false; console.log('res--查询摄像头---------->', res)
loadingCamera.value = false
dataSource.value = res.data.data dataSource.value = res.data.data
pagination.value.total = res.data.count pagination.value.total = res.data.count
}).catch(err => { })
loadingCamera.value = false; .catch((err) => {
loadingCamera.value = false
message.error(err) message.error(err)
}) })
} else { } else {
@ -1866,13 +1889,15 @@
} }
} }
} }
getCameraByCondition(params).then((res) => { getCameraByCondition(params)
console.log('res--查询摄像头---------->', res); .then((res) => {
loadingCamera.value = false; console.log('res--查询摄像头---------->', res)
loadingCamera.value = false
dataSource.value = res.data.data dataSource.value = res.data.data
pagination.value.total = res.data.count pagination.value.total = res.data.count
}).catch(err => { })
loadingCamera.value = false; .catch((err) => {
loadingCamera.value = false
message.error(err) message.error(err)
}) })
} }
@ -1884,7 +1909,7 @@
const addShoppingCart = () => { const addShoppingCart = () => {
if (selectedList.value.length > 0) { if (selectedList.value.length > 0) {
let _arr = [] let _arr = []
selectedList.value.map(v => { selectedList.value.map((v) => {
_arr.push({ _arr.push({
delFlag: '0', delFlag: '0',
resourceId: v.idtCameraChannel, resourceId: v.idtCameraChannel,
@ -1892,7 +1917,7 @@
}) })
}) })
xhaAddCart(_arr).then((res) => { xhaAddCart(_arr).then((res) => {
if(res.data.code !== 0) { if (res.data.code !== 0) {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
message.success('添加申购车成功!') message.success('添加申购车成功!')
@ -1929,7 +1954,7 @@
}, },
]) ])
// 西-- // 西--
if(isXiHaiAn) { if (isXiHaiAn) {
columns.value.splice(2, 0, { columns.value.splice(2, 0, {
title: '状态', title: '状态',
dataIndex: 'status', dataIndex: 'status',

View File

@ -5,8 +5,13 @@
<div class="top"> <div class="top">
<div class="top-title"> <div class="top-title">
全部 全部
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)" <div
:class="{ sel: index == number }"> v-for="item in titleName"
:key="item.index"
class="tabAll"
@click="changeCards(item.index)"
:class="{ sel: item.index === number }"
>
<span> <span>
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }} {{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
</span> </span>
@ -15,26 +20,55 @@
<div class="resultListSearchInput-father" v-if="number === 0"> <div class="resultListSearchInput-father" v-if="number === 0">
<div class="resultListSearchInput-son"> <div class="resultListSearchInput-son">
模糊搜索 模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" /> v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getIntegrationList"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="resetAction()">重置</button> <button class="button-reset" @click="resetAction()">重置</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
<div v-loading="loadingData"> <div v-loading="loadingData">
<searchResultList v-if="number === 0" v-show="resourceList.data && resourceList.data.length > 0" <searchResultList
:resourceList="resourceList" :resourceTotal="resourceTotal" @saveSearchCodition="saveSearchCodition" v-if="number === 0"
ref="searchResultListDom" :selectCardsname="number == 0 ? '融合服务' : '赋能场景'" /> v-show="resourceList.data && resourceList.data.length > 0"
<CanAssignCase v-else v-show="resourceList.data && resourceList.data.length > 0" :resourceList="resourceList" :resourceList="resourceList"
@saveSearchCodition="saveSearchCodition" :resourceTotal="resourceTotal" :resourceTotal="resourceTotal"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'" /> @saveSearchCodition="saveSearchCodition"
ref="searchResultListDom"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
/>
<CanAssignCase
v-else
v-show="resourceList.data && resourceList.data.length > 0"
:resourceList="resourceList"
@saveSearchCodition="saveSearchCodition"
:resourceTotal="resourceTotal"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
/>
<div class="pagination"> <div class="pagination">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage" <a-pagination
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper v-if="resourceList.data && resourceList.data.length > 0"
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange" v-model:current="currentPage"
@showSizeChange="onShowSizeChange" /> v-model:pageSize="currentPageSize"
show-size-changer
show-less-items
show-quick-jumper
:total="resourceTotal"
:page-size-options="pageSizeOptions"
@change="pageChange"
@showSizeChange="onShowSizeChange"
/>
</div> </div>
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem"> <div
v-if="resourceList.data && resourceList.data.length <= 0"
style="margin-top: 2rem"
>
<a-empty /> <a-empty />
</div> </div>
</div> </div>
@ -43,22 +77,32 @@
<home-footer></home-footer> <home-footer></home-footer>
</template> </template>
<script> <script>
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { defineComponent, reactive, ref, toRefs, onMounted, nextTick } from 'vue' import {
import { getIntegrationServicesList } from '@/api/home.js' defineComponent,
import { useRouter } from 'vue-router' reactive,
import HomeHeader from '@/views/home/components/header' ref,
import searchResultList from '@/views/home/components/searchResultList.vue' toRefs,
import CanAssignCase from '@/views/home/components/CanAssignCase.vue' onMounted,
import { message } from 'ant-design-vue' nextTick,
} from 'vue'
import { getIntegrationServicesList } from '@/api/home.js'
import { useRouter } from 'vue-router'
import HomeHeader from '@/views/home/components/header'
import searchResultList from '@/views/home/components/searchResultList.vue'
import CanAssignCase from '@/views/home/components/CanAssignCase.vue'
import { message } from 'ant-design-vue'
export default defineComponent({ export default defineComponent({
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
console.log('to---integrationServices--beforeRouteLeave------->', to) console.log('to---integrationServices--beforeRouteLeave------->', to)
console.log('from---integrationServices--beforeRouteLeave------->', from) console.log('from---integrationServices--beforeRouteLeave------->', from)
console.log('next---integrationServices--beforeRouteLeave------->', next) console.log('next---integrationServices--beforeRouteLeave------->', next)
if (to.name !== 'packagingDetails' && to.name !== 'integrationServicesDetails') { if (
to.name !== 'packagingDetails' &&
to.name !== 'integrationServicesDetails'
) {
localStorage.removeItem('integrationServices') localStorage.removeItem('integrationServices')
} }
next() next()
@ -79,13 +123,15 @@ export default defineComponent({
// //
const titleName = ref([ const titleName = ref([
{ {
name: '打包模式', name: '赋能场景',
index: 1,
}, },
{ {
name: '赋能场景', name: '打包模式',
index: 0,
}, },
]) ])
const number = ref(0) let number = ref(1)
// //
const paramsGetResources = { const paramsGetResources = {
page: currentPage.value, page: currentPage.value,
@ -96,24 +142,31 @@ export default defineComponent({
orderType: 'DESC', // ASC DESC orderType: 'DESC', // ASC DESC
} }
const searchResultListDom = ref(null) const searchResultListDom = ref(null)
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices')) const storageSearchInfo = JSON.parse(
localStorage.getItem('integrationServices')
)
// //
const handleSetSearchData = () => { const handleSetSearchData = () => {
if (storageSearchInfo) { if (storageSearchInfo) {
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1; number.value = storageSearchInfo.type == '打包模式' ? 1 : 0
// //
searchValue.value = storageSearchInfo.name; searchValue.value = storageSearchInfo.name
currentPage.value = storageSearchInfo.page; currentPage.value = storageSearchInfo.page
currentPageSize.value = storageSearchInfo.limit; currentPageSize.value = storageSearchInfo.limit
paramsGetResources.limit = storageSearchInfo.limit; paramsGetResources.limit = storageSearchInfo.limit
paramsGetResources.page = storageSearchInfo.page; paramsGetResources.page = storageSearchInfo.page
paramsGetResources.type = storageSearchInfo.type; paramsGetResources.type = storageSearchInfo.type
// 使 // 使
nextTick(() => { nextTick(() => {
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({ searchResultListDom.value &&
searchResultListDom.value.changeCondition &&
searchResultListDom.value.changeCondition(
{
value: storageSearchInfo.orderField, value: storageSearchInfo.orderField,
orderType: storageSearchInfo.orderType, orderType: storageSearchInfo.orderType,
}, true) },
true
)
}) })
getIntegrationList() getIntegrationList()
} }
@ -121,8 +174,8 @@ export default defineComponent({
const changeCards = (val) => { const changeCards = (val) => {
// //
number.value = val; number.value = val
paramsGetResources.type = titleName.value[number.value].name; paramsGetResources.type = titleName.value[number.value].name
resetAction() resetAction()
} }
@ -153,8 +206,11 @@ export default defineComponent({
// //
const getIntegrationList = () => { const getIntegrationList = () => {
loadingData.value = true loadingData.value = true
paramsGetResources.name = searchValue.value; paramsGetResources.name = searchValue.value
console.log('paramsGetResources------参数下发------>', paramsGetResources); console.log(
'paramsGetResources------参数下发------>',
paramsGetResources
)
getIntegrationServicesList(paramsGetResources).then( getIntegrationServicesList(paramsGetResources).then(
(res) => { (res) => {
loadingData.value = false loadingData.value = false
@ -217,7 +273,10 @@ export default defineComponent({
// //
const saveSearchCodition = (n) => { const saveSearchCodition = (n) => {
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources); console.log(
'融合服务-----存储查询条件到本地------->',
paramsGetResources
)
localStorage.setItem( localStorage.setItem(
'integrationServices', 'integrationServices',
JSON.stringify(paramsGetResources) JSON.stringify(paramsGetResources)
@ -266,10 +325,10 @@ export default defineComponent({
mybus.off('refresh') mybus.off('refresh')
mybus.off('changePage') mybus.off('changePage')
}, },
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.resultListSearchInput-father { .resultListSearchInput-father {
background: #f3f5f9; background: #f3f5f9;
padding: 0.2rem; padding: 0.2rem;
@ -284,9 +343,9 @@ export default defineComponent({
margin-top: 0.2rem; margin-top: 0.2rem;
} }
} }
} }
.resultListSearchInput { .resultListSearchInput {
margin-left: 0.1rem; margin-left: 0.1rem;
:deep(.ant-input) { :deep(.ant-input) {
@ -311,9 +370,9 @@ export default defineComponent({
:deep(.ant-input-group-addon) { :deep(.ant-input-group-addon) {
left: 0 !important; left: 0 !important;
} }
} }
.button-reset { .button-reset {
border: 0; border: 0;
outline: none; outline: none;
width: 0.8rem; width: 0.8rem;
@ -326,9 +385,9 @@ export default defineComponent({
line-height: 0.34rem; line-height: 0.34rem;
margin-left: 2.5rem; margin-left: 2.5rem;
cursor: pointer; cursor: pointer;
} }
.details-pageconetent { .details-pageconetent {
height: 100%; height: 100%;
width: 100%; width: 100%;
display: flex; display: flex;
@ -387,13 +446,13 @@ export default defineComponent({
} }
} }
} }
} }
:deep(.ant-card-grid) { :deep(.ant-card-grid) {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
word-break: break-all; word-break: break-all;
} }
</style> </style>

View File

@ -92,7 +92,7 @@
> >
<div <div
class="top" class="top"
style="font-size: 0.24rem;text-align: center; margin-bottom: 0.3rem" style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem"
> >
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }} {{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
</div> </div>
@ -100,7 +100,16 @@
class="data-count" class="data-count"
style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem" style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem"
> >
<span style="color:#909399;"> {{ i == 0 ? infrastructureCount : i == 1 ? componentCount : dataSourceCount }}条数据示例数据如下</span> <span style="color: #909399">
{{
i == 0
? infrastructureCount
: i == 1
? componentCount
: dataSourceCount
}}条数据示例数据如下
</span>
</div> </div>
<div class="bottom" style="display: flex; align-items: flex-start"> <div class="bottom" style="display: flex; align-items: flex-start">
<div class="title" :class="'title' + i"></div> <div class="title" :class="'title' + i"></div>
@ -679,7 +688,8 @@
// width: 100%; // width: 100%;
font-size: 16px; font-size: 16px;
} }
.data-count{} .data-count {
}
} }
.name-box { .name-box {