adminLogin.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div id="adminLogin">
  3. <el-row>
  4. <el-col :span="24">
  5. <el-col :span="5" class="info"> </el-col>
  6. <el-col :span="13" class="login">
  7. <el-col :span="24" class="title">
  8. 管理登录
  9. </el-col>
  10. <el-col :span="24" class="form">
  11. <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  12. <el-form-item label="手机号&机构代码" prop="phone">
  13. <el-input v-model="form.phone" placeholder="请输入手机号&机构代码" :minlength="11" :maxlength="11"></el-input>
  14. </el-form-item>
  15. <el-form-item label="登录密码" prop="passwd">
  16. <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
  17. </el-form-item>
  18. <el-form-item label="用户类别" prop="role">
  19. <el-radio v-model="form.role" label="1">合作机构&业务管理员</el-radio>
  20. <!-- <el-radio v-model="form.role" label="1">业务管理员</el-radio> -->
  21. </el-form-item>
  22. <el-col :span="24" class="btn">
  23. <el-button type="primary" @click="onSubmit">登录</el-button>
  24. </el-col>
  25. </el-form>
  26. </el-col>
  27. </el-col>
  28. <el-col :span="6" class="info"> </el-col>
  29. </el-col>
  30. </el-row>
  31. </div>
  32. </template>
  33. <script>
  34. import { mapState, createNamespacedHelpers } from 'vuex';
  35. const { mapActions: login } = createNamespacedHelpers('login');
  36. export default {
  37. name: 'adminLogin',
  38. props: {},
  39. components: {},
  40. data: function() {
  41. return {
  42. form: {},
  43. rules: {
  44. phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
  45. passwd: [{ required: true, message: '请输入密码', trigger: 'blur' }],
  46. role: [{ required: true, message: '请输入用户类别', trigger: 'blur' }],
  47. },
  48. };
  49. },
  50. created() {},
  51. methods: {
  52. ...login({ toLogin: 'login' }),
  53. async onSubmit() {
  54. if (this.form.role == null) {
  55. let data = this.form;
  56. data.role = '0';
  57. const res = await this.toLogin({ user: data });
  58. if (res.uid) {
  59. this.$router.push({ path: '/superAdminCenter/index', query: { num: '1' } });
  60. }
  61. } else {
  62. const res = await this.toLogin({ user: this.form });
  63. if (res.uid) {
  64. // history.back();
  65. this.$router.push({ path: '/superAdminCenter/index', query: { num: '1' } });
  66. }
  67. }
  68. },
  69. },
  70. computed: {
  71. ...mapState(['user']),
  72. pageTitle() {
  73. return `${this.$route.meta.title}`;
  74. },
  75. },
  76. metaInfo() {
  77. return { title: this.$route.meta.title };
  78. },
  79. };
  80. </script>
  81. <style lang="less" scoped>
  82. .info {
  83. height: 800px;
  84. }
  85. .login {
  86. padding: 15px 0;
  87. .title {
  88. text-align: center;
  89. font-size: 40px;
  90. padding: 40px 0;
  91. }
  92. .form {
  93. .btn {
  94. text-align: center;
  95. }
  96. }
  97. }
  98. </style>