diff --git a/spug_web/src/pages/login/index.js b/spug_web/src/pages/login/index.js
index 4512f53..1cfbbee 100644
--- a/spug_web/src/pages/login/index.js
+++ b/spug_web/src/pages/login/index.js
@@ -25,7 +25,8 @@ class LoginIndex extends React.Component {
title: '安全警告',
className: styles.tips,
content:
- 未能获取到客户端的真实IP,无法提供基于请求来源IP的合法性验证,详细信息请参考
官方文档。
+ 未能获取到客户端的真实IP,无法提供基于请求来源IP的合法性验证,详细信息请参考
+
官方文档。
,
onOk: () => this.doLogin(data)
})
diff --git a/spug_web/src/pages/system/role/DeployPerm.js b/spug_web/src/pages/system/role/DeployPerm.js
index f47436f..c3b6dc1 100644
--- a/spug_web/src/pages/system/role/DeployPerm.js
+++ b/spug_web/src/pages/system/role/DeployPerm.js
@@ -5,6 +5,7 @@ import http from 'libs/http';
import envStore from 'pages/config/environment/store';
import appStore from 'pages/config/app/store';
import store from './store';
+import lds from 'lodash';
@observer
class DeployPerm extends React.Component {
@@ -43,11 +44,13 @@ class DeployPerm extends React.Component {
handleSubmit = () => {
this.setState({loading: true});
- const {app, service} = store.confRel;
- http.patch('/api/app/', {id: store.record.id, rel_apps: app, rel_services: service})
+ if (lds.get(store.deployRel, 'envs', []).length === 0) {
+ message.error('请至少设置一个环境权限')
+ }
+ http.patch('/api/account/role/', {id: store.record.id, deploy_perms: store.deployRel})
.then(res => {
message.success('操作成功');
- store.relVisible = false;
+ store.deployPermVisible = false;
store.fetchRecords()
}, () => this.setState({loading: false}))
};
@@ -62,8 +65,14 @@ class DeployPerm extends React.Component {
onCancel={() => store.deployPermVisible = false}
confirmLoading={this.state.loading}
onOk={this.handleSubmit}>
-
+ 发布权限仅影响发布功能的发布对象,页面功能权限请在功能权限中设置。,
+ 如果需要发布权限,请至少设置一个有权限操作的环境,否则无法正常发布。
]}/>
@@ -73,7 +82,7 @@ class DeployPerm extends React.Component {
dataSource={this.state.envs}
targetKeys={store.deployRel.envs}
onChange={keys => store.deployRel.envs = keys}
- render={item => `${item.name}(${item._key})`}/>
+ render={item => `${item.name} - ${item._key}`}/>
@@ -84,7 +93,7 @@ class DeployPerm extends React.Component {
dataSource={this.state.apps}
targetKeys={store.deployRel.apps}
onChange={keys => store.deployRel.apps = keys}
- render={item => `${item.name}(${item._key})`}/>
+ render={item => `${item.name} - ${item._key}`}/>
diff --git a/spug_web/src/pages/system/role/PagePerm.js b/spug_web/src/pages/system/role/PagePerm.js
index 1e51fb1..1c4ba06 100644
--- a/spug_web/src/pages/system/role/PagePerm.js
+++ b/spug_web/src/pages/system/role/PagePerm.js
@@ -17,16 +17,13 @@ class PagePerm extends React.Component {
}
handleSubmit = () => {
- console.log(JSON.stringify(store.permissions));
- // this.setState({loading: true});
- // const formData = this.props.form.getFieldsValue();
- // formData['id'] = store.record.id;
- // http.post('/api/account/role/', formData)
- // .then(res => {
- // message.success('操作成功');
- // store.formVisible = false;
- // store.fetchRecords()
- // }, () => this.setState({loading: false}))
+ this.setState({loading: true});
+ http.patch('/api/account/role/', {id: store.record.id, page_perms: store.permissions})
+ .then(res => {
+ message.success('操作成功');
+ store.pagePermVisible = false;
+ store.fetchRecords()
+ }, () => this.setState({loading: false}))
};
handleAllCheck = (e, mod, page) => {
diff --git a/spug_web/src/pages/system/role/store.js b/spug_web/src/pages/system/role/store.js
index 50e305d..523d474 100644
--- a/spug_web/src/pages/system/role/store.js
+++ b/spug_web/src/pages/system/role/store.js
@@ -5,14 +5,15 @@ import lds from 'lodash';
class Store {
allPerms = {};
+ initPerms = {};
@observable records = [];
@observable record = {};
@observable permissions = lds.cloneDeep(codes);
- @observable deployRel = {}
+ @observable deployRel = {};
@observable isFetching = false;
@observable formVisible = false;
@observable pagePermVisible = false;
- @observable deployPermVisible = true;
+ @observable deployPermVisible = false;
@observable f_name;
@@ -28,15 +29,13 @@ class Store {
};
initPermissions = () => {
- const tmp = {};
for (let mod of codes) {
- tmp[mod.key] = {};
+ this.initPerms[mod.key] = {};
for (let page of mod.pages) {
- tmp[mod.key][page.key] = [];
+ this.initPerms[mod.key][page.key] = [];
this.allPerms[`${mod.key}.${page.key}`] = page.perms.map(x => x.key)
}
}
- this.permissions = tmp;
};
showForm = (info = {}) => {
@@ -47,11 +46,13 @@ class Store {
showPagePerm = (info) => {
this.record = info;
this.pagePermVisible = true;
+ this.permissions = lds.merge(this.initPerms, info.page_perms)
};
showDeployPerm = (info) => {
this.record = info;
this.deployPermVisible = true;
+ this.deployRel = info.deploy_perms || {}
}
}