feat: 灾毁H5 新增路线类型

This commit is contained in:
niedongsheng 2026-05-06 10:59:29 +08:00
parent a8f8f311b3
commit 38e84599ae
3 changed files with 61 additions and 2 deletions

View File

@ -15,11 +15,20 @@
<span>校准时间</span> <span>校准时间</span>
</div> </div>
<BasePicker
v-model="routeFilterForm.routeType"
:options="options['roadType']"
label="路线类型"
placeholder="请选择"
@change="handleRouteTypeChange"
/>
<!-- 线路编号 (顶层 routeNo) --> <!-- 线路编号 (顶层 routeNo) -->
<RoadRoutesPicker <RoadRoutesPicker
v-model="formData.event.routeNo" v-model="formData.event.routeNo"
label="线路编号" label="线路编号"
placeholder="请选择" placeholder="请选择"
:extra-params="{ xzdj: routeFilterForm.routeType }"
@change="handleRouteNoChange" @change="handleRouteNoChange"
/> />
@ -192,6 +201,10 @@ const formData = ref({
yhzMaterialList: [], yhzMaterialList: [],
}); });
const routeFilterForm = ref({
routeType: '',
});
const parsePointValue = point => { const parsePointValue = point => {
if (!point) { if (!point) {
return { longitude: null, latitude: null }; return { longitude: null, latitude: null };
@ -221,6 +234,20 @@ const parsePointValue = point => {
return { longitude: null, latitude: null }; return { longitude: null, latitude: null };
}; };
const resetRouteFields = () => {
formData.value.event.routeNo = '';
formData.value.event.startStakeNo = '';
formData.value.event.startStakeLng = '';
formData.value.event.startStakeLat = '';
formData.value.event.endStakeNo = '';
formData.value.event.endStakeLng = '';
formData.value.event.endStakeLat = '';
};
const handleRouteTypeChange = () => {
resetRouteFields();
};
const handleRouteNoChange = (item = {}) => { const handleRouteNoChange = (item = {}) => {
formData.value.event.routeNo = item.routeCode; formData.value.event.routeNo = item.routeCode;
formData.value.event.startStakeNo = item.startStakeNo; formData.value.event.startStakeNo = item.startStakeNo;

View File

@ -29,8 +29,22 @@
<span>校准时间</span> <span>校准时间</span>
</div> </div>
<BasePicker
v-model="routeFilterForm.routeType"
:options="options['roadType']"
label="路线类型"
placeholder="请选择"
@change="handleRouteTypeChange"
/>
<!-- 线路编号 (顶层 routeNo) --> <!-- 线路编号 (顶层 routeNo) -->
<RoadRoutesPicker v-model="formData.event.routeNo" label="线路编号" placeholder="请选择" @change="handleRouteNoChange" /> <RoadRoutesPicker
v-model="formData.event.routeNo"
label="线路编号"
placeholder="请选择"
:extra-params="{ xzdj: routeFilterForm.routeType }"
@change="handleRouteNoChange"
/>
<!-- 起点桩号 (event.startStakeNo) --> <!-- 起点桩号 (event.startStakeNo) -->
<van-field v-model="formData.event.startStakeNo" label="起点桩号(K)" placeholder="请填写" /> <van-field v-model="formData.event.startStakeNo" label="起点桩号(K)" placeholder="请填写" />
@ -204,6 +218,10 @@ const formData = ref({
fileList: [] fileList: []
}) })
const routeFilterForm = ref({
routeType: ''
})
const submitting = ref(false) const submitting = ref(false)
// //
@ -251,6 +269,20 @@ const parsePointValue = (point) => {
return { longitude: null, latitude: null } return { longitude: null, latitude: null }
} }
const resetRouteFields = () => {
formData.value.event.routeNo = ''
formData.value.event.startStakeNo = ''
formData.value.event.startStakeLng = ''
formData.value.event.startStakeLat = ''
formData.value.event.endStakeNo = ''
formData.value.event.endStakeLng = ''
formData.value.event.endStakeLat = ''
}
const handleRouteTypeChange = () => {
resetRouteFields()
}
const handleRouteNoChange = (item) => { const handleRouteNoChange = (item) => {
formData.value.event.routeNo = item.routeCode formData.value.event.routeNo = item.routeCode
formData.value.event.startStakeNo = item.startStakeNo formData.value.event.startStakeNo = item.startStakeNo

View File

@ -7,7 +7,7 @@
</span> </span>
<van-icon name="arrow-down" class="selector-icon" /> <van-icon name="arrow-down" class="selector-icon" />
</div> --> </div> -->
<van-field :modelValue="modelValue" is-link readonly :label="label" :placeholder="placeholder" :rules="rules" :required="required" @click="showPicker = true" /> <van-field :modelValue="modelValue" is-link readonly :label="label" :placeholder="placeholder" :rules="rules" :required="required" @click="openPicker" />
<!-- 移动端弹出层使用 van-action-sheet + 内部列表 --> <!-- 移动端弹出层使用 van-action-sheet + 内部列表 -->
<van-action-sheet v-model:show="showPicker" :title="dialogTitle" :close-on-click-action="false" round :style="{ maxHeight: '80vh' }" @close="handlePickerClose"> <van-action-sheet v-model:show="showPicker" :title="dialogTitle" :close-on-click-action="false" round :style="{ maxHeight: '80vh' }" @close="handlePickerClose">