From 2739d8db05a25509cebcf7b77b9a0fb5b6722001 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期四, 25 四月 2024 19:08:02 +0800
Subject: [PATCH] 1
---
src/views/login/components/passwordForm.vue | 286 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 154 insertions(+), 132 deletions(-)
diff --git a/src/views/login/components/passwordForm.vue b/src/views/login/components/passwordForm.vue
index a8e1c88..9703717 100644
--- a/src/views/login/components/passwordForm.vue
+++ b/src/views/login/components/passwordForm.vue
@@ -1,151 +1,173 @@
<template>
- <el-form ref="loginForm" :model="form" :rules="rules" label-width="0" size="large" @keyup.enter="login" class="login-form">
+ <el-form ref="loginForm" :model="form" :rules="rules" label-width="0" size="large" @keyup.enter="login"
+ class="login-form">
<el-form-item prop="user">
- <el-input v-model="form.user" prefix-icon="el-icon-user" clearable :placeholder="$t('login.userPlaceholder')" class="inputHeight">
+ <el-input v-model="form.user" prefix-icon="el-icon-user" clearable
+ :placeholder="$t('login.userPlaceholder')" class="inputHeight">
</el-input>
</el-form-item>
<el-form-item prop="password">
- <el-input v-model="form.password" prefix-icon="el-icon-lock" clearable show-password :placeholder="$t('login.PWPlaceholder')" class="inputHeight"></el-input>
+ <el-input v-model="form.password" prefix-icon="el-icon-lock" clearable show-password
+ :placeholder="$t('login.PWPlaceholder')" class="inputHeight"></el-input>
</el-form-item>
<el-form-item>
- <el-button type="primary" style="width: 100%;" :loading="islogin" @click="login">{{ $t('login.signIn') }}</el-button>
+ <el-button type="primary" style="width: 100%;" :loading="islogin" @click="login">{{ $t('login.signIn')
+ }}</el-button>
</el-form-item>
</el-form>
</template>
<script>
- export default {
- data() {
- return {
- userType: 'admin',
- form: {
- user: "admin",
- password: "123456",
- autologin: false
- },
- rules: {
- user: [
- {required: true, message: this.$t('login.userError'), trigger: 'blur'}
- ],
- password: [
- {required: true, message: this.$t('login.PWError'), trigger: 'blur'}
- ]
- },
- islogin: false,
- }
- },
- watch:{
- userType(val){
- if(val == 'admin'){
- this.form.user = 'admin'
- this.form.password = 'admin'
- }else if(val == 'user'){
- this.form.user = 'user'
- this.form.password = 'user'
- }
- }
- },
- mounted() {
- //this.$HTTP.get('/api/blade-sync/outer-app-config/appStatus')
- },
- methods: {
- async login(){
- var validate = await this.$refs.loginForm.validate().catch(()=>{})
- if(!validate){ return false }
- this.islogin = true
- var data = {
- username: this.form.user,
- //password: this.$TOOL.crypto.MD5(this.form.password)
- password: this.form.password,
- tenantId: "000000",
- grant_type: "password",
- scope: "all"
- }
- await this.$HTTP.postJ("/api/blade-auth/oauth/token?" + this.$TOOL.qsStringify(data)).then(res=> {
- if(res.user_id) {
- //鑾峰彇token
- this.$TOOL.cookie.set("TOKEN", res.access_token, {
- expires: this.form.autologin? 24*60*60 : 0
- })
- res.userName = res.user_name;
- res.role = ["SA", "admin", "Auditor"];
- res.dashboard = "0";
- res.userId = "1";
- this.$TOOL.data.set("USER_INFO", res);
- this.islogin = false;
- }else {
- this.$message({
- showClose: true,
- message: res.error_description,
- type: 'error'
- });
- }
- })
- await this.$HTTP.get("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({"appCode": "CPS"})).then(res=> {
- if(res.data.length==0){
- this.islogin = false
- this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
- type: 'error',
- center: true
- })
- return false
- }
- //寮�濮�
- function addComponentToLastLevel(items) {
- return items.map((item) => {
- // 澶嶅埗褰撳墠椤癸紝閬垮厤鐩存帴淇敼鍘熷瀵硅薄
- const clonedItem = { ...item };
-
- // 妫�鏌ュ綋鍓嶉」鏄惁鏈� children 灞炴��
- if (clonedItem.children) {
- // 閫掑綊澶勭悊 children
- clonedItem.children = addComponentToLastLevel(clonedItem.children);
- } else {
- // 濡傛灉娌℃湁 children 灞炴�э紝璇存槑鏄渶鍚庝竴绾э紝娣诲姞 component 瀵硅薄
- var len = clonedItem.path.length;
- clonedItem.component = clonedItem.path.substring(1,len);
- }
- //console.log(clonedItem.source)
- clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "menu"}
- return clonedItem;
- });
- }
- var transformedArray = addComponentToLastLevel(res.data);
- transformedArray[0].path = "/home";
- transformedArray[0].children = [{
- component: "home",
- meta: {title: "宸ヤ綔鍙�", icon: 'el-icon-menu', affix: true},
- name: "宸ヤ綔鍙�",
- path: "/dashboard"
- }]
- //缁撴潫
- var obj = {
- dashboardGrid: ["welcome", "ver", "time", "progress", "echarts", "about"],
- menu: transformedArray,
- permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"]
- }
- console.log(obj.menu)
- // this.$API.system.menu.myMenus.get().then(resp=> {
- // Object.assign({},transformedArray,resp.data.menu);
- // this.$TOOL.data.set("MENU", obj.menu)
- // this.$TOOL.data.set("PERMISSIONS", obj.permissions)
- // this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
- // });
- this.$TOOL.data.set("MENU", obj.menu)
- this.$TOOL.data.set("PERMISSIONS", obj.permissions)
- this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
- })
- this.$router.replace({
- path: '/'
- })
- this.$message.success("Login Success 鐧诲綍鎴愬姛")
- this.islogin = false;
+export default {
+ data() {
+ return {
+ userType: 'admin',
+ form: {
+ user: "admin",
+ password: "123456",
+ autologin: false
+ },
+ rules: {
+ user: [
+ { required: true, message: this.$t('login.userError'), trigger: 'blur' }
+ ],
+ password: [
+ { required: true, message: this.$t('login.PWError'), trigger: 'blur' }
+ ]
+ },
+ islogin: false,
+ }
+ },
+ watch: {
+ userType(val) {
+ if (val == 'admin') {
+ this.form.user = 'admin'
+ this.form.password = 'admin'
+ } else if (val == 'user') {
+ this.form.user = 'user'
+ this.form.password = 'user'
}
}
+ },
+ mounted() {
+ //this.$HTTP.get('/api/blade-sync/outer-app-config/appStatus')
+ },
+ methods: {
+ async login() {
+ var validate = await this.$refs.loginForm.validate().catch(() => { })
+ if (!validate) { return false }
+ this.islogin = true
+ var data = {
+ username: this.form.user,
+ //password: this.$TOOL.crypto.MD5(this.form.password)
+ password: this.form.password,
+ tenantId: "000000",
+ grant_type: "password",
+ scope: "all"
+ }
+ await this.$HTTP.postJ("/api/blade-auth/oauth/token?" + this.$TOOL.qsStringify(data)).then(res => {
+ if (res.user_id) {
+ //鑾峰彇token
+ this.$TOOL.cookie.set("TOKEN", res.access_token, {
+ expires: this.form.autologin ? 24 * 60 * 60 : 0
+ })
+ res.userName = res.user_name;
+ res.role = ["SA", "admin", "Auditor"];
+ res.dashboard = "0";
+ res.userId = "1";
+ this.$TOOL.data.set("USER_INFO", res);
+ this.islogin = false;
+ } else {
+ this.$message({
+ showClose: true,
+ message: res.error_description,
+ type: 'error'
+ });
+ }
+ })
+ //鑾峰彇鑿滃崟
+ await this.$HTTP.get("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({ "appCode": "CPS" })).then(res => {
+ if (res.data.length == 0) {
+ this.islogin = false
+ this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
+ type: 'error',
+ center: true
+ })
+ return false
+ }
+ //寮�濮�
+ function addComponentToLastLevel(items) {
+ return items.map((item) => {
+ // 澶嶅埗褰撳墠椤癸紝閬垮厤鐩存帴淇敼鍘熷瀵硅薄
+ const clonedItem = { ...item };
+
+ // 妫�鏌ュ綋鍓嶉」鏄惁鏈� children 灞炴��
+ if (clonedItem.children) {
+ // 閫掑綊澶勭悊 children
+ clonedItem.children = addComponentToLastLevel(clonedItem.children);
+ } else {
+ // 濡傛灉娌℃湁 children 灞炴�э紝璇存槑鏄渶鍚庝竴绾э紝娣诲姞 component 瀵硅薄
+ var len = clonedItem.path.length;
+ if (item.name == "浠诲姟璋冨害") {
+ //clonedItem.component = clonedItem.path; //鏈塩omponent涓嶅彲浠ヤ娇鐢╥frame
+ } else {
+ clonedItem.component = clonedItem.path.substring(1, len);
+ }
+ }
+ if (item.name == "浠诲姟璋冨害") {
+ clonedItem.meta = { title: clonedItem.name, icon: "el-icon-takeaway-box", type: "iframe" }
+ } else {
+ clonedItem.meta = { title: clonedItem.name, icon: "el-icon-takeaway-box", type: "menu" }
+ }
+ return clonedItem;
+ });
+ }
+ var transformedArray = addComponentToLastLevel(res.data);
+ //鑾峰彇澶氫釜宸ヤ綔鍙�
+ this.$HTTP.get("/api/blade-system/workbench/list?status=1").then(resp => {
+ if (resp.data.length) {
+ //console.log(resp.data,resp.data[0].name,333);
+ resp.data.forEach((item, index) => {
+ item.component = "home";
+ item.meta = { title: item.name, icon: 'el-icon-menu', affix: true };
+ item.path = "/dashboard";
+ item.parentId = item.id;
+ })
+ transformedArray[0].path = "/home";
+ transformedArray[0].children = resp.data;
+ var obj = {
+ dashboardGrid: ["welcome", "ver", "time", "progress", "echarts", "about"],
+ menu: transformedArray,
+ permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"]
+ }
+ this.$TOOL.data.set("MENU", obj.menu);
+ console.log(obj.menu,'menu')
+ this.$TOOL.data.set("PERMISSIONS", obj.permissions)
+ this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
+
+ this.$router.replace({
+ path: '/'
+ })
+ // this.$message.success("Login Success 鐧诲綍鎴愬姛")
+ this.islogin = false;
+ }
+ })
+ })
+
+ }
}
+}
</script>
<style>
-.login-form {margin: 0 auto;margin-top: 46px;width: 354px;}
-.inputHeight {height: 60px;line-height: 60px;}
+.login-form {
+ margin: 0 auto;
+ margin-top: 46px;
+ width: 294px;
+}
+
+.inputHeight {
+ height: 40px;
+ line-height: 40px;
+}
</style>
--
Gitblit v1.9.3