From db2c3d7fe3d1e89b49b9628f408ba883dc75dc51 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 03 七月 2025 17:11:43 +0800
Subject: [PATCH] no message
---
zy-asrs-admin/src/views/login/LoginView.vue | 612 +++++++++++++++++++++++++++---------------------------
1 files changed, 306 insertions(+), 306 deletions(-)
diff --git a/zy-asrs-admin/src/views/login/LoginView.vue b/zy-asrs-admin/src/views/login/LoginView.vue
index bc8e659..ae6d731 100644
--- a/zy-asrs-admin/src/views/login/LoginView.vue
+++ b/zy-asrs-admin/src/views/login/LoginView.vue
@@ -1,307 +1,307 @@
-<script setup>
-import { getCurrentInstance, inject, ref } from 'vue';
-import { message } from 'ant-design-vue';
-import { get, post } from '../../utils/request.js'
-import { formatMessage } from '@/utils/localeUtils.js';
-const context = getCurrentInstance()?.appContext.config.globalProperties;
-const globalState = inject('globalState');
-
-let copyrightLargeShow = ref(false);
-let username = ref("");
-let password = ref("");
-let hostId = ref(null);
-let hostList = ref([]);
-
-function loginConfirm() {
- if (username.value == "" || password.value == "") {
- message.info(formatMessage('login.input', '璇疯緭鍏ヨ处鍙峰瘑鐮�!'));
- return;
- }
-
- post('/api/login', {
- username: username.value,
- password: password.value,
- hostId: hostId.value,
- }).then((result) => {
- if (result.data.code == 200) {
- let data = result.data.data;
- globalState.token = data.accessToken;
- globalState.user = data.user;
- localStorage.setItem('token', data.accessToken)
- localStorage.setItem('user', JSON.stringify(data.user))
- message.success(formatMessage('login.success', '鐧诲綍鎴愬姛'))
- window.location.reload();
- } else {
- message.error(result.data.msg)
- }
- })
-
-}
-
-getHostList()
-function getHostList() {
- get('/api/auth/host', {}).then((result) => {
- if (result.data.code == 200) {
- let data = result.data.data;
- let tmp = []
- data.forEach((item) => {
- tmp.push({
- label: item.name,
- value: item.id
- })
- })
- hostList.value = tmp;
-
- if(tmp.length > 0) {
- let tmpHost = tmp[0]
- hostId.value = tmpHost.value;
- }
- } else {
- message.error(result.data.msg)
- }
- })
-}
-
-</script>
-
-<script>
-export default {
- name: 'login'
-}
-</script>
-
-<template>
- <div class="container" @keyup.enter="loginConfirm">
- <div class="left-box">
- <div class="login-video">
- <video src="/public/img/login-bg.mp4" height="100%" loop autoplay muted="false"
- controlslist="nodownload" disablepictureinpicture></video>
- <!-- <img src="/public/img/bg1.png" height="100%"> -->
- </div>
- </div>
-
- <div class="right-box">
- <div class="login-box">
- <div class="form-main">
- <p style="text-align: center;"><img class="loginLogoUrl" src="/public/img/logo.png" alt=""
- style="width: 80%">
- </p>
- <p style="margin-top: -10px;"><span class="login100-form-title p-t-20 p-b-45"
- style="color: #868686;font-size: 24px">WMS</span></p>
-
- <div class="inputContainer">
- <a-select v-model:value="hostId" style="width: 100%;" :options="hostList"></a-select>
- </div>
-
- <div class="inputContainer">
- <svg viewBox="0 0 16 16" fill="#2e2e2e" height="16" width="16"
- xmlns="http://www.w3.org/2000/svg" class="inputIcon">
- <path
- d="M13.106 7.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V5.206H8.923v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907S8.308 9.84 7.371 9.84c-.895 0-1.442-.725-1.442-1.914z">
- </path>
- </svg>
- <input :placeholder="formatMessage('login.rule.username', '璇疯緭鍏ョ敤鎴峰悕')" v-model="username" class="inputField" type="text">
- </div>
-
- <div class="inputContainer">
- <svg viewBox="0 0 16 16" fill="#2e2e2e" height="16" width="16"
- xmlns="http://www.w3.org/2000/svg" class="inputIcon">
- <path
- d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z">
- </path>
- </svg>
- <input :placeholder="formatMessage('login.rule.password', '璇疯緭鍏ュ瘑鐮�')" v-model="password" class="inputField" type="password">
- </div>
-
- <input @click="loginConfirm" type="button" class="login-button" :value="formatMessage('common.submit', '鐧诲綍')">
-
- <div style="display: none;margin-top: 5px;width: 100%;" id="updateLicense">
- <form enctype="multipart/form-data" style="display: none;">
- <input id="license" type="file" name="file">
- </form>
- <input type="button" id="submitLicense" class="login-button" style="margin: 0;" value="鏇存柊璁稿彲璇�">
- </div>
- </div>
- </div>
-
- <div class="login-copyright">
- <div class="copyright-text">Copyright 漏2023 娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙哥増鏉冩墍鏈�</div>
- <div id="copyright-img1" class="copyright-img" @mouseover="copyrightLargeShow = true"
- @mouseout="copyrightLargeShow = false">
- <img class="copyright-img-url" src="/public/img/weixin_qrcode.jpg" />
- <div v-if="copyrightLargeShow" class="copyright-img-large"><img class="copyright-img-url"
- src="/public/img/weixin_qrcode.jpg" /></div>
- </div>
- </div>
- </div>
- </div>
-</template>
-
-<style>
-* {
- padding: 0;
- margin: 0;
-}
-
-.container {
- display: flex;
- height: 100vh;
- width: 100%;
-}
-
-.left-box {
- height: 100%;
- width: 70%;
-}
-
-.login-video {
- height: 100%;
- overflow: hidden;
-}
-
-.form-main {
- width: 300px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- background-color: rgba(255, 255, 255, 0.6);
- padding: 50px 30px 50px 30px;
- border-radius: 20px;
- box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.062);
-}
-
-.heading {
- font-size: 2.5em;
- color: #2e2e2e;
- font-weight: 700;
- margin: 15px 0 0px 0;
-}
-
-.inputContainer {
- width: 100%;
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.inputIcon {
- position: absolute;
- left: 10px;
-}
-
-.inputField {
- width: 100%;
- height: 40px;
- background-color: transparent;
- border: none;
- border-bottom: 2px solid rgb(173, 173, 173);
- border-radius: 30px;
- margin: 10px 0;
- color: black;
- font-size: .8em;
- font-weight: 500;
- box-sizing: border-box;
- padding-left: 30px;
-}
-
-.inputField:focus {
- outline: none;
- border-bottom: 2px solid rgb(199, 114, 255);
-}
-
-.inputField::placeholder {
- color: rgb(80, 80, 80);
- font-size: 1em;
- font-weight: 500;
-}
-
-.login-box {
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.login-button {
- position: relative;
- width: 100%;
- border: 2px solid #8000ff;
- background-color: #8000ff;
- height: 40px;
- color: white;
- font-size: .8em;
- font-weight: 500;
- letter-spacing: 1px;
- border-radius: 30px;
- margin: 10px;
- cursor: pointer;
- overflow: hidden;
-}
-
-.login-button::after {
- content: "";
- position: absolute;
- background-color: rgba(255, 255, 255, 0.253);
- height: 100%;
- width: 150px;
- top: 0;
- left: -200px;
- border-bottom-right-radius: 100px;
- border-top-left-radius: 100px;
- filter: blur(10px);
- transition-duration: .5s;
-}
-
-.login-button:hover::after {
- transform: translateX(600px);
- transition-duration: .5s;
-}
-
-.right-box {
- height: 100%;
- width: 30%;
- background: #f6f6f6;
- position: relative;
-}
-
-.login-copyright {
- position: absolute;
- bottom: 20px;
- right: 20px;
- font-size: 14px;
- width: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.copyright-text {
- margin-right: 20px;
-}
-
-.copyright-img {
- width: 40px;
- height: 40px;
- position: relative;
-}
-
-.copyright-img>img {
- width: 100%;
- height: 100%;
-}
-
-.copyright-img-large {
- width: 140px;
- height: 140px;
- position: absolute;
- top: -140px;
- left: -50px;
-}
-
-.copyright-img-large>img {
- width: 100%;
- height: 100%;
-}
+<script setup>
+import { getCurrentInstance, inject, ref } from 'vue';
+import { message } from 'ant-design-vue';
+import { get, post } from '../../utils/request.js'
+import { formatMessage } from '@/utils/localeUtils.js';
+const context = getCurrentInstance()?.appContext.config.globalProperties;
+const globalState = inject('globalState');
+
+let copyrightLargeShow = ref(false);
+let username = ref("");
+let password = ref("");
+let hostId = ref(null);
+let hostList = ref([]);
+
+function loginConfirm() {
+ if (username.value == "" || password.value == "") {
+ message.info(formatMessage('login.input', '璇疯緭鍏ヨ处鍙峰瘑鐮�!'));
+ return;
+ }
+
+ post('/api/login', {
+ username: username.value,
+ password: password.value,
+ hostId: hostId.value,
+ }).then((result) => {
+ if (result.data.code == 200) {
+ let data = result.data.data;
+ globalState.token = data.accessToken;
+ globalState.user = data.user;
+ localStorage.setItem('token', data.accessToken)
+ localStorage.setItem('user', JSON.stringify(data.user))
+ message.success(formatMessage('login.success', '鐧诲綍鎴愬姛'))
+ window.location.reload();
+ } else {
+ message.error(result.data.msg)
+ }
+ })
+
+}
+
+getHostList()
+function getHostList() {
+ get('/api/auth/host', {}).then((result) => {
+ if (result.data.code == 200) {
+ let data = result.data.data;
+ let tmp = []
+ data.forEach((item) => {
+ tmp.push({
+ label: item.name,
+ value: item.id
+ })
+ })
+ hostList.value = tmp;
+
+ if(tmp.length > 0) {
+ let tmpHost = tmp[0]
+ hostId.value = tmpHost.value;
+ }
+ } else {
+ message.error(result.data.msg)
+ }
+ })
+}
+
+</script>
+
+<script>
+export default {
+ name: 'login'
+}
+</script>
+
+<template>
+ <div class="container" @keyup.enter="loginConfirm">
+ <div class="left-box">
+ <div class="login-video">
+ <video src="/public/img/login-bg.mp4" height="100%" loop autoplay muted="false"
+ controlslist="nodownload" disablepictureinpicture></video>
+ <!-- <img src="/public/img/bg1.png" height="100%"> -->
+ </div>
+ </div>
+
+ <div class="right-box">
+ <div class="login-box">
+ <div class="form-main">
+ <p style="text-align: center;"><img class="loginLogoUrl" src="/public/img/logo.png" alt=""
+ style="width: 80%">
+ </p>
+ <p style="margin-top: -10px;"><span class="login100-form-title p-t-20 p-b-45"
+ style="color: #868686;font-size: 24px">WMS</span></p>
+
+ <div class="inputContainer">
+ <a-select v-model:value="hostId" style="width: 100%;" :options="hostList"></a-select>
+ </div>
+
+ <div class="inputContainer">
+ <svg viewBox="0 0 16 16" fill="#2e2e2e" height="16" width="16"
+ xmlns="http://www.w3.org/2000/svg" class="inputIcon">
+ <path
+ d="M13.106 7.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V5.206H8.923v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907S8.308 9.84 7.371 9.84c-.895 0-1.442-.725-1.442-1.914z">
+ </path>
+ </svg>
+ <input :placeholder="formatMessage('login.rule.username', '璇疯緭鍏ョ敤鎴峰悕')" v-model="username" class="inputField" type="text">
+ </div>
+
+ <div class="inputContainer">
+ <svg viewBox="0 0 16 16" fill="#2e2e2e" height="16" width="16"
+ xmlns="http://www.w3.org/2000/svg" class="inputIcon">
+ <path
+ d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z">
+ </path>
+ </svg>
+ <input :placeholder="formatMessage('login.rule.password', '璇疯緭鍏ュ瘑鐮�')" v-model="password" class="inputField" type="password">
+ </div>
+
+ <input @click="loginConfirm" type="button" class="login-button" :value="formatMessage('common.submit', '鐧诲綍')">
+
+ <div style="display: none;margin-top: 5px;width: 100%;" id="updateLicense">
+ <form enctype="multipart/form-data" style="display: none;">
+ <input id="license" type="file" name="file">
+ </form>
+ <input type="button" id="submitLicense" class="login-button" style="margin: 0;" value="鏇存柊璁稿彲璇�">
+ </div>
+ </div>
+ </div>
+
+ <div class="login-copyright">
+ <div class="copyright-text">Copyright 漏2023 娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙哥増鏉冩墍鏈�</div>
+ <div id="copyright-img1" class="copyright-img" @mouseover="copyrightLargeShow = true"
+ @mouseout="copyrightLargeShow = false">
+ <img class="copyright-img-url" src="/public/img/weixin_qrcode.jpg" />
+ <div v-if="copyrightLargeShow" class="copyright-img-large"><img class="copyright-img-url"
+ src="/public/img/weixin_qrcode.jpg" /></div>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<style>
+* {
+ padding: 0;
+ margin: 0;
+}
+
+.container {
+ display: flex;
+ height: 100vh;
+ width: 100%;
+}
+
+.left-box {
+ height: 100%;
+ width: 70%;
+}
+
+.login-video {
+ height: 100%;
+ overflow: hidden;
+}
+
+.form-main {
+ width: 300px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background-color: rgba(255, 255, 255, 0.6);
+ padding: 50px 30px 50px 30px;
+ border-radius: 20px;
+ box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.062);
+}
+
+.heading {
+ font-size: 2.5em;
+ color: #2e2e2e;
+ font-weight: 700;
+ margin: 15px 0 0px 0;
+}
+
+.inputContainer {
+ width: 100%;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.inputIcon {
+ position: absolute;
+ left: 10px;
+}
+
+.inputField {
+ width: 100%;
+ height: 40px;
+ background-color: transparent;
+ border: none;
+ border-bottom: 2px solid rgb(173, 173, 173);
+ border-radius: 30px;
+ margin: 10px 0;
+ color: black;
+ font-size: .8em;
+ font-weight: 500;
+ box-sizing: border-box;
+ padding-left: 30px;
+}
+
+.inputField:focus {
+ outline: none;
+ border-bottom: 2px solid rgb(199, 114, 255);
+}
+
+.inputField::placeholder {
+ color: rgb(80, 80, 80);
+ font-size: 1em;
+ font-weight: 500;
+}
+
+.login-box {
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.login-button {
+ position: relative;
+ width: 100%;
+ border: 2px solid #8000ff;
+ background-color: #8000ff;
+ height: 40px;
+ color: white;
+ font-size: .8em;
+ font-weight: 500;
+ letter-spacing: 1px;
+ border-radius: 30px;
+ margin: 10px;
+ cursor: pointer;
+ overflow: hidden;
+}
+
+.login-button::after {
+ content: "";
+ position: absolute;
+ background-color: rgba(255, 255, 255, 0.253);
+ height: 100%;
+ width: 150px;
+ top: 0;
+ left: -200px;
+ border-bottom-right-radius: 100px;
+ border-top-left-radius: 100px;
+ filter: blur(10px);
+ transition-duration: .5s;
+}
+
+.login-button:hover::after {
+ transform: translateX(600px);
+ transition-duration: .5s;
+}
+
+.right-box {
+ height: 100%;
+ width: 30%;
+ background: #f6f6f6;
+ position: relative;
+}
+
+.login-copyright {
+ position: absolute;
+ bottom: 20px;
+ right: 20px;
+ font-size: 14px;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.copyright-text {
+ margin-right: 20px;
+}
+
+.copyright-img {
+ width: 40px;
+ height: 40px;
+ position: relative;
+}
+
+.copyright-img>img {
+ width: 100%;
+ height: 100%;
+}
+
+.copyright-img-large {
+ width: 140px;
+ height: 140px;
+ position: absolute;
+ top: -140px;
+ left: -50px;
+}
+
+.copyright-img-large>img {
+ width: 100%;
+ height: 100%;
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.1