A web update

pull/22/head
雷二猛 2019-12-23 00:18:50 +08:00
parent 21d20ba42a
commit 2d14919cb4
2 changed files with 18 additions and 7 deletions

View File

@ -36,7 +36,7 @@ class Index extends React.Component {
this.setState({loading: true}); this.setState({loading: true});
http.post(`/api/deploy/request/${this.id}/`) http.post(`/api/deploy/request/${this.id}/`)
.then(({token, outputs, targets}) => { .then(({token, outputs, targets}) => {
store.request.status = '3'; store.request.status = '2';
store.outputs = outputs; store.outputs = outputs;
store.targets = targets; store.targets = targets;
this.socket = new WebSocket(`ws://localhost:8000/ws/exec/${token}/`); this.socket = new WebSocket(`ws://localhost:8000/ws/exec/${token}/`);
@ -74,7 +74,7 @@ class Index extends React.Component {
if (store.targets.length !== 0) { if (store.targets.length !== 0) {
for (let item of [{id: 'local'}, ...store.targets]) { for (let item of [{id: 'local'}, ...store.targets]) {
if (lds.get(store.outputs, `${item.id}.status`) === 'error') { if (lds.get(store.outputs, `${item.id}.status`) === 'error') {
return <Tag color="orange">发布异常</Tag> return <Tag color="red">发布异常</Tag>
} else if (lds.get(store.outputs, `${item.id}.step`, -1) < 5) { } else if (lds.get(store.outputs, `${item.id}.step`, -1) < 5) {
return <Tag color="blue">发布中</Tag> return <Tag color="blue">发布中</Tag>
} }
@ -94,7 +94,7 @@ class Index extends React.Component {
subTitle={`${app_name} - ${env_name}`} subTitle={`${app_name} - ${env_name}`}
style={{padding: 0}} style={{padding: 0}}
tags={this.getStatusAlias()} tags={this.getStatusAlias()}
extra={<Button loading={this.state.loading} type="primary" disabled={status !== '2'} extra={<Button loading={this.state.loading} type="primary" disabled={!['1', '-3'].includes(status)}
onClick={this.handleDeploy}>发布</Button>} onClick={this.handleDeploy}>发布</Button>}
onBack={() => history.goBack()}/> onBack={() => history.goBack()}/>
<Collapse defaultActiveKey={1} className={styles.collapse}> <Collapse defaultActiveKey={1} className={styles.collapse}>

View File

@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import { Table, Divider, Modal, Icon, Popover, message } from 'antd'; import { Table, Divider, Modal, Icon, Popover, Tag, message } from 'antd';
import http from 'libs/http'; import http from 'libs/http';
import store from './store'; import store from './store';
import { LinkButton } from "components"; import { LinkButton } from "components";
@ -48,10 +48,16 @@ class ComTable extends React.Component {
return <Popover title="驳回原因:" content={info.reason}> return <Popover title="驳回原因:" content={info.reason}>
<span style={{color: '#1890ff'}}>{info['status_alias']}</span> <span style={{color: '#1890ff'}}>{info['status_alias']}</span>
</Popover> </Popover>
} else if (info.status === '2' && info.reason) { } else if (info.status === '1' && info.reason) {
return <Popover title="审核意见:" content={info.reason}> return <Popover title="审核意见:" content={info.reason}>
<span style={{color: '#1890ff'}}>{info['status_alias']}</span> <span style={{color: '#1890ff'}}>{info['status_alias']}</span>
</Popover> </Popover>
} else if (info.status === '2') {
return <Tag color="blue">{info['status_alias']}</Tag>
} else if (info.status === '3') {
return <Tag color="green">{info['status_alias']}</Tag>
} else if (info.status === '-3') {
return <Tag color="red">{info['status_alias']}</Tag>
} else { } else {
return info['status_alias'] return info['status_alias']
} }
@ -67,6 +73,11 @@ class ComTable extends React.Component {
render: info => { render: info => {
switch (info.status) { switch (info.status) {
case '-3': case '-3':
return <React.Fragment>
<Link to={`/deploy/do/${info.id}`}>发布</Link>
<Divider type="vertical"/>
<LinkButton onClick={() => store.showForm(info)}>回滚</LinkButton>
</React.Fragment>;
case '3': case '3':
return <LinkButton onClick={() => store.showForm(info)}>回滚</LinkButton>; return <LinkButton onClick={() => store.showForm(info)}>回滚</LinkButton>;
case '-1': case '-1':
@ -75,7 +86,7 @@ class ComTable extends React.Component {
<Divider type="vertical"/> <Divider type="vertical"/>
<LinkButton onClick={() => this.handleDelete(info)}>删除</LinkButton> <LinkButton onClick={() => this.handleDelete(info)}>删除</LinkButton>
</React.Fragment>; </React.Fragment>;
case '1': case '0':
return <React.Fragment> return <React.Fragment>
<LinkButton onClick={() => store.showApprove(info)}>审核</LinkButton> <LinkButton onClick={() => store.showApprove(info)}>审核</LinkButton>
<Divider type="vertical"/> <Divider type="vertical"/>
@ -83,7 +94,7 @@ class ComTable extends React.Component {
<Divider type="vertical"/> <Divider type="vertical"/>
<LinkButton onClick={() => this.handleDelete(info)}>删除</LinkButton> <LinkButton onClick={() => this.handleDelete(info)}>删除</LinkButton>
</React.Fragment> </React.Fragment>
case '2': case '1':
return <React.Fragment> return <React.Fragment>
<Link to={`/deploy/do/${info.id}`}>发布</Link> <Link to={`/deploy/do/${info.id}`}>发布</Link>
<Divider type="vertical"/> <Divider type="vertical"/>