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