diff --git a/packages/mobile/src/views/DisasterManagement/DisasterReport.vue b/packages/mobile/src/views/DisasterManagement/DisasterReport.vue index d2df783..8cf4cc7 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterReport.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterReport.vue @@ -37,7 +37,7 @@ import { showToast, showSuccessToast, showFailToast } from 'vant' import PageContainer from '@/components/PageContainer.vue' import CurrentSite from '@/components/CurrentSite.vue' import PanelItem from '@/components/PanelItem.vue' -import WaterDisaster from './WaterDisaster.vue' +import WaterDisaster from './WaterDisaster/WaterDisaster.vue' const router = useRouter() diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/CubeCalculateDialog.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/CubeCalculateDialog.vue new file mode 100644 index 0000000..7cd4ecb --- /dev/null +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/CubeCalculateDialog.vue @@ -0,0 +1,159 @@ + + + diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/LossList.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/LossList.vue new file mode 100644 index 0000000..2cd9621 --- /dev/null +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/LossList.vue @@ -0,0 +1,72 @@ + + + + + \ No newline at end of file diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue similarity index 82% rename from packages/mobile/src/views/DisasterManagement/WaterDisaster.vue rename to packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue index acf7a26..2c86c31 100644 --- a/packages/mobile/src/views/DisasterManagement/WaterDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue @@ -120,11 +120,8 @@ -
- 塌方及损失 - {{ formData.collapseLoss }}万/万元 -
- 添加损失 + + 添加损失 @@ -207,6 +191,7 @@ import { showToast, showFailToast } from 'vant' import PanelItem from '@/components/PanelItem.vue' import BasePicker from '@/components/BasePicker.vue' import BaseDatePicker from '@/components/BaseDatePicker.vue' +import LossList from './LossList.vue' // 定义 props const props = defineProps({ @@ -244,7 +229,7 @@ const formData = reactive({ strandedPeople: '', damagedVehicles: '', strandedVehicles: '', - collapseLoss: '0', + collapseLoss: [], handlingSituation: '', totalLossAmount: '', machineryInput: '', @@ -252,12 +237,10 @@ const formData = reactive({ fundsInput: '', siteDescription: '', imageFiles: [], - videoFile: [] + videoFile: [], + lossList: [{ value: '' }] }) -// 弹窗显示状态 -const showLossDialog = ref(false) - // BasePicker 选项数据 const roadConditionOptions = [ { label: '高速公路', value: '高速公路' }, @@ -284,30 +267,6 @@ const repairProgressOptions = [ const minDate = new Date(2020, 0, 1) const maxDate = new Date(2030, 11, 31) -// 损失计算表单 -const lossForm = reactive({ - length: '', - width: '', - height: '', - unitPrice: '' -}) - -// 计算塌方量 -const calculatedVolume = computed(() => { - const l = parseFloat(lossForm.length) || 0 - const w = parseFloat(lossForm.width) || 0 - const h = parseFloat(lossForm.height) || 0 - return (l * w * h).toFixed(2) -}) - -// 计算损失金额(万元) -const calculatedLoss = computed(() => { - const volume = parseFloat(calculatedVolume.value) || 0 - const price = parseFloat(lossForm.unitPrice) || 0 - const lossYuan = volume * price - return (lossYuan / 10000).toFixed(2) -}) - // 监听父组件传入的数据 watch( () => props.modelValue, @@ -350,27 +309,6 @@ const calibrateEndCoord = () => { showToast('止点经纬度已校准') } -// 确认损失计算 -const confirmLoss = () => { - const lossValue = calculatedLoss.value - if (parseFloat(lossValue) > 0) { - formData.collapseLoss = lossValue - if (formData.totalLossAmount) { - const currentTotal = parseFloat(formData.totalLossAmount) || 0 - formData.totalLossAmount = (currentTotal + parseFloat(lossValue)).toFixed(2) - } else { - formData.totalLossAmount = lossValue - } - } else { - showToast('请填写有效的长宽高和单价') - } - lossForm.length = '' - lossForm.width = '' - lossForm.height = '' - lossForm.unitPrice = '' - showLossDialog.value = false -} - // 图片上传处理 const afterImageRead = (file) => { console.log('图片上传:', file) @@ -415,7 +353,6 @@ defineExpose({