From fc7e3ee0a956c65312f67d63ee5cf340f6fbdaff Mon Sep 17 00:00:00 2001 From: fanjia <3278303149@qq.com> Date: Tue, 21 Apr 2026 17:46:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=8D=E5=BA=94=E6=83=85=E5=86=B5=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E7=AD=9B=E9=80=89=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=8C=E9=A2=84=E8=AD=A6=E6=83=85=E5=86=B5=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=B1=E5=93=8D=E5=8C=BA=E5=9F=9F=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dialog/impactPointDetailDialog.vue | 8 ++-- .../Dialog/responsePointDetailDialog.vue | 2 +- .../Dialog/responsePointInfoDialog.vue | 2 +- .../Dialog/riskPointDetailDialog.vue | 2 +- .../RiskWarning/Dialog/warningInfoDialog.vue | 40 ++++++++++++++++--- .../Dialog/warningSituationDialog.vue | 11 +++-- .../src/views/RiskWarning/component/index.js | 8 ++-- 7 files changed, 54 insertions(+), 19 deletions(-) diff --git a/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue index b15d4b9..2874934 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue @@ -65,7 +65,7 @@ -
+
照片 @@ -107,13 +107,13 @@
现场情况描述: {{ record.description }} -
- 现场照片 -
+ +
-->
是否发现问题: diff --git a/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue index be252f9..ff1f081 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue @@ -106,7 +106,7 @@
- 现场照片 +
diff --git a/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue index b63b792..74da4ab 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue @@ -126,7 +126,7 @@ class="detail-image" @click="previewImage(patrolRecord.image)" > - 现场照片 + diff --git a/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue index 339e75f..79f9f3d 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue @@ -156,7 +156,7 @@ class="detail-image" @click="previewImage(patrolRecord.image)" > - 现场照片 + diff --git a/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue index 5541346..fc5b5dc 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue @@ -21,8 +21,10 @@ { currentPage.value = val; fetchData(); }; - +// 处理预警等级变化 +const handleWarningLevelChange = () => { + currentPage.value = 1; + fetchData(); +}; // 获取预警通知统计 const fetchData = async () => { try { @@ -222,7 +234,23 @@ const fetchData = async () => { end: '', offset: (currentPage.value - 1) * pageSize.value, limit: pageSize.value, + + riskLevel: filterForm.value.warningLevel || '', + countyName: '', + isExpire: filterForm.value.isEnded, + isReply: filterForm.value.isResponded, }; + + if (regionOptions.value.length > 0) { + // 处理影响区域筛选 + const selectedRegion = regionOptions.value.find( + option => option.value === filterForm.value.region + ); + if (selectedRegion) { + params.countyName = selectedRegion.label == '全部' ? '' : selectedRegion.label || ''; + } + } + if (props.dispatchDateRange.length > 0) { params.start = formatDateTime(props.dispatchDateRange[0]) || ''; params.end = formatDateTime(props.dispatchDateRange[1]) || ''; @@ -303,7 +331,7 @@ watch( .filter-item { .filter-select { - width: 120px; + width: 150px; :deep(.el-input__wrapper) { background-color: rgba(30, 70, 120, 0.4); diff --git a/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue index 354b4f0..946716d 100644 --- a/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue +++ b/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue @@ -187,7 +187,7 @@ const tableHeight = ref(300); const tableColumns = ref([ { prop: 'index', label: '序号', width: '' }, { prop: 'riskLeve', label: '预警等级', width: '', slot: 'riskLeve' }, - { label: '来源', prop: 'source', width: '' }, + { prop: 'source', label: '来源', width: '' }, { prop: 'weatherType', label: '气象类型', width: '' }, { prop: 'countyName', label: '影响区域', width: '' }, { prop: 'warningTime', label: '生效时间', width: '' }, @@ -226,7 +226,12 @@ const fetchWarningData = async () => { params.riskLevel = filterForm.value.riskLeve; } if (filterForm.value.countyName) { - params.countyName = filterForm.value.countyName; + const selectedRegion = regionOptions.value.find( + option => option.value === filterForm.value.countyName + ); + if (selectedRegion) { + params.countyName = selectedRegion.label == '全部' ? '' : selectedRegion.label || ''; + } } if (filterForm.value.isEnded !== undefined && filterForm.value.isEnded !== '') { params.isExpire = filterForm.value.isEnded; @@ -250,9 +255,9 @@ const fetchWarningData = async () => { tableData.value = list.map((item, index) => ({ index: index + 1, riskLeve: item.riskLeve || '-', + source: item.source || '-', weatherType: item.weatherType || '-', countyName: item.countyName || '-', - source: item.source || '-', warningTime: item.startTime || '-', endTime: item.endTime || '-', impactCount: item.affectedCount || 0, diff --git a/packages/screen/src/views/RiskWarning/component/index.js b/packages/screen/src/views/RiskWarning/component/index.js index caa5fc3..fd5d133 100644 --- a/packages/screen/src/views/RiskWarning/component/index.js +++ b/packages/screen/src/views/RiskWarning/component/index.js @@ -54,7 +54,8 @@ export const fetchRoadConditionOptions = async () => { label: item, value: item, })); - typeOptions.value = options; + // 保留"全部"选项,并添加接口返回的数据 + typeOptions.value = [{ label: '全部', value: '' }, ...options]; return options; } } catch (error) { @@ -100,6 +101,7 @@ export const fetchControlMeasureOptions = async () => { // 风险等级选项 export const riskLevelOptions = [ + { label: '全部', value: '' }, { label: '一级', value: '一级' }, { label: '二级', value: '二级' }, { label: '三级', value: '三级' }, @@ -125,8 +127,8 @@ export const pointLevelOptions = [ // 是否回应选项 export const isRespondedOptions = [ { label: '全部', value: '' }, - { label: '是', value: 'yes' }, - { label: '否', value: 'no' }, + { label: '是', value: true }, + { label: '否', value: false }, ]; // 预警等级选项