diff --git a/packages/mobile/src/components/BasePicker.vue b/packages/mobile/src/components/BasePicker.vue index 68470dd..c8af136 100644 --- a/packages/mobile/src/components/BasePicker.vue +++ b/packages/mobile/src/components/BasePicker.vue @@ -15,6 +15,7 @@ { + // 布尔值需要转换为数字交给picker, 在设置的时候,又需要转换回来 + if(props.modelValue === true) return [1] + if(props.modelValue === false) return [0] + return [props.modelValue] +} + // 处理 Picker 数据格式:将 options 转为 Picker 需要的文本数组 const columns = computed(() => { return props.options.map(item => { + let value = item[props.valueKey] + let isBoolean = false + // vant不支持布尔值,需要做转换 + if(value === true) { + value = 1 + isBoolean = true + } + if(value === false) { + value = 0 + isBoolean = true + } + return { text: item[props.labelKey], - value: item[props.valueKey] + value, + isBoolean } }) }) @@ -119,7 +140,11 @@ const openPicker = () => { // 确认选择 const onConfirm = ({ selectedValues, selectedOptions }) => { - const value = selectedOptions[0][props.valueKey] + let value = selectedOptions[0][props.valueKey] + // 如果是布尔值,需要转换为布尔值 + if(selectedOptions[0].isBoolean) { + value = value === 1 ? true : false + } const label = selectedOptions[0][props.labelKey] emit('update:modelValue', value) emit('change', { value, label }) diff --git a/packages/mobile/src/components/TagFilter.vue b/packages/mobile/src/components/TagFilter.vue index 8246d0a..a7ab4a4 100644 --- a/packages/mobile/src/components/TagFilter.vue +++ b/packages/mobile/src/components/TagFilter.vue @@ -45,17 +45,7 @@ const props = defineProps({ // 标签列表 tags: { type: Array, - default: () => [ - { label: '全部', value: 'all' }, - { label: '边坡坍塌', value: '边坡坍塌' }, - { label: '泥石流', value: '泥石流' }, - { label: '路基沉陷', value: '路基沉陷' }, - { label: '山体滑坡', value: '山体滑坡' }, - { label: '行道树倒塌', value: '行道树倒塌' }, - { label: '积水', value: '积水' }, - { label: '积雪', value: '积雪' }, - { label: '其他', value: '其他' } - ] + default: () => [] } }) @@ -86,7 +76,8 @@ const selectTag = (value) => { // 重置筛选 const resetFilter = () => { - tempSelectedTag.value = 'all' + tempSelectedTag.value = null + emit('update:modelValue', tempSelectedTag.value) } // 确认筛选 diff --git a/packages/mobile/src/router/index.js b/packages/mobile/src/router/index.js index f8e9de7..185152a 100644 --- a/packages/mobile/src/router/index.js +++ b/packages/mobile/src/router/index.js @@ -62,7 +62,7 @@ const routes = [ component: () => import('../views/IceEvent/IceEventAdd.vue') }, { - path: '/iceEventDetail/:data', + path: '/iceEventDetail', name: 'IceEventDetail', component: () => import('../views/IceEvent/IceEventDetails.vue') }, @@ -107,9 +107,8 @@ const routes = [ component: () => import('../views/DisasterManagement/DisasterReport.vue') }, { - path: '/disasterDetail', - name: 'DisasterDetail', - component: () => import('../views/DisasterManagement/DisasterDetail.vue') + path: '/waterDisasterDetail', + component: () => import('../views/DisasterManagement/WaterDisasterDetail.vue') } ] diff --git a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue index b17de77..5ec26b1 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue @@ -1,7 +1,16 @@