From 12a7587eb12e3d33809ef9c169dd76b20ac707c4 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 13 十一月 2024 10:23:47 +0800
Subject: [PATCH] 修改

---
 src/views/components/loginForm.vue |  288 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 196 insertions(+), 92 deletions(-)

diff --git a/src/views/components/loginForm.vue b/src/views/components/loginForm.vue
index e2e2f2a..e6d1833 100644
--- a/src/views/components/loginForm.vue
+++ b/src/views/components/loginForm.vue
@@ -1,72 +1,76 @@
 <template>
-  <div class="login-panel">
-    <div class="login-img">
-      <img :src="loginImgPng">
-    </div>
-    <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">登录系统</h3>
-      <el-form-item prop="username">
-        <el-input
-          v-model="loginForm.username"
-          type="text"
-          size="large"
-          auto-complete="off"
-          placeholder="账号"
-        >
-          <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
-        </el-input>
-      </el-form-item>
-      <el-form-item prop="password">
-        <el-input
-          v-model="loginForm.password"
-          type="password"
-          size="large"
-          auto-complete="off"
-          placeholder="密码"
-          @keyup.enter="handleLogin"
-          show-password
-        >
-          <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
-        </el-input>
-      </el-form-item>
-      <el-form-item prop="code" v-if="captchaEnabled">
-        <el-input
-          v-model="loginForm.code"
-          size="large"
-          auto-complete="off"
-          placeholder="验证码"
-          style="width: 63%"
-          @keyup.enter="handleLogin"
-        >
-          <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
-        </el-input>
-        <div class="login-code">
-          <img :src="codeUrl" @click="getCode" class="login-code-img"/>
-        </div>
-      </el-form-item>
-      <el-radio-group v-model="loginForm.role" class="mb5">
-        <el-radio :label="0" size="large">监管部门</el-radio>
-        <el-radio :label="1" size="large">机构管理员</el-radio>
-      </el-radio-group>
-      <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px">
-<!--        <el-checkbox v-model="loginForm.rememberMe">记住密码</el-checkbox>-->
-        <el-button
-            :loading="loading"
-            size="large"
-            type="primary"
-            style="width:63%;"
-            @click.prevent="handleLogin"
-        >
-          <span v-if="!loading">登 录</span>
-          <span v-else>登 录 中...</span>
-        </el-button>
-        <div v-if="isRegister">
-          <el-button link type="primary" @click="openRegist">立即注册</el-button>
+  <el-row class="login-panel">
+    <el-col :sm="24" :md="12" class="login-img">
+      新疆维吾尔自治区应急管理厅<br/>专家管理系统
+    </el-col>
+    <el-col :sm="24" :md="12" class="login-box">
+      <div class="login-card">
+        <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
+          <h3 class="title">登录系统</h3>
+          <el-form-item prop="username">
+            <el-input
+              v-model="loginForm.username"
+              type="text"
+              size="large"
+              auto-complete="off"
+              placeholder="账号"
+            >
+              <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
+            </el-input>
+          </el-form-item>
+          <el-form-item prop="password">
+            <el-input
+              v-model="loginForm.password"
+              type="password"
+              size="large"
+              auto-complete="off"
+              placeholder="密码"
+              @keyup.enter="handleLogin"
+              show-password
+            >
+              <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
+            </el-input>
+          </el-form-item>
+          <el-form-item prop="code" v-if="captchaEnabled">
+            <el-input
+              v-model="loginForm.code"
+              size="large"
+              auto-complete="off"
+              placeholder="验证码"
+              style="width: 63%"
+              @keyup.enter="handleLogin"
+            >
+              <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
+            </el-input>
+            <div class="login-code">
+              <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+            </div>
+          </el-form-item>
+    <!--      <el-radio-group v-model="loginForm.role" class="mb5">-->
+    <!--        <el-radio :label="0" size="large">监管部门</el-radio>-->
+    <!--        <el-radio :label="1" size="large">机构管理员</el-radio>-->
+    <!--      </el-radio-group>-->
+          <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px">
+            <div class="btn-cont">
+              <button class="login-btn" @click.prevent="handleLogin">
+                <span v-if="!loading">登 录</span>
+                <span v-else>登 录 中...</span>
+              </button>
+            </div>
+  <!--          <div v-if="isRegister">-->
+  <!--            <el-button link type="primary" @click="openRegist">立即注册</el-button>-->
+  <!--          </div>-->
+          </div>
+        </el-form>
+        <div class="other-btns">
+          <el-button link type="primary" style="color: #fff" @click="openApply()">专家申请</el-button>
+          <el-button link type="primary" style="color: #fff" @click="openCheck">专家评定进度查询</el-button>
         </div>
       </div>
-    </el-form>
-  </div>
-  <register ref="regRef"/>
+    </el-col>
+  </el-row>
+  <expert-form ref="expertFormRef"></expert-form>
+<!--  <register ref="regRef"/>-->
 </template>
 
 <script setup>
@@ -78,7 +82,7 @@
 import { Register } from "@/layout/components";
 import { Base64 } from 'js-base64'
 import menu from "@/layout/components/Sidebar/menu";
-import loginImgPng from "@/assets/images/loginImg.png"
+import ExpertForm from "../safetyReview/expertManage/applyRecords/components/expertForm";
 
 const userStore = useUserStore()
 const route = useRoute();
@@ -113,7 +117,7 @@
 })
 
 const openRegist = ()=>{
-  regRef.value.openDialog('add', {});
+  regRef.value.openApply();
 }
 
 watch(route, (newRoute) => {
@@ -122,6 +126,27 @@
 
 
 const sidebarRouters = ref([])
+
+
+
+const expertFormRef = ref()
+const openApply = () => {
+  // expertFormRef.value.openApply(type, value)
+  const routePath = '/fillForm';
+  const resolvedRoute = router.resolve(routePath);
+  const fullPath = resolvedRoute.href
+  window.open(fullPath, '_blank');
+}
+
+
+const openCheck = () => {
+  // expertFormRef.value.openApply(type, value)
+  const routePath = '/checkProgress';
+  const resolvedRoute = router.resolve(routePath);
+  const fullPath = resolvedRoute.href
+  window.open(fullPath, '_blank');
+}
+
 function handleLogin() {
   proxy.$refs.loginRef.validate(valid => {
     if (valid) {
@@ -218,42 +243,83 @@
 </script>
 
 <style lang='scss' scoped>
+@font-face {
+  font-family: "AliMa";
+  src: url("@/assets/styles/font/AlimamaShuHeiTi-Bold.ttf");
+  font-style: normal;
+  font-weight: normal;
+}
 .login-panel{
   width: 100%;
   height: 100%;
-  display: flex;
+  background: url("@/assets/images/loginBg.jpg") no-repeat center;
+  background-size: cover;
   justify-content: center;
   align-items: center;
+
 }
 .login-img{
-  flex: 1;
   display: flex;
   justify-content: center;
   align-items: center;
-  img{
-    width: 100%;
-  }
+  font-family: 'AliMa';
+  color: #fff;
+  font-size: 3.2rem;
+  text-align: center;
+  line-height: 1.5;
+  transform: translateY(-80px);
+  text-shadow: -10px 10px 20px rgba(0,0,0,.4);
 }
-.login-form {
-  flex: 2;
-  padding: 10px;
-
-  .title{
-    margin: 20px 0;
+.login-box{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  transform: translateY(-40px);
+  .login-card{
+    width: 500px;
+    padding: 30px;
+    border-radius: 16px;
+    background-color: rgba(255,255,255,.2);
+    backdrop-filter: blur(5px);
+    -webkit-backdrop-filter: blur(5px);
+    border: 1px solid rgba(255,255,255,.4);
+    max-width: 100%;
+    box-sizing: border-box;
+    box-shadow: 0 10px 20px rgba(0,0,0,.05);
   }
+  .login-form {
+    width: 100%;
+    box-sizing: border-box;
 
-  .el-input {
-    height: 40px;
-    input {
-      height: 40px;
+    .title{
+      margin: 0 0 30px;
+      text-align: center;
+      color: #fff
+    }
+
+    .el-form-item{
+      margin-bottom: 30px;
+    }
+
+    .el-input {
+      height: 48px;
+      input {
+        height: 48px;
+      }
+    }
+    .input-icon {
+      height: 39px;
+      width: 14px;
+      margin-left: 0px;
     }
   }
-  .input-icon {
-    height: 39px;
-    width: 14px;
-    margin-left: 0px;
+  .other-btns{
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
   }
 }
+
 .login-tip {
   font-size: 13px;
   text-align: center;
@@ -261,11 +327,12 @@
 }
 .login-code {
   width: 33%;
-  height: 40px;
+  height: 48px;
   float: right;
-  img {
+  .login-code-img {
     display: inline-block;
     width: 100%;
+    padding-left: 12px;
     cursor: pointer;
     vertical-align: middle;
   }
@@ -279,8 +346,45 @@
   display: flex;
   justify-content: space-between;
 }
-.login-code-img {
-  height: 40px;
-  padding-left: 12px;
+
+.login-btn {
+  width: 100%;
+  font-size: 1.2em;
+  padding: 0.6em 0.8em;
+  border-radius: 0.5em;
+  border: none;
+  background-color: #2563EB;
+  color: #fff;
+  cursor: pointer;
+  box-shadow: 2px 2px 3px #000000b4;
 }
+
+.btn-cont {
+  width: 100%;
+  position: relative;
+  padding: 3px;
+  background: #03a9f4;
+  border-radius: 0.9em;
+  transition: all 0.3s ease;
+}
+
+.btn-cont::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  margin: auto;
+  border-radius: 0.9em;
+  z-index: -10;
+  filter: blur(0);
+  transition: filter 0.4s ease;
+}
+
+.btn-cont:hover::before {
+  background: #2559c9;
+  filter: blur(0.6em);
+}
+.btn-cont:active::before {
+  filter: blur(0.1em);
+}
+
 </style>

--
Gitblit v1.9.2