feat:对接监控-交通ai分析数据
This commit is contained in:
@@ -1,58 +0,0 @@
|
|||||||
|
|
||||||
let __unconfig_data;
|
|
||||||
let __unconfig_stub = function (data = {}) { __unconfig_data = data };
|
|
||||||
__unconfig_stub.default = (data = {}) => { __unconfig_data = data };
|
|
||||||
import { fileURLToPath, URL } from 'node:url'
|
|
||||||
|
|
||||||
import { defineConfig } from 'vite'
|
|
||||||
import vue from '@vitejs/plugin-vue'
|
|
||||||
import vueJsx from '@vitejs/plugin-vue-jsx'
|
|
||||||
import AutoImport from 'unplugin-auto-import/vite'
|
|
||||||
import Components from 'unplugin-vue-components/vite'
|
|
||||||
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
||||||
// import vueDevTools from 'vite-plugin-vue-devtools'
|
|
||||||
|
|
||||||
// https://vite.dev/config/
|
|
||||||
const __unconfig_default = defineConfig({
|
|
||||||
plugins: [
|
|
||||||
vue(),
|
|
||||||
vueJsx(),
|
|
||||||
AutoImport({
|
|
||||||
imports: ['vue'],
|
|
||||||
dts: 'src/auto-import.d.ts',
|
|
||||||
resolvers: [ElementPlusResolver()]
|
|
||||||
}),
|
|
||||||
Components({
|
|
||||||
resolvers: [ElementPlusResolver()]
|
|
||||||
})
|
|
||||||
// vueDevTools(),
|
|
||||||
],
|
|
||||||
base: '/largeScreen/',
|
|
||||||
server: {
|
|
||||||
hmr: true,
|
|
||||||
host: '0.0.0.0'
|
|
||||||
// proxy: {
|
|
||||||
// '/': {
|
|
||||||
// // 目标服务器的地址
|
|
||||||
// target: 'http://36.138.38.16:8001',
|
|
||||||
// changeOrigin: true
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
||||||
},
|
|
||||||
extensions: ['.js', '.vue']
|
|
||||||
},
|
|
||||||
css: {
|
|
||||||
preprocessorOptions: {
|
|
||||||
scss: {
|
|
||||||
additionalData: '@use "@/styles/screen.scss" as *;',
|
|
||||||
javascriptEnabled: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
if (typeof __unconfig_default === "function") __unconfig_default(...[{"command":"serve","mode":"development"}]);export default __unconfig_data;
|
|
||||||
@@ -266,13 +266,13 @@
|
|||||||
isSkip.value = false
|
isSkip.value = false
|
||||||
current.vlaue = ''
|
current.vlaue = ''
|
||||||
isBack.value = true
|
isBack.value = true
|
||||||
let res1 = await getSpotListApi()
|
let spotRes = await getSpotListApi()
|
||||||
navLeft.value = [
|
navLeft.value = [
|
||||||
{
|
{
|
||||||
name: '奉节县',
|
name: '奉节县',
|
||||||
scenicSpotId: ''
|
scenicSpotId: ''
|
||||||
},
|
},
|
||||||
...res1.data
|
...spotRes.data
|
||||||
]
|
]
|
||||||
break
|
break
|
||||||
case '/sceneTesting':
|
case '/sceneTesting':
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="item" v-for="(item, index) in homeStore.visitorInfoList" :key="index">
|
<div class="item" v-for="(item, index) in homeStore.visitorInfoList" :key="index">
|
||||||
<div class="label">{{ item.name }}</div>
|
<div class="label">{{ item.name }}</div>
|
||||||
<div :class="[item.type == 4 ? 'value--error' : 'value--primary']">{{
|
<div :class="[[3,4].includes(item.type)? 'value--error' : 'value--primary']">{{
|
||||||
item.value
|
item.value
|
||||||
}}</div>
|
}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -60,13 +60,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<Title1 title="交通智能AI分析" />
|
<Title1 title="交通智能AI分析" />
|
||||||
<div class="scenic">
|
<div class="scenic">
|
||||||
<div
|
<div class="scenic-item">
|
||||||
class="scenic-item"
|
<span class="scenic-item__label">核心路段分析点位</span>
|
||||||
v-for="(item, index) in trafficAbnormalityData.headList"
|
<countup
|
||||||
:key="index"
|
class="scenic-item__value"
|
||||||
>
|
:end-val="trafficAiAnalyzeData.coreMonitoringPoints"
|
||||||
<span class="scenic-item__label">{{ item.name }}</span>
|
/>
|
||||||
<countup class="scenic-item__value" :end-val="item.value" />
|
</div>
|
||||||
|
<div class="scenic-item">
|
||||||
|
<span class="scenic-item__label">拥堵点位</span>
|
||||||
|
<countup class="scenic-item__value" :end-val="trafficAiAnalyzeData.abnormalPoints" />
|
||||||
|
</div>
|
||||||
|
<div class="scenic-item">
|
||||||
|
<span class="scenic-item__label">拥堵告警</span>
|
||||||
|
<countup class="scenic-item__value" :end-val="trafficAiAnalyzeData.abnormalWarnings" />
|
||||||
|
</div>
|
||||||
|
<div class="scenic-item">
|
||||||
|
<span class="scenic-item__label">已处理</span>
|
||||||
|
<countup class="scenic-item__value" :end-val="trafficAiAnalyzeData.handled" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex pt-20">
|
<div class="flex pt-20">
|
||||||
@@ -205,10 +216,12 @@
|
|||||||
abnormalAlarmPercent: []
|
abnormalAlarmPercent: []
|
||||||
})
|
})
|
||||||
// 交通告警信息
|
// 交通告警信息
|
||||||
let trafficAbnormalityData = ref({
|
let trafficAiAnalyzeData = ref({
|
||||||
dataList: [],
|
abnormalWarnings: 0,
|
||||||
dataLists: [],
|
abnormalPoints: 0,
|
||||||
headList: []
|
coreMonitoringPoints: 0,
|
||||||
|
handled: 0,
|
||||||
|
abnormalAlarm: []
|
||||||
})
|
})
|
||||||
// 监控点位异常告警统计
|
// 监控点位异常告警统计
|
||||||
let pointAlarmData = ref({
|
let pointAlarmData = ref({
|
||||||
@@ -230,10 +243,10 @@
|
|||||||
|
|
||||||
// 拥堵告警
|
// 拥堵告警
|
||||||
let jamlData = computed(() => {
|
let jamlData = computed(() => {
|
||||||
return [{ data: trafficAbnormalityData.value.dataList.map((item) => item.value) }]
|
return [{ data: trafficAiAnalyzeData.value.abnormalAlarm.map((item) => item.value) }]
|
||||||
})
|
})
|
||||||
let jamXAxisData = computed(() => {
|
let jamXAxisData = computed(() => {
|
||||||
return trafficAbnormalityData.value.dataList.map((item) => item.name)
|
return trafficAiAnalyzeData.value.abnormalAlarm.map((item) => item.name)
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@@ -268,9 +281,8 @@
|
|||||||
case '监控点位统计和异常告警统计':
|
case '监控点位统计和异常告警统计':
|
||||||
pointAlarmData.value = val.data
|
pointAlarmData.value = val.data
|
||||||
break
|
break
|
||||||
case 'trafficAbnormalityData':
|
case '交通智能AI分析':
|
||||||
trafficAbnormalityData.value = val
|
trafficAiAnalyzeData.value = val.data
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -375,25 +375,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const getVideoRegions = async () => {
|
const getVideoRegions = async () => {
|
||||||
if (params.businessScenicArea == '三峡之巅') {
|
|
||||||
regionList.value = [
|
|
||||||
{
|
|
||||||
regions: '调试中',
|
|
||||||
videoResources: []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
regions: '调试中',
|
|
||||||
videoResources: []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
} else {
|
|
||||||
let res = await getVideoRegionsApi({
|
let res = await getVideoRegionsApi({
|
||||||
cameraName: cameraName.value,
|
cameraName: cameraName.value,
|
||||||
businessScenicArea: params.businessScenicArea
|
businessScenicArea: params.businessScenicArea
|
||||||
})
|
})
|
||||||
regionList.value = res.data
|
regionList.value = res.data
|
||||||
}
|
}
|
||||||
}
|
|
||||||
const onMonitorChange = () => {
|
const onMonitorChange = () => {
|
||||||
monitorChange = pubSub.subscribe('monitorChange', (res, data) => {
|
monitorChange = pubSub.subscribe('monitorChange', (res, data) => {
|
||||||
params.businessScenicArea = data.scenicSpotId
|
params.businessScenicArea = data.scenicSpotId
|
||||||
|
|||||||
Reference in New Issue
Block a user