From 5d20b93a29a1817ed26e8ca30ebba530d79fb64e Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 02 Sep 2021 12:05:16 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_enterprises
---
src/page/login/codelogin.vue | 280 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 245 insertions(+), 35 deletions(-)
diff --git a/src/page/login/codelogin.vue b/src/page/login/codelogin.vue
index 79022c3..92ed3a5 100644
--- a/src/page/login/codelogin.vue
+++ b/src/page/login/codelogin.vue
@@ -5,80 +5,146 @@
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.phone"
+ v-model="loginForm.username"
auto-complete="off"
- :placeholder="$t('login.phone')">
- <i slot="prefix"
- class="icon-shouji"/>
+ :placeholder="$t('login.username')">
+ <i slot="prefix" class="icon-yonghu"/>
</el-input>
</el-form-item>
- <el-form-item prop="code">
+ <el-form-item prop="password">
<el-input size="small"
@keyup.enter.native="handleLogin"
- v-model="loginForm.code"
+ v-model="loginForm.password"
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>
+ show-password
+ :placeholder="$t('login.password')">
+ <i slot="prefix" class="icon-mima"/>
</el-input>
</el-form-item>
- <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="cardid">
+ <el-input size="small"
+ v-model="loginForm.cardid"
+ auto-complete="off"
+ :placeholder="$t('login.cardid')">
+ <i slot="prefix" class="icon-shouji"/>
+ </el-input>
+ </el-form-item>
+ <avue-input-tree style="width:580px !important" :defaultExpandAll="loginForm.defaultFlag" v-model="loginForm.deptid" placeholder="请选择部门"
+ type="tree"
+ :dic="dic"></avue-input-tree>
+ <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 {inster} from "@/api/zc/zc";
+import {ss, rs} from "@/api/system/dept";
+import {mapGetters} from "vuex";
+
export default {
name: "codelogin",
data() {
- const validatePhone = (rule, value, callback) => {
- if (isvalidatemobile(value)[0]) {
- callback(new Error(isvalidatemobile(value)[1]));
+ const validatePass = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('请输入密码'));
} else {
callback();
}
};
- const validateCode = (rule, value, callback) => {
- if (value.length !== 4) {
- callback(new Error("请输入4位数的验证码"));
+ const validatePass2 = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('请再次输入密码'));
+ } else if (value !== this.loginForm.password) {
+ callback(new Error('两次输入密码不一致!'));
+ } else {
+ callback();
+ }
+ };
+ const validateIdNo = (rule, value, callback) => {
+ let id18 = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
+ let id15 = /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$/;
+ if (!id18.test(this.loginForm.cardid) && !id15.test(this.loginForm.cardid)) {
+ callback(new Error("请输入正确的身份证号格式"));
} else {
callback();
}
};
return {
+
msgText: "",
msgTime: "",
+ dic: [],
+ dicr: [],
msgKey: false,
loginForm: {
- phone: "",
- code: ""
+ defaultFlag: false,
+ cardid: "",
+ username: "",
+ sname: "",
+ password: "",
+ deptid: '',
+ roleid: '',
+ password2: ""
},
+ value: '',
+ options: [],
loginRules: {
- phone: [{ required: true, trigger: "blur", validator: validatePhone }],
- code: [{ required: true, trigger: "blur", validator: validateCode }]
- }
+ cardid: [{required: true, trigger: "blur", validator: validateIdNo}],
+ 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;
+ defaultFlag
},
- mounted() {},
+ mounted() {
+ var that = this;
+ ss().then(res => {
+ console.log(that.ergodicData(res.data.data), 898989)
+ that.dic = that.ergodicData(res.data.data)
+ });
+ },
computed: {
...mapGetters(["tagWel"]),
config() {
@@ -91,6 +157,109 @@
},
props: [],
methods: {
+ ergodicData(val) {
+ var arr = []
+
+ val.forEach((item, index) => {
+
+ arr.push({label: item.title, value: item.value, id: item.id, parent_id: item.parent_id})
+
+
+ if (item.hasChildren == true) {
+
+ var arrOne = []
+
+ if (item.children && item.children.length > 0) {
+
+ item.children.forEach((childItem, childIndex) => {
+
+ arrOne.push({
+ label: childItem.title,
+ value: childItem.value,
+ id: childItem.id,
+ parent_id: childItem.parent_id
+ })
+
+
+ if (childItem.hasChildren == true) {
+
+ var arrTwo = []
+
+ if (childItem.children && childItem.children.length > 0) {
+
+ childItem.children.forEach((findItem, findIndex) => {
+
+ arrTwo.push({
+ label: findItem.title,
+ value: findItem.value,
+ id: findItem.id,
+ parent_id: findItem.parent_id
+ })
+
+ })
+
+ }
+
+ arrOne[childIndex].children = arrTwo
+
+ }
+
+ })
+
+ }
+
+ arr[index].children = arrOne
+
+ }
+
+
+ })
+
+ return arr;
+ },
+
+ clearValidate(formName) {
+ this.$refs[formName].clearValidate();
+ },
+ async allmedia() {
+ ss().then(res => {
+ console.log(res, 1323)
+ res.data.data.forEach(element => {
+ this.options.push({deptname: element.dept_name, deptid: element.deptid});
+ })
+ });
+ },
+ refreshCode(row) {
+ inster(row).then(res => {
+ this.loginForm.cardid = ""
+ this.loginForm.username = ""
+ this.loginForm.sname = ""
+ this.loginForm.password = ""
+ this.loginForm.password2 = ""
+ this.loginForm.deptid = ""
+ this.loginForm.defaultFlag = false
+ this.$notify({
+ title: '注册成功,待审核',
+ type: 'warning'
+ });
+ })
+ var z = document.querySelector('.z');
+ z.style.display = 'none';
+ this.clearValidate('loginForm')
+ this.clearValidate('loginForm')
+ },
+ gb() {
+ this.loginForm.cardid = ""
+ this.loginForm.username = ""
+ this.loginForm.sname = ""
+ this.loginForm.password = ""
+ this.loginForm.password2 = ""
+ this.loginForm.deptid = ""
+ this.loginForm.defaultFlag = false
+ 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,16 +275,30 @@
}
}, 1000);
},
+ showPassword() {
+ this.passwordType === ""
+ ? (this.passwordType = "password")
+ : (this.passwordType = "");
+ },
+ showPasswords() {
+ this.passwordType === ""
+ ? (this.passwordType = "password2")
+ : (this.passwordType = "");
+ },
handleLogin() {
this.$refs.loginForm.validate(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>
@@ -127,7 +310,34 @@
text-align: center;
cursor: pointer;
}
+
.msg-text.display {
color: #ccc;
}
+
+.z-login-submit-prv {
+ margin-top: 25px;
+ 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