feat:对接监控-交通ai分析数据

This commit is contained in:
张先生
2025-03-17 13:24:02 +08:00
parent 641753aee8
commit 1b74cdf403
5 changed files with 36 additions and 95 deletions

View File

@@ -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;

View File

@@ -266,13 +266,13 @@
isSkip.value = false
current.vlaue = ''
isBack.value = true
let res1 = await getSpotListApi()
let spotRes = await getSpotListApi()
navLeft.value = [
{
name: '奉节县',
scenicSpotId: ''
},
...res1.data
...spotRes.data
]
break
case '/sceneTesting':

View File

@@ -22,7 +22,7 @@
<div class="right">
<div class="item" v-for="(item, index) in homeStore.visitorInfoList" :key="index">
<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
}}</div>
</div>

View File

@@ -60,13 +60,24 @@
</div>
<Title1 title="交通智能AI分析" />
<div class="scenic">
<div
class="scenic-item"
v-for="(item, index) in trafficAbnormalityData.headList"
:key="index"
>
<span class="scenic-item__label">{{ item.name }}</span>
<countup class="scenic-item__value" :end-val="item.value" />
<div class="scenic-item">
<span class="scenic-item__label">核心路段分析点位</span>
<countup
class="scenic-item__value"
:end-val="trafficAiAnalyzeData.coreMonitoringPoints"
/>
</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 class="flex pt-20">
@@ -205,10 +216,12 @@
abnormalAlarmPercent: []
})
// 交通告警信息
let trafficAbnormalityData = ref({
dataList: [],
dataLists: [],
headList: []
let trafficAiAnalyzeData = ref({
abnormalWarnings: 0,
abnormalPoints: 0,
coreMonitoringPoints: 0,
handled: 0,
abnormalAlarm: []
})
// 监控点位异常告警统计
let pointAlarmData = ref({
@@ -230,10 +243,10 @@
// 拥堵告警
let jamlData = computed(() => {
return [{ data: trafficAbnormalityData.value.dataList.map((item) => item.value) }]
return [{ data: trafficAiAnalyzeData.value.abnormalAlarm.map((item) => item.value) }]
})
let jamXAxisData = computed(() => {
return trafficAbnormalityData.value.dataList.map((item) => item.name)
return trafficAiAnalyzeData.value.abnormalAlarm.map((item) => item.name)
})
watch(
@@ -268,9 +281,8 @@
case '监控点位统计和异常告警统计':
pointAlarmData.value = val.data
break
case 'trafficAbnormalityData':
trafficAbnormalityData.value = val
break
case '交通智能AI分析':
trafficAiAnalyzeData.value = val.data
}
}
}

View File

@@ -375,25 +375,12 @@
}
}
const getVideoRegions = async () => {
if (params.businessScenicArea == '三峡之巅') {
regionList.value = [
{
regions: '调试中',
videoResources: []
},
{
regions: '调试中',
videoResources: []
}
]
} else {
let res = await getVideoRegionsApi({
cameraName: cameraName.value,
businessScenicArea: params.businessScenicArea
})
regionList.value = res.data
}
}
const onMonitorChange = () => {
monitorChange = pubSub.subscribe('monitorChange', (res, data) => {
params.businessScenicArea = data.scenicSpotId