Skip to content

Commit e336f7d

Browse files
committed
alter permission
1 parent 859d751 commit e336f7d

File tree

10 files changed

+95
-29
lines changed

10 files changed

+95
-29
lines changed

vue/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"@aspnet/signalr": "^1.0.0-preview2-final",
1111
"abp-web-resources": "^3.5.0",
1212
"axios": "^0.18.0",
13+
"famfamfam-flags": "^1.0.0",
1314
"iview": "^2.13.1",
1415
"js-cookie": "^2.2.0",
1516
"register-service-worker": "^1.0.0",
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<template>
2+
<div>
3+
<ul class="language-ul">
4+
<li v-for="language in languages" v-if="language.displayName!==currentLanguage.displayName" @click="changeLanguage(language.name)">
5+
<Tooltip :content="language.displayName" placement="bottom"><a><i :class="language.icon"></i></a></Tooltip>
6+
</li>
7+
</ul>
8+
</div>
9+
</template>
10+
<script lang="ts">
11+
import { Component, Vue,Inject, Prop,Watch } from 'vue-property-decorator';
12+
import Util from '../lib/util'
13+
import AbpBase from '../lib/abpbase'
14+
@Component
15+
export default class LanguageSwitch extends AbpBase{
16+
get languages(){
17+
return abp.localization.languages.filter(val=>{
18+
return !val.isDisabled;
19+
});
20+
}
21+
changeLanguage(languageName:string){
22+
abp.utils.setCookieValue(
23+
"Abp.Localization.CultureName",
24+
languageName,
25+
new Date(new Date().getTime() + 5 * 365 * 86400000), //5 year
26+
abp.appPath
27+
);
28+
location.reload();
29+
}
30+
get currentLanguage(){
31+
return abp.localization.currentLanguage;
32+
}
33+
}
34+
</script>
35+
<style>
36+
.language-ul{
37+
text-align: center;
38+
margin-top: 10px;
39+
}
40+
.language-ul li{
41+
display: inline;
42+
margin: 2px;
43+
}
44+
.famfamfam-flags {
45+
display: inline-block;
46+
}
47+
</style>
48+
49+

vue/src/components/lockscreen/components/unlock.vue

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,28 @@ export default class UnLock extends AbpBase {
4040
get avatorPath(){
4141
return localStorage.avatorImgPath;
4242
}
43-
validator () {
44-
return true;
43+
async validator () {
44+
let loginModel={
45+
userNameOrEmailAddress:this.$store.state.session.user.userName,
46+
password:this.password,
47+
rememberMe:false
48+
}
49+
if(sessionStorage.getItem('rememberMe')==='1'){
50+
loginModel.rememberMe=true;
51+
}
52+
await this.$store.dispatch({
53+
type:'app/login',
54+
data:loginModel
55+
})
56+
return true;
4557
}
4658
handleClickAvator () {
4759
this.avatorLeft = '-180px';
4860
this.inputLeft = '0px';
4961
(this.$refs.inputEle as any).focus();
5062
}
51-
handleUnlock () {
52-
if (this.validator()) {
63+
async handleUnlock () {
64+
if (await this.validator()) {
5365
this.avatorLeft = '0px';
5466
this.inputLeft = '400px';
5567
this.password = '';

vue/src/main.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import App from './App.vue'
33
import iView from 'iview'
44
import {router} from './router/index';
55
//import 'iview/dist/styles/iview.css';
6+
import 'famfamfam-flags/dist/sprite/famfamfam-flags.css';
67
import './theme.less';
78
import Vuex from 'vuex';
89
import Ajax from './lib/ajax';
@@ -13,9 +14,11 @@ Vue.use(iView);
1314
import store from './store/index';
1415
Vue.config.productionTip = false
1516
import { appRouters,otherRouters} from './router/router'
16-
let language=navigator.language;
17-
(window as any).abp.utils.setCookieValue('Abp.Localization.CultureName',language,new Date(new Date().getTime() + 5 * 365 * 86400000),
18-
(window as any).abp.appPath);
17+
if(!abp.utils.getCookieValue('Abp.Localization.CultureName')){
18+
let language=navigator.language;
19+
abp.utils.setCookieValue('Abp.Localization.CultureName',language,new Date(new Date().getTime() + 5 * 365 * 86400000),abp.appPath);
20+
}
21+
1922
Ajax.get('/AbpUserConfiguration/GetAll').then(data=>{
2023
Util.abp=Util.extend(true,Util.abp,data.data.result);
2124
new Vue({

vue/src/router/router.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ export const appRouters=[{
3838
icon:'&#xe68a;',
3939
component:main,
4040
children:[
41-
{path: 'user',permission:'Pages.Administration.Users', meta:{title:'Users'}, name: 'user', component:()=>System.import('../views/setting/user/user.vue')},
42-
{path: 'role',permission:'Pages.Administration.Roles', meta:{title:'Roles'}, name: 'role', component:()=>System.import('../views/setting/role/role.vue')},
41+
{path: 'user',permission:'Pages.Users', meta:{title:'Users'}, name: 'user', component:()=>System.import('../views/setting/user/user.vue')},
42+
{path: 'role',permission:'Pages.Roles', meta:{title:'Roles'}, name: 'role', component:()=>System.import('../views/setting/role/role.vue')},
4343
{path: 'tenant',permission:'Pages.Tenants', meta:{title:'Tenants'}, name: 'tenant', component:()=>System.import('../views/setting/tenant/tenant.vue')}
4444
]
4545
}]

vue/src/views/login.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<div style="margin-top:15px">
3737
<Button type="primary" @click="login" long size="large">{{L('LogIn')}}</Button>
3838
</div>
39+
<language-switch></language-switch>
3940
</div>
4041
</div>
4142
<Footer :copyright="L('CopyRight')"></Footer>
@@ -46,10 +47,11 @@
4647
import { Component, Vue,Inject } from 'vue-property-decorator';
4748
import Footer from '../components/Footer.vue'
4849
import TenantSwitch from '../components/tenant-switch.vue'
50+
import LanguageSwitch from '../components/language-switch.vue'
4951
import iView from 'iview';
5052
import AbpBase from '../lib/abpbase'
5153
@Component({
52-
components:{Footer,TenantSwitch}
54+
components:{Footer,TenantSwitch,LanguageSwitch}
5355
})
5456
export default class Login extends AbpBase {
5557
loginModel={
@@ -58,7 +60,6 @@ export default class Login extends AbpBase {
5860
rememberMe:false
5961
}
6062
showChangeTenant:boolean=false
61-
rememberMe:Boolean=false
6263
async login(){
6364
(this.$refs.loginform as any).validate(async (valid:boolean)=>{
6465
if(valid){
@@ -70,6 +71,7 @@ export default class Login extends AbpBase {
7071
type:'app/login',
7172
data:this.loginModel
7273
})
74+
sessionStorage.setItem('rememberMe',this.loginModel.rememberMe?'1':'0');
7375
location.reload();
7476
}
7577
});
@@ -149,5 +151,6 @@ export default class Login extends AbpBase {
149151
margin-bottom: 24px;
150152
text-align: center;
151153
}
154+
152155
</style>
153156

vue/src/views/setting/role/role.vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
</Col>
2222
</Row>
2323
<Row>
24-
<Button @click="create" :disabled="!hasPermission('Pages.Administration.Roles.Create')" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
24+
<Button @click="create" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
2525
<Button icon="ios-search" type="primary" size="large" @click="getpage" class="toolbar-btn">{{L('Find')}}</Button>
2626
</Row>
2727
</Form>
@@ -118,8 +118,7 @@
118118
h('Button',{
119119
props:{
120120
type:'primary',
121-
size:'small',
122-
disabled:!this.hasPermission('Pages.Administration.Roles.Edit')
121+
size:'small'
123122
},
124123
style:{
125124
marginRight:'5px'
@@ -134,8 +133,7 @@
134133
h('Button',{
135134
props:{
136135
type:'error',
137-
size:'small',
138-
disabled:!this.hasPermission('Pages.Administration.Roles.Delete')
136+
size:'small'
139137
},
140138
on:{
141139
click:async ()=>{

vue/src/views/setting/tenant/tenant.vue

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div>
33
<Card dis-hover>
44
<div class="page-body">
5-
<Form ref="queryForm" :label-width="90" label-position="left" inline>
5+
<Form ref="queryForm" :label-width="100" label-position="left" inline>
66
<Row :gutter="16">
77
<Col span="8">
88
<FormItem :label="L('TenancyName')+':'" style="width:100%">
@@ -25,7 +25,7 @@
2525
</Col>
2626
</Row>
2727
<Row>
28-
<Button @click="create" :disabled="!hasPermission('Pages.Tenants.Create')" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
28+
<Button @click="create" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
2929
<Button icon="ios-search" type="primary" size="large" @click="getpage" class="toolbar-btn">{{L('Find')}}</Button>
3030
</Row>
3131
</Form>
@@ -117,7 +117,7 @@
117117
},{
118118
title:this.L('IsActive'),
119119
render:(h:any,params:any)=>{
120-
return h('span',params.row.isActive?'':'')
120+
return h('span',params.row.isActive?this.L('Yes'):this.L('No'))
121121
}
122122
},{
123123
title:this.L('Actions'),
@@ -128,8 +128,7 @@
128128
h('Button',{
129129
props:{
130130
type:'primary',
131-
size:'small',
132-
disabled:!this.hasPermission('Pages.Tenants.Edit')
131+
size:'small'
133132
},
134133
style:{
135134
marginRight:'5px'
@@ -144,8 +143,7 @@
144143
h('Button',{
145144
props:{
146145
type:'error',
147-
size:'small',
148-
disabled:!this.hasPermission('Pages.Tenants.Delete')
146+
size:'small'
149147
},
150148
on:{
151149
click:async ()=>{

vue/src/views/setting/user/user.vue

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</Col>
3131
</Row>
3232
<Row>
33-
<Button @click="create" :disabled="!hasPermission('Pages.Administration.Users.Create')" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
33+
<Button @click="create" icon="android-add" type="primary" size="large">{{L('Add')}}</Button>
3434
<Button icon="ios-search" type="primary" size="large" @click="getpage" class="toolbar-btn">{{L('Find')}}</Button>
3535
</Row>
3636
</Form>
@@ -123,7 +123,7 @@
123123
},{
124124
title:this.L('IsActive'),
125125
render:(h:any,params:any)=>{
126-
return h('span',params.row.isActive?'':'')
126+
return h('span',params.row.isActive?this.L('Yes'):this.L('No'))
127127
}
128128
},{
129129
title:this.L('CreationTime'),
@@ -145,8 +145,7 @@
145145
h('Button',{
146146
props:{
147147
type:'primary',
148-
size:'small',
149-
disabled:!this.hasPermission('Pages.Administration.Users.Edit')
148+
size:'small'
150149
},
151150
style:{
152151
marginRight:'5px'
@@ -161,8 +160,7 @@
161160
h('Button',{
162161
props:{
163162
type:'error',
164-
size:'small',
165-
disabled:!this.hasPermission('Pages.Administration.Users.Delete')
163+
size:'small'
166164
},
167165
on:{
168166
click:async ()=>{

vue/yarn.lock

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2562,6 +2562,10 @@ extsprintf@^1.2.0:
25622562
version "1.4.0"
25632563
resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
25642564

2565+
famfamfam-flags@^1.0.0:
2566+
version "1.0.0"
2567+
resolved "http://registry.npm.taobao.org/famfamfam-flags/download/famfamfam-flags-1.0.0.tgz#cd78f776173a2c5962713310dd70c1b141d1103c"
2568+
25652569
fast-deep-equal@^1.0.0:
25662570
version "1.1.0"
25672571
resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"

0 commit comments

Comments
 (0)