From af7f59aa953cac8c40921d37d2ba9aac7c4facdb Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 13 Aug 2021 19:20:03 +0800
Subject: [PATCH] 许可备案系统

---
 src/page/login/codelogin.vue |  233 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 201 insertions(+), 32 deletions(-)

diff --git a/src/page/login/codelogin.vue b/src/page/login/codelogin.vue
index 79022c3..bd6bc6d 100644
--- a/src/page/login/codelogin.vue
+++ b/src/page/login/codelogin.vue
@@ -5,47 +5,93 @@
            ref="loginForm"
            :model="loginForm"
            label-width="0">
-    <el-form-item prop="phone">
+    <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="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 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 prop="sname">
+      <el-input size="small"
+                @keyup.enter.native="handleLogin"
+                v-model="loginForm.sname"
+                auto-complete="off"
+                :placeholder="$t('login.name')">
+        <i slot="prefix" class="icon-yonghu"/>
+      </el-input>
+    </el-form-item>
+    <el-form-item prop="phone">
+      <el-input size="small"
                 v-model="loginForm.phone"
                 auto-complete="off"
                 :placeholder="$t('login.phone')">
-        <i slot="prefix"
-           class="icon-shouji"/>
+        <i slot="prefix" class="icon-shouji"/>
       </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-input>
-    </el-form-item>
-    <el-form-item>
+    <div style="margin-top: 16px">
+      <el-radio v-model="loginForm.sex" label="1" border size="medium">男</el-radio>
+      <el-radio v-model="loginForm.sex" label="2" border size="medium">女</el-radio>
+    </div>
+    <el-form-item class="z-login-submit-prv">
       <el-button size="small"
                  type="primary"
                  @click.native.prevent="handleLogin"
-                 class="login-submit">{{$t('login.submit')}}</el-button>
+                 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>
 
 <script>
-import { isvalidatemobile } from "@/util/validate";
-import { mapGetters } from "vuex";
+import {isvalidatemobile} from "@/util/validate";
+import {mapGetters} from "vuex";
+
 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,22 +109,36 @@
     return {
       msgText: "",
       msgTime: "",
+      dic: [],
       msgKey: false,
       loginForm: {
         phone: "",
-        code: ""
+        username: "",
+        sname: "",
+        password: "",
+        sex: null,
+        deptid: '',
+        password2: ""
       },
+      value: '',
+      options: [],
       loginRules: {
-        phone: [{ required: true, trigger: "blur", validator: validatePhone }],
-        code: [{ required: true, trigger: "blur", validator: validateCode }]
-      }
+        phone: [{required: true, trigger: "blur", validator: validatePhone}],
+        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() {
@@ -91,6 +151,73 @@
   },
   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) {
+      console.log(this.loginForm)
+      inster(row).then(res => {
+        this.loginForm.phone = ""
+        this.loginForm.username = ""
+        this.loginForm.sname = ""
+        this.loginForm.sex = null
+        this.loginForm.password = ""
+        this.loginForm.password2 = ""
+        this.loginForm.deptid = ""
+        this.$notify({
+          title: '注册成功,待审核',
+          type: 'warning'
+        });
+      })
+      var z = document.querySelector('.z');
+      z.style.display = 'none';
+      this.clearValidate('loginForm')
+      this.clearValidate('loginForm')
+    },
+    gb() {
+      this.loginForm.phone = ""
+      this.loginForm.username = ""
+      this.loginForm.sname = ""
+      this.loginForm.sex = null
+      this.loginForm.password = ""
+      this.loginForm.password2 = ""
+      this.loginForm.deptid = ""
+      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 +233,70 @@
         }
       }, 1000);
     },
+    showPassword() {
+      this.passwordType === ""
+        ? (this.passwordType = "password")
+        : (this.passwordType = "");
+    },
+    showPasswords() {
+      this.passwordType === ""
+        ? (this.passwordType = "password2")
+        : (this.passwordType = "");
+    },
     handleLogin() {
       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