This commit is contained in:
niedongsheng 2026-04-15 10:45:02 +08:00
commit 68c6df8af8
2 changed files with 25 additions and 8 deletions

View File

@ -7,7 +7,7 @@
</span>
<van-icon name="arrow-down" class="selector-icon" />
</div> -->
<van-field :modelValue="modelValue" is-link readonly :label="label" :placeholder="placeholder" @click="showPicker = true" />
<van-field :modelValue="modelValue" is-link readonly :label="label" :placeholder="placeholder" :rules="rules" :required="required" @click="showPicker = true" />
<!-- 移动端弹出层使用 van-action-sheet + 内部列表 -->
<van-action-sheet v-model:show="showPicker" :title="dialogTitle" :close-on-click-action="false" round :style="{ maxHeight: '80vh' }" @close="handlePickerClose">
@ -84,6 +84,16 @@ const props = defineProps({
searchDelay: {
type: Number,
default: 500
},
//
rules: {
type: Array,
default: () => []
},
//
required: {
type: Boolean,
default: false
}
})

View File

@ -5,11 +5,11 @@
<van-form ref="formRef" label-align="left" colon>
<van-field v-model="form.project.districtName" label="区县名称" center placeholder="请填写" required
:rules="[{ required: true, message: '请填写区县名称' }]" />
<van-field v-model="form.project.routeNo" label="线路编号" center placeholder="请填写" required
:rules="[{ required: true, message: '请填写线路编号' }]" />
<van-field v-model="form.project.startStakeNo" label="起点桩号" center placeholder="请填写" required
<RoadRoutesPicker v-model="form.project.routeNo" label="线路编号" center placeholder="请选择" required
:rules="[{ required: true, message: '请选择线路编号' }]" @change="handleRouteNoChange" />
<van-field v-model="form.project.startStakeNo" label="起点桩号" disabled center placeholder="请选择线路编号" required
:rules="[{ required: true, message: '请填写起点桩号' }]" />
<van-field v-model="form.project.endStakeNo" label="止点桩号" center placeholder="请填写" required
<van-field v-model="form.project.endStakeNo" label="止点桩号" disabled center placeholder="请选择线路编号" required
:rules="[{ required: true, message: '请填写止点桩号' }]" />
<van-field v-model="form.project.implementMileage" label="实施里程" center placeholder="单位:公里" required
type="number" :rules="[{ required: true, message: '请填写实施里程' }]">
@ -59,6 +59,7 @@ import PageContainer from '@/components/PageContainer.vue'
import { showToast, showLoadingToast } from "vant";
import PanelItem from '@/components/PanelItem.vue'
import { request } from "../../../../shared/utils/request";
import RoadRoutesPicker from '../DisasterManagement/RoadRoutesPicker.vue'
const router = useRouter()
const route = useRoute()
@ -193,6 +194,12 @@ const handleAdd = async () => {
}
const handleRouteNoChange = (item) => {
form.project.startStakeNo = item.startStakeNo
form.project.endStakeNo = item.endStakeNo
}
</script>