feat: 修改线路编号选择组件 传递表单验证规则参数
This commit is contained in:
parent
bb74f03feb
commit
cec95f79c0
@ -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
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
<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: '请填写线路编号' }]" />
|
||||
<RoadRoutesPicker v-model="form.project.routeNo" label="线路编号" center placeholder="请选择" required
|
||||
:rules="[{ required: true, message: '请选择线路编号' }]" @change="handleRouteNoChange" />
|
||||
<van-field v-model="form.project.startStakeNo" label="起点桩号" center placeholder="请填写" required
|
||||
:rules="[{ required: true, message: '请填写起点桩号' }]" />
|
||||
<van-field v-model="form.project.endStakeNo" label="止点桩号" center placeholder="请填写" required
|
||||
@ -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>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user