mirror of https://github.com/openspug/spug
improve uc
parent
b81b1f66ac
commit
93a8340bd2
|
@ -6,7 +6,7 @@
|
||||||
import React, { useEffect } from 'react';
|
import React, { useEffect } from 'react';
|
||||||
import { observer, useLocalStore } from 'mobx-react';
|
import { observer, useLocalStore } from 'mobx-react';
|
||||||
import { Card, Progress, Modal, Collapse, Steps } from 'antd';
|
import { Card, Progress, Modal, Collapse, Steps } from 'antd';
|
||||||
import { ShrinkOutlined, CaretRightOutlined, LoadingOutlined, } from '@ant-design/icons';
|
import { ShrinkOutlined, CaretRightOutlined, LoadingOutlined, CloseOutlined } from '@ant-design/icons';
|
||||||
import OutView from './OutView';
|
import OutView from './OutView';
|
||||||
import { http, X_TOKEN } from 'libs';
|
import { http, X_TOKEN } from 'libs';
|
||||||
import styles from './index.module.less';
|
import styles from './index.module.less';
|
||||||
|
@ -73,9 +73,13 @@ function Ext1Console(props) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return store.tabModes[props.request.id] ? (
|
return store.tabModes[props.request.id] ? (
|
||||||
<Card className={styles.item} bodyStyle={{padding: '8px 12px'}} onClick={switchMiniMode}>
|
<Card
|
||||||
|
className={styles.item}
|
||||||
|
bodyStyle={{padding: '8px 12px'}}
|
||||||
|
onClick={switchMiniMode}>
|
||||||
<div className={styles.header}>
|
<div className={styles.header}>
|
||||||
<div className={styles.title}>{props.request.name}</div>
|
<div className={styles.title}>{props.request.name}</div>
|
||||||
|
<CloseOutlined onClick={() => store.showConsole(props.request, true)}/>
|
||||||
</div>
|
</div>
|
||||||
{Object.values(outputs).map(item => (
|
{Object.values(outputs).map(item => (
|
||||||
<Progress
|
<Progress
|
||||||
|
|
|
@ -9,6 +9,7 @@ import { BranchesOutlined, BuildOutlined, TagOutlined, PlusOutlined } from '@ant
|
||||||
import { Radio, Modal, Popover, Tag, Popconfirm, message } from 'antd';
|
import { Radio, Modal, Popover, Tag, Popconfirm, message } from 'antd';
|
||||||
import { http, hasPermission } from 'libs';
|
import { http, hasPermission } from 'libs';
|
||||||
import { Action, AuthButton, TableCard } from 'components';
|
import { Action, AuthButton, TableCard } from 'components';
|
||||||
|
import styles from './index.module.less';
|
||||||
import store from './store';
|
import store from './store';
|
||||||
|
|
||||||
@observer
|
@observer
|
||||||
|
@ -97,7 +98,7 @@ class ComTable extends React.Component {
|
||||||
case '-3':
|
case '-3':
|
||||||
return <Action>
|
return <Action>
|
||||||
<Action.Button auth="deploy.request.do" onClick={() => store.readConsole(info)}>查看</Action.Button>
|
<Action.Button auth="deploy.request.do" onClick={() => store.readConsole(info)}>查看</Action.Button>
|
||||||
<Popconfirm title="确认要执行该发布申请?" onConfirm={() => store.showConsole(info)}>
|
<Popconfirm title="确认要执行该发布申请?" onConfirm={e => this.handleCCC(e, info)}>
|
||||||
<Action.Button auth="deploy.request.do">发布</Action.Button>
|
<Action.Button auth="deploy.request.do">发布</Action.Button>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
<Action.Button
|
<Action.Button
|
||||||
|
@ -178,6 +179,21 @@ class ComTable extends React.Component {
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
handleCCC = (e, info) => {
|
||||||
|
const right = document.body.clientWidth - 25 - e.target.getBoundingClientRect().x;
|
||||||
|
const bottom = document.body.clientHeight - 40 - e.target.getBoundingClientRect().y;
|
||||||
|
store.box.setAttribute('style', `display: block; bottom: ${bottom}px; right: ${right}px;`);
|
||||||
|
setTimeout(() => {
|
||||||
|
store.box.setAttribute('class', `${styles.floatBox} ${styles.floatBoxAnimate}`)
|
||||||
|
}, 10);
|
||||||
|
setTimeout(() => {
|
||||||
|
store.showConsole(info);
|
||||||
|
store.box.setAttribute('style', 'display: none');
|
||||||
|
store.box.setAttribute('class', styles.floatBox)
|
||||||
|
}, 300)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let data = store.records;
|
let data = store.records;
|
||||||
if (store.f_app_id) {
|
if (store.f_app_id) {
|
||||||
|
|
|
@ -131,6 +131,7 @@ class Index extends React.Component {
|
||||||
))}
|
))}
|
||||||
</Row>
|
</Row>
|
||||||
)}
|
)}
|
||||||
|
<div ref={el => store.box = el} id='floatBox' className={styles.floatBox}/>
|
||||||
</AuthDiv>
|
</AuthDiv>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,5 +97,22 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.collapse :global(.ant-collapse-content-box) {
|
.collapse :global(.ant-collapse-content-box) {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.floatBox {
|
||||||
|
display: none;
|
||||||
|
position: fixed;
|
||||||
|
width: 20px;
|
||||||
|
height: 10px;
|
||||||
|
transition: right 0.3s, width 0.3s, height0 .3s, bottom 0.3s ease-in-out;
|
||||||
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floatBoxAnimate {
|
||||||
|
width: 180px;
|
||||||
|
height: 64px;
|
||||||
|
bottom: 12px !important;
|
||||||
|
right: 24px !important;
|
||||||
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ class Store {
|
||||||
@observable records = [];
|
@observable records = [];
|
||||||
@observable record = {};
|
@observable record = {};
|
||||||
@observable counter = {};
|
@observable counter = {};
|
||||||
|
@observable box = null;
|
||||||
@observable tabs = [];
|
@observable tabs = [];
|
||||||
@observable tabModes = {};
|
@observable tabModes = {};
|
||||||
@observable isFetching = false;
|
@observable isFetching = false;
|
||||||
|
|
Loading…
Reference in New Issue