diff --git a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue index f4fd7d3..a164499 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue @@ -6,7 +6,6 @@ @@ -292,8 +237,7 @@ const route = useRoute() // 详情数据(对应 Data 接口) const detailData = ref({ event: null, // Event 对象 - report: null, // Report 对象(首报) - reportList: [], // 续报列表(可选,如果接口返回) + reportList: [], // 填报列表(包含首报和续报) fileList: [], // 附件列表 lossList: [], // 损失列表 occurLocation: '', @@ -302,42 +246,28 @@ const detailData = ref({ routeNo: '' }) -// 首报(优先使用 report,如果没有则从 reportList 中找 reportType === 1) -const firstReport = computed(() => { - if (detailData.value.report) { - return detailData.value.report - } - return detailData.value.reportList?.find(r => r.reportType === 1) -}) - -// 续报列表(reportType === 2) -const continueReports = computed(() => { - return detailData.value.reportList?.filter(r => r.reportType === 2) || [] +const allReports = computed(() => { + const reports = detailData.value.reportList?.map((item, index)=>{ + item.title = index == 0 ? '首报' : ('续报' + index) + return item + }) || [] + return reports.reverse() }) // 是否有填报数据 const hasReportData = computed(() => { - return firstReport.value || continueReports.value.length > 0 + return allReports.value.length > 0 }) -// 判断事件是否已解除(根据实际恢复时间或续报状态判断) -const isEventResolved = computed(() => { - // 如果首报有实际恢复时间且不为空,则认为已解除 - // if (firstReport.value?.actualRecoverTime) { - // return true - // } - // // 检查续报中是否有实际恢复时间 - // return continueReports.value.some(r => r.actualRecoverTime) -}) // 获取事件状态文本 const getEventStatusText = () => { - return isEventResolved.value ? '已解除' : '未解除' + return detailData.eventStatus === 1 ? '已解除' : '未解除' } // 获取事件状态类型 const getEventStatusType = () => { - return isEventResolved.value ? 'success' : 'danger' + return detailData.eventStatus === 1 ? 'success' : 'danger' } // 格式化处置措施(逗号分隔转中文) @@ -396,8 +326,7 @@ const getDisasterDetail = async () => { const data = result.data detailData.value = { event: data.event || null, - report: data.report || null, - reportList: data.reportList || [], + reportList: data.report || [], // 直接使用 reportList,包含首报和续报 fileList: data.fileList || [], lossList: data.lossList || [], occurLocation: data.occurLocation || '', diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue index 8f51399..cf3e45c 100644 --- a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue @@ -58,7 +58,7 @@ 校准经纬度 - + @@ -71,12 +71,13 @@
处置措施
- - 半幅封闭 - 全副封闭 - 便道通行 - 正常通行 - + + + 半幅封闭 + 全副封闭 + 便道通行 + 正常通行 +
@@ -198,8 +199,8 @@ const route = useRoute() // 是否为续报 const isContinue = computed(() => route.query.isContinue) -// 处置措施数组(用于多选框组,需要转换为逗号分隔的字符串) -const disposalMeasuresArray = ref([]) +// 处置措施单选值(用于单选组件) +const disposalMeasureValue = ref('') // 附件列表 const imageFileList = ref([]) @@ -240,7 +241,7 @@ const formData = reactive({ actualRecoverTime: '', // 实际恢复时间 damagedVehicleCount: '', // 损坏车辆 deadCount: '', // 死亡人员 - disposalMeasures: '', // 处置措施(逗号分隔) + disposalMeasures: '', // 处置措施(单个值,不再用逗号分隔) expectRecoverTime: '', // 预计恢复时间 injuredCount: '', // 受伤人员 investedFunds: '', // 已投资金 @@ -260,14 +261,10 @@ const formData = reactive({ fileList: [] }) -// 监听处置措施数组变化,转换为逗号分隔的字符串存到 report.disposalMeasures -watch( - disposalMeasuresArray, - (newVal) => { - formData.report.disposalMeasures = newVal.join(',') - }, - { deep: true } -) +// 监听处置措施单选值变化,直接赋值给 report.disposalMeasures +watch(disposalMeasureValue, (newVal) => { + formData.report.disposalMeasures = newVal +}) // 监听附件变化,同步到 fileList watch( @@ -313,12 +310,12 @@ watch( { deep: true } ) -// 从 report.disposalMeasures 初始化处置措施数组 +// 从 report.disposalMeasures 初始化处置措施单选值 watch( () => formData.report.disposalMeasures, (newVal) => { if (newVal && typeof newVal === 'string') { - disposalMeasuresArray.value = newVal.split(',').filter(Boolean) + disposalMeasureValue.value = newVal } }, { immediate: true } @@ -368,9 +365,9 @@ const initFormData = (newVal) => { fileList: newVal.fileList || [] }) - // 初始化处置措施数组 + // 初始化处置措施单选值(直接赋值,不再需要 split) if (newVal.report?.disposalMeasures) { - disposalMeasuresArray.value = newVal.report.disposalMeasures.split(',').filter(Boolean) + disposalMeasureValue.value = newVal.report.disposalMeasures } } } @@ -480,12 +477,12 @@ defineExpose({ margin-bottom: 8px; } .measures-options { - :deep(.van-checkbox-group) { + :deep(.van-radio-group) { display: flex; flex-wrap: wrap; gap: 16px; } - :deep(.van-checkbox) { + :deep(.van-radio) { margin-right: 0; } } @@ -526,4 +523,4 @@ defineExpose({ width: 110px; } } - + \ No newline at end of file diff --git a/packages/mobile/src/views/Rebuild/Rebuild.vue b/packages/mobile/src/views/Rebuild/Rebuild.vue index ce40740..8b2b6f3 100644 --- a/packages/mobile/src/views/Rebuild/Rebuild.vue +++ b/packages/mobile/src/views/Rebuild/Rebuild.vue @@ -5,20 +5,21 @@
-
-
起止桩号:{{ item.stationNumber }}
-
路况位置:{{ item.position }}
-
提交日期:{{ item.publishTime }}
+
起止桩号:{{ `${item.startStakeNo} - + ${item.endStakeNo}`}} +
+
路况位置:{{ item.roadLocation }}
+
提交日期:{{ item.submitTime }}
@@ -44,6 +45,7 @@ import SearchInput from '@/components/SearchInput.vue' import CurrentSite from '@/components/CurrentSite.vue' import CardItem from '@/components/CardItem.vue' import EmptyBox from '@/components/EmptyBox.vue' +import { request } from "../../../../shared/utils/request"; const router = useRouter() @@ -52,44 +54,28 @@ onMounted(() => { }) const getData = async () => { + const params = { + pageNum: 1, + pageSize: 999, + } + if (searchValue.value) { + params.districtName = searchValue.value + } + const res = await request({ + url: '/snow-ops-platform/recovery/list', + method: 'GET', + params + }) + if (res.code === '00000') { + list.value = res.data.records + } } // 搜索关键词 const searchValue = ref('') // 预警列表数据 -const list = ref([ - { - id: 1, - area: '彭水', - rNumber: 'G211', - type: '发生水毁道路崩塌恢复重建', - stationNumber: 'K1674.16-1678.84', - position: '徐家镇村口南分叉路口', - publishTime: '2025-05-20', - status: '审批通过' - }, - { - id: 2, - area: '巴南', - rNumber: 'S303', - type: '道路发生边坡坍塌', - stationNumber: 'K1674.16-1678.84', - position: '徐家镇村口南分叉路口', - publishTime: '2025-05-20', - status: '审批驳回' - }, - { - id: 3, - area: '彭水', - rNumber: 'G211', - type: '道路崩塌改造工程', - stationNumber: 'K1674.16-1678.84', - position: '徐家镇村口南分叉路口', - publishTime: '2025-05-20', - status: '审批通过' - }, -]) +const list = ref([]) const handleClickBack = () => { @@ -115,6 +101,10 @@ const handleAddDevice = () => { // }); } +watch(() => searchValue.value, () => { + getData() +}) + diff --git a/packages/mobile/src/views/Rebuild/RebuildAdd.vue b/packages/mobile/src/views/Rebuild/RebuildAdd.vue index cc0295e..09b0923 100644 --- a/packages/mobile/src/views/Rebuild/RebuildAdd.vue +++ b/packages/mobile/src/views/Rebuild/RebuildAdd.vue @@ -2,34 +2,32 @@
- - + - - - - - + - - - - - -