railWay.vue 2.64 KB
Newer Older
neogcg's avatar
neogcg committed
1
<template>
neogcg's avatar
neogcg committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
  <div>
    <el-form
      ref="form"
      :model="formData"
      :rules="rules"
      label-width="200px"
      class="form"
    >
      <el-form-item label="铁路名:" prop="name">
        <el-input v-model="formData.name" placeholder="请输入铁路名" />
      </el-form-item>
      <el-form-item label="铁路线起点站名:" prop="startPointName">
        <el-input
          v-model="formData.startPointName"
          placeholder="请输入铁路线起点站名"
        />
      </el-form-item>
      <el-form-item label="铁路线终点站名:" prop="endPointName">
        <el-input
          v-model="formData.endPointName"
          placeholder="请输入铁路线终点站名"
        />
      </el-form-item>
      <el-form-item label="铁路全长(公里):" prop="totalLong">
        <el-input
          v-model="formData.totalLong"
          placeholder="请输入铁路全长公里数"
        />
      </el-form-item>
    </el-form>
    <div class="btn">
neogcg's avatar
neogcg committed
33 34 35
      <el-button type="primary" @click="reset">重置</el-button>
      <el-button type="primary" @click="submit">确认提交</el-button>
    </div>
neogcg's avatar
neogcg committed
36
  </div>
neogcg's avatar
neogcg committed
37 38
</template>
<script>
neogcg's avatar
neogcg committed
39
import { railWaysave } from "../../api";
neogcg's avatar
neogcg committed
40
import { successAlert, warningAlert } from "@/utils/alert";
neogcg's avatar
neogcg committed
41

neogcg's avatar
neogcg committed
42
export default {
neogcg's avatar
neogcg committed
43 44
  data() {
    return {
neogcg's avatar
neogcg committed
45 46 47
      formData: formInit(),
      rules: {
        name: [{ required: true, message: "请输入铁路名", trigger: "blur" }],
neogcg's avatar
neogcg committed
48 49 50 51 52 53
        startPointName: [
          { required: true, message: "请输入铁路线起点站名", trigger: "blur" },
        ],
        endPointName: [
          { required: true, message: "请输入铁路线终点站名", trigger: "blur" },
        ],
neogcg's avatar
neogcg committed
54
       
yanzhongrong's avatar
yanzhongrong committed
55 56
        totalLong: [ 
          { required: true, pattern:/^0\.([1-9]|\d[1-9])$|^[1-9]\d{0,7}\.\d{0,2}$|^[1-9]\d{0,7}$/, message: "最大输入8位整数(小数点后最多2位)", trigger: "blur" },
neogcg's avatar
neogcg committed
57 58
        ],
      },
neogcg's avatar
neogcg committed
59 60 61 62
    };
  },
  methods: {
    reset() {
neogcg's avatar
neogcg committed
63 64 65
      this.$refs.form.resetFields();
    },
    submit() {
neogcg's avatar
neogcg committed
66
      this.$refs.form.validate((valid) => {
neogcg's avatar
neogcg committed
67
        if (valid) {
neogcg's avatar
neogcg committed
68
          railWaysave(this.formData).then((res) => {
neogcg's avatar
neogcg committed
69 70 71
            if (res.code == 200) {
              successAlert("添加成功");
            } else {
neogcg's avatar
neogcg committed
72
              warningAlert("添加失败");
neogcg's avatar
neogcg committed
73 74
            }
          });
neogcg's avatar
neogcg committed
75
        }
neogcg's avatar
neogcg committed
76
        this.formData = formInit();
neogcg's avatar
neogcg committed
77 78
      });
    },
neogcg's avatar
neogcg committed
79
  },
neogcg's avatar
neogcg committed
80
};
neogcg's avatar
neogcg committed
81 82
function formInit(data = {}) {
  return {
neogcg's avatar
neogcg committed
83 84 85 86
    endPointName: "",
    name: "",
    startPointName: "",
    totalLong: "",
neogcg's avatar
neogcg committed
87 88 89
    ...data,
  };
}
neogcg's avatar
neogcg committed
90 91 92
</script>
<style lang="scss" scoped>
.form {
neogcg's avatar
neogcg committed
93 94 95 96 97 98
  padding: 20px 0;
  width: 600px;
  margin: 0 auto;
}
.btn {
  text-align: center;
yanzhongrong's avatar
yanzhongrong committed
99 100
  padding: 20px 0 50px 0;

neogcg's avatar
neogcg committed
101
}
neogcg's avatar
neogcg committed
102
</style>