From 3a82aab402e8cdee192ab47405f2a01973bd4dab Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 11 Apr 2022 11:46:25 +0800
Subject: [PATCH] 文件存储地址修改

---
 src/page/login/codelogin.vue |  271 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 226 insertions(+), 45 deletions(-)

diff --git a/src/page/login/codelogin.vue b/src/page/login/codelogin.vue
index 79022c3..3ddaf3a 100644
--- a/src/page/login/codelogin.vue
+++ b/src/page/login/codelogin.vue
@@ -1,41 +1,69 @@
 <template>
-  <el-form class="login-form"
-           status-icon
-           :rules="loginRules"
-           ref="loginForm"
-           :model="loginForm"
-           label-width="0">
+  <el-form
+    class="login-form"
+    status-icon
+    :rules="loginRules"
+    ref="loginForm"
+    :model="loginForm"
+    label-width="0"
+  >
+    <el-form-item prop="username">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.username"
+        auto-complete="off"
+        :placeholder="$t('login.username')"
+      >
+        <i slot="prefix" class="icon-yonghu" />
+      </el-input>
+    </el-form-item>
     <el-form-item prop="phone">
-      <el-input size="small"
-                @keyup.enter.native="handleLogin"
-                v-model="loginForm.phone"
-                auto-complete="off"
-                :placeholder="$t('login.phone')">
-        <i slot="prefix"
-           class="icon-shouji"/>
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.phone"
+        auto-complete="off"
+        :placeholder="$t('login.phone')"
+      >
+        <i slot="prefix" class="el-icon-phone-outline" />
       </el-input>
     </el-form-item>
-    <el-form-item prop="code">
-      <el-input size="small"
-                @keyup.enter.native="handleLogin"
-                v-model="loginForm.code"
-                auto-complete="off"
-                :placeholder="$t('login.code')">
-        <i slot="prefix"
-           class="icon-yanzhengma"
-           style="margin-top:6px;"/>
-        <template slot="append">
-          <span @click="handleSend"
-                class="msg-text"
-                :class="[{display:msgKey}]">{{msgText}}</span>
-        </template>
+    <el-form-item prop="password">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.password"
+        auto-complete="off"
+        show-password
+        :placeholder="$t('login.password')"
+      >
+        <i slot="prefix" class="icon-mima" />
       </el-input>
     </el-form-item>
-    <el-form-item>
-      <el-button size="small"
-                 type="primary"
-                 @click.native.prevent="handleLogin"
-                 class="login-submit">{{$t('login.submit')}}</el-button>
+    <el-form-item prop="password2">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.password2"
+        auto-complete="off"
+        show-password
+        :placeholder="$t('login.password2')"
+      >
+        <i slot="prefix" class="icon-mima" />
+      </el-input>
+    </el-form-item>
+    <el-form-item class="z-login-submit-prv">
+      <el-button
+        size="small"
+        type="primary"
+        @click.native.prevent="handleLogin"
+        class="z-login-submit"
+        >{{ $t("login.zc") }}
+      </el-button>
+      <el-button size="small" @click.native.prevent="gbs" class="z-login-submit"
+        >{{ $t("login.gb") }}
+      </el-button>
     </el-form-item>
   </el-form>
 </template>
@@ -43,9 +71,27 @@
 <script>
 import { isvalidatemobile } from "@/util/validate";
 import { mapGetters } from "vuex";
+import { zc } from "@/api/system/user";
+
 export default {
   name: "codelogin",
   data() {
+    const validatePass = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("请输入密码"));
+      } else {
+        callback();
+      }
+    };
+    const validatePass2 = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("请再次输入密码"));
+      } else if (value !== this.loginForm.password) {
+        callback(new Error("两次输入密码不一致!"));
+      } else {
+        callback();
+      }
+    };
     const validatePhone = (rule, value, callback) => {
       if (isvalidatemobile(value)[0]) {
         callback(new Error(isvalidatemobile(value)[1]));
@@ -63,34 +109,128 @@
     return {
       msgText: "",
       msgTime: "",
+      dic: [],
       msgKey: false,
       loginForm: {
+        username: "",
         phone: "",
-        code: ""
+        password: "",
+        password2: "",
       },
+      value: "",
+      options: [],
       loginRules: {
         phone: [{ required: true, trigger: "blur", validator: validatePhone }],
-        code: [{ required: true, trigger: "blur", validator: validateCode }]
-      }
+        code: [{ required: true, trigger: "blur", validator: validateCode }],
+        password: [
+          { required: true, validator: validatePass, trigger: "blur" },
+        ],
+        password2: [
+          { required: true, validator: validatePass2, trigger: "blur" },
+        ],
+        username: [
+          { required: true, message: "请输入用户名", trigger: "blur" },
+        ],
+      },
+      passwordType: "password",
+      passwordTypes: "password2",
     };
   },
   created() {
     this.msgText = this.config.MSGINIT;
     this.msgTime = this.config.MSGTIME;
   },
-  mounted() {},
   computed: {
     ...mapGetters(["tagWel"]),
     config() {
       return {
         MSGINIT: this.$t("login.msgText"),
         MSGSCUCCESS: this.$t("login.msgSuccess"),
-        MSGTIME: 60
+        MSGTIME: 60,
       };
-    }
+    },
   },
   props: [],
   methods: {
+    ergodicData(val) {
+      var arr = [];
+      arr.push({
+        label: val[0].title,
+        value: val[0].value,
+        id: val[0].id,
+        parent_id: val[0].parent_id,
+      });
+      if (val.length > 1) {
+        val.forEach((item, index) => {
+          if (index > 0) {
+            var ind = true;
+            var arrInd = 0;
+            arr.forEach((it, i) => {
+              if (item.parent_id == it.id) {
+                ind = false;
+                arrInd = i;
+                return;
+              }
+            });
+            if (ind == false) {
+              if (arr[arrInd].children && arr[arrInd].children.length > 0) {
+                arr[arrInd].children.push({
+                  label: item.title,
+                  value: item.value,
+                  id: item.id,
+                  parent_id: item.parent_id,
+                });
+              } else {
+                arr[arrInd].children = [];
+                arr[arrInd].children.push({
+                  label: item.title,
+                  value: item.value,
+                  id: item.id,
+                  parent_id: item.parent_id,
+                });
+              }
+            } else {
+              arr.push({
+                label: item.title,
+                value: item.value,
+                id: item.id,
+                parent_id: item.parent_id,
+              });
+            }
+          }
+        });
+      }
+
+      return arr;
+    },
+
+    clearValidate(formName) {
+      this.$refs[formName].clearValidate();
+    },
+    refreshCode(row) {
+      zc(row.username, row.password, row.phone).then((res) => {
+        this.loginForm.username = "";
+        this.loginForm.phone = "";
+        this.loginForm.password = "";
+        this.loginForm.password2 = "";
+        this.$notify({
+          title: "注册成功",
+          type: "warning",
+        });
+      });
+      var z = document.querySelector(".z");
+      z.style.display = "none";
+      this.clearValidate("loginForm");
+      this.clearValidate("loginForm");
+    },
+    gb() {
+      this.loginForm.username = "";
+      this.loginForm.password = "";
+      this.loginForm.password2 = "";
+      var zs = document.querySelector(".z");
+      zs.style.display = "none";
+      this.clearValidate("loginForm");
+    },
     handleSend() {
       if (this.msgKey) return;
       this.msgText = this.msgTime + this.config.MSGSCUCCESS;
@@ -106,28 +246,69 @@
         }
       }, 1000);
     },
+    showPassword() {
+      this.passwordType === ""
+        ? (this.passwordType = "password")
+        : (this.passwordType = "");
+    },
+    showPasswords() {
+      this.passwordType === ""
+        ? (this.passwordType = "password2")
+        : (this.passwordType = "");
+    },
     handleLogin() {
-      this.$refs.loginForm.validate(valid => {
+      this.$refs.loginForm.validate((valid) => {
+        console.log(valid);
         if (valid) {
-          this.$store.dispatch("LoginByPhone", this.loginForm).then(() => {
-            this.$router.push({ path: this.tagWel.value });
-          });
+          this.refreshCode(this.loginForm);
+          this.message("dahsiofhiusa");
+          return Promise.reject(new Error("注册成功,待审核"));
         }
       });
-    }
-  }
+    },
+    gbs() {
+      this.gb();
+    },
+  },
 };
 </script>
 
 <style>
 .msg-text {
   display: block;
-  width: 60px;
+  width: 40px;
   font-size: 12px;
   text-align: center;
   cursor: pointer;
 }
+
 .msg-text.display {
   color: #ccc;
 }
+
+.z-login-submit-prv {
+  margin-top: 20px;
+  padding: 0 10%;
+  box-sizing: border-box;
+}
+
+.z-login-submit-prv > div {
+  width: 80%;
+  display: flex;
+}
+
+.z-login-submit {
+  flex: 1;
+  height: 45px;
+  border: 1px solid #409eff;
+  background: none;
+  font-size: 18px;
+  letter-spacing: 2px;
+  font-weight: 300;
+  color: #409eff;
+  cursor: pointer;
+  font-family: "neo";
+  -webkit-transition: 0.25s;
+  transition: 0.25s;
+}
 </style>

--
Gitblit v1.9.3