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

This commit is contained in:
unknown 2022-10-13 18:55:19 +08:00
commit 8ec209162c
12 changed files with 727 additions and 472 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 16:46:41
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
var _global = {} var _global = {}
var CONFIGITEM = { var CONFIGITEM = {
// version: 'qingdao', // 青岛 // version: 'qingdao', // 青岛
// version: 'xihaian', // 西海岸 // version: 'xihaian', // 西海岸
// version: 'test', // 测试 version: 'dev', // 测试
// version: 'frp', // 内网穿透 // version: 'frp', // 内网穿透
version: 'xihaian', // 开发 // version: 'xihaian', // 开发
vNum: 'v0.8.7.2', vNum: 'v0.8.7.2',
configData: { configData: {
// 青岛市大数据局 // 青岛市大数据局
@ -43,7 +43,7 @@ var CONFIGITEM = {
}, },
dev: { dev: {
previewUrl: 'http://localhost:8080/', previewUrl: 'http://localhost:8080/',
apiURL: 'http://192.168.124.236:8888/renren-admin', apiURL: 'http://192.168.124.233:8888/renren-admin',
websocketURL: 'ws://192.168.124.236:8888/renren-admin/websocket' websocketURL: 'ws://192.168.124.236:8888/renren-admin/websocket'
} }
} }

View File

@ -27,7 +27,7 @@
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input v-model="dataForm.name" placeholder="请输入名称" style="width:90%"></el-input> <el-input v-model="dataForm.name" placeholder="请输入名称" style="width:90%"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="描述" prop="description"> <el-form-item label="描述" prop="description">
<el-input type="textarea" :rows="3" v-model="dataForm.description" placeholder="请输入描述" style="width:90%"> <el-input type="textarea" :rows="3" v-model="dataForm.description" placeholder="请输入描述" style="width:90%">
</el-input> </el-input>
@ -226,7 +226,7 @@ export default {
name: '', name: '',
applicationArea: '', applicationArea: '',
description: '', description: '',
sceneUrl:'', sceneUrl: '',
fuseAttrList: [ fuseAttrList: [
{ {
attrType: '使用步骤', attrType: '使用步骤',
@ -373,10 +373,10 @@ export default {
update: 'put' update: 'put'
} }
this.dataForm.fuseResourceList = this.getFuseResourceList() this.dataForm.fuseResourceList = this.getFuseResourceList()
if (this.imageUrl == '') { // if (this.imageUrl == '') {
this.$message.error('请上传图片!') // this.$message.error('')
return // return
} // }
this.dataForm.fuseAttrList.find(v => v.attrType == '服务图片').attrValue = this.imageUrl || '' this.dataForm.fuseAttrList.find(v => v.attrType == '服务图片').attrValue = this.imageUrl || ''
const _obj = Object.assign({}, this.dataForm, { const _obj = Object.assign({}, this.dataForm, {
type: '赋能场景' type: '赋能场景'

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-10-13 13:50:44 * @LastEditTime: 2022-10-13 18:10:05
* @Description: 系统静态参数配置 * @Description: 系统静态参数配置
*/ */
var _global = {} var _global = {}
@ -11,7 +11,7 @@ var CONFIGITEM = {
// version: 'xihaian', // 西 // version: 'xihaian', // 西
// version: 'dev', // // version: 'dev', //
// version: 'zhanTingDev', // dev (2022-09-13:) // version: 'zhanTingDev', // dev (2022-09-13:)
version: 'test', // version: 'qingdao', //
//version: 'frp', // 穿 //version: 'frp', // 穿
vNum: 'v0.8.7.2', vNum: 'v0.8.7.2',
configData: { configData: {
@ -28,8 +28,7 @@ var CONFIGITEM = {
previewUrl: 'http://15.72.183.90:7008/', previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/', //frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/renren-admin', //apiURL: 'http://15.72.183.90:8000/renren-admin',
// websocketURL: '15.72.183.90:8000/renren-admin', websocketURL: '15.72.183.90:8000/renren-admin',
websocketURL: '192.168.124.254:8888/renren-admin', // -
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
}, },
@ -86,7 +85,7 @@ var CONFIGITEM = {
}, },
backUrl: 'http://localhost:8001', backUrl: 'http://localhost:8001',
previewUrl: 'http://192.168.124.236:9796/', previewUrl: 'http://192.168.124.236:9796/',
websocketURL: '192.168.124.236:8888/renren-admin', websocketURL: '192.168.124.233:8888/renren-admin',
// websocketURL: '10.18.1.99:8889/renren-admin', // websocketURL: '10.18.1.99:8889/renren-admin',
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',

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

@ -25,7 +25,19 @@
" "
> >
<template #title>点击查看详情</template> <template #title>点击查看详情</template>
<span class="hover-click num" @click="showDetail(item.type)"> <!-- 临时临时临时 -->
<span
v-show="item.type === '用户量'"
class="hover-click num"
@click="showDetail(item.type)"
>
482
</span>
<span
v-show="item.type !== '用户量'"
class="hover-click num"
@click="showDetail(item.type)"
>
{{ item.amount }} {{ item.amount }}
</span> </span>
</a-tooltip> </a-tooltip>

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

@ -342,93 +342,217 @@
} }
}) })
console.log('============》', dataList) console.log('============》', dataList)
dataList = dataList.reverse()
echarts.init(document.getElementById('right')).dispose() echarts.init(document.getElementById('right')).dispose()
let chartDom = document.getElementById('right') let chartDom = document.getElementById('right')
let myChart = echarts.init(chartDom) 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 = { let option = {
// title: {
// text: 'ECharts '
// },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: function (info) { 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() let dom = ref()
dom.value = dom.value =
'部门数<br/>' + '部门数<br/>' +
(_obj.fanwei || '--') + (_obj.fanwei || '--') +
' : ' + ' : ' +
(_obj.value || _obj.value === 0 ? _obj.value : '--') + (_obj.value || _obj.value === 0 ? _obj.value : '--') +
'项' ''
console.log('name', info.data) console.log('name', info)
return dom.value return dom.value
}, },
}, },
grid: { legend: {
height: '65%', data: [],
width: '45%',
left: '20%',
bottom: 30,
}, },
xAxis: { xAxis: {
show: false, data: [],
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
},
yAxis: {
show: false,
type: 'value',
min: 0,
max: 20,
}, },
yAxis: {},
series: [ series: [
{ {
name: '部门数', name: '',
type: 'funnel', type: 'bar',
left: '28%', barWidth: 35,
right: '35%', barGap: '-100%',
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: { itemStyle: {
borderColor: '#fff', normal: {
borderWidth: 1, color: '#C1232B',
},
emphasis: {
label: {
fontSize: 20,
}, },
}, },
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) option && myChart.setOption(option)
} }
onMounted(() => { onMounted(() => {

View File

@ -187,6 +187,7 @@
require('../../../assets/abilityStatistics/zujianfuwu-bg.png'), require('../../../assets/abilityStatistics/zujianfuwu-bg.png'),
require('../../../assets/abilityStatistics/shujuziyuan-bg.png'), require('../../../assets/abilityStatistics/shujuziyuan-bg.png'),
require('../../../assets/abilityStatistics/jichujianshe-bg.png'), require('../../../assets/abilityStatistics/jichujianshe-bg.png'),
require('../../../assets/abilityStatistics/yingyongziyuan-bg.png'),
]) ])
let photo = ref([ let photo = ref([
require('../../../assets/abilityStatistics/yingyongziyuan.png'), require('../../../assets/abilityStatistics/yingyongziyuan.png'),
@ -194,12 +195,13 @@
require('../../../assets/abilityStatistics/zujianfuwu.png'), require('../../../assets/abilityStatistics/zujianfuwu.png'),
require('../../../assets/abilityStatistics/shujuziyuan.png'), require('../../../assets/abilityStatistics/shujuziyuan.png'),
require('../../../assets/abilityStatistics/jichujianshe.png'), require('../../../assets/abilityStatistics/jichujianshe.png'),
require('../../../assets/abilityStatistics/yingyongziyuan.png'),
]) ])
// //
let dataLists = ref([]) let dataLists = ref([])
const myApplyAmount = () => { const myApplyAmount = () => {
applyAmount().then((res) => { applyAmount().then((res) => {
// dataLists.value = res.data.data dataLists.value = res.data.data
res.data.data.map((item) => { res.data.data.map((item) => {
switch (item.type) { switch (item.type) {
case '应用资源': case '应用资源':
@ -217,6 +219,9 @@
case '智能算法': case '智能算法':
dataLists.value[4] = item dataLists.value[4] = item
break break
case '会客厅':
dataLists.value[5] = item
break
default: default:
dataLists.value.push(item) dataLists.value.push(item)
break break

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, '政务云资源')
} }
} }
@ -958,7 +976,7 @@
let clickList = ref([]) //tab let clickList = ref([]) //tab
if (!isXiHaiAn) { if (!isXiHaiAn) {
tabList.value.push({ tabList.value.push({
title: '视频标签', title: '政务云资源',
content: [], content: [],
}) })
} }
@ -1383,6 +1401,7 @@
'点击tab================>', '点击tab================>',
indexFather, indexFather,
name, name,
clickList.value,
clickList.value[indexFather] clickList.value[indexFather]
) )
@ -1397,7 +1416,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,8 +1598,11 @@
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 = ''
tabList.value[1].content = [] tabList.value[1].content = []
@ -1814,22 +1836,32 @@
// 西-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,
selectType.value
)
if (!whoShow1.value.itShowXiHaiAn) { if (!whoShow1.value.itShowXiHaiAn) {
getCameraByParentId(mapSearchParam.value).then((res) => { if (selectType.value == '视频资源') {
console.log('res--查询摄像头---------->', res); getCameraByParentId(mapSearchParam.value)
loadingCamera.value = false; .then((res) => {
dataSource.value = res.data.data console.log('res--查询摄像头---------->', res)
pagination.value.total = res.data.count loadingCamera.value = false
}).catch(err => { dataSource.value = res.data.data
loadingCamera.value = false; pagination.value.total = res.data.count
message.error(err) })
}) .catch((err) => {
loadingCamera.value = false
message.error(err)
})
} else {
loadingCamera.value = false
}
} else { } else {
let params = { let params = {
regionId: regionId:
@ -1866,15 +1898,17 @@
} }
} }
} }
getCameraByCondition(params).then((res) => { getCameraByCondition(params)
console.log('res--查询摄像头---------->', res); .then((res) => {
loadingCamera.value = false; console.log('res--查询摄像头---------->', res)
dataSource.value = res.data.data loadingCamera.value = false
pagination.value.total = res.data.count dataSource.value = res.data.data
}).catch(err => { pagination.value.total = res.data.count
loadingCamera.value = false; })
message.error(err) .catch((err) => {
}) loadingCamera.value = false
message.error(err)
})
} }
} }
defineExpose({ defineExpose({
@ -1884,7 +1918,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 +1926,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 +1963,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 === 1"
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,357 +77,382 @@
<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 (
localStorage.removeItem('integrationServices') to.name !== 'packagingDetails' &&
} to.name !== 'integrationServicesDetails'
next() ) {
}, localStorage.removeItem('integrationServices')
setup() { }
// next()
const loading = ref(true) },
const currentPage = ref(1) setup() {
const currentPageSize = ref(10) //
const pageSizeOptions = ref(['2', '5', '10', '20', '50']) const loading = ref(true)
const router = useRouter() const currentPage = ref(1)
const select = router.currentRoute.value.query.select const currentPageSize = ref(10)
const searchValue = ref('') const pageSizeOptions = ref(['2', '5', '10', '20', '50'])
const Cardsname = ref(select) const router = useRouter()
const resourceList = reactive({ data: [] }) const select = router.currentRoute.value.query.select
const resourceTotal = ref(0) const searchValue = ref('')
const loadingData = ref(false) const Cardsname = ref(select)
// const resourceList = reactive({ data: [] })
const titleName = ref([ const resourceTotal = ref(0)
{ const loadingData = ref(false)
name: '打包模式', //
}, const titleName = ref([
{ {
name: '赋能场景', name: '赋能场景',
}, index: 0,
]) },
const number = ref(0) {
// name: '打包模式',
const paramsGetResources = { index: 1,
page: currentPage.value, },
limit: currentPageSize.value, ])
type: titleName.value[number.value].name, let number = ref(0)
name: searchValue.value, //
orderField: 'create_date', const paramsGetResources = {
orderType: 'DESC', // ASC DESC page: currentPage.value,
} limit: currentPageSize.value,
const searchResultListDom = ref(null) type: titleName.value[number.value].name,
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices')) name: searchValue.value,
// orderField: 'create_date',
const handleSetSearchData = () => { orderType: 'DESC', // ASC DESC
if (storageSearchInfo) { }
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1; const searchResultListDom = ref(null)
// const storageSearchInfo = JSON.parse(
searchValue.value = storageSearchInfo.name; localStorage.getItem('integrationServices')
currentPage.value = storageSearchInfo.page; )
currentPageSize.value = storageSearchInfo.limit; //
paramsGetResources.limit = storageSearchInfo.limit; const handleSetSearchData = () => {
paramsGetResources.page = storageSearchInfo.page; if (storageSearchInfo) {
paramsGetResources.type = storageSearchInfo.type; number.value = storageSearchInfo.type == '打包模式' ? 1 : 0
// 使 //
nextTick(() => { searchValue.value = storageSearchInfo.name
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({ currentPage.value = storageSearchInfo.page
value: storageSearchInfo.orderField, currentPageSize.value = storageSearchInfo.limit
orderType: storageSearchInfo.orderType, paramsGetResources.limit = storageSearchInfo.limit
}, true) paramsGetResources.page = storageSearchInfo.page
paramsGetResources.type = storageSearchInfo.type
// 使
nextTick(() => {
searchResultListDom.value &&
searchResultListDom.value.changeCondition &&
searchResultListDom.value.changeCondition(
{
value: storageSearchInfo.orderField,
orderType: storageSearchInfo.orderType,
},
true
)
})
getIntegrationList()
}
}
const changeCards = (val) => {
//
number.value = val
paramsGetResources.type = titleName.value[number.value].name
resetAction()
}
//
const onSearch = () => {
currentPage.value = 1
getIntegrationList()
}
//
const resetAction = () => {
//
searchValue.value = ''
//
currentPage.value = 1
currentPageSize.value = 10
//
paramsGetResources.page = 1
paramsGetResources.limit = 10
paramsGetResources.orderField = 'create_date'
paramsGetResources.orderType = 'DESC'
mybus.emit('resetAction', {
type: titleName.value[number.value].name,
}) })
getIntegrationList() getIntegrationList()
} }
}
const changeCards = (val) => { //
// const getIntegrationList = () => {
number.value = val; loadingData.value = true
paramsGetResources.type = titleName.value[number.value].name; paramsGetResources.name = searchValue.value
resetAction() console.log(
} 'paramsGetResources------参数下发------>',
paramsGetResources
// )
const onSearch = () => { getIntegrationServicesList(paramsGetResources).then(
currentPage.value = 1 (res) => {
getIntegrationList() loadingData.value = false
} if (res.data.code !== 0) {
// return message.error(res.data.msg)
const resetAction = () => { }
// resourceList.data = res.data.data.list || []
searchValue.value = '' resourceTotal.value = res.data.data.total || 0
// },
currentPage.value = 1 (err) => {
currentPageSize.value = 10 loadingData.value = false
// message.error(err)
paramsGetResources.page = 1
paramsGetResources.limit = 10
paramsGetResources.orderField = 'create_date'
paramsGetResources.orderType = 'DESC'
mybus.emit('resetAction', {
type: titleName.value[number.value].name,
})
getIntegrationList()
}
//
const getIntegrationList = () => {
loadingData.value = true
paramsGetResources.name = searchValue.value;
console.log('paramsGetResources------参数下发------>', paramsGetResources);
getIntegrationServicesList(paramsGetResources).then(
(res) => {
loadingData.value = false
if (res.data.code !== 0) {
return message.error(res.data.msg)
} }
resourceList.data = res.data.data.list || [] )
resourceTotal.value = res.data.data.total || 0
},
(err) => {
loadingData.value = false
message.error(err)
}
)
}
mybus.on('paramsGetResources', (ids) => {
if (ids && ids.length > 0) {
paramsGetResources.deptIds = ids
} else {
delete paramsGetResources.deptIds
} }
getIntegrationList()
})
mybus.on('changePage', (page) => { mybus.on('paramsGetResources', (ids) => {
paramsGetResources.page = page if (ids && ids.length > 0) {
getIntegrationList() paramsGetResources.deptIds = ids
}) } else {
delete paramsGetResources.deptIds
}
getIntegrationList()
})
mybus.on('changeSelcted', () => { mybus.on('changePage', (page) => {
getIntegrationList() paramsGetResources.page = page
}) getIntegrationList()
})
mybus.on('refresh', () => { mybus.on('changeSelcted', () => {
paramsGetResources.page = 1 getIntegrationList()
currentPage.value = 1 })
getIntegrationList()
})
mybus.on('changeCondition', (condition) => {
paramsGetResources.orderField = condition.orderField
paramsGetResources.orderType = condition.orderType
getIntegrationList()
})
const pageChange = (val) => { mybus.on('refresh', () => {
currentPage.value = val paramsGetResources.page = 1
paramsGetResources.page = val currentPage.value = 1
getIntegrationList() // getIntegrationList()
} })
mybus.on('changeCondition', (condition) => {
paramsGetResources.orderField = condition.orderField
paramsGetResources.orderType = condition.orderType
getIntegrationList()
})
// const pageChange = (val) => {
const onShowSizeChange = (current, pageSize) => { currentPage.value = val
currentPage.value = current paramsGetResources.page = val
currentPageSize.value = pageSize getIntegrationList() //
paramsGetResources.page = current }
paramsGetResources.limit = pageSize
getIntegrationList()
}
// //
const saveSearchCodition = (n) => { const onShowSizeChange = (current, pageSize) => {
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources); currentPage.value = current
localStorage.setItem( currentPageSize.value = pageSize
'integrationServices', paramsGetResources.page = current
JSON.stringify(paramsGetResources) paramsGetResources.limit = pageSize
)
}
onMounted(() => {
if (storageSearchInfo) {
handleSetSearchData()
} else {
getIntegrationList() getIntegrationList()
} }
})
return { //
searchValue, const saveSearchCodition = (n) => {
currentPage, console.log(
resourceList, '融合服务-----存储查询条件到本地------->',
resourceTotal, paramsGetResources
pageChange, )
Cardsname, localStorage.setItem(
getIntegrationList, 'integrationServices',
resetAction, JSON.stringify(paramsGetResources)
onSearch, )
currentPageSize, }
pageSizeOptions,
loading, onMounted(() => {
titleName, if (storageSearchInfo) {
changeCards, handleSetSearchData()
number, } else {
loadingData, getIntegrationList()
onShowSizeChange, }
saveSearchCodition, })
searchResultListDom,
} return {
}, searchValue,
components: { currentPage,
HomeHeader, resourceList,
HomeFooter, resourceTotal,
searchResultList, pageChange,
CanAssignCase, Cardsname,
}, getIntegrationList,
beforeUnmount() { resetAction,
mybus.off('paramsGetResources') onSearch,
mybus.off('changeCondition') currentPageSize,
mybus.off('refresh') pageSizeOptions,
mybus.off('changePage') loading,
}, titleName,
}) changeCards,
number,
loadingData,
onShowSizeChange,
saveSearchCodition,
searchResultListDom,
}
},
components: {
HomeHeader,
HomeFooter,
searchResultList,
CanAssignCase,
},
beforeUnmount() {
mybus.off('paramsGetResources')
mybus.off('changeCondition')
mybus.off('refresh')
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;
.resultListSearchInput-son { .resultListSearchInput-son {
background: #fff; background: #fff;
padding: 0.2rem 0.2rem 0rem 0.3rem; padding: 0.2rem 0.2rem 0rem 0.3rem;
.hengxian { .hengxian {
width: 100%; width: 100%;
height: 0.01rem; height: 0.01rem;
background: rgba(150, 144, 144, 0.3); background: rgba(150, 144, 144, 0.3);
margin-top: 0.2rem; margin-top: 0.2rem;
}
} }
} }
}
.resultListSearchInput { .resultListSearchInput {
margin-left: 0.1rem; margin-left: 0.1rem;
:deep(.ant-input) { :deep(.ant-input) {
width: 4rem; width: 4rem;
height: 0.36rem; height: 0.36rem;
background: #fff; background: #fff;
border-radius: 0.04rem; border-radius: 0.04rem;
}
:deep(.ant-input-search-button) {
width: 0.8rem;
height: 0.36rem;
background: #0087ff;
border-radius: 0.04rem !important;
font-size: 0.14rem;
font-weight: 400;
color: #fff;
line-height: 0.34rem;
margin-left: 0.1rem;
}
:deep(.ant-input-group-addon) {
left: 0 !important;
}
} }
:deep(.ant-input-search-button) { .button-reset {
border: 0;
outline: none;
width: 0.8rem; width: 0.8rem;
height: 0.36rem; height: 0.36rem;
background: #0087ff; background: #e1edfa;
border-radius: 0.04rem !important; border-radius: 0.04rem;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
color: #fff; color: #0087ff;
line-height: 0.34rem; line-height: 0.34rem;
margin-left: 0.1rem; margin-left: 2.5rem;
cursor: pointer;
} }
:deep(.ant-input-group-addon) { .details-pageconetent {
left: 0 !important; height: 100%;
} width: 100%;
}
.button-reset {
border: 0;
outline: none;
width: 0.8rem;
height: 0.36rem;
background: #e1edfa;
border-radius: 0.04rem;
font-size: 0.14rem;
font-weight: 400;
color: #0087ff;
line-height: 0.34rem;
margin-left: 2.5rem;
cursor: pointer;
}
.details-pageconetent {
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-top: 0.67rem;
position: relative;
background: rgba(245, 243, 243, 0.3);
.details-pageconetent-left {
max-height: 6.9rem;
position: absolute;
width: 2.5rem;
top: 0.17rem;
left: 2.5rem;
margin-right: 0.17rem;
overflow: auto;
}
.top {
min-height: 7.2rem;
position: relative;
width: 11.5rem;
display: flex; display: flex;
padding-top: 0.2rem; justify-content: center;
flex-direction: column; align-items: center;
font-size: 0.16rem; margin-top: 0.67rem;
justify-content: left; position: relative;
background: #f3f5f9; background: rgba(245, 243, 243, 0.3);
.pagination { .details-pageconetent-left {
background: #f3f5f9; max-height: 6.9rem;
padding-bottom: 0.6rem; position: absolute;
width: 2.5rem;
top: 0.17rem;
left: 2.5rem;
margin-right: 0.17rem;
overflow: auto;
} }
.top-title { .top {
padding: 0.2rem; min-height: 7.2rem;
position: relative;
width: 11.5rem;
display: flex; display: flex;
font-size: 18px; padding-top: 0.2rem;
flex-direction: column;
font-size: 0.16rem;
justify-content: left;
background: #f3f5f9;
.tabAll { .pagination {
background: #f3f5f9;
padding-bottom: 0.6rem;
}
.top-title {
padding: 0.2rem;
display: flex;
font-size: 18px; font-size: 18px;
color: #000000;
margin-right: 35px;
cursor: pointer;
}
.tabAll:nth-child(1) { .tabAll {
margin-left: 20px; font-size: 18px;
} color: #000000;
margin-right: 35px;
cursor: pointer;
}
.sel { .tabAll:nth-child(1) {
font-weight: 600; margin-left: 20px;
color: #0087ff; }
border-bottom: 0.02rem solid #0087ff;
.sel {
font-weight: 600;
color: #0087ff;
border-bottom: 0.02rem solid #0087ff;
}
} }
} }
} }
}
: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,15 +92,24 @@
> >
<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>
<div <div
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 {

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-23 16:41:49 * @Date: 2022-06-23 16:41:49
* @LastEditors: hisense.liangjunhua * @LastEditors: Light
* @LastEditTime: 2022-07-04 17:53:27 * @LastEditTime: 2022-10-13 16:40:15
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -32,21 +32,21 @@
import HomeFooter from '@/views/newHome/components/Footer' import HomeFooter from '@/views/newHome/components/Footer'
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@font-face { @font-face {
font-family: 'text-typeface'; font-family: 'text-typeface';
src: url('~@/assets/newHome/font/text-typeface.otf'); src: url('~@/assets/newHome/font/text-typeface.otf');
} }
@font-face { @font-face {
font-family: 'num-typeface'; font-family: 'num-typeface';
src: url('~@/assets/newHome/font/num-typeface.otf'); src: url('~@/assets/newHome/font/num-typeface.otf');
} }
.newHome { .newHome {
font-family: text-typeface; font-family: text-typeface;
.num { .num {
font-family: num-typeface; font-family: num-typeface;
}
}
.resource-aggregation {
background: #fff;
} }
}
.resource-aggregation {
background: #fff;
}
</style> </style>