LevelAdd.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div class="level-add">
  3. <h1 v-if="ruleForm.id">添加等级</h1>
  4. <div class="form-content">
  5. <!-- model 绑定数据 对应data中的变量 -->
  6. <!-- rules 表单验证规则 -->
  7. <el-form
  8. :model="ruleForm"
  9. :rules="rules"
  10. ref="ruleForm"
  11. label-width="100px"
  12. class="demo-ruleForm"
  13. >
  14. <el-form-item label="等级名称" prop="name">
  15. <el-input v-model="ruleForm.name"></el-input>
  16. </el-form-item>
  17. <el-form-item>
  18. <el-button type="primary" @click="submitForm('ruleForm')"
  19. >立即创建</el-button
  20. >
  21. <el-button @click="resetForm('ruleForm')">重置</el-button>
  22. </el-form-item>
  23. </el-form>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. // 引入axios
  29. import axios from "axios";
  30. export default {
  31. name: "LevelAdd",
  32. data() {
  33. return {
  34. ruleForm: {
  35. name: "",
  36. id:""
  37. },
  38. rules: {
  39. name: [{ required: true, message: "请输入等级名称", trigger: "blur" }],
  40. },
  41. };
  42. },
  43. // 组件创建完成后生命周函数
  44. created() {
  45. console.log(this.$route.query.id);
  46. console.log(this.$route.query.name);
  47. this.ruleForm.name = this.$route.query.name;
  48. this.ruleForm.id = this.$route.query.id;
  49. },
  50. methods: {
  51. // 定义一个函数添加等级
  52. addFun() {
  53. axios({
  54. method: "post",
  55. url: "http://39.105.160.25:18080/levelController/saveOrUpdateLevel",
  56. // data 传递给后端的参数
  57. data: {
  58. levelname: this.ruleForm.name,
  59. },
  60. })
  61. // 等级添加成功的回调函数
  62. .then((res) => {
  63. // 弹框提示成功
  64. this.$message({
  65. message: "恭喜你,这是一条成功消息",
  66. type: "success",
  67. });
  68. // 跳转页面
  69. this.$router.push("/level/list");
  70. })
  71. .catch((res) => {
  72. console.log(res);
  73. });
  74. },
  75. submitForm(formName) {
  76. // 对整个表单进行验证如果通过 valid会返回一个true 否则就是 false
  77. this.$refs[formName].validate((valid) => {
  78. // this.$refs.ruleForm.validate((valid) => {
  79. // 表单验证成功
  80. if (valid) {
  81. this.addFun();
  82. } else {
  83. console.log("error submit!!");
  84. return false;
  85. }
  86. });
  87. },
  88. resetForm(formName) {
  89. this.$refs[formName].resetFields();
  90. },
  91. },
  92. };
  93. </script>
  94. <style scoped>
  95. .form-content {
  96. width: 50%;
  97. margin: 100px auto;
  98. }
  99. </style>