import React from 'react'; import {observer} from 'mobx-react'; import {Modal, Form, Transfer, message, Tabs, Alert} from 'antd'; import { http, hasPermission } from 'libs'; import serviceStore from '../service/store'; import store from './store'; @observer class Rel extends React.Component { constructor(props) { super(props); this.state = { loading: false, services: [], apps: store.records.filter(x => x.id !== store.record.id).map(x => ({...x, key: x.id, _key: x.key})) } } componentDidMount() { if (serviceStore.records.length === 0) { serviceStore.fetchRecords().then(this._updateRecords) } else { this._updateRecords() } } _updateRecords = () => { const services = serviceStore.records.map(x => { return {...x, key: x.id, _key: x.key} }); this.setState({services}) }; handleSubmit = () => { this.setState({loading: true}); const {app, service} = store.confRel; http.patch('/api/app/', {id: store.record.id, rel_apps: app, rel_services: service}) .then(res => { message.success('操作成功'); store.relVisible = false; store.fetchRecords() }, () => this.setState({loading: false})) }; render() { return ( store.relVisible = false} confirmLoading={this.state.loading} footer={hasPermission('config.app.edit_config') ? undefined : null} onOk={this.handleSubmit}> 设置依赖的应用仅会获取到其公共配置,私有配置并不会被其他应用所获取。

,

服务不存在公共和私有配置的概念,所以会获取到依赖服务的所有配置信息。

]}/> store.confRel.app = keys} render={item => `${item.name}(${item._key})`}/> store.confRel.service = keys} render={item => `${item.name}(${item._key})`}/>
) } } export default Rel