|
|
@@ -0,0 +1,401 @@
|
|
|
+<script setup lang="ts">
|
|
|
+import { useRoute } from 'vue-router';
|
|
|
+import { computed } from 'vue';
|
|
|
+
|
|
|
+interface Feature {
|
|
|
+ title: string;
|
|
|
+ description: string;
|
|
|
+}
|
|
|
+
|
|
|
+interface Scenario {
|
|
|
+ title: string;
|
|
|
+ description: string;
|
|
|
+}
|
|
|
+
|
|
|
+interface SolutionConfig {
|
|
|
+ type: 'emergency' | 'lawEnforcement' | 'publicSafety' | 'safetyProduction';
|
|
|
+ title: string;
|
|
|
+ description: string;
|
|
|
+ features: Feature[];
|
|
|
+ scenarios: Scenario[];
|
|
|
+}
|
|
|
+
|
|
|
+// 应急救援配置
|
|
|
+const emergencyConfigs: Record<string, SolutionConfig> = {
|
|
|
+ flood: {
|
|
|
+ type: 'emergency',
|
|
|
+ title: '洪涝灾害救援解决方案',
|
|
|
+ description: '为洪涝灾害提供全方位的应急救援解决方案,助力快速响应和高效救援。',
|
|
|
+ features: [
|
|
|
+ { title: '灾情侦察', description: '无人机快速侦察灾区情况,绘制实时灾情地图' },
|
|
|
+ { title: '搜救支持', description: '利用热成像技术辅助搜寻受困人员' },
|
|
|
+ { title: '物资投放', description: '向受灾区域精准投放应急物资' },
|
|
|
+ { title: '通信保障', description: '建立临时通信网络,保障救援指挥' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '城市内涝', description: '城市暴雨导致的内涝灾害救援' },
|
|
|
+ { title: '河流决堤', description: '河流决堤造成的洪涝灾害救援' },
|
|
|
+ { title: '山洪暴发', description: '山区突发性洪水灾害救援' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ earthquake: {
|
|
|
+ type: 'emergency',
|
|
|
+ title: '地震与地质灾害救援解决方案',
|
|
|
+ description: '为地震等地质灾害提供专业的应急救援解决方案,实现快速响应和科学救援。',
|
|
|
+ features: [
|
|
|
+ { title: '灾情评估', description: '无人机快速评估受灾范围和程度' },
|
|
|
+ { title: '建筑损伤分析', description: 'AI分析建筑物损伤程度,评估二次灾害风险' },
|
|
|
+ { title: '搜救规划', description: '基于实时数据制定最优搜救路线' },
|
|
|
+ { title: '物资配送', description: '无人机向受困区域投送应急物资' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '地震救援', description: '地震灾害现场搜救及救援' },
|
|
|
+ { title: '滑坡救援', description: '山体滑坡灾害现场救援' },
|
|
|
+ { title: '塌陷救援', description: '地面塌陷事故现场救援' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ forestFire: {
|
|
|
+ type: 'emergency',
|
|
|
+ title: '森林火灾救援解决方案',
|
|
|
+ description: '为森林火灾提供智能化应急救援解决方案,提升救援效率和安全性。',
|
|
|
+ features: [
|
|
|
+ { title: '火情监测', description: '实时监测火情发展,预测火势蔓延' },
|
|
|
+ { title: '救援规划', description: '智能规划最优灭火路线和方案' },
|
|
|
+ { title: '物资投放', description: '向火场精准投放灭火物资' },
|
|
|
+ { title: '人员疏散', description: '协助规划人员疏散路线' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '林区火灾', description: '森林地区火灾扑救' },
|
|
|
+ { title: '草原火灾', description: '草原地区火灾扑救' },
|
|
|
+ { title: '交界火灾', description: '林区与居民区交界处火灾处置' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ mountainRescue: {
|
|
|
+ type: 'emergency',
|
|
|
+ title: '山岳搜救解决方案',
|
|
|
+ description: '为山岳地区遇险人员提供专业的搜救解决方案,提高搜救效率和成功率。',
|
|
|
+ features: [
|
|
|
+ { title: '区域搜索', description: '无人机快速搜索大面积区域' },
|
|
|
+ { title: '热成像侦测', description: '利用热成像技术定位遇险人员' },
|
|
|
+ { title: '地形分析', description: '3D地形分析,规划最优救援路线' },
|
|
|
+ { title: '通信支援', description: '建立应急通信网络,保障救援通信' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '登山救援', description: '登山遇险人员搜救' },
|
|
|
+ { title: '雪崩救援', description: '雪崩灾害现场搜救' },
|
|
|
+ { title: '峡谷救援', description: '峡谷探险遇险救援' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+// 执法管理配置
|
|
|
+const lawEnforcementConfigs: Record<string, SolutionConfig> = {
|
|
|
+ patrol: {
|
|
|
+ type: 'lawEnforcement',
|
|
|
+ title: '治安巡逻解决方案',
|
|
|
+ description: '为公安机关提供智能化治安巡逻解决方案,提升巡逻效率和治安管理水平。',
|
|
|
+ features: [
|
|
|
+ { title: '空中巡逻', description: '无人机协助进行区域巡逻监控' },
|
|
|
+ { title: '异常识别', description: 'AI识别可疑人员和异常行为' },
|
|
|
+ { title: '快速响应', description: '发现问题快速定位和处置' },
|
|
|
+ { title: '数据分析', description: '治安数据分析,优化巡逻路线' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '社区巡逻', description: '居民社区治安巡逻' },
|
|
|
+ { title: '重点区域', description: '重点区域安保巡逻' },
|
|
|
+ { title: '大型活动', description: '大型活动现场安保' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ traffic: {
|
|
|
+ type: 'lawEnforcement',
|
|
|
+ title: '交通治理解决方案',
|
|
|
+ description: '为交通管理部门提供智能化交通治理解决方案,提升交通管理效率。',
|
|
|
+ features: [
|
|
|
+ { title: '交通监控', description: '实时监控交通流量和违法行为' },
|
|
|
+ { title: '事故处理', description: '快速响应交通事故,协助现场处置' },
|
|
|
+ { title: '违章取证', description: '自动记录交通违法行为' },
|
|
|
+ { title: '指挥调度', description: '智能交通指挥和调度系统' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '城市道路', description: '城市道路交通管理' },
|
|
|
+ { title: '高速公路', description: '高速公路交通监控' },
|
|
|
+ { title: '事故现场', description: '交通事故现场处置' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ cityManagement: {
|
|
|
+ type: 'lawEnforcement',
|
|
|
+ title: '城管巡查解决方案',
|
|
|
+ description: '为城市管理部门提供智能化巡查解决方案,提升城市管理效率和市容市貌监管水平。',
|
|
|
+ features: [
|
|
|
+ { title: '违建监测', description: '无人机巡查违法建筑,自动比对分析' },
|
|
|
+ { title: '环境监管', description: '城市环境卫生和污染源实时监控' },
|
|
|
+ { title: '占道管理', description: '违规占道经营和乱摆摊点智能识别' },
|
|
|
+ { title: '市政设施巡检', description: '市政设施完好度巡查和维护管理' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常巡查', description: '常态化巡查监管,及时发现城市管理问题' },
|
|
|
+ { title: '专项整治', description: '重点区域和专项问题集中整治行动' },
|
|
|
+ { title: '应急处置', description: '突发事件快速响应和现场指挥' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ investigation: {
|
|
|
+ type: 'lawEnforcement',
|
|
|
+ title: '刑事侦查解决方案',
|
|
|
+ description: '为刑侦部门提供智能化侦查解决方案,提升破案效率和侦查能力。',
|
|
|
+ features: [
|
|
|
+ { title: '现场勘查', description: '无人机协助现场勘查取证' },
|
|
|
+ { title: '轨迹追踪', description: '嫌疑人轨迹分析和追踪' },
|
|
|
+ { title: '证据采集', description: '智能化证据采集和保全' },
|
|
|
+ { title: '案情分析', description: '大数据辅助案情分析' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '现场勘查', description: '案发现场勘查取证' },
|
|
|
+ { title: '追踪布控', description: '嫌疑人追踪布控' },
|
|
|
+ { title: '案情分析', description: '复杂案情分析研判' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+// 公共安全配置
|
|
|
+const publicSafetyConfigs: Record<string, SolutionConfig> = {
|
|
|
+ forestry: {
|
|
|
+ type: 'publicSafety',
|
|
|
+ title: '林业安全解决方案',
|
|
|
+ description: '为林业部门提供智能化森林资源监管和保护解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '资源监测', description: '森林资源动态监测和评估' },
|
|
|
+ { title: '火情预警', description: '森林火险预警和监测' },
|
|
|
+ { title: '病虫害防治', description: '林业病虫害监测和防治' },
|
|
|
+ { title: '资源保护', description: '野生动植物资源保护' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '资源普查', description: '森林资源动态普查' },
|
|
|
+ { title: '火情监测', description: '森林火情实时监测' },
|
|
|
+ { title: '执法巡查', description: '林业执法巡查' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ mapping: {
|
|
|
+ type: 'publicSafety',
|
|
|
+ title: '测绘应用解决方案',
|
|
|
+ description: '为测绘部门提供高精度地理信息采集和处理解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '地形测绘', description: '高精度地形图测绘' },
|
|
|
+ { title: '实景建模', description: '三维实景模型构建' },
|
|
|
+ { title: '变化监测', description: '地理要素变化监测' },
|
|
|
+ { title: '应急测绘', description: '突发事件应急测绘' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '地形测量', description: '地形地貌测量' },
|
|
|
+ { title: '工程测绘', description: '工程建设测绘' },
|
|
|
+ { title: '灾害测绘', description: '灾害现场测绘' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ oilGas: {
|
|
|
+ type: 'publicSafety',
|
|
|
+ title: '油气管线巡检解决方案',
|
|
|
+ description: '为油气管线提供智能化巡检和安全监管解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '管线巡检', description: '油气管线定期巡检' },
|
|
|
+ { title: '泄漏检测', description: '管线泄漏实时监测' },
|
|
|
+ { title: '隐患排查', description: '管线安全隐患排查' },
|
|
|
+ { title: '应急处置', description: '管线事故应急处置' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常巡检', description: '管线日常巡检' },
|
|
|
+ { title: '应急处置', description: '管线事故处置' },
|
|
|
+ { title: '工程监理', description: '管线工程监理' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ power: {
|
|
|
+ type: 'publicSafety',
|
|
|
+ title: '电力巡检解决方案',
|
|
|
+ description: '为电力部门提供智能化电力设施巡检和维护解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '线路巡检', description: '输电线路智能巡检' },
|
|
|
+ { title: '设备检测', description: '电力设备状态监测' },
|
|
|
+ { title: '故障诊断', description: '设备故障智能诊断' },
|
|
|
+ { title: '应急处置', description: '电力事故应急处置' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常巡检', description: '电力设施日常巡检' },
|
|
|
+ { title: '故障处理', description: '电力故障现场处理' },
|
|
|
+ { title: '应急抢修', description: '电力设施应急抢修' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ water: {
|
|
|
+ type: 'publicSafety',
|
|
|
+ title: '水利设施监管解决方案',
|
|
|
+ description: '为水利部门提供智能化水利设施监管和防汛抗旱解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '设施巡检', description: '水利设施智能巡检' },
|
|
|
+ { title: '水情监测', description: '水文水情实时监测' },
|
|
|
+ { title: '灾害预警', description: '洪涝灾害预警' },
|
|
|
+ { title: '应急调度', description: '防汛抗旱应急调度' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常监管', description: '水利设施日常监管' },
|
|
|
+ { title: '防汛抗旱', description: '防汛抗旱应急响应' },
|
|
|
+ { title: '工程监理', description: '水利工程建设监理' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+// 安全生产配置
|
|
|
+const safetyProductionConfigs: Record<string, SolutionConfig> = {
|
|
|
+ supervision: {
|
|
|
+ type: 'safetyProduction',
|
|
|
+ title: '安全生产监管解决方案',
|
|
|
+ description: '为安全生产监管部门提供智能化监管和隐患排查解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '隐患排查', description: '生产安全隐患智能排查' },
|
|
|
+ { title: '风险评估', description: '安全生产风险评估' },
|
|
|
+ { title: '应急预案', description: '安全生产应急预案管理' },
|
|
|
+ { title: '监管执法', description: '安全生产监管执法支持' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常监管', description: '企业安全生产日常监管' },
|
|
|
+ { title: '专项检查', description: '安全生产专项检查' },
|
|
|
+ { title: '事故调查', description: '生产安全事故调查' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ selfInspection: {
|
|
|
+ type: 'safetyProduction',
|
|
|
+ title: '企业安全自查解决方案',
|
|
|
+ description: '为企业提供安全生产自查和隐患自纠自改解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '隐患自查', description: '企业安全隐患自查系统' },
|
|
|
+ { title: '整改跟踪', description: '隐患整改跟踪管理' },
|
|
|
+ { title: '风险评估', description: '企业安全风险自评' },
|
|
|
+ { title: '应急演练', description: '安全生产应急演练支持' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '日常自查', description: '企业安全生产日常自查' },
|
|
|
+ { title: '专项自查', description: '重点领域专项安全自查' },
|
|
|
+ { title: '整改验收', description: '隐患整改自查验收' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ accidentHandling: {
|
|
|
+ type: 'safetyProduction',
|
|
|
+ title: '安全事故处置解决方案',
|
|
|
+ description: '为安全生产事故提供智能化应急处置和事故调查解决方案。',
|
|
|
+ features: [
|
|
|
+ { title: '事故报告', description: '安全事故快速报告系统' },
|
|
|
+ { title: '应急响应', description: '事故现场应急响应支持' },
|
|
|
+ { title: '事故调查', description: '安全事故智能调查系统' },
|
|
|
+ { title: '教训总结', description: '事故案例分析和经验教训总结' }
|
|
|
+ ],
|
|
|
+ scenarios: [
|
|
|
+ { title: '事故处置', description: '生产安全事故现场处置' },
|
|
|
+ { title: '应急救援', description: '重大事故应急救援' },
|
|
|
+ { title: '事故调查', description: '安全事故原因调查' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
+const currentPath = computed(() => route.path);
|
|
|
+
|
|
|
+const getConfig = (path: string): SolutionConfig | undefined => {
|
|
|
+ const pathSegments = path.split('/');
|
|
|
+ const lastSegment = pathSegments[pathSegments.length - 1];
|
|
|
+
|
|
|
+ if (path.includes('emergency')) {
|
|
|
+ return emergencyConfigs[lastSegment];
|
|
|
+ } else if (path.includes('law-enforcement')) {
|
|
|
+ return lawEnforcementConfigs[lastSegment];
|
|
|
+ } else if (path.includes('public-safety')) {
|
|
|
+ return publicSafetyConfigs[lastSegment];
|
|
|
+ } else if (path.includes('safety-production')) {
|
|
|
+ return safetyProductionConfigs[lastSegment];
|
|
|
+ }
|
|
|
+
|
|
|
+ return undefined;
|
|
|
+};
|
|
|
+
|
|
|
+const config = computed(() => getConfig(currentPath.value));
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div v-if="config" class="solution-layout">
|
|
|
+ <h1>{{ config.title }}</h1>
|
|
|
+ <p class="description">{{ config.description }}</p>
|
|
|
+
|
|
|
+ <section class="features">
|
|
|
+ <h2>核心功能</h2>
|
|
|
+ <ul>
|
|
|
+ <li v-for="feature in config.features" :key="feature.title">
|
|
|
+ <h3>{{ feature.title }}</h3>
|
|
|
+ <p>{{ feature.description }}</p>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <section class="scenarios">
|
|
|
+ <h2>应用场景</h2>
|
|
|
+ <ul>
|
|
|
+ <li v-for="scenario in config.scenarios" :key="scenario.title">
|
|
|
+ <h3>{{ scenario.title }}</h3>
|
|
|
+ <p>{{ scenario.description }}</p>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </section>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+@use '@/assets/styles/variables' as v;
|
|
|
+@use '@/assets/styles/mixins' as m;
|
|
|
+
|
|
|
+.solution-layout {
|
|
|
+ padding: v.$spacing-xl;
|
|
|
+ max-width: 1200px;
|
|
|
+ margin: 0 auto;
|
|
|
+
|
|
|
+ h1 {
|
|
|
+ font-size: v.$font-size-xxl;
|
|
|
+ color: v.$text-primary;
|
|
|
+ margin-bottom: v.$spacing-lg;
|
|
|
+ }
|
|
|
+
|
|
|
+ .description {
|
|
|
+ font-size: v.$font-size-lg;
|
|
|
+ color: v.$text-secondary;
|
|
|
+ margin-bottom: v.$spacing-xl;
|
|
|
+ }
|
|
|
+
|
|
|
+ section {
|
|
|
+ margin-bottom: v.$spacing-xxl;
|
|
|
+
|
|
|
+ h2 {
|
|
|
+ font-size: v.$font-size-xl;
|
|
|
+ color: v.$text-primary;
|
|
|
+ margin-bottom: v.$spacing-lg;
|
|
|
+ }
|
|
|
+
|
|
|
+ ul {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
|
+ gap: v.$spacing-lg;
|
|
|
+ list-style: none;
|
|
|
+ padding: 0;
|
|
|
+
|
|
|
+ li {
|
|
|
+ background: v.$background-light;
|
|
|
+ border-radius: v.$border-radius-lg;
|
|
|
+ padding: v.$spacing-lg;
|
|
|
+ box-shadow: v.$shadow-sm;
|
|
|
+
|
|
|
+ h3 {
|
|
|
+ font-size: v.$font-size-lg;
|
|
|
+ color: v.$primary-color;
|
|
|
+ margin-bottom: v.$spacing-sm;
|
|
|
+ }
|
|
|
+
|
|
|
+ p {
|
|
|
+ color: v.$text-secondary;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|