Browse Source

fix issue

tags/v1.21.12.1
zhoupzh 4 years ago
parent
commit
f057ec5604
2 changed files with 68 additions and 89 deletions
  1. +4
    -2
      templates/repo/modelarts/trainjob/new.tmpl
  2. +64
    -87
      templates/repo/modelarts/trainjob/show.tmpl

+ 4
- 2
templates/repo/modelarts/trainjob/new.tmpl View File

@@ -103,7 +103,9 @@
-webkit-animation-delay: -0.8s;
animation-delay: -0.8s;
}
.left2{
margin-left: -2px;
}
@-webkit-keyframes sk-stretchdelay {
0%,
40%,
@@ -172,7 +174,7 @@

<div class="required unite min_title inline field">
<label>{{.i18n.Tr "repo.modelarts.code_version"}}</label>
<select class="ui dropdown width80 " style="margin-left: -2px;" id="code_version" name="branch_name">
<select class="ui dropdown width80 left2" id="code_version" name="branch_name">
{{range $k, $v :=.Branches}}
<option name="branch_name" value="{{$v}}">{{$v}}</option>
{{end}}


+ 64
- 87
templates/repo/modelarts/trainjob/show.tmpl View File

@@ -202,9 +202,10 @@ td, th {
<div class="content accordion-border">
<div class="content-pad">
<div class="ui pointing secondary menu">
<a class="active item" data-tab="first{{$k}}">配置信息</a>
<a class="item" data-tab="second{{$k}}" onclick="loadLog({{.VersionName}})">日志文件</a>
<a class="item" data-tab="third{{$k}}" onclick="loadModelFile({{.VersionName}},'','true')" target="_blank">模型下载</a>
<a class="item" data-tab="third{{$k}}" onclick="loadModelFile({{.VersionName}},'','','init')">模型下载</a>
</div>
<div class="ui tab active" data-tab="first{{$k}}">
<div style="padding-top: 10px;">
@@ -383,7 +384,7 @@ td, th {
</div>
<div class="ui tab" data-tab="second{{$k}}">
<div>
<div class="ui message" style="display: none;">
<div class="ui message{{.VersionName}}" style="display: none;">
<div id="header"></div>
</div>
<div class="ui top attached segment" style="background: #f0f0f0;">
@@ -396,8 +397,8 @@ td, th {
</div>
</div>
<div class="ui attached segment log" style="height: 300px !important; overflow: auto;">
<input type="hidden" class="version_name" name="version_name" value={{.VersionName}}>
<div class="ui attached segment log" onscroll="logScroll({{.VersionName}})" id="log{{.VersionName}}" style="height: 300px !important; overflow: auto;">
<!-- <input type="hidden" class="version_name" name="version_name" value={{.VersionName}}> -->
<input type="hidden" name="end_line" value>
<input type="hidden" name="start_line" value>
<pre id="log_file{{.VersionName}}"></pre>
@@ -407,11 +408,14 @@ td, th {
</div>
<div class="ui tab" data-tab="third{{$k}}">
<div class='ui breadcrumb model_file_bread' id='file_breadcrumb'>

<input type="hidden" name="model{{.VersionName}}" value="-1">
<input type="hidden" name="modelback{{.VersionName}}" value="-1">
<div class='ui breadcrumb model_file_bread' id='file_breadcrumb{{.VersionName}}'>
<div class="active section">{{.VersionName}}</div>
<div class="divider"> / </div>

</div>
<div id="dir_list">
<div id="dir_list{{.VersionName}}">
</div>
</div>
@@ -477,7 +481,7 @@ td, th {
}
// var timeid = window.setInterval(refreshStatus(version_name), 30000);
// document.ready(refreshStatus(version_name))
var timeid = window.setInterval(loadJobStatus, 10000);
// var timeid = window.setInterval(loadJobStatus, 10000);
$(document).ready(loadJobStatus);

function loadJobStatus() {
@@ -575,81 +579,52 @@ td, th {
console.log(err);
});
}
function loadModelFile(version_name,parents,filename){
console.log("")
function loadModelFile(version_name,parents,filename,init){
parents = parents || ''
filename = filename || ''
init = init || ''
$.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}/model_list?version_name=${version_name}&parentDir=${parents}`, (data) => {
console.log("=====parents======",data,version_name,parents)
if(!filename){
console.log("bread")
$("#dir_list").empty()
renderDir(data,version_name)
renderBrend(version_name,parents,filename,false)
$(`#dir_list${version_name}`).empty()
renderDir(data,version_name)
if(init==="init"){
$(`input[name=model${version_name}]`).val("")
$(`input[name=modelback${version_name}]`).val(version_name)
$(`#file_breadcrumb${version_name}`).empty()
let htmlBread = ""
htmlBread += `<div class='active section'>${version_name}</div>`
htmlBread += "<div class='divider'> / </div>"
$(`#file_breadcrumb${version_name}`).append(htmlBread)
}else{
$("#dir_list").empty()
renderDir(data,version_name)
renderBrend(version_name,parents,filename,true)
renderBrend(version_name,parents,filename,init)
}
}).fail(function(err) {
console.log(err,version_name);
});
// if(!parents){
// $.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}/model_list?version_name=${version_name}`, (data) => {
// console.log("===========",data,version_name)
// $("#dir_list").empty()
// renderDir(data,version_name)
// }).fail(function(err) {
// console.log(err);
// });
// }else{
// console.log("-----else-----",version_name)
// }
}
let parentsArr=[]
function renderBrend(version_name,parents,filename,flag){
if(flag){
parentsArr.push(parents)
console.log("parents parentsARR",parents,parentsArr)
function renderBrend(version_name,parents,filename,init){
if(init=="folder"){
let htmlBrend = ""
if($('#file_breadcrumb .active').length>0){
let parents1 = parentsArr.shift()
let sectionName=$('#file_breadcrumb .active.section').html()
$('#file_breadcrumb .active.section').replaceWith(`<a class='section' onclick="loadModelFile('${version_name}','${parents1}')">${sectionName}</a>`)
htmlBrend += `<div class='active section'>${filename}</div>`


let sectionName=$(`#file_breadcrumb${version_name} .active.section`).text()
let parents1 = $(`input[name=model${version_name}]`).val()
let filename1 = $(`input[name=modelback${version_name}]`).val()
if(parents1===""){
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(`<a class='section' onclick="loadModelFile('${version_name}','${parents1}','','init')">${sectionName}</a>`)
}else{
htmlBrend += `<div class='active section'>${version_name}</div>`
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(`<a class='section' onclick="loadModelFile('${version_name}','${parents1}','${filename1}')">${sectionName}</a>`)
}
console.log("parentsARR",parentsArr)
htmlBrend += `<div class='active section'>${filename}</div>`
htmlBrend += "<div class='divider'> / </div>"
$('#file_breadcrumb').append(htmlBrend)

$(`#file_breadcrumb${version_name}`).append(htmlBrend)
$(`input[name=model${version_name}]`).val(parents)
$(`input[name=modelback${version_name}]`).val(filename)
}else{
if(!parents){
$('#file_breadcrumb').empty()
let htmlBread = ""
htmlBread += `<div class='active section'>${version_name}</div>`
htmlBread += "<div class='divider'> / </div>"
$('#file_breadcrumb').append(htmlBread)
}else{
$(`a.section:contains(${parents})`).nextAll().remove()
$(`a.section:contains(${parents})`).replaceWith(`<div class='active section'>${parents}</div>`)
$(`a.section:contains(${parents})`).append("<div class='divider'> / </div>")

}
$(`input[name=model${version_name}]`).val(parents)
$(`input[name=modelback${version_name}]`).val(filename)
$(`#file_breadcrumb${version_name} a.section:contains(${filename})`).nextAll().remove()
$(`#file_breadcrumb${version_name} a.section:contains(${filename})`).replaceWith(`<div class='active section'>${filename}</div>`)
$(`#file_breadcrumb${version_name} div.section:contains(${filename})`).append("<div class='divider'> / </div>")
}
}
@@ -669,7 +644,7 @@ td, th {
html += "<span class='octicon octicon-file-directory'>"
html += "</span>"
if(data.Dirs[i].IsDir){
html += `<a onclick="loadModelFile('${version_name}','${data.Dirs[i].ParenDir}','${data.Dirs[i].FileName}')">`
html += `<a onclick="loadModelFile('${version_name}','${data.Dirs[i].ParenDir}','${data.Dirs[i].FileName}','folder')">`
html += "<span class='fitted'><i class='folder icon' width='16' height='16' aria-hidden='true'></i>" + data.Dirs[i].FileName + "</span>"
}else{
html += `<a href='${location.href}/download_model?parentDir=&fileName=${data.Dirs[i].FileName}&jobName=${data.task.JobName}'>`
@@ -694,46 +669,48 @@ td, th {
html += "</div>"
html += "</div>"
html += "</div>"
$("#dir_list").append(html)
$(`#dir_list${version_name}`).append(html)
}
$(".log").scroll(function () {
var scrollTop = $(this)[0].scrollTop; // 滚动距离
var scrollHeight = $(this)[0].scrollHeight; // 文档高度
var divHeight = $(this).height(); // 可视区高度
let version_name=$(this).find('input[name=version_name]').val()
// $(`.log{}`).scroll()
function logScroll(version_name) {
var scrollTop = $(`#log${version_name}`)[0].scrollTop; // 滚动距离
var scrollHeight = $(`#log${version_name}`)[0].scrollHeight; // 文档高度
var divHeight = $(`#log${version_name}`).height(); // 可视区高度
// let version_name=$(this).find('input[name=version_name]').val()
console.log("scrollTo,scrollHeight,divHeight",scrollTop,scrollHeight,divHeight)
if(parseInt(scrollTop) + divHeight + 18 == scrollHeight){
var end_line = $('input[name=end_line]').val()
var end_line = $(`#log${version_name} input[name=end_line]`).val()
$.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}/log?version_name=${version_name}&base_line=${end_line}&order=desc`, (data) => {
if (data.Lines == 0){
$('#header').text('您已翻阅至日志底部')
$('.message').css('display', 'block')
$(`.message${version_name} #header`).text('您已翻阅至日志底部')
$(`.message${version_name}`).css('display', 'block')
setTimeout(function(){
$('.message').css('display', 'none')
$(`.message${version_name}`).css('display', 'none')
}, 1000)
}else{
$('input[name=end_line]').val(data.EndLine)
$('.log').append('<pre>' + data.Content)
$(`#log${version_name} input[name=end_line]`).val(data.EndLine)
$(`#log${version_name}`).append('<pre>' + data.Content)
}
}).fail(function(err) {
console.log(err);
});
}
if(scrollTop == 0){
var start_line = $('input[name=start_line]').val()
var start_line = $(`#log${version_name} input[name=start_line]`).val()
$.get(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}/log?version_name=${version_name}&base_line=${start_line}&order=asc`, (data) => {
if (data.Lines == 0){
$('#header').text('您已翻阅至日志顶部')
$('.message').css('display', 'block')
$(`.message${version_name} #header`).text('您已翻阅至日志顶部')
$(`.message${version_name}`).css('display', 'block')
setTimeout(function(){
$('.message').css('display', 'none')
$(`.message${version_name}`).css('display', 'none')
}, 1000)
}else{
$('input[name=start_line]').val(data.StartLine) //如果变动就改变所对应的值
$(".log").prepend('<pre>' + data.Content)
$(`#log${version_name} input[name=start_line]`).val(data.StartLine) //如果变动就改变所对应的值
$(`#log${version_name}`).prepend('<pre>' + data.Content)
}
}).fail(function(err) {
console.log(err);
});
}
})
}
</script>

Loading…
Cancel
Save