修改全局影响区域文字为行政区域,涉灾详情参数完成回填。
This commit is contained in:
parent
5e90481aaa
commit
9b9c852c52
@ -16,7 +16,7 @@
|
||||
<template #filter>
|
||||
<div class="filter-row">
|
||||
<div class="filter-item">
|
||||
<span class="filter-label">影响区域</span>
|
||||
<span class="filter-label">行政区域</span>
|
||||
<el-select
|
||||
:teleported="false"
|
||||
v-model="filterForm.district"
|
||||
@ -136,7 +136,7 @@ const tableHeight = ref(300);
|
||||
// 表格列配置
|
||||
const tableColumns = ref([
|
||||
{ prop: 'id', label: '序号', width: '' },
|
||||
{ prop: 'district', label: '影响区域', width: '' },
|
||||
{ prop: 'district', label: '行政区域', width: '' },
|
||||
{ prop: 'routeNo', label: '线路编号', width: '' },
|
||||
{ prop: 'stakeNo', label: '起止桩号', width: '', slot: 'stakeNo' },
|
||||
{ prop: 'location', label: '路况位置', width: '', slot: 'location' },
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<template #filter>
|
||||
<div class="filter-row">
|
||||
<div class="filter-item">
|
||||
<span class="filter-label">影响区域</span>
|
||||
<span class="filter-label">行政区域</span>
|
||||
<el-select :teleported="false" v-model="filterForm.region" placeholder="请选择" class="filter-select" clearable>
|
||||
<el-option
|
||||
v-for="item in regionOptions"
|
||||
@ -83,7 +83,7 @@ const filterForm = ref({
|
||||
riskLevel: "",
|
||||
});
|
||||
|
||||
// 影响区域选项
|
||||
// 行政区域选项
|
||||
// 已从 index.js 导入
|
||||
|
||||
// 风险等级选项
|
||||
@ -95,7 +95,7 @@ const tableHeight = ref(300);
|
||||
// 表格列配置
|
||||
const tableColumns = ref([
|
||||
{ prop: 'id', label: '序号', width: '60' },
|
||||
{ prop: 'region', label: '影响区域', width: '100' },
|
||||
{ prop: 'region', label: '行政区域', width: '100' },
|
||||
{ prop: 'stationName', label: '驻地名称', width: '200', slot: 'stationName' },
|
||||
{ prop: 'project', label: '所属项目', width: '200', slot: 'project' },
|
||||
{ prop: 'peopleCount', label: '驻地人数', width: '80' },
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<template #filter>
|
||||
<div class="filter-row">
|
||||
<div class="filter-item">
|
||||
<span class="filter-label">影响区域</span>
|
||||
<span class="filter-label">行政区域</span>
|
||||
<el-select :teleported="false"
|
||||
v-model="filterForm.region"
|
||||
placeholder="请选择"
|
||||
@ -76,7 +76,7 @@ const filterForm = ref({
|
||||
type: "",
|
||||
});
|
||||
|
||||
// 影响区域选项
|
||||
// 行政区域选项
|
||||
// 已从 index.js 导入
|
||||
|
||||
// 类型选项
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<template #filter>
|
||||
<div class="filter-row">
|
||||
<div class="filter-item">
|
||||
<span class="filter-label">影响区域</span>
|
||||
<span class="filter-label">行政区域</span>
|
||||
<el-select :teleported="false"
|
||||
v-model="filterForm.region"
|
||||
placeholder="请选择"
|
||||
@ -68,7 +68,7 @@ const filterForm = ref({
|
||||
region: "",
|
||||
});
|
||||
|
||||
// 影响区域选项
|
||||
// 行政区域选项
|
||||
// 已从 index.js 导入
|
||||
|
||||
// 表格高度
|
||||
@ -77,7 +77,7 @@ const tableHeight = ref(300);
|
||||
// 表格列配置
|
||||
const tableColumns = ref([
|
||||
{ prop: "id", label: "序号", width: "" },
|
||||
{ prop: "region", label: "影响区域", width: "" },
|
||||
{ prop: "region", label: "行政区域", width: "" },
|
||||
{ prop: "dispatchCount", label: "调度数", width: "", slot: "dispatchCount" },
|
||||
{ prop: "lastDispatchTime", label: "最近调度时间", width: "" },
|
||||
]);
|
||||
|
||||
@ -148,40 +148,62 @@ const total = ref(0);
|
||||
const currentPage = ref(1);
|
||||
const pageSize = ref(10);
|
||||
|
||||
// 隐患点数据
|
||||
// 隐患点数据(根据数据库字段映射)
|
||||
const hazardData = ref({
|
||||
district: '南川区',
|
||||
riskLevel: '较大隐患',
|
||||
roadCode: 'S523',
|
||||
location: '开县-凭祥(K292+301至K292+386)',
|
||||
riskDescription:
|
||||
'崩塌形成于路线右侧上边坡陡峭位置,影响长度85m,掉块、滑塌可能性极大。【类型:路内风险点-边坡】',
|
||||
measures: '已纳入灾害防治工程计划,拟采用坡面整理及挂网喷射植被混凝土整治。',
|
||||
// 基本信息
|
||||
district: '', // GL1_QXMC 区县名称
|
||||
riskLevel: '', // GL1_FXDJ 风险等级
|
||||
roadCode: '', // GL1_GLBH 路线编号
|
||||
roadName: '', // GL1_GLMC 路线名称
|
||||
location: '', // GL1_QDZH 起点桩号 + GL1_ZDZH 止点桩号
|
||||
riskDescription: '', // GL1_FXMS 风险描述
|
||||
riskType: '', // GL1_FXLX 风险类型
|
||||
measures: '', // GL1_CQCS 采取措施
|
||||
isWithinRedLine: '', // GL1_SFHXN 是否红线内
|
||||
|
||||
// 三级包保责任人
|
||||
trafficDept: {
|
||||
name: '何思毅',
|
||||
phone: '13896702005',
|
||||
frequency: '半年巡查一次',
|
||||
name: '', // GL1_JTXM 交通主管责任人姓名
|
||||
phone: '', // GL1_JTDH 交通主管责任人电话
|
||||
frequency: '',
|
||||
},
|
||||
roadOrg: {
|
||||
name: '杨洪',
|
||||
phone: '15025697135',
|
||||
frequency: '每月巡查一次',
|
||||
name: '', // GL1_JGXM 公路机构责任人姓名
|
||||
phone: '', // GL1_JGDH 公路机构责任人电话
|
||||
frequency: '',
|
||||
},
|
||||
maintenance: {
|
||||
name: '陈李彪',
|
||||
phone: '13896713399',
|
||||
frequency: '每周巡查一次',
|
||||
name: '', // GL1_YHXM 养护站责任人姓名
|
||||
phone: '', // GL1_YHDH 养护站责任人电话
|
||||
frequency: '',
|
||||
},
|
||||
roadKeeper: {
|
||||
name: '陈李彪',
|
||||
phone: '13896713399',
|
||||
frequency: '一周巡查两次',
|
||||
name: '', // GL1_HLXM 护路员姓名
|
||||
phone: '', // GL1_HLDH 护路员电话
|
||||
frequency: '',
|
||||
},
|
||||
earlyWarning: '当前无预警',
|
||||
offlinePatrol: '常态化巡查',
|
||||
trafficControl: '观察通行 半幅通行 禁止通行 无',
|
||||
forcePreposition: '安宁养护站',
|
||||
alarmBlocking: '设置警示标识 向社会发布信息 采取硬隔离措施 无',
|
||||
|
||||
// 六关信息
|
||||
earlyWarning: '', // GL1_YJDJ 预警等级
|
||||
offlinePatrol: '', // GL1_SFJCD 是否是监测点
|
||||
trafficControl: '', // GL1_SFZCQS 是否采取措施
|
||||
forcePreposition: '', // GL1_ZT 显示状态
|
||||
alarmBlocking: '', // GL1_SFZZWC 是否完成整治
|
||||
|
||||
// 其他信息
|
||||
isMeasureTaken: '', // GL1_SFCQCS 是否采取措施
|
||||
completeDeadline: '', // GL1_WCSX 完成时限
|
||||
expertOpinion: '', // GL1_ZJYJ 专家意见
|
||||
isTransferred: '', // GL1_SFGZYJ 是否规治移交
|
||||
auditStatus: '', // GL1_SHZT 审核状态
|
||||
auditUnit: '', // GL1_SHDW 审核单位
|
||||
reporter: '', // GL1_SBR 上报人姓名
|
||||
reportTime: '', // GL1_SBSJ 上报时间
|
||||
remark: '', // GL1_BZ 备注
|
||||
|
||||
// 坐标信息
|
||||
longitude: '', // GL1_LON 经度
|
||||
latitude: '', // GL1_LAT 纬度
|
||||
});
|
||||
|
||||
// 关闭弹窗
|
||||
@ -204,10 +226,70 @@ watch(
|
||||
() => props.visible,
|
||||
newVal => {
|
||||
if (newVal && props.data) {
|
||||
// 如果有传入数据,更新显示
|
||||
Object.assign(hazardData.value, props.data);
|
||||
// 根据数据库字段映射数据
|
||||
const data = props.data;
|
||||
hazardData.value = {
|
||||
// 基本信息
|
||||
district: data.GL1_QXMC || data.district || '',
|
||||
riskLevel: data.GL1_FXDJ || data.riskLevel || '',
|
||||
roadCode: data.GL1_GLBH || data.roadCode || '',
|
||||
roadName: data.GL1_GLMC || data.roadName || '',
|
||||
location:
|
||||
data.GL1_QDZH && data.GL1_ZDZH
|
||||
? `${data.GL1_QDZH}至${data.GL1_ZDZH}`
|
||||
: data.location || '',
|
||||
riskDescription: data.GL1_FXMS || data.riskDescription || '',
|
||||
riskType: data.GL1_FXLX || data.riskType || '',
|
||||
measures: data.GL1_CQCS || data.measures || '',
|
||||
isWithinRedLine: data.GL1_SFHXN || data.isWithinRedLine || '',
|
||||
|
||||
// 三级包保责任人
|
||||
trafficDept: {
|
||||
name: data.GL1_JTXM || data.trafficDept?.name || '',
|
||||
phone: data.GL1_JTDH || data.trafficDept?.phone || '',
|
||||
frequency: data.trafficDept?.frequency || '',
|
||||
},
|
||||
roadOrg: {
|
||||
name: data.GL1_JGXM || data.roadOrg?.name || '',
|
||||
phone: data.GL1_JGDH || data.roadOrg?.phone || '',
|
||||
frequency: data.roadOrg?.frequency || '',
|
||||
},
|
||||
maintenance: {
|
||||
name: data.GL1_YHXM || data.maintenance?.name || '',
|
||||
phone: data.GL1_YHDH || data.maintenance?.phone || '',
|
||||
frequency: data.maintenance?.frequency || '',
|
||||
},
|
||||
roadKeeper: {
|
||||
name: data.GL1_HLXM || data.roadKeeper?.name || '',
|
||||
phone: data.GL1_HLDH || data.roadKeeper?.phone || '',
|
||||
frequency: data.roadKeeper?.frequency || '',
|
||||
},
|
||||
|
||||
// 六关信息
|
||||
earlyWarning: data.GL1_YJDJ || data.earlyWarning || '',
|
||||
offlinePatrol: data.GL1_SFJCD || data.offlinePatrol || '',
|
||||
trafficControl: data.GL1_SFZCQS || data.trafficControl || '',
|
||||
forcePreposition: data.GL1_ZT || data.forcePreposition || '',
|
||||
alarmBlocking: data.GL1_SFZZWC || data.alarmBlocking || '',
|
||||
|
||||
// 其他信息
|
||||
isMeasureTaken: data.GL1_SFCQCS || data.isMeasureTaken || '',
|
||||
completeDeadline: data.GL1_WCSX || data.completeDeadline || '',
|
||||
expertOpinion: data.GL1_ZJYJ || data.expertOpinion || '',
|
||||
isTransferred: data.GL1_SFGZYJ || data.isTransferred || '',
|
||||
auditStatus: data.GL1_SHZT || data.auditStatus || '',
|
||||
auditUnit: data.GL1_SHDW || data.auditUnit || '',
|
||||
reporter: data.GL1_SBR || data.reporter || '',
|
||||
reportTime: data.GL1_SBSJ || data.reportTime || '',
|
||||
remark: data.GL1_BZ || data.remark || '',
|
||||
|
||||
// 坐标信息
|
||||
longitude: data.GL1_LON || data.longitude || '',
|
||||
latitude: data.GL1_LAT || data.latitude || '',
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
</script>
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
:teleported="false"
|
||||
v-model="filterForm.region"
|
||||
size="small"
|
||||
placeholder="影响区域"
|
||||
placeholder="行政区域"
|
||||
class="filter-select"
|
||||
>
|
||||
<el-option
|
||||
@ -260,7 +260,7 @@ const filterForm = ref({
|
||||
// 统一的表格列配置(桥梁、边坡、隧道、路段使用)
|
||||
const unifiedColumns = [
|
||||
{ prop: "id", label: "序号", width: "" },
|
||||
{ prop: "region", label: "影响区域", width: "" },
|
||||
{ prop: "region", label: "行政区域", width: "" },
|
||||
{ prop: "pointType", label: "影响点类型", width: "" },
|
||||
{ prop: "pointLocation", label: "影响点位置", width: "" },
|
||||
{ prop: "pointLevel", label: "影响点等级", width: "", slot: "pointLevel" },
|
||||
@ -296,7 +296,7 @@ const unifiedColumns = [
|
||||
// 项目类型专用表格列配置
|
||||
const projectColumns = [
|
||||
{ prop: "id", label: "序号", width: "60" },
|
||||
{ prop: "region", label: "影响区域", width: "" },
|
||||
{ prop: "region", label: "行政区域", width: "" },
|
||||
{ prop: "pointType", label: "影响点类型", width: "" },
|
||||
{ prop: "siteName", label: "驻地名称", width: "" },
|
||||
{
|
||||
@ -535,7 +535,7 @@ const processUnifiedData = (item, type) => {
|
||||
// 基础数据
|
||||
const baseData = {
|
||||
id: item.id,
|
||||
// 影响区域
|
||||
// 行政区域
|
||||
region:
|
||||
item.GL1_QXMC ||
|
||||
item.COUNTY ||
|
||||
@ -600,7 +600,7 @@ const processUnifiedData = (item, type) => {
|
||||
if (cardTypeVal.value === "桥梁") {
|
||||
return {
|
||||
...baseData,
|
||||
// 影响区域 - 使用区县名称
|
||||
// 行政区域 - 使用区县名称
|
||||
region: item.GL1_QXMC || "-",
|
||||
// 影响点位置 - 使用桥梁名称
|
||||
pointLocation: item.GL1_QLMC || "-",
|
||||
@ -641,7 +641,7 @@ const processUnifiedData = (item, type) => {
|
||||
if (cardTypeVal.value === "隧道") {
|
||||
return {
|
||||
...baseData,
|
||||
// 影响区域 - 使用区县名称
|
||||
// 行政区域 - 使用区县名称
|
||||
region: item.GL1_QXMC || item.GL1_QXBM || "-",
|
||||
// 影响点位置 - 使用隧道名称
|
||||
pointLocation: item.GL1_SDMC || "-",
|
||||
@ -682,7 +682,7 @@ const processUnifiedData = (item, type) => {
|
||||
if (cardTypeVal.value === "路段") {
|
||||
return {
|
||||
...baseData,
|
||||
// 影响区域 - 使用区县名称
|
||||
// 行政区域 - 使用区县名称
|
||||
region: item.GL1_ZDMC || "-",
|
||||
// 影响点位置 - 使用路线名称+起终点桩号
|
||||
pointLocation: `${item.GL1_GLMC || item.GL1_GLBH || "-"} (${item.GL1_QDZH || "-"} - ${item.GL1_ZDZH || "-"})`,
|
||||
@ -721,7 +721,7 @@ const processUnifiedData = (item, type) => {
|
||||
if (cardTypeVal.value === "项目") {
|
||||
return {
|
||||
...baseData,
|
||||
// 影响区域 - 使用COUNTY字段
|
||||
// 行政区域 - 使用COUNTY字段
|
||||
region: item.COUNTY || item.county || item.county_name || "-",
|
||||
// 影响点位置 - 使用项目名称
|
||||
pointLocation: item.PROJECT_NAME || item.projectName || item.name || "-",
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
<div class="filter-item">
|
||||
<el-select :teleported="false"
|
||||
v-model="filterForm.region"
|
||||
placeholder="影响区域"
|
||||
placeholder="行政区域"
|
||||
class="filter-select"
|
||||
>
|
||||
<el-option
|
||||
@ -128,7 +128,7 @@ const tableColumns = ref([
|
||||
{ prop: "id", label: "序号", width: "" },
|
||||
{ prop: "weatherSource", label: "气象来源", width: "" },
|
||||
{ prop: "warningLevel", label: "预警等级", width: "", slot: "warningLevel" },
|
||||
{ prop: "region", label: "影响区域", width: "" },
|
||||
{ prop: "region", label: "行政区域", width: "" },
|
||||
{ prop: "warningTime", label: "预警时间", width: "" },
|
||||
{ prop: "endTime", label: "结束时间", width: "" },
|
||||
{ prop: "impactPoints", label: "影响点数量", width: "" },
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="filter-item">
|
||||
<span class="filter-label">影响区域</span>
|
||||
<span class="filter-label">行政区域</span>
|
||||
<el-select
|
||||
v-model="filterForm.countyName"
|
||||
placeholder="请选择"
|
||||
@ -206,7 +206,7 @@ const tableColumns = ref([
|
||||
width: "",
|
||||
},
|
||||
{ prop: "weatherType", label: "气象类型", width: "" },
|
||||
{ prop: "countyName", label: "影响区域", width: "" },
|
||||
{ prop: "countyName", label: "行政区域", width: "" },
|
||||
{ prop: "warningTime", label: "生效时间", width: "" },
|
||||
{ prop: "endTime", label: "失效时间", width: "" },
|
||||
{
|
||||
|
||||
@ -438,4 +438,10 @@ defineExpose({
|
||||
:deep(.el-table .cell) {
|
||||
text-align: center;
|
||||
}
|
||||
:deep(.el-table:not(.el-table--border) .el-table__cell) {
|
||||
font-size: vw(14);
|
||||
}
|
||||
:deep(.el-table .cell) {
|
||||
font-size: vw(16);
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -81,6 +81,7 @@
|
||||
:showHazardPopup="showHazardPopup"
|
||||
:riskPointStats="riskPointStats"
|
||||
:roadvalArrtrue="roadvalArrtrue"
|
||||
:showRoadStats="showRoadStats"
|
||||
@openAIResult="openDialog('aiWarningResult')"
|
||||
@dateRangeChange="handleDateRangeChange"
|
||||
></top>
|
||||
@ -342,9 +343,11 @@ const changeActiveIndex = index => {
|
||||
activeitem.value = index;
|
||||
};
|
||||
const roadItem = ref({});
|
||||
const showRoadStats = ref(false);
|
||||
const roadItemClick = item => {
|
||||
console.log('点击路段:', item);
|
||||
roadItem.value = item;
|
||||
showRoadStats.value = true;
|
||||
};
|
||||
|
||||
// 处理隐患点点击
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="road-stats" v-if="roadStats.length > 0">
|
||||
<div class="road-stats" v-if="showRoadStats && roadStats.length > 0">
|
||||
<div v-for="(item, index) in roadStats" :key="index" class="stat-item">
|
||||
<span class="stat-label">{{ item.label }}</span>
|
||||
<span class="stat-value-container display ai_center">
|
||||
@ -65,6 +65,10 @@ const props = defineProps({
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
showRoadStats: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
});
|
||||
|
||||
watch(
|
||||
@ -199,9 +203,6 @@ const fetchRiskLevelCount = async () => {
|
||||
let roadTotal = 0;
|
||||
roadStats.value.forEach(item => {
|
||||
data.forEach(d => {
|
||||
debugger;
|
||||
console.log(item.label, d.level);
|
||||
console.log(item.label.includes(d.level));
|
||||
if (item.label.includes(d.level)) {
|
||||
roadTotal += Number(d.count);
|
||||
item.value = Number(d.count);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user