Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
gongjiale 2022-10-13 18:02:02 +08:00
commit a900c4c332
10 changed files with 704 additions and 465 deletions

View File

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

View File

@ -357,10 +357,10 @@ export default {
update: 'put'
}
this.dataForm.fuseResourceList = this.getFuseResourceList()
if (this.imageUrl == '') {
this.$message.error('请上传图片!')
return
}
// if (this.imageUrl == '') {
// this.$message.error('')
// return
// }
this.dataForm.fuseAttrList.find(v => v.attrType == '服务图片').attrValue = this.imageUrl || ''
const _obj = Object.assign({}, this.dataForm, {
type: '赋能场景'

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-29 09:55:56
* @LastEditTime: 2022-10-13 15:29:31
* @Description: 数据资源参数配置
*/
// eslint-disable-next-line no-undef
@ -51,10 +51,10 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
right: '海信网络科技股份有限公司',
},
address: [
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
// {
// name: 'IC00000000',
// value: '3702000106',
// },
{
name: '版权所有:青岛市大数据发展管理局',
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>
<div class="footer">
<div class="fotter-son">
@ -18,10 +25,10 @@
<script setup>
import { reactive } from 'vue'
let dataList = reactive([
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
// {
// name: 'IC00000000',
// value: '3702000106',
// },
{
name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关办公楼',

View File

@ -342,93 +342,217 @@
}
})
console.log('============》', dataList)
dataList = dataList.reverse()
echarts.init(document.getElementById('right')).dispose()
let chartDom = document.getElementById('right')
let myChart = echarts.init(chartDom)
// let option = {
// tooltip: {
// trigger: 'item',
// formatter: function (info) {
// let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
// let dom = ref()
// dom.value =
// '<br/>' +
// (_obj.fanwei || '--') +
// ' : ' +
// (_obj.value || _obj.value === 0 ? _obj.value : '--') +
// ''
// console.log('name', info.data)
// return dom.value
// },
// },
// grid: {
// height: '65%',
// width: '45%',
// left: '20%',
// bottom: 30,
// },
// xAxis: {
// show: false,
// type: 'category',
// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
// },
// yAxis: {
// show: false,
// type: 'value',
// min: 0,
// max: 20,
// },
// series: [
// {
// name: '',
// type: 'funnel',
// left: '28%',
// right: '35%',
// top: '15%',
// bottom: '10%',
// minSize: '0%',
// maxSize: '100%',
// sort: 'ascending',
// label: {
// show: true,
// formatter: function (info) {
// let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
// let dom = ref()
// dom.value =
// (_obj.fanwei || '--') +
// ' : ' +
// (_obj.value || _obj.value === 0 ? _obj.value : '--') +
// ''
// console.log('name', info.data)
// return dom.value
// },
// rich: {
// b: {
// fontSize: 14,
// },
// },
// },
// labelLine: {
// length: 40,
// lineStyle: {
// width: 1,
// type: 'solid',
// },
// },
// itemStyle: {
// borderColor: '#fff',
// borderWidth: 1,
// },
// emphasis: {
// label: {
// fontSize: 20,
// },
// },
// data: chartData,
// },
// ],
// }
let option = {
// title: {
// text: 'ECharts '
// },
tooltip: {
trigger: 'item',
formatter: function (info) {
let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
let _obj = dataList.find((v) => v.fanwei == info.name) || {}
let dom = ref()
dom.value =
'部门数<br/>' +
(_obj.fanwei || '--') +
' : ' +
(_obj.value || _obj.value === 0 ? _obj.value : '--') +
'项'
console.log('name', info.data)
''
console.log('name', info)
return dom.value
},
},
grid: {
height: '65%',
width: '45%',
left: '20%',
bottom: 30,
legend: {
data: [],
},
xAxis: {
show: false,
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
},
yAxis: {
show: false,
type: 'value',
min: 0,
max: 20,
data: [],
},
yAxis: {},
series: [
{
name: '部门数',
type: 'funnel',
left: '28%',
right: '35%',
top: '15%',
bottom: '10%',
minSize: '0%',
maxSize: '100%',
sort: 'ascending',
label: {
show: true,
formatter: function (info) {
let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
let dom = ref()
dom.value =
(_obj.fanwei || '--') +
' : ' +
(_obj.value || _obj.value === 0 ? _obj.value : '--') +
'项'
console.log('name', info.data)
return dom.value
},
rich: {
b: {
fontSize: 14,
},
},
},
labelLine: {
length: 40,
lineStyle: {
width: 1,
type: 'solid',
},
},
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
borderColor: '#fff',
borderWidth: 1,
},
emphasis: {
label: {
fontSize: 20,
normal: {
color: '#C1232B',
},
},
data: chartData,
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#B5C334',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#FCCE10',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#E87C25',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#27727B',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#FE8463',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
],
}
option.legend.data = []
option.xAxis.data = []
dataList.map((val, index) => {
// option.legend.data.push(val.fanwei)
option.xAxis.data.push(val.fanwei)
option.series[index].name = val.fanwei
let arr = []
for (let i = 0; i < 5; i++) {
if (i == index) {
arr.push(val.value)
} else {
arr.push(0)
}
}
option.series[index].data = arr
})
option && myChart.setOption(option)
}
onMounted(() => {

View File

@ -105,7 +105,7 @@
}}
</div>
</div>
<div class="remove" @click="removeFunction(val)"></div>
<div class="remove" v-if="item.arr.length>1" @click="removeFunction(val)"></div>
</div>
</template>
</div>

View File

@ -331,10 +331,7 @@
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item
name="phone"
label="联系电话"
>
<a-form-item name="phone" label="联系电话">
<a-input v-model:value="formState.phone" style="width: 72%" />
</a-form-item>
</a-col>
@ -389,7 +386,9 @@
:wrapper-col="{ span: 14, offset: 4 }"
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
style="margin-left: 10px"
type="primary"
@ -551,7 +550,10 @@
>
<template #footer></template>
<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-->
<div class="video-cover" @click="videoShowMsg"></div>
<div class="waterMark waterMark-left-top">
@ -635,17 +637,33 @@
style="width: 100%; height: 100%; position: relative"
>
<!-- 批量预览视频--遮罩 -->
<div class="batch-video-cover" @click="videoShowMsg(index)" v-show="isXiHaiAn"></div>
<div class="batch-waterMark batch-waterMark-left-top" v-show="isXiHaiAn">
<div
class="batch-video-cover"
@click="videoShowMsg(index)"
v-show="isXiHaiAn"
></div>
<div
class="batch-waterMark batch-waterMark-left-top"
v-show="isXiHaiAn"
>
{{ userInfo.usernameShow }}
</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 }}
</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 }}
</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 }}
</div>
<p></p>
@ -958,7 +976,7 @@
let clickList = ref([]) //tab
if (!isXiHaiAn) {
tabList.value.push({
title: '视频标签',
title: '政务云资源',
content: [],
})
}
@ -1383,6 +1401,7 @@
'点击tab================>',
indexFather,
name,
clickList.value,
clickList.value[indexFather]
)
@ -1397,7 +1416,7 @@
tabList.value[1].title = '视频标签'
}
selectType.value = '视频资源'
console.log('444------------>', 444);
console.log('444------------>', 444)
} else if (name == '政务云资源') {
room.value = true
tableHeight.value = 600
@ -1579,7 +1598,10 @@
clickList.value[1].content = []
}
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]) {
tabList.value[1].title = ''
@ -1814,22 +1836,32 @@
// 西-loading
const loadingCamera = ref(false)
const getCamera = (flag, str) => {
loadingCamera.value = true;
loadingCamera.value = true
if (flag) {
mapSearchParam.value.cameraName = str
}
console.log('初始化调用')
console.log('不选左侧树的时候不调用接口', mapSearchParam.value)
console.log(
'不选左侧树的时候不调用接口',
mapSearchParam.value,
selectType.value
)
if (!whoShow1.value.itShowXiHaiAn) {
getCameraByParentId(mapSearchParam.value).then((res) => {
console.log('res--查询摄像头---------->', res);
loadingCamera.value = false;
if (selectType.value == '视频资源') {
getCameraByParentId(mapSearchParam.value)
.then((res) => {
console.log('res--查询摄像头---------->', res)
loadingCamera.value = false
dataSource.value = res.data.data
pagination.value.total = res.data.count
}).catch(err => {
loadingCamera.value = false;
})
.catch((err) => {
loadingCamera.value = false
message.error(err)
})
} else {
loadingCamera.value = false
}
} else {
let params = {
regionId:
@ -1866,13 +1898,15 @@
}
}
}
getCameraByCondition(params).then((res) => {
console.log('res--查询摄像头---------->', res);
loadingCamera.value = false;
getCameraByCondition(params)
.then((res) => {
console.log('res--查询摄像头---------->', res)
loadingCamera.value = false
dataSource.value = res.data.data
pagination.value.total = res.data.count
}).catch(err => {
loadingCamera.value = false;
})
.catch((err) => {
loadingCamera.value = false
message.error(err)
})
}
@ -1884,7 +1918,7 @@
const addShoppingCart = () => {
if (selectedList.value.length > 0) {
let _arr = []
selectedList.value.map(v => {
selectedList.value.map((v) => {
_arr.push({
delFlag: '0',
resourceId: v.idtCameraChannel,

View File

@ -5,8 +5,13 @@
<div class="top">
<div class="top-title">
全部
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)"
:class="{ sel: index == number }">
<div
v-for="item in titleName"
:key="item.index"
class="tabAll"
@click="changeCards(item.index)"
:class="{ sel: item.index === number }"
>
<span>
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
</span>
@ -15,26 +20,55 @@
<div class="resultListSearchInput-father" v-if="number === 0">
<div class="resultListSearchInput-son">
模糊搜索
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large"
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" />
<a-input-search
v-model:value="searchValue"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getIntegrationList"
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="resetAction()">重置</button>
<div class="hengxian"></div>
</div>
</div>
<div v-loading="loadingData">
<searchResultList v-if="number === 0" v-show="resourceList.data && resourceList.data.length > 0"
:resourceList="resourceList" :resourceTotal="resourceTotal" @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 ? '融合服务' : '赋能场景'" />
<searchResultList
v-if="number === 0"
v-show="resourceList.data && resourceList.data.length > 0"
:resourceList="resourceList"
:resourceTotal="resourceTotal"
@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">
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange"
@showSizeChange="onShowSizeChange" />
<a-pagination
v-if="resourceList.data && resourceList.data.length > 0"
v-model:current="currentPage"
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 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 />
</div>
</div>
@ -45,7 +79,14 @@
<script>
import HomeFooter from '@/views/newHome/components/Footer'
import mybus from '@/myplugins/mybus'
import { defineComponent, reactive, ref, toRefs, onMounted, nextTick } from 'vue'
import {
defineComponent,
reactive,
ref,
toRefs,
onMounted,
nextTick,
} from 'vue'
import { getIntegrationServicesList } from '@/api/home.js'
import { useRouter } from 'vue-router'
import HomeHeader from '@/views/home/components/header'
@ -58,7 +99,10 @@ export default defineComponent({
console.log('to---integrationServices--beforeRouteLeave------->', to)
console.log('from---integrationServices--beforeRouteLeave------->', from)
console.log('next---integrationServices--beforeRouteLeave------->', next)
if (to.name !== 'packagingDetails' && to.name !== 'integrationServicesDetails') {
if (
to.name !== 'packagingDetails' &&
to.name !== 'integrationServicesDetails'
) {
localStorage.removeItem('integrationServices')
}
next()
@ -79,13 +123,15 @@ export default defineComponent({
//
const titleName = ref([
{
name: '打包模式',
name: '赋能场景',
index: 1,
},
{
name: '赋能场景',
name: '打包模式',
index: 0,
},
])
const number = ref(0)
let number = ref(1)
//
const paramsGetResources = {
page: currentPage.value,
@ -96,24 +142,31 @@ export default defineComponent({
orderType: 'DESC', // ASC DESC
}
const searchResultListDom = ref(null)
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices'))
const storageSearchInfo = JSON.parse(
localStorage.getItem('integrationServices')
)
//
const handleSetSearchData = () => {
if (storageSearchInfo) {
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1;
number.value = storageSearchInfo.type == '打包模式' ? 1 : 0
//
searchValue.value = storageSearchInfo.name;
currentPage.value = storageSearchInfo.page;
currentPageSize.value = storageSearchInfo.limit;
paramsGetResources.limit = storageSearchInfo.limit;
paramsGetResources.page = storageSearchInfo.page;
paramsGetResources.type = storageSearchInfo.type;
searchValue.value = storageSearchInfo.name
currentPage.value = storageSearchInfo.page
currentPageSize.value = storageSearchInfo.limit
paramsGetResources.limit = storageSearchInfo.limit
paramsGetResources.page = storageSearchInfo.page
paramsGetResources.type = storageSearchInfo.type
// 使
nextTick(() => {
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({
searchResultListDom.value &&
searchResultListDom.value.changeCondition &&
searchResultListDom.value.changeCondition(
{
value: storageSearchInfo.orderField,
orderType: storageSearchInfo.orderType,
}, true)
},
true
)
})
getIntegrationList()
}
@ -121,8 +174,8 @@ export default defineComponent({
const changeCards = (val) => {
//
number.value = val;
paramsGetResources.type = titleName.value[number.value].name;
number.value = val
paramsGetResources.type = titleName.value[number.value].name
resetAction()
}
@ -153,8 +206,11 @@ export default defineComponent({
//
const getIntegrationList = () => {
loadingData.value = true
paramsGetResources.name = searchValue.value;
console.log('paramsGetResources------参数下发------>', paramsGetResources);
paramsGetResources.name = searchValue.value
console.log(
'paramsGetResources------参数下发------>',
paramsGetResources
)
getIntegrationServicesList(paramsGetResources).then(
(res) => {
loadingData.value = false
@ -217,7 +273,10 @@ export default defineComponent({
//
const saveSearchCodition = (n) => {
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources);
console.log(
'融合服务-----存储查询条件到本地------->',
paramsGetResources
)
localStorage.setItem(
'integrationServices',
JSON.stringify(paramsGetResources)

View File

@ -100,7 +100,16 @@
class="data-count"
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 class="bottom" style="display: flex; align-items: flex-start">
<div class="title" :class="'title' + i"></div>
@ -679,7 +688,8 @@
// width: 100%;
font-size: 16px;
}
.data-count{}
.data-count {
}
}
.name-box {

View File

@ -1,8 +1,8 @@
<!--
* @Author: hisense.liangjunhua
* @Date: 2022-06-23 16:41:49
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-04 17:53:27
* @LastEditors: Light
* @LastEditTime: 2022-10-13 16:40:15
* @Description: 告诉大家这是什么
-->
<template>