From b76e7f30d9cf4258db4c2e4c77183edb10db0019 Mon Sep 17 00:00:00 2001
From: 付延余 <f-yanyu@outlook.com>
Date: 星期五, 08 四月 2022 17:39:36 +0800
Subject: [PATCH] login

---
 src/pages/login.vue                     |  188 ++++++++++++++++++
 src/router/router.js                    |   80 ++++----
 package.json                            |    4 
 src/pages/components/showIndexTitle.vue |  294 ++++++++++++++--------------
 src/assets/css/base.scss                |    3 
 5 files changed, 375 insertions(+), 194 deletions(-)

diff --git a/package.json b/package.json
index 1efac8a..de1d5b1 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
     "build": "node build/build.js"
   },
   "dependencies": {
-    "axios": "^0.18.1",
+    "axios": "^0.26.1",
     "echarts": "^4.7.0",
     "element-ui": "^2.15.6",
     "lib-flexible": "^0.3.2",
@@ -53,7 +53,7 @@
     "px2rem-loader": "^0.1.9",
     "rimraf": "^2.7.1",
     "semver": "^5.7.1",
-    "shelljs": "^0.7.6",
+    "shelljs": "^0.8.5",
     "uglifyjs-webpack-plugin": "^1.1.1",
     "url-loader": "^0.5.8",
     "vue-loader": "^13.3.0",
diff --git a/src/assets/css/base.scss b/src/assets/css/base.scss
index a501918..a567667 100644
--- a/src/assets/css/base.scss
+++ b/src/assets/css/base.scss
@@ -4,10 +4,11 @@
 $fontSize-28: 2.8rem;
 $fontSize-30: 3rem;
 $fontSize-32: 3.2rem;
+$fontSize-38: 3.8rem;
 $fontSize-48: 4.8rem;
 
 $color-blue: #51D2FF;
 $color-white: #fff;
-$color-dark:#05336A;
+$color-dark: #05336A;
 $color-grey:#8E8E8E;
 $color-darkGrey:#111111;
diff --git a/src/pages/components/showIndexTitle.vue b/src/pages/components/showIndexTitle.vue
index 7a47c89..38a22e0 100644
--- a/src/pages/components/showIndexTitle.vue
+++ b/src/pages/components/showIndexTitle.vue
@@ -1,159 +1,163 @@
 <template>
-    <div class="showIndexTitle-wrap">
-      <h1 class="title">鐭冲搴勪汉绀惧眬涓氬姟杩愯鏁版嵁鍒嗘瀽骞冲彴</h1>
-      <el-menu :default-active="$route.path" router mode="horizontal" class="el-menu-demo">
-        <div class="showIndex-left">
-          <el-menu-item index="/index">
-            <div class="showIndex-block">
-              <h1>棣栭〉</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item index="/jiuyeAndChuangye">
-            <div class="showIndex-block">
-              <h1>灏变笟鍒涗笟</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item index="/shehuiBaozhang">
-            <div class="showIndex-block">
-              <h1>绀句細淇濋殰</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>浜轰簨浜烘墠</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>鍔冲姩鍏崇郴</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>鍏跺畠涓氬姟</h1>
-            </div>
-          </el-menu-item>
-
-        </div>
-        <div class="showIndex-right">
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>钀ュ晢鏀跨瓥</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>閫氳褰�</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>宸ヤ綔鍛ㄦ姤</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>鏂囨。涓績</h1>
-            </div>
-          </el-menu-item>
-          <el-menu-item>
-            <div class="showIndex-block">
-              <h1>閫�鍑虹櫥褰�</h1>
-            </div>
-          </el-menu-item>
-        </div>
-      </el-menu>
-    </div>
+  <div class="showIndexTitle-wrap">
+    <h1 class="title">鐭冲搴勪汉绀惧眬涓氬姟杩愯鏁版嵁鍒嗘瀽骞冲彴</h1>
+    <el-menu
+      :default-active="$route.path"
+      router
+      mode="horizontal"
+      class="el-menu-demo"
+    >
+      <div class="showIndex-left">
+        <el-menu-item index="/index">
+          <div class="showIndex-block">
+            <h1>棣栭〉</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item index="/jiuyeAndChuangye">
+          <div class="showIndex-block">
+            <h1>灏变笟鍒涗笟</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item index="/shehuiBaozhang">
+          <div class="showIndex-block">
+            <h1>绀句細淇濋殰</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>浜轰簨浜烘墠</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>鍔冲姩鍏崇郴</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>鍏跺畠涓氬姟</h1>
+          </div>
+        </el-menu-item>
+      </div>
+      <div class="showIndex-right">
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>钀ュ晢鏀跨瓥</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>閫氳褰�</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>宸ヤ綔鍛ㄦ姤</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item>
+          <div class="showIndex-block">
+            <h1>鏂囨。涓績</h1>
+          </div>
+        </el-menu-item>
+        <el-menu-item index="/login">
+          <div class="showIndex-block">
+            <h1>閫�鍑虹櫥褰�</h1>
+          </div>
+        </el-menu-item>
+      </div>
+    </el-menu>
+  </div>
 </template>
 
 <script>
-    export default {
-        name: "showIndexTitle"
-    }
+export default {
+  name: "showIndexTitle"
+};
 </script>
 
 <style lang="scss">
-  .showIndexTitle-wrap{
-    .el-menu-item:focus, .el-menu-item:hover{
-      background-color:transparent;
-    }
-    /*.el-menu-item:focus{*/
-    /*  background:url("../../assets/images/menu-active.png") no-repeat center;*/
-    /*  background-size: 100% 100%;*/
-    /*  width: 12.8rem  !* 128/10 *!;*/
-    /*  height: 5rem;*/
-    /*}*/
-    .el-menu-item.is-active{
-      background:url("../../assets/images/menu-active.png") no-repeat center;
-      background-size: 100% 100%;
-      width: 12.8rem  /* 128/10 */;
-      height: 5rem;
-    }
-    .el-menu-item{
-      background:url("../../assets/images/menu-normal.png") no-repeat center;
-      background-size: 100% 100%;
-      width: 12.8rem  /* 128/10 */;
-      height: 5rem;
-      margin-right: 1.2rem  /* 12/10 */;
-    }
-    .el-menu.el-menu--horizontal{
-      border-bottom: 0;
-    }
+.showIndexTitle-wrap {
+  .el-menu-item:focus,
+  .el-menu-item:hover {
+    background-color: transparent;
   }
-
+  /*.el-menu-item:focus{*/
+  /*  background:url("../../assets/images/menu-active.png") no-repeat center;*/
+  /*  background-size: 100% 100%;*/
+  /*  width: 12.8rem  !* 128/10 *!;*/
+  /*  height: 5rem;*/
+  /*}*/
+  .el-menu-item.is-active {
+    background: url("../../assets/images/menu-active.png") no-repeat center;
+    background-size: 100% 100%;
+    width: 12.8rem /* 128/10 */;
+    height: 5rem;
+  }
+  .el-menu-item {
+    background: url("../../assets/images/menu-normal.png") no-repeat center;
+    background-size: 100% 100%;
+    width: 12.8rem /* 128/10 */;
+    height: 5rem;
+    margin-right: 1.2rem /* 12/10 */;
+  }
+  .el-menu.el-menu--horizontal {
+    border-bottom: 0;
+  }
+}
 </style>
 <style lang="scss" scoped>
-  .showIndexTitle-wrap{
-    width: 100%;
-    height: 9rem  /* 90/10 */;
-    background:url("../../assets/images/jiashicang-title-bj.png") no-repeat center;
-    background-size: 100% 100%;
-    .title{
-      font-size: 3rem  /* 30/10 */;
-      font-family: 'Source Han Sans CN';
-      color: #fff;
-      text-align: center;
-      line-height: 7rem  /* 70/10 */;
-    }
-    .showIndex-left{
-      position: absolute;
-      left:1rem  /* 10/10 */;
-      top: -5rem  /* 10/10 */;
-      display: flex;
-      .showIndex-block{
-        /*background:url("../../assets/images/menu-normal.png") no-repeat center;*/
-        /*background-size: 100% 100%;*/
-        /*width: 12.8rem  !* 128/10 *!;*/
-        /*height: 5rem;*/
-        h1{
-          color: #fff;
-          font-size: 2.4rem;
-          text-align: center;
-          line-height: 5rem;
-        }
-      }
-    }
-    .showIndex-right{
-      position: absolute;
-      right:1rem  /* 10/10 */;
-      top: -5rem  /* 10/10 */;
-      display: flex;
-      .showIndex-block{
-        /*background:url("../../assets/images/menu-normal.png") no-repeat center;*/
-        /*background-size: 100% 100%;*/
-        /*width: 12.8rem  !* 128/10 *!;*/
-        /*height: 5rem;*/
-        /*cursor: pointer;*/
-        h1{
-          color: #fff;
-          font-size: 2.4rem;
-          text-align: center;
-          line-height: 5rem;
-        }
-      }
-      .menu-active{
-
+.showIndexTitle-wrap {
+  width: 100%;
+  height: 9rem /* 90/10 */;
+  background: url("../../assets/images/jiashicang-title-bj.png") no-repeat
+    center;
+  background-size: 100% 100%;
+  .title {
+    font-size: 3rem /* 30/10 */;
+    font-family: "Source Han Sans CN";
+    color: #fff;
+    text-align: center;
+    line-height: 7rem /* 70/10 */;
+  }
+  .showIndex-left {
+    position: absolute;
+    left: 1rem /* 10/10 */;
+    top: -5rem /* 10/10 */;
+    display: flex;
+    .showIndex-block {
+      /*background:url("../../assets/images/menu-normal.png") no-repeat center;*/
+      /*background-size: 100% 100%;*/
+      /*width: 12.8rem  !* 128/10 *!;*/
+      /*height: 5rem;*/
+      h1 {
+        color: #fff;
+        font-size: 2.4rem;
+        text-align: center;
+        line-height: 5rem;
       }
     }
   }
+  .showIndex-right {
+    position: absolute;
+    right: 1rem /* 10/10 */;
+    top: -5rem /* 10/10 */;
+    display: flex;
+    .showIndex-block {
+      /*background:url("../../assets/images/menu-normal.png") no-repeat center;*/
+      /*background-size: 100% 100%;*/
+      /*width: 12.8rem  !* 128/10 *!;*/
+      /*height: 5rem;*/
+      /*cursor: pointer;*/
+      h1 {
+        color: #fff;
+        font-size: 2.4rem;
+        text-align: center;
+        line-height: 5rem;
+      }
+    }
+    .menu-active {
+    }
+  }
+}
 </style>
diff --git a/src/pages/login.vue b/src/pages/login.vue
index a89d30f..c2af86e 100644
--- a/src/pages/login.vue
+++ b/src/pages/login.vue
@@ -1,28 +1,204 @@
 <template>
   <div class="login-container">
+    <div class="title">鐭冲搴勪汉绀惧眬涓氬姟杩愯鏁版嵁鍒嗘瀽骞冲彴</div>
+    <div class="loginBox">
+      <div class="title-text">
+        <span>鐢ㄦ埛鐧诲綍</span>
+      </div>
+<!--      <div class="img">-->
+<!--        <img src="../assets/images/login/缁�%20377@2x.png" alt="">-->
+<!--        <img src="../assets/images/login/缁�%20377@2x_1.png" alt="">-->
+<!--      </div>-->
+      <div class="FormBox">
+        <el-form
+          ref="loginFormRef"
+          :model="loginForm"
+          class="LoginForm"
+          label-width="0rem"
+          :rules="loginFormRules"
+        >
+          <el-form-item prop="username">
+            <el-input
+              v-model="loginForm.username"
+              placeholder="璇疯緭鍏ョ敤鎴峰悕"
+              class="userInput"
+              prefix-icon="iconfont icon-user"
+            ></el-input>
+          </el-form-item>
+          <el-form-item prop="password">
+            <el-input
+              v-model="loginForm.password"
+              prefix-icon="iconfont icon-3702mima"
+              placeholder="璇疯緭鍏ュ瘑鐮�"
+              class="passwordInput"
+              show-password
+            ></el-input>
+          </el-form-item>
+        </el-form>
+      </div>
+
+      <el-button type="primary" class="loginButton" @click="login()"
+      >鐧诲綍
+      </el-button
+      >
+    </div>
   </div>
 </template>
 <script>
-import { login } from "@/api/index";
+import {login} from "@/api/index";
+
 export default {
   data() {
     return {
+      loginForm: {
+        username: "",
+        password: ""
+      },
+      loginFormRules: {
+        // 楠岃瘉鐢ㄦ埛鍚嶆槸鍚﹀悎娉�
+        username: [
+          {required: true, message: "璇疯緭鍏ョ櫥褰曞悕绉�", trigger: "blur"},
+          {min: 3, max: 15, message: "闀垮害鍦�6鍒�15涓瓧绗�", trigger: "blur"}
+        ],
+        // 楠岃瘉瀵嗙爜鏄惁鍚堟硶
+        password: [
+          {required: true, message: "璇疯緭鍏ョ櫥褰曞瘑鐮�", trigger: "blur"},
+          {min: 6, max: 10, message: "闀垮害鍦�6鍒�10涓瓧绗�", trigger: "blur"}
+        ]
+      }
     };
   },
   beforeCreate() {
   },
   methods: {
-  },
+    login() {
+      this.$refs.loginFormRef.validate(async valid => {
+        console.log(valid);
+        if (!valid) return;
+        this.$router.push("/");
+      });
+    }
+  }
 };
 </script>
 
 <style lang="scss">
-$bg: #283443;
-$light_gray: rgb(43, 7, 7);
-$cursor: #fff;
+.FormBox {
+  width: 100%;
+  //text-align: center;
+  margin-left: 8rem;
 
+  .el-input__inner {
+    height: 8.8rem;
+    font-size: 2.8rem;
+    background: rgba(81, 210, 255, 0.24);
+    margin-top: 4.8rem;
+    color: #ffffff;
+    padding-left: 8.8rem;
+    //.el-input__prefix {
+    //  width: 3rem;
+    //  height: 3rem;
+    //}
+  }
+
+  :nth-of-type(2) {
+    margin-top: 4.8rem;
+  }
+
+
+  .el-form-item__content {
+    width: 64rem;
+    height: 8.8rem;
+    line-height: 8.8rem;
+  }
+
+  .el-form-item__error {
+    font-size: 2.8rem !important;
+    margin-top: 5rem;
+  }
+
+  //input:disabled::-webkit-input-placeholder {
+  //  -webkit-text-fill-color: red;
+  //}
+}
 </style>
 
 <style lang="scss" scoped>
-</style>
+@import '../assets/css/base';
 
+.login-container {
+  width: 256rem;
+  height: 168rem;
+  background: url(../assets/images/login/鑳屾櫙@2x.png);
+  position: relative;
+}
+
+.title {
+  width: 334.368rem;
+  height: 12.8rem;
+  background: url(../assets/images/login/top@2x.png);
+  position: absolute;
+  left: -39.184rem;
+  top: 0;
+  font-size: 3.6rem;
+  color: #ffffff;
+  font-weight: 400;
+  text-align: center;
+  line-height: 10rem;
+  font-family: Source Han Sans CN, Source Han Sans CN-Regular;
+}
+
+.loginBox {
+  width: 80rem;
+  height: 81.866rem;
+  background: url(../assets/images/login/妗咢2x.png);
+  position: absolute;
+  margin-top: 39rem;
+  margin-bottom: 39rem;
+  margin-left: 88rem;
+
+  span {
+    font-size: $fontSize-32;
+    color: #51d2ff;
+    font-family: Source Han Sans CN, Source Han Sans CN-Regular;
+    font-weight: 400;
+    color: #51d2ff;
+    line-height: 12px;
+  }
+
+  .title-text {
+    width: 80rem;
+    margin-top: 8.6rem;
+    text-align: center;
+  }
+
+  .LoginForm {
+    width: 100%;
+    box-sizing: border-box;
+  }
+
+  .loginButton {
+    width: 64rem;
+    height: 8.8rem;
+    background: #51d2ff;
+    font-size: 3.2rem;
+    font-family: Source Han Sans CN, Source Han Sans CN-Regular;
+    font-weight: 400;
+    text-align: center;
+    color: #000e2d;
+    line-height: 2.4rem;
+    position: absolute;
+    bottom: 14.46rem;
+    left: 8rem;
+  }
+}
+
+//.el-input__icon .el-icon-lock{
+//  width:1rem;
+//
+//}
+///deep/ .el-input {
+//  width: 64rem;
+//}
+
+</style>
diff --git a/src/router/router.js b/src/router/router.js
index b558e5b..6a6f998 100644
--- a/src/router/router.js
+++ b/src/router/router.js
@@ -3,50 +3,50 @@
 import jiuyeAndChuangye from "../pages/show/jiuyeAndChuangye/jiuyeAndChuangye";
 import shehuiBaozhang from "../pages/show/shehuiBaozhang/shehuiBaozhang";
 const indexRouter = {
-    path: '/',
-    name: 'index',
-    component: showHome,
-    redirect: '/index',
-    children: [
-        { path: '/index', meta: { title: '澶у睆棣栭〉' }, name: 'index', component: () => import('@/pages/show/index/index.vue')},
-        { path: '/jiuyeAndChuangye',
-          component: jiuyeAndChuangye,
-          redirect: '/workStatistics',
-          name: 'jiuyeAndChuangye',
-          children: [
-           { path: '/workStatistics', meta: {title: '灏变笟鍒涗笟'}, name: 'workStatistics',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/workStatistics.vue')},
-           { path: '/chuangyeDanbaoDaikuan', meta: {title: '鍒涗笟鎷呬繚璐锋'}, name: 'chuangyeDanbaoDaikuan',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/chuangyeDanbaoDaikuan.vue')},
-           { path: '/jiuyeQingkuang', meta: {title: '灏变笟鎯呭喌'}, name: 'jiuyeQingkuang',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/jiuyeQingkuang.vue')},
-         ]
-        },
-        {
-          path: '/shehuiBaozhang',
-          component: shehuiBaozhang,
-          redirect: '/shehuiBaoxian',
-          name: 'shehuiBaozhang',
-          children: [
-            { path: '/shehuiBaoxian', meta: {title:'绀句細淇濋殰'}, name: 'shehuiBaoxian', component: () => import('@/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shehuiBaoxian.vue')},
-            { path: '/shebaoShouzhiZongbiao', meta: {title:'绀句繚鏀舵敮鎬昏〃'}, name: 'shebaoShouzhiZongbiao', component: () => import('@/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue')},
-          ]
-        }
-    ]
+  path: '/',
+  name: 'index',
+  component: showHome,
+  redirect: '/index',
+  children: [
+    { path: '/index', meta: { title: '澶у睆棣栭〉' }, name: 'index', component: () => import('@/pages/show/index/index.vue')},
+    { path: '/jiuyeAndChuangye',
+      component: jiuyeAndChuangye,
+      redirect: '/workStatistics',
+      name: 'jiuyeAndChuangye',
+      children: [
+        { path: '/workStatistics', meta: {title: '灏变笟鍒涗笟'}, name: 'workStatistics',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/workStatistics.vue')},
+        { path: '/chuangyeDanbaoDaikuan', meta: {title: '鍒涗笟鎷呬繚璐锋'}, name: 'chuangyeDanbaoDaikuan',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/chuangyeDanbaoDaikuan.vue')},
+        { path: '/jiuyeQingkuang', meta: {title: '灏变笟鎯呭喌'}, name: 'jiuyeQingkuang',  component: () => import('@/pages/show/jiuyeAndChuangye/jiuyeChildren/jiuyeQingkuang.vue')},
+      ]
+    },
+    {
+      path: '/shehuiBaozhang',
+      component: shehuiBaozhang,
+      redirect: '/shehuiBaoxian',
+      name: 'shehuiBaozhang',
+      children: [
+        { path: '/shehuiBaoxian', meta: {title:'绀句細淇濋殰'}, name: 'shehuiBaoxian', component: () => import('@/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shehuiBaoxian.vue')},
+        { path: '/shebaoShouzhiZongbiao', meta: {title:'绀句繚鏀舵敮鎬昏〃'}, name: 'shebaoShouzhiZongbiao', component: () => import('@/pages/show/shehuiBaozhang/shehuiBaozhangChildren/shebaoShouzhiZongbiao.vue')},
+      ]
+    }
+  ]
 }
 const login = {
-    path: '/login',
-    component: () => import('@/pages/login.vue'),
-    meta: {
-        title: `鍚庡彴鐧婚檰`,
-    }
+  path: '/login',
+  component: () => import('@/pages/login.vue'),
+  meta: {
+    title: `鍚庡彴鐧婚檰`,
+  }
 }
 const NotFound = {
-    path: '/404',
-    component: () => import('@/error_pages/404.vue'),
-    meta: {
-        title: "404 | 鍟婂摝~ 浣犳墍璁块棶鐨勯〉闈笉瀛樺湪",
-    }
+  path: '/404',
+  component: () => import('@/error_pages/404.vue'),
+  meta: {
+    title: "404 | 鍟婂摝~ 浣犳墍璁块棶鐨勯〉闈笉瀛樺湪",
+  }
 }
 export const routers = [
-    indexRouter,
-    // login,
-    // NotFound
+  indexRouter,
+  login,
+  // NotFound
 ]

--
Gitblit v1.9.1