U 优化发布配置的环境选择自动禁用已存在配置的环境

pull/191/head
vapao 2020-08-26 19:58:52 +08:00
parent 2bc6117c23
commit 9b18af192a
3 changed files with 40 additions and 7 deletions

View File

@ -3,14 +3,29 @@
* Copyright (c) <spug.dev@gmail.com>
* Released under the AGPL-3.0 License.
*/
import React from 'react';
import React, { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import { Link } from 'react-router-dom';
import { Switch, Col, Form, Input, Select, Button } from "antd";
import envStore from 'pages/config/environment/store';
import store from './store';
export default observer(function Ext2Setup1() {
export default observer(function Ext1Setup1() {
const [envs, setEnvs] = useState([]);
function updateEnvs() {
const ids = store.records[store.app_id]['deploys'].map(x => x.env_id);
setEnvs(ids.filter(x => x !== store.deploy.env_id))
}
useEffect(() => {
if (store.records[store.app_id]['deploys'] === undefined) {
store.loadDeploys(store.app_id).then(updateEnvs)
} else {
updateEnvs()
}
}, [])
const info = store.deploy;
return (
<Form labelCol={{span: 6}} wrapperCol={{span: 14}}>
@ -18,7 +33,7 @@ export default observer(function Ext2Setup1() {
<Col span={16}>
<Select disabled={store.isReadOnly} value={info.env_id} onChange={v => info.env_id = v} placeholder="请选择发布环境">
{envStore.records.map(item => (
<Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>
<Select.Option disabled={envs.includes(item.id)} value={item.id} key={item.id}>{item.name}</Select.Option>
))}
</Select>
</Col>
@ -45,7 +60,8 @@ export default observer(function Ext2Setup1() {
</span>}>
<Input addonBefore={(
<Select disabled={store.isReadOnly}
value={info['rst_notify']['mode']} style={{width: 100}} onChange={v => info['rst_notify']['mode'] = v}>
value={info['rst_notify']['mode']} style={{width: 100}}
onChange={v => info['rst_notify']['mode'] = v}>
<Select.Option value="0">关闭</Select.Option>
<Select.Option value="1">钉钉</Select.Option>
<Select.Option value="3">企业微信</Select.Option>

View File

@ -3,7 +3,7 @@
* Copyright (c) <spug.dev@gmail.com>
* Released under the AGPL-3.0 License.
*/
import React from 'react';
import React, { useState, useEffect } from 'react';
import { observer } from 'mobx-react';
import { Link } from 'react-router-dom';
import { Switch, Col, Form, Select, Button, Input } from "antd";
@ -11,6 +11,21 @@ import envStore from 'pages/config/environment/store';
import store from './store';
export default observer(function Ext2Setup1() {
const [envs, setEnvs] = useState([]);
function updateEnvs() {
const ids = store.records[store.app_id]['deploys'].map(x => x.env_id);
setEnvs(ids.filter(x => x !== store.deploy.env_id))
}
useEffect(() => {
if (store.records[store.app_id]['deploys'] === undefined) {
store.loadDeploys(store.app_id).then(updateEnvs)
} else {
updateEnvs()
}
}, [])
const info = store.deploy;
return (
<Form labelCol={{span: 6}} wrapperCol={{span: 14}}>
@ -18,7 +33,7 @@ export default observer(function Ext2Setup1() {
<Col span={16}>
<Select disabled={store.isReadOnly} value={info.env_id} onChange={v => info.env_id = v} placeholder="请选择发布环境">
{envStore.records.map(item => (
<Select.Option value={item.id} key={item.id}>{item.name}</Select.Option>
<Select.Option disabled={envs.includes(item.id)} value={item.id} key={item.id}>{item.name}</Select.Option>
))}
</Select>
</Col>
@ -41,7 +56,8 @@ export default observer(function Ext2Setup1() {
</span>}>
<Input addonBefore={(
<Select disabled={store.isReadOnly}
value={info['rst_notify']['mode']} style={{width: 100}} onChange={v => info['rst_notify']['mode'] = v}>
value={info['rst_notify']['mode']} style={{width: 100}}
onChange={v => info['rst_notify']['mode'] = v}>
<Select.Option value="0">关闭</Select.Option>
<Select.Option value="1">钉钉</Select.Option>
<Select.Option value="3">企业微信</Select.Option>

View File

@ -71,6 +71,7 @@ class ComTable extends React.Component {
return Promise.reject()
}
const info = JSON.parse(this.cloneObj);
info.env_id = undefined;
store.showExtForm(null, id, info, true)
},
})