疯狂的狮子li
2023-03-15 82345cbf47f8f2b0e6cf4d707ab53995f66287fc
ruoyi-ui/src/views/register.vue
@@ -1,7 +1,18 @@
<template>
  <div class="register">
    <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
      <h3 class="title">RuoYi-Vue-Plus后台管理系统</h3>
      <h3 class="title">RuoYi-Vue-Plus多租户管理系统</h3>
      <el-form-item prop="tenantId">
        <el-select v-model="registerForm.tenantId" filterable placeholder="请选择/输入公司名称" style="width: 100%">
          <el-option
            v-for="item in tenantList"
            :key="item.tenantId"
            :label="item.companyName"
            :value="item.tenantId">
          </el-option>
          <svg-icon slot="prefix" icon-class="company" class="el-input__icon input-icon" />
        </el-select>
      </el-form-item>
      <el-form-item prop="username">
        <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
@@ -29,7 +40,7 @@
          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
        </el-input>
      </el-form-item>
      <el-form-item prop="code" v-if="captchaOnOff">
      <el-form-item prop="code" v-if="captchaEnabled">
        <el-input
          v-model="registerForm.code"
          auto-complete="off"
@@ -61,13 +72,13 @@
    </el-form>
    <!--  底部  -->
    <div class="el-register-footer">
      <span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span>
      <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>
    </div>
  </div>
</template>
<script>
import { getCodeImg, register } from "@/api/login";
import {getCodeImg, register, tenantList} from "@/api/login";
export default {
  name: "Register",
@@ -82,13 +93,18 @@
    return {
      codeUrl: "",
      registerForm: {
        tenantId: "",
        username: "",
        password: "",
        confirmPassword: "",
        code: "",
        uuid: ""
        uuid: "",
        userType: "sys_user"
      },
      registerRules: {
        tenantId: [
          { required: true, trigger: "blur", message: "请输入您的租户编号" }
        ],
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" },
          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
@@ -104,19 +120,30 @@
        code: [{ required: true, trigger: "change", message: "请输入验证码" }]
      },
      loading: false,
      captchaOnOff: true
      captchaEnabled: true,
      // 租户列表
      tenantList:[]
    };
  },
  created() {
    this.getCode();
    this.getTenantList();
  },
  methods: {
    getCode() {
      getCodeImg().then(res => {
        this.captchaOnOff = res.data.captchaOnOff === undefined ? true : res.data.captchaOnOff;
        if (this.captchaOnOff) {
        this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.data.img;
          this.registerForm.uuid = res.data.uuid;
        }
      });
    },
    getTenantList() {
      tenantList().then(res => {
        this.tenantList = res.data;
        if (this.tenantList != null && this.tenantList.length !== 0) {
          this.loginForm.tenantId = this.tenantList[0].tenantId;
        }
      });
    },
@@ -124,7 +151,9 @@
      this.$refs.registerForm.validate(valid => {
        if (valid) {
          this.loading = true;
          register(this.registerForm).then(res => {
          let registerForm = this.registerForm;
          registerForm.userType = "sys_user"
          register(registerForm).then(res => {
            const username = this.registerForm.username;
            this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
              dangerouslyUseHTMLString: true,
@@ -134,7 +163,7 @@
            }).catch(() => {});
          }).catch(() => {
            this.loading = false;
            if (this.captchaOnOff) {
            if (this.captchaEnabled) {
              this.getCode();
            }
          })