|
|
|
@@ -20,7 +20,7 @@ |
|
|
|
<div |
|
|
|
class="three-resource-type" |
|
|
|
:class="{ active: selectIndex == 0 }" |
|
|
|
@click="selectResource(0,'waitCountGpu')" |
|
|
|
@click="selectResource(0)" |
|
|
|
> |
|
|
|
<div class="resource-child-node"> |
|
|
|
<div class="resource-type-icon background-C"> |
|
|
|
@@ -47,7 +47,7 @@ |
|
|
|
<div |
|
|
|
class="three-resource-type" |
|
|
|
:class="{ active: selectIndex == 1 }" |
|
|
|
@click="selectResource(1,'waitCountGpu')" |
|
|
|
@click="selectResource(1)" |
|
|
|
> |
|
|
|
<div class="resource-child-node"> |
|
|
|
<div class="resource-type-icon background-G"> |
|
|
|
@@ -75,7 +75,7 @@ |
|
|
|
<div |
|
|
|
class="three-resource-type" |
|
|
|
:class="{ active: selectIndex == 2 }" |
|
|
|
@click="selectResource(2,'waitCountNpu')" |
|
|
|
@click="selectResource(2)" |
|
|
|
> |
|
|
|
<div class="resource-child-node"> |
|
|
|
<div class="resource-type-icon background-N"> |
|
|
|
@@ -100,28 +100,71 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="resource-footer"> |
|
|
|
<div class="resource-operate" v-if="selectIndex==0"> |
|
|
|
<button v-if="btnStatus[0]===0" class="ui green small button" @click="createTask(0)"></i>新建任务1</button> |
|
|
|
<button v-else-if="btnStatus[0]===1"class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<button v-else>aaaa</button> |
|
|
|
<span>当前有个<span style="color: red;">{{waitCount}}</span>任务在排队</span> |
|
|
|
</div> |
|
|
|
<div class="resource-operate" v-if="selectIndex==0"> |
|
|
|
<div v-if="btnStatus[0]===0"> |
|
|
|
<button class="ui green small button" @click="createTask(0)"></i>新建任务3</button> |
|
|
|
<span v-if="notebookInfo.waitCountGpu==0" class="text">当前资源充足,没有任务排队</span> |
|
|
|
<span v-else class="text">当前有 <span style="color: red;">{{notebookInfo.waitCountGpu}}</span> 个任务正在排队</span> |
|
|
|
</div> |
|
|
|
<div v-else-if="btnStatus[0]===1"> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<span class="text">正在等待分配资源,请耐心等待</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-else-if="btnStatus[0]===2"> |
|
|
|
<button class="ui small button" style="background-color: #1684fc;"> |
|
|
|
<a style="color:#fff" :href="deubgUrlNpu" target="_blank">调试</a> |
|
|
|
</button> |
|
|
|
<button class="ui small button" @click="stopDebug(0)">停止</button> |
|
|
|
<span class="text">调试环境已启动,单次连接 4 小时或无操作半小时后自动关闭</span> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>停止中</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="resource-operate" v-if="selectIndex==1"> |
|
|
|
<button v-if="btnStatus[1]===0" class="ui green small button" @click="createTask(1)"></i>新建任务2</button> |
|
|
|
<button v-else-if="btnStatus[1]===1"class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<button v-else>aaaa</button> |
|
|
|
<span>当前有个<span style="color: red;">{{waitCount}}</span>任务在排队</span> |
|
|
|
<div v-if="btnStatus[1]===0"> |
|
|
|
<button class="ui green small button" @click="createTask(1)"></i>新建任务3</button> |
|
|
|
<span v-if="notebookInfo.waitCountGpu==0" class="text">当前资源充足,没有任务排队</span> |
|
|
|
<span v-else class="text">当前有 <span style="color: red;">{{notebookInfo.waitCountGpu}}</span> 个任务正在排队</span> |
|
|
|
</div> |
|
|
|
<div v-else-if="btnStatus[1]===1"> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<span class="text">正在等待分配资源,请耐心等待</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-else-if="btnStatus[1]===2"> |
|
|
|
<button class="ui small button" style="background-color: #1684fc;"> |
|
|
|
<a style="color:#fff" :href="deubgUrlNpu" target="_blank">调试</a> |
|
|
|
</button> |
|
|
|
<button class="ui small button" @click="stopDebug(1)">停止</button> |
|
|
|
<span class="text">调试环境已启动,单次连接 4 小时或无操作半小时后自动关闭</span> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>停止中</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="resource-operate" v-if="selectIndex==2"> |
|
|
|
<button v-if="btnStatus[2]===0" class="ui green small button" @click="createTask(2)"></i>新建任务3</button> |
|
|
|
<button v-else-if="btnStatus[2]===1"class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<div v-else> |
|
|
|
<button class="ui small button" style="background-color: #1684fc;color:#fff"> |
|
|
|
<a :href="deubgUrlNpu" target="_blank">调试</a> |
|
|
|
<div v-if="btnStatus[2]===0"> |
|
|
|
<button class="ui green small button" @click="createTask(2)"></i>新建任务3</button> |
|
|
|
<span v-if="notebookInfo.waitCountNpu==0" class="text">当前资源充足,没有任务排队</span> |
|
|
|
<span v-else class="text">当前有 <span style="color: red;">{{notebookInfo.waitCountNpu}}</span> 个任务正在排队</span> |
|
|
|
</div> |
|
|
|
<div v-else-if="btnStatus[2]===1"> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>新建任务</button> |
|
|
|
<span class="text">正在等待分配资源,请耐心等待</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-else-if="btnStatus[2]===2"> |
|
|
|
<button class="ui small button" style="background-color: #1684fc;"> |
|
|
|
<a style="color:#fff" :href="deubgUrlNpu" target="_blank">调试</a> |
|
|
|
</button> |
|
|
|
<button class="ui small button" @click="stopDebug(2)">停止</button> |
|
|
|
<span class="text">调试环境已启动,单次连接 4 小时或无操作半小时后自动关闭</span> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<button class="ui disabled small button" style="background-color: #888;"><i class="loading spinner icon" style="color: #fff;"></i>停止中</button> |
|
|
|
</div> |
|
|
|
<span>当前有个<span style="color: red;">{{waitCount}}</span>任务在排队</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@@ -141,7 +184,6 @@ export default { |
|
|
|
slideActive:true, |
|
|
|
initSelect:true, |
|
|
|
notebookInfo:{specCpu:{acc_cards_num:0},specGpu:{acc_cards_num:0},specNpu:{acc_cards_num:0}}, |
|
|
|
waitCount:0, |
|
|
|
fileInfo:{ |
|
|
|
file:'', |
|
|
|
branch_name:'', |
|
|
|
@@ -149,9 +191,6 @@ export default { |
|
|
|
project_name:'', |
|
|
|
}, |
|
|
|
btnStatus:{0:0,1:0,2:0}, |
|
|
|
firtstStatus:0, |
|
|
|
secondStatus:0, |
|
|
|
thirdStatus:0, |
|
|
|
alertCb:false, |
|
|
|
deubgUrlNpu:'', |
|
|
|
deubgUrlGpu:'', |
|
|
|
@@ -164,7 +203,7 @@ export default { |
|
|
|
console.log("close") |
|
|
|
this.initSelect = true |
|
|
|
}, |
|
|
|
selectResource(index,type) { |
|
|
|
selectResource(index) { |
|
|
|
this.getNotebookInfo() |
|
|
|
if(index==this.selectIndex){ |
|
|
|
return |
|
|
|
@@ -176,7 +215,6 @@ export default { |
|
|
|
} |
|
|
|
this.selectIndex = index; |
|
|
|
this.initSelect = false |
|
|
|
this.waitCount += this.notebookInfo[type] +1 |
|
|
|
this.alertCb = false |
|
|
|
}, |
|
|
|
getNotebookInfo(){ |
|
|
|
@@ -184,14 +222,11 @@ export default { |
|
|
|
console.log(res) |
|
|
|
if(res.data.code==0){ |
|
|
|
this.notebookInfo = res.data |
|
|
|
this.waitCount = res.data.waitCountGpu |
|
|
|
}else{ |
|
|
|
console.log(res.data.message) |
|
|
|
Message.error(res.data.message) |
|
|
|
} |
|
|
|
}).catch((err)=>{ |
|
|
|
Message.error(err) |
|
|
|
console.log(err) |
|
|
|
}) |
|
|
|
}, |
|
|
|
getCb1NotebookInfo(path,id){ |
|
|
|
@@ -221,9 +256,16 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
stopDebug(index){ |
|
|
|
this.btnStatus[index]=3 |
|
|
|
if(index===2){ |
|
|
|
stopNotebook(this.deubgUrlNpuStop).then((res)=>{ |
|
|
|
console.log(res) |
|
|
|
if(res.data.result_code==='0'){ |
|
|
|
this.btnStatus[index]=0 |
|
|
|
Message.success("停止任务成功") |
|
|
|
}else{ |
|
|
|
Message.error(res.data.error_msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
stopNotebook(this.deubgUrlGpuStop).then((res)=>{ |
|
|
|
@@ -355,15 +397,15 @@ export default { |
|
|
|
margin: 0 auto; |
|
|
|
padding-bottom: 10px; |
|
|
|
} |
|
|
|
& >.three-resource-type:nth-child(2){ |
|
|
|
border:none; |
|
|
|
} |
|
|
|
.three-resource-type { |
|
|
|
width: 70%; |
|
|
|
margin: 0 auto; |
|
|
|
display: flex; |
|
|
|
border-top: 1px solid rgba(16, 16, 16, 0.1); |
|
|
|
cursor: pointer; |
|
|
|
&:first-child { |
|
|
|
border: none; |
|
|
|
} |
|
|
|
.resource-child-node { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
@@ -408,6 +450,7 @@ export default { |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.resource-type-detail { |
|
|
|
margin-left: 23px; |
|
|
|
.detail-title { |
|
|
|
@@ -455,6 +498,10 @@ export default { |
|
|
|
.resource-operate { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.text{ |
|
|
|
color: #101010; |
|
|
|
margin-left: 20px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.slide-in-top { |
|
|
|
|