diff --git a/src/forge/DevOps/Dispose.jsx b/src/forge/DevOps/Dispose.jsx
index a4d573a6..358bbc7f 100644
--- a/src/forge/DevOps/Dispose.jsx
+++ b/src/forge/DevOps/Dispose.jsx
@@ -67,7 +67,7 @@ function Dispose(props){
const url = `/ci/pipelines.json`;
axios.post(url,{
pipeline_name,
- file_name:".trustie.pipeline.yml",
+ file_name:".trustie-pipeline.yml",
identifier:projectsId
}).then(result=>{
setVisible(false);
diff --git a/src/forge/DevOps/Dispose/Stage.jsx b/src/forge/DevOps/Dispose/Stage.jsx
index 3f03d03e..66118f85 100644
--- a/src/forge/DevOps/Dispose/Stage.jsx
+++ b/src/forge/DevOps/Dispose/Stage.jsx
@@ -3,7 +3,17 @@ import { Button , Popconfirm } from 'antd';
import { Cancel } from '../../Component/layout';
import Item from './StageItem';
-function Stage({ templates , datas , saveDatas , saveFunc , stepName , showNotification , deleteStep , deleteFunc }){
+function Stage({
+ templates ,
+ datas ,
+ saveDatas ,
+ saveFunc ,
+ stepName ,
+ showNotification ,
+ deleteStep ,
+ deleteFunc ,
+ deleteFlag
+}){
const [ stepList , setStepList ] = useState(undefined);
const [ temp , setTemp ] = useState(undefined);
const [ saveFlag , setSaveFlag ] = useState(true);
@@ -87,9 +97,11 @@ function Stage({ templates , datas , saveDatas , saveFunc , stepName , showNotif
-
- 删除
-
+ {!deleteFlag &&
+
+ 删除
+
+ }
)
diff --git a/src/forge/DevOps/Dispose/head.jsx b/src/forge/DevOps/Dispose/head.jsx
index c178f9b5..40f9c322 100644
--- a/src/forge/DevOps/Dispose/head.jsx
+++ b/src/forge/DevOps/Dispose/head.jsx
@@ -1,14 +1,12 @@
import React from 'react';
import { AlignCenterBetween } from '../../Component/layout';
-import { Link } from 'react-router-dom';
-
function head(){
return(
工作流配置
- 模板使用说明
+ 模板使用说明
)
}
diff --git a/src/forge/DevOps/Dispose/menusAdd.jsx b/src/forge/DevOps/Dispose/menusAdd.jsx
index fc9f35a6..27e610a1 100644
--- a/src/forge/DevOps/Dispose/menusAdd.jsx
+++ b/src/forge/DevOps/Dispose/menusAdd.jsx
@@ -30,7 +30,7 @@ function menusAdd ({ getName , checkDatas , k }){
function showInput(){
let c = checkDatas();
- if(c){
+ if(c || c === "" ){
setShow(true);
setPut(true);
}
diff --git a/src/forge/DevOps/Structure.jsx b/src/forge/DevOps/Structure.jsx
index cfdfce1b..30fd168e 100644
--- a/src/forge/DevOps/Structure.jsx
+++ b/src/forge/DevOps/Structure.jsx
@@ -4,6 +4,7 @@ import { Table, Pagination, Popconfirm } from "antd";
import { truncateCommitId } from "../common/util";
import {getUrl} from 'educoder';
import axios from "axios";
+import { Link } from 'react-router-dom';
import styled from 'styled-components';
@@ -284,19 +285,16 @@ function Structure(props,ref){
];
return (
-
构建列表
+
+
+ 构建列表
+ 返回
+
+
{renderStatus()}
- {/* 手动创建 */}
- {/*
- 分支
-
-
-
- 标签
- */}
{
diff --git a/src/forge/DevOps/disposePipeline.jsx b/src/forge/DevOps/disposePipeline.jsx
index 75afd276..44ca191a 100644
--- a/src/forge/DevOps/disposePipeline.jsx
+++ b/src/forge/DevOps/disposePipeline.jsx
@@ -157,7 +157,6 @@ function disposePipeline(props){
steps:datas
}).then(result=>{
if(result && result.data){
- props.showNotification("阶段更新成功!");
setDatasUpdataFlag(false);
if(!btn){
setStage(show_index);
@@ -167,6 +166,8 @@ function disposePipeline(props){
}else{
enters(btn);
}
+ }else{
+ props.showNotification("阶段更新失败,请稍微重试!");
}
}).catch(error=>{})
}
@@ -232,14 +233,19 @@ function disposePipeline(props){
stage_name:name
}).then(result=>{
if(result && result.data){
- props.showNotification("阶段新增成功!");
getData(index-1);
+ setStageType("customize");
+ }else{
+ props.showNotification("阶段新增失败!");
}
})
}
// 删除阶段
function deleteStageFunc(){
+ debugger;
+ let next = menuList && menuList.filter(item=>item.show_index === (stage+1));
+ let nextStageType = next && next.length>0 && next[0].stage_type;
const url = `/ci/pipelines/${disposeId}/${stageId}/delete_stage.json`;
axios.delete(url,{
show_index:stage
@@ -247,6 +253,7 @@ function disposePipeline(props){
if(result && result.data){
props.showNotification("阶段删除成功!");
getData(stage-1);
+ setStageType(nextStageType);
}
}).catch(error=>{})
}
@@ -272,7 +279,7 @@ function disposePipeline(props){
...params
}).then(result=>{
if(result){
- props.history.push(`/projects/${owner}/${disposeId}/devops/dispose`);
+ props.history.push(`/projects/${owner}/${projectsId}/devops/dispose`);
}
}).catch(error=>{
console.log(error);
@@ -281,7 +288,7 @@ function disposePipeline(props){
url = `/ci/pipelines/${disposeId}/create_trustie_pipeline.json`;
axios.post(url,params).then(result=>{
if(result){
- props.history.push(`/projects/${owner}/${disposeId}/devops/dispose`);
+ props.history.push(`/projects/${owner}/${projectsId}/devops/dispose`);
}
}).catch(error=>{
console.log(error);
@@ -297,11 +304,21 @@ function disposePipeline(props){
{
- stage === 1 ?
+ stageType === "init" ?
:
- menuList && (stage === menuList.length) ?
+ stageType === "confirm" ?
:
-
+
}
diff --git a/src/forge/DevOps/ops.scss b/src/forge/DevOps/ops.scss
index c8c7bfae..49f431a0 100644
--- a/src/forge/DevOps/ops.scss
+++ b/src/forge/DevOps/ops.scss
@@ -337,20 +337,19 @@
display: flex;
flex-flow: column;
align-items:center;
- justify-content: center;
+ justify-content: flex-start;
text-align: center;
color: #787878;
font-size: 16px;
position: relative;
cursor: pointer;
- width: 110px;
+ max-width: 122px;
flex:2;
&>i{
font-size: 30px!important;
height: 30px;
width: 30px;
line-height: 30px;
- margin-bottom: 10px;
}
&:hover,&.active{
& > i{
@@ -369,17 +368,18 @@
}
.aboutEdit{
width: 100%;
- padding:0px 15px;
.operateName{
position: relative;
line-height: 22px;
- height: 40px;
- display: block;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0px 15px;
+ min-height: 40px;
& > i{
position: absolute;
- right:-15px;
- top:50%;
- margin-top: -11px;
+ right:0px;
+ top:10px;
display: none;
}
}