login.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <!-- 登录 -->
  2. <script>
  3. export default {
  4. name: "asLogin",
  5. data() {
  6. return {
  7. title: "登 录",
  8. size: "small",
  9. fit: "contain",
  10. imgUrl: require("../images/logo.jpg"),
  11. formData: {
  12. name: "测试项目",
  13. phone: "",
  14. },
  15. rules: {
  16. name: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
  17. phone: [
  18. { required: true, message: "请输入手机号码", trigger: "blur" },
  19. {
  20. pattern: /^1[3-9]\d{9}$/,
  21. message: "手机号格式错误",
  22. trigger: "blur",
  23. },
  24. ],
  25. },
  26. };
  27. },
  28. methods: {
  29. useBack() {},
  30. useSubmit(prop) {
  31. this.$refs[prop].validate(async (valid) => {
  32. if (valid) {
  33. try {
  34. console.log(this.formData, "formData");
  35. this.$router.push({ name: "BindingInfo" });
  36. } catch (error) {}
  37. } else {
  38. console.log("error submit!!");
  39. return false;
  40. }
  41. });
  42. },
  43. },
  44. created() {},
  45. };
  46. </script>
  47. <template>
  48. <el-card
  49. shadow="never"
  50. :body-style="{
  51. height: '100%',
  52. padding: 0,
  53. display: 'flex',
  54. 'flex-direction': 'column',
  55. 'align-items': 'center',
  56. }"
  57. >
  58. <van-nav-bar :title="title" @click-left="useBack" style="width: 100%" />
  59. <el-image
  60. style="width: 100%; height: 28vh"
  61. :src="imgUrl"
  62. :fit="fit"
  63. ></el-image>
  64. <el-form
  65. :model="formData"
  66. :size="size"
  67. :rules="rules"
  68. ref="form"
  69. label-width="80px"
  70. label-position="top"
  71. >
  72. <h3 style="font-weight: 600">欢迎登录</h3>
  73. <el-form-item label="项目名称" prop="name">
  74. <el-input
  75. v-model="formData.name"
  76. placeholder="请输入项目名称"
  77. readonly
  78. ></el-input>
  79. </el-form-item>
  80. <el-form-item label="手机号码" prop="phone">
  81. <el-input
  82. v-model="formData.phone"
  83. placeholder="请输入手机号"
  84. ></el-input>
  85. </el-form-item>
  86. <el-form-item>
  87. <el-button
  88. type="success"
  89. style="width: 100%; margin-top: 20px"
  90. @click="useSubmit('form')"
  91. >登 录</el-button
  92. >
  93. </el-form-item>
  94. </el-form>
  95. </el-card>
  96. </template>
  97. <style scoped lang="scss">
  98. .el-card {
  99. width: 100%;
  100. height: 100vh;
  101. padding: 0 20px 20px;
  102. }
  103. .el-form {
  104. width: 80%;
  105. }
  106. ::v-deep .el-input__inner {
  107. border: none;
  108. border-bottom: 1px solid #dcdfe6;
  109. }
  110. ::v-deep .el-form-item__label {
  111. // line-height: 22px !important;
  112. padding: 0 !important;
  113. }
  114. </style>