From fef9871c3efaa8ba8f1c4ba09cd3cc8f55a6351d Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期四, 20 十一月 2025 14:31:10 +0800
Subject: [PATCH] 调整页面显示信息, 修复部分模块选中时会出现两个页签的问题
---
src/views/login.vue | 229 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 139 insertions(+), 90 deletions(-)
diff --git a/src/views/login.vue b/src/views/login.vue
index 5eed124..2a9a43f 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,48 +1,92 @@
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
- <h3 class="title" v-if="!loginForm.HLogoLabel"> 鏅轰簯杩堟�滾-MOM绠$悊绯荤粺</h3>
+ <h3 class="title" v-if="!loginForm.HLogoLabel">鏅轰簯杩堟�滾-MOM绠$悊绯荤粺</h3>
<h3 class="title" v-else>{{ loginForm.HLogoLabel }}</h3>
<el-form-item label="璇█">
- <el-select v-model="loginForm.HTranSlate" :placeholder="languageSel" @change="languageChange">
- <el-option v-for="item in tranSlateList" :key="item.value" :label="item.label" :value="item.value">
+ <el-select
+ v-model="loginForm.HTranSlate"
+ :placeholder="languageSel"
+ @change="languageChange"
+ >
+ <el-option
+ v-for="item in tranSlateList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
</el-option>
</el-select>
</el-form-item>
<el-form-item label="缁勭粐">
<el-select v-model="loginForm.HOrgName" placeholder="璇烽�夋嫨" @change="OrgChange">
- <el-option v-for="item in organizationList" :key="item.ID" :label="item.Name" :value="item.ID">
+ <el-option
+ v-for="item in organizationList"
+ :key="item.ID"
+ :label="item.Name"
+ :value="item.ID"
+ >
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="username">
- <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="璐﹀彿">
+ <el-input
+ v-model="loginForm.username"
+ type="text"
+ auto-complete="off"
+ placeholder="璐﹀彿"
+ >
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="password">
- <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="瀵嗙爜"
- @keyup.enter.native="handleLogin">
- <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+ <el-input
+ v-model="loginForm.password"
+ type="password"
+ auto-complete="off"
+ placeholder="瀵嗙爜"
+ @keyup.enter.native="handleLogin"
+ >
+ <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="captchaEnabled">
- <el-input v-model="loginForm.code" auto-complete="off" placeholder="楠岃瘉鐮�" style="width: 63%"
- @keyup.enter.native="handleLogin">
- <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+ <el-input
+ v-model="loginForm.code"
+ auto-complete="off"
+ placeholder="楠岃瘉鐮�"
+ style="width: 63%"
+ @keyup.enter.native="handleLogin"
+ >
+ <svg-icon
+ slot="prefix"
+ icon-class="validCode"
+ class="el-input__icon input-icon"
+ />
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img" />
</div>
</el-form-item>
- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
- <el-form-item style="width:100%;">
- <el-button :loading="loading" size="medium" type="primary" style="width:100%;"
- @click.native.prevent="handleLogin">
+ <el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px"
+ >璁颁綇瀵嗙爜</el-checkbox
+ >
+ <el-form-item style="width: 100%">
+ <el-button
+ :loading="loading"
+ size="medium"
+ type="primary"
+ style="width: 100%"
+ @click.native.prevent="handleLogin"
+ >
<span v-if="!loading">鐧� 褰�</span>
<span v-else>鐧� 褰� 涓�...</span>
</el-button>
- <div style="float: right;" v-if="register">
+ <div style="float: right" v-if="register">
<router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽</router-link>
</div>
</el-form-item>
@@ -55,18 +99,22 @@
</template>
<script>
-import { getCodeImg, getOrganizations, webBaseInfo, webGetDataBases } from "@/api/login"
-import Cookies from "js-cookie"
-import { encrypt, decrypt } from '@/utils/jsencrypt'
+import { getCodeImg, getOrganizations, webBaseInfo, webGetDataBases } from "@/api/login";
+import Cookies from "js-cookie";
+import { encrypt, decrypt } from "@/utils/jsencrypt";
export default {
name: "Login",
data() {
return {
- tranSlateList: [{ label: '涓枃', value: '1' }, { label: 'Eeglish', value: '2' }, { label: 'Spanish', value: '3' },],
+ tranSlateList: [
+ { label: "涓枃", value: "1" },
+ { label: "Eeglish", value: "2" },
+ { label: "Spanish", value: "3" },
+ ],
tranData: {},
- languageSel: '璇█',
- organizationList: [],//缁勭粐鍒楄〃
+ languageSel: "璇█",
+ organizationList: [], //缁勭粐鍒楄〃
title: process.env.VUE_APP_TITLE,
codeUrl: "",
loginForm: {
@@ -76,47 +124,42 @@
HOrgName: 1,
code: "",
uuid: "",
- HTranSlate: '1',
- HLogoLabel: '鏅轰簯杩堟�滾-MOM绠$悊绯荤粺',
+ HTranSlate: "1",
+ HLogoLabel: "鏅轰簯杩堟�滾-MOM绠$悊绯荤粺",
HMenuLabel: null,
HCusName: null,
Organization: null,
},
loginRules: {
- username: [
- { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }
- ],
- password: [
- { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }
- ],
- code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }]
+ username: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }],
+ password: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }],
+ code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }],
},
loading: false,
// 楠岃瘉鐮佸紑鍏�
captchaEnabled: false,
// 娉ㄥ唽寮�鍏�
register: false,
- redirect: undefined
- }
+ redirect: undefined,
+ };
},
watch: {
$route: {
handler: function (route) {
- this.redirect = route.query && route.query.redirect
+ this.redirect = route.query && route.query.redirect;
},
- immediate: true
- }
+ immediate: true,
+ },
},
created() {
// this.getCode()
- this.getInfoData()
- this.getCookie()
+ this.getInfoData();
+ this.getCookie();
},
methods: {
-
//璇█鐨勯�夋嫨
languageChange() {
- this.loginForm.HCusName = this.tranData.HCusName
+ this.loginForm.HCusName = this.tranData.HCusName;
if (this.loginForm.HTranSlate == "1" || !this.loginForm.HTranSlate) {
this.loginForm.HLogoLabel = this.tranData.HLogoLabel;
this.loginForm.HMenuLabel = this.tranData.HMenuLabel;
@@ -129,94 +172,100 @@
}
},
OrgChange(val) {
- this.organizationList.map(item => {
+ this.organizationList.map((item) => {
if (item.ID == val) {
- this.loginForm.Organization = item.Name
+ this.loginForm.Organization = item.Name;
}
- })
+ });
},
//鏁版嵁
getInfoData() {
//缁勭粐鍒楄〃
- getOrganizations().then(res => {
+ getOrganizations().then((res) => {
if (res.count == 1) {
- this.organizationList = res.data
+ this.organizationList = res.data;
sessionStorage[this.organizationList] = res.data;
this.$nextTick(() => {
- this.OrgChange(this.loginForm.HOrgName)
- })
+ this.OrgChange(this.loginForm.HOrgName);
+ });
}
- })
+ });
//璇█
- webBaseInfo().then(res => {
+ webBaseInfo().then((res) => {
if (res.count == 1) {
this.tranData = res.data[0];
this.$nextTick(() => {
- this.languageChange()
- })
+ this.languageChange();
+ });
}
- })
+ });
//鏁版嵁搴�
- webGetDataBases().then(res => {
+ webGetDataBases().then((res) => {
if (res.count == 1) {
- sessionStorage["鏁版嵁搴�"] = res.data[0].Name
+ sessionStorage["鏁版嵁搴�"] = res.data[0].Name;
}
- })
+ });
},
getCode() {
- getCodeImg().then(res => {
- this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
+ getCodeImg().then((res) => {
+ this.captchaEnabled =
+ res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (this.captchaEnabled) {
- this.codeUrl = "data:image/gif;base64," + res.img
- this.loginForm.uuid = res.uuid
+ this.codeUrl = "data:image/gif;base64," + res.img;
+ this.loginForm.uuid = res.uuid;
}
- })
+ });
},
getCookie() {
- const username = Cookies.get("username")
- const password = Cookies.get("password")
- const HOrgName = Cookies.get('HOrgName')
- const HTranSlate = Cookies.get('HTranSlate')
- const rememberMe = Cookies.get('rememberMe')
+ const username = Cookies.get("username");
+ const password = Cookies.get("password");
+ const HOrgName = Cookies.get("HOrgName");
+ const HTranSlate = Cookies.get("HTranSlate");
+ const rememberMe = Cookies.get("rememberMe");
this.loginForm = {
HOrgName: HOrgName === undefined ? this.loginForm.HOrgName - 0 : HOrgName - 0,
username: username === undefined ? this.loginForm.username : username,
password: password === undefined ? this.loginForm.password : decrypt(password),
HTranSlate: HTranSlate === undefined ? this.loginForm.HTranSlate : HTranSlate,
- rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
- }
+ rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
+ };
},
handleLogin() {
- this.$refs.loginForm.validate(valid => {
+ this.$refs.loginForm.validate((valid) => {
if (valid) {
- this.loading = true
+ this.loading = true;
if (this.loginForm.rememberMe) {
- Cookies.set("HTranSlate", this.loginForm.HTranSlate, { expires: 30 })
- Cookies.set("HOrgName", this.loginForm.HOrgName, { expires: 30 })
- Cookies.set("username", this.loginForm.username, { expires: 30 })
- Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 })
- Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 })
+ Cookies.set("HTranSlate", this.loginForm.HTranSlate, { expires: 30 });
+ Cookies.set("HOrgName", this.loginForm.HOrgName, { expires: 30 });
+ Cookies.set("username", this.loginForm.username, { expires: 30 });
+ Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
+ Cookies.set("rememberMe", this.loginForm.rememberMe, { expires: 30 });
} else {
- Cookies.remove("HTranSlate")
- Cookies.remove("HOrgName")
- Cookies.remove("username")
- Cookies.remove("password")
- Cookies.remove('rememberMe')
+ Cookies.remove("HTranSlate");
+ Cookies.remove("HOrgName");
+ Cookies.remove("username");
+ Cookies.remove("password");
+ Cookies.remove("rememberMe");
}
- this.$store.dispatch("Login", this.loginForm).then(res => {
- this.$router.push({ path: this.redirect || "/" }).catch(() => { })
- }).catch(() => {
- this.loading = false
- if (this.captchaEnabled) {
- this.getCode()
- }
- })
+ this.$store
+ .dispatch("Login", this.loginForm)
+ .then((res) => {
+ this.$router.push({ path: this.redirect || "/" }).catch((err) => {
+ console.error(err);
+ });
+ })
+ .catch(() => {
+ this.loading = false;
+ if (this.captchaEnabled) {
+ this.getCode();
+ }
+ });
}
- })
- }
+ });
+ },
},
-}
+};
</script>
<style rel="stylesheet/scss" lang="scss">
--
Gitblit v1.9.1