From 632e006756d00391252d32e2ebaed6664e8e466f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 23 Dec 2023 18:10:37 +0800
Subject: [PATCH] icon加载异常的问题

---
 src/page/login/userlogin.vue |  420 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 201 insertions(+), 219 deletions(-)

diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue
index ce32449..57f8a2d 100644
--- a/src/page/login/userlogin.vue
+++ b/src/page/login/userlogin.vue
@@ -1,11 +1,6 @@
 <template>
-  <el-form class="login-form"
-           status-icon
-           :rules="loginRules"
-           ref="loginForm"
-           :model="loginForm"
-           label-width="0">
-    <!-- <el-form-item v-if="tenantMode" prop="tenantId">
+    <el-form class="login-form" status-icon :rules="loginRules" ref="loginForm" :model="loginForm" label-width="0">
+        <!-- <el-form-item v-if="tenantMode" prop="tenantId">
       <el-input size="small"
                 @keyup.enter.native="handleLogin"
                 v-model="loginForm.tenantId"
@@ -14,27 +9,20 @@
         <i slot="prefix" class="icon-quanxian"/>
       </el-input>
     </el-form-item> -->
-    <el-form-item prop="username">
-      <el-input size="small"
-                @keyup.enter.native="handleLogin"
-                v-model="loginForm.username"
-                auto-complete="off"
+        <el-form-item prop="username">
+            <el-input size="small" @keyup.enter.native="handleLogin" v-model="loginForm.username" auto-complete="off"
                 :placeholder="$t('login.username')">
-        <i slot="prefix" class="icon-yonghu"/>
-      </el-input>
-    </el-form-item>
-    <el-form-item prop="password">
-      <el-input size="small"
-                @keyup.enter.native="handleLogin"
-                :type="passwordType"
-                v-model="loginForm.password"
-                auto-complete="off"
-                :placeholder="$t('login.password')">
-        <i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword"/>
-        <i slot="prefix" class="icon-mima"/>
-      </el-input>
-    </el-form-item>
-    <!-- <el-form-item v-if="this.website.captchaMode" prop="code">
+                <i slot="prefix" class="icon-yonghu" />
+            </el-input>
+        </el-form-item>
+        <el-form-item prop="password">
+            <el-input size="small" @keyup.enter.native="handleLogin" :type="passwordType" v-model="loginForm.password"
+                auto-complete="off" :placeholder="$t('login.password')">
+                <i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword" />
+                <i slot="prefix" class="icon-mima" />
+            </el-input>
+        </el-form-item>
+        <!-- <el-form-item v-if="this.website.captchaMode" prop="code">
       <el-row :span="24">
         <el-col :span="16">
           <el-input size="small"
@@ -53,217 +41,211 @@
         </el-col>
       </el-row>
     </el-form-item> -->
-    <el-form-item>
-      <el-button type="primary"
-                 size="small"
-                 @click.native.prevent="handleLogin"
-                 class="login-submit">{{$t('login.submit')}}
-      </el-button>
-    </el-form-item>
-    <el-dialog title="用户信息选择"
-               append-to-body
-               :visible.sync="userBox"
-               width="350px">
-      <avue-form :option="userOption" v-model="userForm" @submit="submitLogin"/>
-    </el-dialog>
-  </el-form>
+        <el-form-item>
+            <el-button type="primary" size="small" @click.native.prevent="handleLogin" class="login-submit">{{
+                $t('login.submit') }}
+            </el-button>
+        </el-form-item>
+        <el-dialog title="用户信息选择" append-to-body :visible.sync="userBox" width="350px">
+            <avue-form :option="userOption" v-model="userForm" @submit="submitLogin" />
+        </el-dialog>
+    </el-form>
 </template>
 
 <script>
-  import {mapGetters} from "vuex";
-  import {info} from "@/api/system/tenant";
-  // import {getCaptcha} from "@/api/user";
-  import {getTopUrl} from "@/util/util";
+import { mapGetters } from "vuex"
+import { info } from "@/api/system/tenant"
+// import {getCaptcha} from "@/api/user";
+import { getTopUrl } from "@/util/util"
 
-  export default {
+export default {
     name: "userlogin",
-    data() {
-      return {
-        tenantMode: this.website.tenantMode,
-        loginForm: {
-          //租户ID
-          tenantId: "000000",
-          //部门ID
-          deptId: "",
-          //角色ID
-          roleId: "",
-          //用户名
-          username: "",
-          //密码
-          password: "",
-          //账号类型
-          type: "account",
-          //验证码的值
-          code: "",
-          //验证码的索引
-          key: "",
-          //预加载白色背景
-          image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
-        },
-        loginRules: {
-          // tenantId: [
-          //   {required: false, message: "请输入租户ID", trigger: "blur"}
-          // ],
-          username: [
-            {required: true, message: "请输入用户名", trigger: "blur"}
-          ],
-          password: [
-            {required: true, message: "请输入密码", trigger: "blur"},
-            {min: 1, message: "密码长度最少为6位", trigger: "blur"}
-          ]
-        },
-        passwordType: "password",
-        userBox: false,
-        userForm: {
-          deptId: '',
-          roleId: ''
-        },
-        userOption: {
-          labelWidth: 70,
-          submitBtn: true,
-          emptyBtn: false,
-          submitText: '登录',
-          column: [
-            {
-              label: '部门',
-              prop: 'deptId',
-              type: 'select',
-              props: {
-                label: 'deptName',
-                value: 'id'
-              },
-              dicUrl: '/api/blade-system/dept/select',
-              span: 24,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请选择部门",
-                trigger: "blur"
-              }],
+    data () {
+        return {
+            tenantMode: this.website.tenantMode,
+            loginForm: {
+                //租户ID
+                tenantId: "000000",
+                //部门ID
+                deptId: "",
+                //角色ID
+                roleId: "",
+                //用户名
+                username: "",
+                //密码
+                password: "",
+                //账号类型
+                type: "account",
+                //验证码的值
+                code: "",
+                //验证码的索引
+                key: "",
+                //预加载白色背景
+                image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
             },
-            {
-              label: '角色',
-              prop: 'roleId',
-              type: 'select',
-              props: {
-                label: 'roleName',
-                value: 'id'
-              },
-              dicUrl: '/api/blade-system/role/select',
-              span: 24,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请选择角色",
-                trigger: "blur"
-              }],
+            loginRules: {
+                // tenantId: [
+                //   {required: false, message: "请输入租户ID", trigger: "blur"}
+                // ],
+                username: [
+                    { required: true, message: "请输入用户名", trigger: "blur" }
+                ],
+                password: [
+                    { required: true, message: "请输入密码", trigger: "blur" },
+                    { min: 1, message: "密码长度最少为6位", trigger: "blur" }
+                ]
             },
-          ]
+            passwordType: "password",
+            userBox: false,
+            userForm: {
+                deptId: '',
+                roleId: ''
+            },
+            userOption: {
+                labelWidth: 70,
+                submitBtn: true,
+                emptyBtn: false,
+                submitText: '登录',
+                column: [
+                    {
+                        label: '部门',
+                        prop: 'deptId',
+                        type: 'select',
+                        props: {
+                            label: 'deptName',
+                            value: 'id'
+                        },
+                        dicUrl: '/api/blade-system/dept/select',
+                        span: 24,
+                        display: false,
+                        rules: [{
+                            required: true,
+                            message: "请选择部门",
+                            trigger: "blur"
+                        }],
+                    },
+                    {
+                        label: '角色',
+                        prop: 'roleId',
+                        type: 'select',
+                        props: {
+                            label: 'roleName',
+                            value: 'id'
+                        },
+                        dicUrl: '/api/blade-system/role/select',
+                        span: 24,
+                        display: false,
+                        rules: [{
+                            required: true,
+                            message: "请选择角色",
+                            trigger: "blur"
+                        }],
+                    },
+                ]
+            }
         }
-      };
     },
-    created() {
-      this.getTenant();
-      this.refreshCode();
+    created () {
+        this.getTenant()
+        //   this.refreshCode();
     },
-    mounted() {
+    mounted () {
     },
     watch: {
-      'loginForm.deptId'() {
-        const column = this.findObject(this.userOption.column, "deptId");
-        if (this.loginForm.deptId.includes(",")) {
-          column.dicUrl = `/api/blade-system/dept/select?deptId=${this.loginForm.deptId}`;
-          column.display = true;
-        } else {
-          column.dicUrl = '';
+        'loginForm.deptId' () {
+            const column = this.findObject(this.userOption.column, "deptId")
+            if (this.loginForm.deptId.includes(",")) {
+                column.dicUrl = `/api/blade-system/dept/select?deptId=${this.loginForm.deptId}`
+                column.display = true
+            } else {
+                column.dicUrl = ''
+            }
+        },
+        'loginForm.roleId' () {
+            const column = this.findObject(this.userOption.column, "roleId")
+            if (this.loginForm.roleId.includes(",")) {
+                column.dicUrl = `/api/blade-system/role/select?roleId=${this.loginForm.roleId}`
+                column.display = true
+            } else {
+                column.dicUrl = ''
+            }
         }
-      },
-      'loginForm.roleId'() {
-        const column = this.findObject(this.userOption.column, "roleId");
-        if (this.loginForm.roleId.includes(",")) {
-          column.dicUrl = `/api/blade-system/role/select?roleId=${this.loginForm.roleId}`;
-          column.display = true;
-        } else {
-          column.dicUrl = '';
-        }
-      }
     },
     computed: {
-      ...mapGetters(["tagWel", "userInfo"])
+        ...mapGetters(["tagWel", "userInfo"])
     },
     props: [],
     methods: {
-      refreshCode() {
-        if (this.website.captchaMode) {
-          getCaptcha().then(res => {
-            const data = res.data;
-            this.loginForm.key = data.key;
-            this.loginForm.image = data.image;
-          })
-        }
-      },
-      showPassword() {
-        this.passwordType === ""
-          ? (this.passwordType = "password")
-          : (this.passwordType = "");
-      },
-      submitLogin (form, done) {
-        if (form.deptId !== '') {
-          this.loginForm.deptId = form.deptId;
-        }
-        if (form.roleId !== '') {
-          this.loginForm.roleId = form.roleId;
-        }
-        this.handleLogin();
-        done();
-      },
-      handleLogin() {
-        this.$refs.loginForm.validate(valid => {
-          if (valid) {
-            const loading = this.$loading({
-              lock: true,
-              text: '登录中,请稍后。。。',
-              spinner: "el-icon-loading"
-            });
-            this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
-              if (this.website.switchMode) {
-                const deptId = this.userInfo.dept_id;
-                const roleId = this.userInfo.role_id;
-                if (deptId.includes(",") || roleId.includes(",")) {
-                  this.loginForm.deptId = deptId;
-                  this.loginForm.roleId = roleId;
-                  this.userBox = true;
-                  this.$store.dispatch("LogOut").then(() => {
-                    loading.close();
-                  });
-                  return false;
+        refreshCode () {
+            if (this.website.captchaMode) {
+                getCaptcha().then(res => {
+                    const data = res.data
+                    this.loginForm.key = data.key
+                    this.loginForm.image = data.image
+                })
+            }
+        },
+        showPassword () {
+            this.passwordType === ""
+                ? (this.passwordType = "password")
+                : (this.passwordType = "")
+        },
+        submitLogin (form, done) {
+            if (form.deptId !== '') {
+                this.loginForm.deptId = form.deptId
+            }
+            if (form.roleId !== '') {
+                this.loginForm.roleId = form.roleId
+            }
+            this.handleLogin()
+            done()
+        },
+        handleLogin () {
+            this.$refs.loginForm.validate(valid => {
+                if (valid) {
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '登录中,请稍后。。。',
+                        spinner: "el-icon-loading"
+                    })
+                    this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
+                        if (this.website.switchMode) {
+                            const deptId = this.userInfo.dept_id
+                            const roleId = this.userInfo.role_id
+                            if (deptId.includes(",") || roleId.includes(",")) {
+                                this.loginForm.deptId = deptId
+                                this.loginForm.roleId = roleId
+                                this.userBox = true
+                                this.$store.dispatch("LogOut").then(() => {
+                                    loading.close()
+                                })
+                                return false
+                            }
+                        }
+                        this.$router.push({ path: this.tagWel.value })
+                        loading.close()
+                    }).catch(() => {
+                        loading.close()
+                        this.refreshCode()
+                    })
                 }
-              }
-              this.$router.push({path: this.tagWel.value});
-              loading.close();
-            }).catch(() => {
-              loading.close();
-              this.refreshCode();
-            });
-          }
-        });
-      },
-      getTenant() {
-        let domain = getTopUrl();
-        // 临时指定域名,方便测试
-        //domain = "https://bladex.cn";
-        info(domain).then(res => {
-          const data = res.data;
-          if (data.success && data.data.tenantId) {
-            this.tenantMode = false;
-            this.loginForm.tenantId = data.data.tenantId;
-            this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`;
-          }
-        })
-      }
+            })
+        },
+        getTenant () {
+            let domain = getTopUrl()
+            // 临时指定域名,方便测试
+            //domain = "https://bladex.cn";
+            info(domain).then(res => {
+                const data = res.data
+                if (data.success && data.data.tenantId) {
+                    this.tenantMode = false
+                    this.loginForm.tenantId = data.data.tenantId
+                    this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`
+                }
+            })
+        }
     }
-  };
+}
 </script>
 
-<style>
-</style>
+<style></style>

--
Gitblit v1.9.3