| | |
| | | <div class="login-container"> |
| | | <div class="login-header"> |
| | | <img src="../assets/login/login-text.png" alt="" /> |
| | | <div> |
| | | <img |
| | | v-if="!isFullscreen" |
| | | style=" |
| | | width: 1.88rem; |
| | | height: 1.88rem; |
| | | margin-right: 1.81rem; |
| | | cursor: pointer; |
| | | " |
| | | src="@/assets/screen.png" |
| | | alt="" |
| | | @click="screenonToggle" |
| | | /> |
| | | <img |
| | | v-if="isFullscreen" |
| | | style=" |
| | | width: 1.88rem; |
| | | height: 1.88rem; |
| | | margin-right: 1.81rem; |
| | | cursor: pointer; |
| | | " |
| | | src="@/assets/exitscreen.png" |
| | | alt="" |
| | | @click="screenonToggle" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="login-box"> |
| | | <!-- 左侧å¾ç --> |
| | |
| | | <el-form-item prop="userName"> |
| | | <el-input |
| | | v-model="loginForm.userName" |
| | | style="height: 3.13rem" |
| | | style="height: 3.13rem; width: 20.19rem" |
| | | ref="userNameRef" |
| | | type="text" |
| | | size="large" |
| | |
| | | <el-input |
| | | show-password |
| | | v-model="loginForm.password" |
| | | style="height: 3.13rem" |
| | | style="height: 3.13rem; width: 20.19rem" |
| | | type="password" |
| | | size="large" |
| | | auto-complete="off" |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item prop="verificationCode"> |
| | | <!-- <el-form-item prop="verificationCode"> |
| | | <div style="display: flex"> |
| | | <el-input |
| | | v-model="loginForm.verificationCode" |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button |
| | | :loading="loading" |
| | |
| | | <script setup> |
| | | import { getCodeImg, login, CleanUnusedImages } from "@/api/login"; |
| | | import { useRouter, useRoute } from "vue-router"; |
| | | import { getCurrentInstance, ref, nextTick, onMounted } from "vue"; |
| | | import { getCurrentInstance, ref, nextTick, onMounted, onUnmounted } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import screenfull from "screenfull"; |
| | | import store from "@/store"; |
| | | import axios from "axios"; |
| | | |
| | |
| | | const loginForm = ref({ |
| | | userName: "", |
| | | password: "", |
| | | verificationCode: "", |
| | | verificationCode: "1234", |
| | | UUID: undefined, |
| | | tenantId: "0", |
| | | }); |
| | |
| | | }, 3000); |
| | | } |
| | | }; |
| | | |
| | | // æ¯å¦å
¨å± |
| | | const isFullscreen = ref(false); |
| | | |
| | | // çå¬åå |
| | | const screenchange = () => { |
| | | isFullscreen.value = screenfull.isFullscreen; |
| | | }; |
| | | |
| | | // 忢äºä»¶ |
| | | const screenonToggle = () => { |
| | | screenfull.toggle(); |
| | | }; |
| | | // 设置侦å¬å¨ |
| | | onMounted(() => { |
| | | screenfull.on("screenchange", screenchange); |
| | | }); |
| | | |
| | | // å é¤ä¾¦å¬å¨ |
| | | onUnmounted(() => { |
| | | screenfull.off("screenchange", screenchange); |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | flex-direction: column; |
| | | .login-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 4.38rem; |
| | | background-color: #006eff; |