From b68edf1ec5867dd2bd60ee64a205879093b5cf4f Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期二, 30 七月 2024 17:47:07 +0800
Subject: [PATCH] 1、调整登录页及首页样式(暂未使用响应式布局,背景图片需压缩,页面加载慢) 2、新增大模型对话页面 3、新增菜单管理使用自定义icon功能 4、调整全局项目名称和LOGO(除浏览器页签logo,暂无黑底logo的底图)

---
 src/views/user/LoginAccount.vue |  136 ++++++++++++++++++++++++---------------------
 1 files changed, 72 insertions(+), 64 deletions(-)

diff --git a/src/views/user/LoginAccount.vue b/src/views/user/LoginAccount.vue
index 1ff9a73..40714d6 100644
--- a/src/views/user/LoginAccount.vue
+++ b/src/views/user/LoginAccount.vue
@@ -1,32 +1,35 @@
 <template>
-    <div>
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-        <a-form-model-item required prop="username">
-          <a-input v-model="model.username" size="large" placeholder="璇疯緭鍏ュ笎鎴峰悕 / admin">
-            <a-icon slot="prefix" type="user" :style="{ color: 'rgba(0,0,0,.25)' }"/>
-          </a-input>
-        </a-form-model-item>
-        <a-form-model-item required prop="password">
-          <a-input v-model="model.password" size="large" type="password" autocomplete="false" placeholder="璇疯緭鍏ュ瘑鐮� / 123456">
-            <a-icon slot="prefix" type="lock" :style="{ color: 'rgba(0,0,0,.25)' }"/>
-          </a-input>
-        </a-form-model-item>
+  <a-form-model ref="form" :model="model" :rules="validatorRules">
+    <a-form-model-item required prop="username">
+      <div class="login-input">
+        <img src="../../assets/icons/account.png" height="25" style="margin-right: 10px">
+        <a-input v-model="model.username" size="large" placeholder="鐢ㄦ埛鍚�" ref="inputRef" @focus="inputFocus"/>
+      </div>
+    </a-form-model-item>
+    <a-form-model-item required prop="password">
+      <div class="login-input">
+        <img src="../../assets/icons/password.png" height="25" style="margin-right: 10px">
+        <a-input v-model="model.password" size="large" type="password" autocomplete="false"
+                 placeholder="瀵嗙爜"/>
+      </div>
+    </a-form-model-item>
 
-        <a-row :gutter="0">
-          <a-col :span="16">
-            <a-form-model-item required prop="inputCode">
-              <a-input v-model="model.inputCode" size="large" type="text" placeholder="璇疯緭鍏ラ獙璇佺爜">
-                <a-icon slot="prefix" type="smile" :style="{ color: 'rgba(0,0,0,.25)' }"/>
-              </a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" style="text-align: right">
-            <img v-if="requestCodeSuccess" style="margin-top: 2px;" :src="randCodeImage" @click="handleChangeCheckCode"/>
-            <img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode"/>
-          </a-col>
-        </a-row>
-      </a-form-model>
-    </div>
+    <a-row :gutter="0" style="height: 40px">
+      <a-col :span="16">
+        <a-form-model-item required prop="inputCode">
+          <div class="login-input">
+            <img src="../../assets/icons/inputCode.png" height="25" style="margin-right: 10px">
+            <a-input v-model="model.inputCode" size="large" type="text" placeholder="璇疯緭鍏ラ獙璇佺爜"/>
+          </div>
+        </a-form-model-item>
+      </a-col>
+      <a-col :span="8" style="height: 55px;display: flex;justify-content: right;align-items: center;padding-left: 15px">
+        <img v-if="requestCodeSuccess" style="height: 45px;width:100%;border-radius: 15px;" :src="randCodeImage"
+             @click="handleChangeCheckCode"/>
+        <img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode"/>
+      </a-col>
+    </a-row>
+  </a-form-model>
 </template>
 
 <script>
@@ -36,18 +39,18 @@
 
   export default {
     name: 'LoginAccount',
-    data(){
+    data() {
       return {
         requestCodeSuccess: false,
         randCodeImage: '',
         currdatetime: '',
         loginType: 0,
-        model:{
+        model: {
           username: 'admin',
           password: '123456',
           inputCode: ''
         },
-        validatorRules:{
+        validatorRules: {
           username: [
             { required: true, message: '璇疯緭鍏ョ敤鎴峰悕!' },
             { validator: this.handleUsernameOrEmail }
@@ -63,29 +66,29 @@
       }
     },
     created() {
-      this.handleChangeCheckCode();
+      this.handleChangeCheckCode()
     },
-    methods:{
+    methods: {
       ...mapActions(['Login']),
       /**鍒锋柊楠岃瘉鐮�*/
-      handleChangeCheckCode(){
-        this.currdatetime = new Date().getTime();
+      handleChangeCheckCode() {
+        this.currdatetime = new Date().getTime()
         this.model.inputCode = ''
-        getAction(`/sys/randomImage/${this.currdatetime}`).then(res=>{
-          if(res.success){
+        getAction(`/sys/randomImage/${this.currdatetime}`).then(res => {
+          if (res.success) {
             this.randCodeImage = res.result
-            this.requestCodeSuccess=true
-          }else{
+            this.requestCodeSuccess = true
+          } else {
             this.$message.error(res.message)
-            this.requestCodeSuccess=false
+            this.requestCodeSuccess = false
           }
-        }).catch(()=>{
-          this.requestCodeSuccess=false
+        }).catch(() => {
+          this.requestCodeSuccess = false
         })
       },
       // 鍒ゆ柇鐧诲綍绫诲瀷
-      handleUsernameOrEmail (rule, value, callback) {
-        const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
+      handleUsernameOrEmail(rule, value, callback) {
+        const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/
         if (regex.test(value)) {
           this.loginType = 0
         } else {
@@ -98,57 +101,61 @@
        * @param arr
        * @param callback
        */
-      validateFields(arr, callback){
+      validateFields(arr, callback) {
         let promiseArray = []
-        for(let item of arr){
+        for (let item of arr) {
           let p = new Promise((resolve, reject) => {
-            this.$refs['form'].validateField(item, (err)=>{
-              if(!err){
-                resolve();
-              }else{
-                reject(err);
+            this.$refs['form'].validateField(item, (err) => {
+              if (!err) {
+                resolve()
+              } else {
+                reject(err)
               }
             })
-          });
+          })
           promiseArray.push(p)
         }
-        Promise.all(promiseArray).then(()=>{
+        Promise.all(promiseArray).then(() => {
           callback()
-        }).catch(err=>{
+        }).catch(err => {
           callback(err)
         })
       },
-      acceptUsername(username){
+      acceptUsername(username) {
         this.model['username'] = username
       },
       //璐﹀彿瀵嗙爜鐧诲綍
-      handleLogin(rememberMe){
-        this.validateFields([ 'username', 'password', 'inputCode' ], (err)=>{
-          if(!err){
+      handleLogin(rememberMe) {
+        this.validateFields(['username', 'password', 'inputCode'], (err) => {
+          if (!err) {
             let loginParams = {
               username: this.model.username,
               password: this.model.password,
               captcha: this.model.inputCode,
               checkKey: this.currdatetime,
-              remember_me: rememberMe,
+              remember_me: rememberMe
             }
-            console.log("鐧诲綍鍙傛暟", loginParams)
+            console.log('鐧诲綍鍙傛暟', loginParams)
             this.Login(loginParams).then((res) => {
               this.$emit('success', res.result)
             }).catch((err) => {
               //update-begin-author: taoyan date:20220425 for: 鐧诲綍椤甸潰锛屽綋杈撳叆楠岃瘉鐮侀敊璇椂锛岄獙璇佺爜鍥剧墖瑕佸埛鏂颁竴涓嬶紝鑰屼笉鏄繚鎸佹棫鐨勯獙璇佺爜鍥剧墖涓嶅彉 #41
-              if(err && err.code===412){
-                this.handleChangeCheckCode();
+              if (err && err.code === 412) {
+                this.handleChangeCheckCode()
               }
               //update-end-author: taoyan date:20220425 for: 鐧诲綍椤甸潰锛屽綋杈撳叆楠岃瘉鐮侀敊璇椂锛岄獙璇佺爜鍥剧墖瑕佸埛鏂颁竴涓嬶紝鑰屼笉鏄繚鎸佹棫鐨勯獙璇佺爜鍥剧墖涓嶅彉 #41
               this.$emit('fail', err)
-            });
-          }else{
+            })
+          } else {
             this.$emit('validateFail')
           }
         })
-      }
+      },
 
+      inputFocus() {
+        console.log('瑙﹀彂focus', this.$refs.inputRef.$el.style)
+        this.$refs.inputRef.$el.style = 'background-color:#f00'
+      }
 
     }
 
@@ -157,4 +164,5 @@
 
 <style scoped>
 
+
 </style>
\ No newline at end of file

--
Gitblit v1.9.3