/** * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug * Copyright (c) * Released under the AGPL-3.0 License. */ 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