U web update

pull/22/head
vapao 2020-01-12 10:21:33 +08:00
parent e845691eda
commit e90883c899
4 changed files with 32 additions and 24 deletions

View File

@ -25,7 +25,8 @@ class LoginIndex extends React.Component {
title: '安全警告', title: '安全警告',
className: styles.tips, className: styles.tips,
content: <div> content: <div>
未能获取到客户端的真实IP无法提供基于请求来源IP的合法性验证详细信息请参考<a target="_blank" href="https://spug.dev">官方文档</a> 未能获取到客户端的真实IP无法提供基于请求来源IP的合法性验证详细信息请参考
<a target="_blank" href="https://spug.dev" rel="noopener noreferrer">官方文档</a>
</div>, </div>,
onOk: () => this.doLogin(data) onOk: () => this.doLogin(data)
}) })

View File

@ -5,6 +5,7 @@ import http from 'libs/http';
import envStore from 'pages/config/environment/store'; import envStore from 'pages/config/environment/store';
import appStore from 'pages/config/app/store'; import appStore from 'pages/config/app/store';
import store from './store'; import store from './store';
import lds from 'lodash';
@observer @observer
class DeployPerm extends React.Component { class DeployPerm extends React.Component {
@ -43,11 +44,13 @@ class DeployPerm extends React.Component {
handleSubmit = () => { handleSubmit = () => {
this.setState({loading: true}); this.setState({loading: true});
const {app, service} = store.confRel; if (lds.get(store.deployRel, 'envs', []).length === 0) {
http.patch('/api/app/', {id: store.record.id, rel_apps: app, rel_services: service}) message.error('请至少设置一个环境权限')
}
http.patch('/api/account/role/', {id: store.record.id, deploy_perms: store.deployRel})
.then(res => { .then(res => {
message.success('操作成功'); message.success('操作成功');
store.relVisible = false; store.deployPermVisible = false;
store.fetchRecords() store.fetchRecords()
}, () => this.setState({loading: false})) }, () => this.setState({loading: false}))
}; };
@ -62,8 +65,14 @@ class DeployPerm extends React.Component {
onCancel={() => store.deployPermVisible = false} onCancel={() => store.deployPermVisible = false}
confirmLoading={this.state.loading} confirmLoading={this.state.loading}
onOk={this.handleSubmit}> onOk={this.handleSubmit}>
<Alert closable style={{width: 600, margin: '0 auto 20px', color: '#31708f !important'}} type="info" <Alert
message="小提示: 发布权限仅影响可发布的对象,页面公共权限请在功能权限中设置。"/> closable
showIcon
type="info"
style={{width: 600, margin: '0 auto 20px', color: '#31708f !important'}}
message="小提示"
description={[<div key="1">发布权限仅影响发布功能的发布对象页面功能权限请在功能权限中设置</div>,
<div key="2">如果需要发布权限请至少设置一个有权限操作的环境否则无法正常发布</div>]}/>
<Tabs tabPosition="left"> <Tabs tabPosition="left">
<Tabs.TabPane tab="环境权限" key="env"> <Tabs.TabPane tab="环境权限" key="env">
<Form.Item label="设置可发布至哪个环境"> <Form.Item label="设置可发布至哪个环境">
@ -73,7 +82,7 @@ class DeployPerm extends React.Component {
dataSource={this.state.envs} dataSource={this.state.envs}
targetKeys={store.deployRel.envs} targetKeys={store.deployRel.envs}
onChange={keys => store.deployRel.envs = keys} onChange={keys => store.deployRel.envs = keys}
render={item => `${item.name}(${item._key})`}/> render={item => `${item.name} - ${item._key}`}/>
</Form.Item> </Form.Item>
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="应用权限" key="app"> <Tabs.TabPane tab="应用权限" key="app">
@ -84,7 +93,7 @@ class DeployPerm extends React.Component {
dataSource={this.state.apps} dataSource={this.state.apps}
targetKeys={store.deployRel.apps} targetKeys={store.deployRel.apps}
onChange={keys => store.deployRel.apps = keys} onChange={keys => store.deployRel.apps = keys}
render={item => `${item.name}(${item._key})`}/> render={item => `${item.name} - ${item._key}`}/>
</Form.Item> </Form.Item>
</Tabs.TabPane> </Tabs.TabPane>
</Tabs> </Tabs>

View File

@ -17,16 +17,13 @@ class PagePerm extends React.Component {
} }
handleSubmit = () => { handleSubmit = () => {
console.log(JSON.stringify(store.permissions)); this.setState({loading: true});
// this.setState({loading: true}); http.patch('/api/account/role/', {id: store.record.id, page_perms: store.permissions})
// const formData = this.props.form.getFieldsValue(); .then(res => {
// formData['id'] = store.record.id; message.success('操作成功');
// http.post('/api/account/role/', formData) store.pagePermVisible = false;
// .then(res => { store.fetchRecords()
// message.success('操作成功'); }, () => this.setState({loading: false}))
// store.formVisible = false;
// store.fetchRecords()
// }, () => this.setState({loading: false}))
}; };
handleAllCheck = (e, mod, page) => { handleAllCheck = (e, mod, page) => {

View File

@ -5,14 +5,15 @@ import lds from 'lodash';
class Store { class Store {
allPerms = {}; allPerms = {};
initPerms = {};
@observable records = []; @observable records = [];
@observable record = {}; @observable record = {};
@observable permissions = lds.cloneDeep(codes); @observable permissions = lds.cloneDeep(codes);
@observable deployRel = {} @observable deployRel = {};
@observable isFetching = false; @observable isFetching = false;
@observable formVisible = false; @observable formVisible = false;
@observable pagePermVisible = false; @observable pagePermVisible = false;
@observable deployPermVisible = true; @observable deployPermVisible = false;
@observable f_name; @observable f_name;
@ -28,15 +29,13 @@ class Store {
}; };
initPermissions = () => { initPermissions = () => {
const tmp = {};
for (let mod of codes) { for (let mod of codes) {
tmp[mod.key] = {}; this.initPerms[mod.key] = {};
for (let page of mod.pages) { 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.allPerms[`${mod.key}.${page.key}`] = page.perms.map(x => x.key)
} }
} }
this.permissions = tmp;
}; };
showForm = (info = {}) => { showForm = (info = {}) => {
@ -47,11 +46,13 @@ class Store {
showPagePerm = (info) => { showPagePerm = (info) => {
this.record = info; this.record = info;
this.pagePermVisible = true; this.pagePermVisible = true;
this.permissions = lds.merge(this.initPerms, info.page_perms)
}; };
showDeployPerm = (info) => { showDeployPerm = (info) => {
this.record = info; this.record = info;
this.deployPermVisible = true; this.deployPermVisible = true;
this.deployRel = info.deploy_perms || {}
} }
} }