<template> <div class="add"> <div class="add-tab"> <el-tabs v-model="activeName" :stretc="true"> <el-tab-pane v-for="item in tabs" :key="item.key" :label="item.label" :name="item.key" /> </el-tabs> </div> <div class="add-content"> <div class="add-content-title">添加铁路信息</div> <el-form ref="form" :model="formData" :rules="rules" label-width="200px" class="add-content-form"> <el-form-item label="铁路名" prop="name"> <el-input v-model="formData.name" placeholder="请输入铁路名" /> </el-form-item> <el-form-item label="铁路线起点站名" prop="start"> <el-input v-model="formData.start" placeholder="请输入铁路线起点站名" /> </el-form-item> <el-form-item label="铁路线终点站名" prop="end"> <el-input v-model="formData.end" placeholder="请输入铁路线终点站名" /> </el-form-item> <el-form-item label="铁路全长(公里)" prop="long"> <el-input v-model="formData.long" placeholder="请输入铁路全长公里数" /> </el-form-item> </el-form> <div class="add-content-btn"> <el-button type="primary" @click="reset">重置</el-button> <el-button type="primary" @click="submit">确认提交</el-button> </div> </div> </div> </template> <script> export default { data() { return { activeName: '0', tabs: [ { label: '铁路线', key: '0' }, { label: '站点', key: '1' }, { label: 'FSU', key: '2' }, { label: '检测设备', key: '3' }, { label: '漏缆', key: '4' }, { label: '天馈线', key: '5' } ], formData: { name: '', start: '', end: '', long: '' }, rules: { name: [ { required: true, message: '请输入铁路名', trigger: 'blur' } // { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } ], start: [ { required: true, message: '请输入铁路线起点站名', trigger: 'blur' } ], end: [ { required: true, message: '请输入铁路线终点站名', trigger: 'blur' } ], long: [ { required: true, message: '请输入铁路全长公里数', trigger: 'blur' } ] } } }, methods: { reset() { this.$refs.form.resetFields() }, submit() { this.$refs.form.validate((valid) => { if (valid) { console.log(this.formData) } }) } } } </script> <style lang="scss" scoped> .add-tab { // width: 600px; margin: 0 auto; } ::v-deep .el-tabs__nav { display: flex; width: 100%; .el-tabs__item { flex: 1; text-align: center; font-size: 18px; color: #333; } } .add-content { display: flex; flex-direction: column; align-items: center; .add-content-title { width: 100%; height: 60px; background: rgba(226, 235, 255, 0.39); line-height: 60px; font-size: 18px; color: #333; font-weight: 500; text-align: center; } .add-content-form { padding-top: 20px; width: 600px; } } </style>