| | |
| | | <!-- 产品名称 --> |
| | | <div class="text"> |
| | | <div class="logo"> |
| | | <img |
| | | :src="imgUrl" |
| | | alt=""> |
| | | <img :src="imgUrl" alt="" /> |
| | | </div> |
| | | <div class="text-r"> |
| | | <h2 class="title font-extra-large">遂昌县智慧执法平台</h2> |
| | |
| | | </div> |
| | | <el-card class="login-form-layout"> |
| | | <!-- 表单 --> |
| | | <el-form autoComplete="on" :model="loginForm" :rules="loginRules" ref="loginForm" label-position="left"> |
| | | <el-form |
| | | autoComplete="on" |
| | | :model="loginForm" |
| | | :rules="loginRules" |
| | | ref="loginForm" |
| | | label-position="left" |
| | | > |
| | | <!-- title --> |
| | | <h2 class="login-title">用户登录 / USER LOGIN</h2> |
| | | <el-form-item prop="username"> |
| | | <!-- 用户名输入框 --> |
| | | <el-input name="username" type="text" v-model="loginForm.username" autoComplete="on" placeholder="请输入用户名称"> |
| | | <el-input |
| | | name="username" |
| | | type="text" |
| | | v-model="loginForm.username" |
| | | autoComplete="on" |
| | | placeholder="请输入用户名称" |
| | | > |
| | | <span slot="prefix"> |
| | | <svg-icon icon-class="user" class="color-main"></svg-icon> |
| | | </span> |
| | |
| | | </el-form-item> |
| | | <el-form-item prop="password"> |
| | | <!-- 密码输入框 --> |
| | | <el-input name="password" :type="pwdType ? 'text' : 'password'" @keyup.enter.native="handleLogin" |
| | | v-model="loginForm.password" autoComplete="on" placeholder="请输入登录密码"> |
| | | <el-input |
| | | name="password" |
| | | :type="pwdType ? 'text' : 'password'" |
| | | @keyup.enter.native="handleLogin" |
| | | v-model="loginForm.password" |
| | | autoComplete="on" |
| | | placeholder="请输入登录密码" |
| | | > |
| | | <!-- 输入框前icon --> |
| | | <span slot="prefix"> |
| | | <svg-icon icon-class="password" class="color"></svg-icon> |
| | | </span> |
| | | <!-- 输入框后icon --> |
| | | <span slot="suffix" @click="showPwd"> |
| | | <svg-icon :icon-class="pwdType ? 'yanjing-zhengyan' : 'yanjing-biyan'" class="pointer"></svg-icon> |
| | | <svg-icon |
| | | :icon-class="pwdType ? 'yanjing-zhengyan' : 'yanjing-biyan'" |
| | | class="pointer" |
| | | ></svg-icon> |
| | | </span> |
| | | </el-input> |
| | | </el-form-item> |
| | | <!-- 表单提交按钮 --> |
| | | <el-form-item style="margin-bottom: 60px; text-align: center"> |
| | | <el-button style="width: 100%" type="primary" :loading="loading" @click.native.prevent="handleLogin"> |
| | | <el-button |
| | | style="width: 100%" |
| | | type="primary" |
| | | :loading="loading" |
| | | @click.native.prevent="handleLogin" |
| | | > |
| | | 登录 |
| | | </el-button> |
| | | </el-form-item> |
| | |
| | | import { isvalidUsername } from "@/utils/validate"; |
| | | import { createNamespacedHelpers } from "vuex"; |
| | | import users from "@/api/users"; |
| | | import {Decrypt,Encrypt} from '@/utils/cryptojs' |
| | | import leafletMapVue from '../systemSetting/device/grid/components/components/leafletMap.vue'; |
| | | |
| | | const { mapActions } = createNamespacedHelpers("users"); |
| | | export default { |
| | |
| | | }, |
| | | ...mapActions(["login"]), |
| | | handleLogin() { |
| | | const { username, password } = this.loginForm; |
| | | let { username, password } = this.loginForm; |
| | | const that = this; |
| | | |
| | | password = Encrypt(password) |
| | | this.$axios |
| | | .post("sccg/admin/login", { |
| | | password, |
| | |
| | | top: 20%; |
| | | right: 5%; |
| | | width: 360px; |
| | | &:deep(.el-input__inner){ |
| | | &:deep(.el-input__inner) { |
| | | background-color: #fff !important; |
| | | border: 1px solid #dcdfe6 !important; |
| | | } |
| | |
| | | width: 420px; |
| | | justify-content: space-between; |
| | | |
| | | .logo>img { |
| | | .logo > img { |
| | | width: 75px; |
| | | height: 75px; |
| | | border-radius: 4px; |