¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-form ref="loginForm" |
| | | :model="loginForm" |
| | | :rules="loginRules" |
| | | class="login-form" |
| | | label-width="0" |
| | | status-icon |
| | | > |
| | | <el-form-item prop="selectInput"> |
| | | <el-select v-model="loginForm.value" placeholder="è¯·éæ©ç»ç»" style="width: 326px" @change="selectchange"> |
| | | <i slot="prefix" class="el-icon-s-operation"/> |
| | | <el-option |
| | | v-for="(item,index) in loginForm.region" |
| | | :key="index" |
| | | :label="item.TENANT_NAME" |
| | | :value="item.TENANT_ID"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item prop="username"> |
| | | <el-input v-model="loginForm.username" |
| | | :placeholder="$t('login.username')" |
| | | auto-complete="off" |
| | | size="small" |
| | | @keyup.enter.native="handleLogin"> |
| | | <i slot="prefix" class="icon-yonghu"/> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item prop="password"> |
| | | <el-input v-model="loginForm.password" |
| | | :placeholder="$t('login.password')" |
| | | :type="passwordType" |
| | | auto-complete="off" |
| | | size="small" |
| | | @keyup.enter.native="handleLogin"> |
| | | <i slot="suffix" class="el-icon-view el-input__icon" @click="showPassword"/> |
| | | <i slot="prefix" class="icon-mima"/> |
| | | </el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button class="login-submit" |
| | | size="small" |
| | | type="primary" |
| | | @click.native.prevent="handleLogin">{{ $t('login.submit') }} |
| | | </el-button> |
| | | </el-form-item> |
| | | <!--å¯ç ä¿®æ¹å¼¹åºæ¡--> |
| | | </el-form> |
| | | <el-dialog title="ä¿®æ¹å¯ç " :visible.sync="dialogFormVisible" append-to-body @close="delok" > |
| | | <el-form :model="form" :rules="rules"> |
| | | <el-form-item label="åå¯ç " :label-width="formLabelWidth" prop="oldname"> |
| | | <el-input v-model="form.oldPassword" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ°å¯ç " :label-width="formLabelWidth" prop="newname"> |
| | | <el-input v-model="form.newPassword" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="确认å¯ç " :label-width="formLabelWidth" prop="newname1"> |
| | | <el-input v-model="form.newPassword1" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="delok">å æ¶</el-button> |
| | | <el-button type="primary" @click="addok">ç¡® å®</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import {mapGetters} from "vuex"; |
| | | import {info} from "@/api/system/tenant"; |
| | | import {getTopUrl} from "@/util/util"; |
| | | import {updatePassword} from "@/api/system/user.js" |
| | | import {removeToken} from "@/util/auth"; |
| | | import md5 from "js-md5"; |
| | | export default { |
| | | name: "userlogin", |
| | | data() { |
| | | return { |
| | | tenantMode: this.website.tenantMode, |
| | | ButtonList: [], |
| | | dialogFormVisible:false, |
| | | form: { |
| | | oldPassword: '', |
| | | newPassword: '', |
| | | newPassword1: '', |
| | | }, |
| | | rules: { |
| | | oldname: [ |
| | | { required: true, message: '请è¾å
¥åå¯ç ', trigger: 'blur' } |
| | | ], |
| | | newname:[ |
| | | { required: true, message: '请è¾å
¥æ°å¯ç ', trigger: 'blur' } |
| | | ], |
| | | newname1:[ |
| | | { required: true, message: '请è¾ç¡®è®¤å¯ç ', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | loginForm: { |
| | | //ç§æ·ID |
| | | tenantId: "000000", |
| | | //é¨é¨ID |
| | | deptId: "", |
| | | //è§è²ID |
| | | roleId: "", |
| | | //ç¨æ·å |
| | | username: "admin", |
| | | //å¯ç |
| | | password: "admin", |
| | | selectInput: '', |
| | | //䏿inputæ°æ® |
| | | value: '管çç»', |
| | | //䏿èå |
| | | region: [], |
| | | //è´¦å·ç±»å |
| | | type: "account", |
| | | //éªè¯ç çç´¢å¼ |
| | | key: "", |
| | | //é¢å è½½ç½è²èæ¯ |
| | | image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", |
| | | |
| | | }, |
| | | value: { |
| | | selectInput: [ |
| | | {required: true, message: "è¯·éæ©ç»ç»", trigger: "blur"} |
| | | ], |
| | | username: [ |
| | | {required: true, message: "请è¾å
¥ç¨æ·å", trigger: "blur"} |
| | | ], |
| | | password: [ |
| | | {required: true, message: "请è¾å
¥å¯ç ", trigger: "blur"}, |
| | | {min: 1, message: "å¯ç é¿åº¦æå°ä¸º6ä½", trigger: "blur"} |
| | | ] |
| | | }, |
| | | passwordType: "password", |
| | | userBox: false, |
| | | userForm: { |
| | | deptId: '', |
| | | roleId: '' |
| | | }, |
| | | userinfo: [] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getTenant(); |
| | | }, |
| | | mounted() { |
| | | //å¨mountedè·åé¦é¡µä¸æèåæ°æ® |
| | | this.$axios.get('/api/ubcs-system/tenant/tenant-map').then(res => { |
| | | if (res.data.code == 200) { |
| | | this.loginForm.region = res.data.data |
| | | } |
| | | }) |
| | | }, |
| | | watch: { |
| | | 'loginForm.deptId'() { |
| | | const column = this.findObject(this.userOption.column, "deptId"); |
| | | if (this.loginForm.deptId.includes(",")) { |
| | | column.dicUrl = `/api/ubcs-system/dept/select?deptId=${this.loginForm.deptId}`; |
| | | column.display = true; |
| | | } else { |
| | | column.dicUrl = ''; |
| | | } |
| | | }, |
| | | 'loginForm.roleId'() { |
| | | const column = this.findObject(this.userOption.column, "roleId"); |
| | | if (this.loginForm.roleId.includes(",")) { |
| | | column.dicUrl = `/api/ubcs-system/role/select?roleId=${this.loginForm.roleId}`; |
| | | column.display = true; |
| | | } else { |
| | | column.dicUrl = ''; |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["tagWel", "userInfo"]) |
| | | }, |
| | | props: [], |
| | | methods: { |
| | | aaa(){ |
| | | console.log(111) |
| | | }, |
| | | delok(){ |
| | | //ç¹å»åæ¶æè
x æ¸
é¤tokenå
³éå¼¹çª æ¸
é¤tokenåä¼èªå¨éæ°è·åç¨æ·ä¿¡æ¯ |
| | | this.dialogFormVisible = false; |
| | | removeToken(); |
| | | }, |
| | | addok(){ |
| | | this.dialogFormVisible = false |
| | | updatePassword(md5(this.form.oldPassword), this.form.newPassword, this.form.newPassword1).then(res=>{ |
| | | console.log(res) |
| | | if(res.data.code==200){ |
| | | this.$message({ |
| | | type:"success", |
| | | message:"ä¿®æ¹æåï¼" |
| | | }) |
| | | this.$router.push({path: this.tagWel.value}) |
| | | } |
| | | }) |
| | | }, |
| | | // ç»å®ä¸æèå卿ID |
| | | selectchange(value) { |
| | | this.loginForm.tenantId = value |
| | | console.log(this.loginForm.tenantId) |
| | | }, |
| | | showPassword() { |
| | | this.passwordType === "" |
| | | ? (this.passwordType = "password") |
| | | : (this.passwordType = ""); |
| | | }, |
| | | submitLogin(form, done) { |
| | | if (form.deptId !== '') { |
| | | this.loginForm.deptId = form.deptId; |
| | | } |
| | | if (form.roleId !== '') { |
| | | this.loginForm.roleId = form.roleId; |
| | | } |
| | | this.handleLogin(); |
| | | done(); |
| | | |
| | | }, |
| | | handleLogin: function () { |
| | | this.userInfo = this.$store.state.upadatastatus |
| | | this.$refs.loginForm.validate(valid => { |
| | | if (valid) { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'ç»å½ä¸,请ç¨åããã', |
| | | spinner: "el-icon-loading" |
| | | }); |
| | | this.$store.dispatch("LoginByUsername", this.loginForm).then(() => { |
| | | //夿妿ä¸çäº0å°±æ¯çç¥å¯ç 没æä¿®æ¹èµ°ä¸é¢é»è¾ |
| | | if (this.userInfo.strategyUpdateStatus != 0) { |
| | | if (this.website.switchMode) { |
| | | const deptId = this.userInfo.dept_id; |
| | | const roleId = this.userInfo.role_id; |
| | | if (deptId.includes(",") || roleId.includes(",")) { |
| | | this.loginForm.deptId = deptId; |
| | | this.loginForm.roleId = roleId; |
| | | this.userBox = true; |
| | | this.$store.dispatch("LogOut").then(() => { |
| | | loading.close(); |
| | | }); |
| | | } |
| | | } |
| | | this.$router.push({path: this.tagWel.value}); |
| | | } else { |
| | | //çäº0说æå¯ç çç¥è¢«ä¿®æ¹ï¼æç¤ºç¨æ·ä¿®æ¹å¯ç ï¼ç»ä¸ä¸ªä¿®æ¹å¼¹åºæ¡ |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "å¯ç çç¥å·²è¢«ä¿®æ¹ï¼è¯·éæ°ä¿®æ¹å¯ç ï¼" |
| | | }) |
| | | // 1.5ç§åæ§è¡ å¼¹åºæ¡æ¾ç¤º |
| | | setTimeout(()=>{ |
| | | this.dialogFormVisible=true |
| | | },1500) |
| | | } |
| | | console.log(this.userInfo) |
| | | //æå¤æå¯ç çç¥ä¿®æ¹çå¼åè¿æ¬å°ï¼ç¶ååè·¯ç±æéjsæä»¶éé¢è·ååå夿ï¼ä¸ç¶å·æ°ä¼è¿å
¥é¦é¡µï¼å ä¸ºå¨æidåtokençæ
åµä¸ï¼å·æ°é¡µé¢æè
è¿å
¥ç»å½é¡µä¼èªå¨è¿å
¥é¦é¡µï¼ |
| | | localStorage.setItem("updataid",JSON.stringify(this.userInfo)) |
| | | loading.close(); |
| | | }).catch(() => { |
| | | loading.close(); |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | getTenant() { |
| | | let domain = getTopUrl(); |
| | | // ä¸´æ¶æå®ååï¼æ¹ä¾¿æµè¯ |
| | | //domain = "https://bladex.vip"; |
| | | info(domain).then(res => { |
| | | const data = res.data; |
| | | if (data.success && data.data.tenantId) { |
| | | this.tenantMode = false; |
| | | this.loginForm.tenantId = data.data.tenantId; |
| | | this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`; |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |