|
|
@@ -161,6 +161,15 @@ td, th { |
|
|
|
padding-top: 0.5rem ; |
|
|
|
} |
|
|
|
</style> |
|
|
|
<div id="mask"> |
|
|
|
<div id="loadingPage"> |
|
|
|
<div class="rect1"></div> |
|
|
|
<div class="rect2"></div> |
|
|
|
<div class="rect3"></div> |
|
|
|
<div class="rect4"></div> |
|
|
|
<div class="rect5"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="repository"> |
|
|
|
{{template "repo/header" .}} |
|
|
|
<div class="ui container"> |
|
|
@@ -188,6 +197,12 @@ td, th { |
|
|
|
<div style="float: right;"> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
{{if .CanModify}} |
|
|
|
<a class="ti-action-menu-item" onclick="showcreate({{.}})">{{$.i18n.Tr "repo.modelarts.create_model"}}</a> |
|
|
|
{{else}} |
|
|
|
<a class="ti-action-menu-item disabled">{{$.i18n.Tr "repo.modelarts.create_model"}}</a> |
|
|
|
{{end}} |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
{{if .CanModify}} |
|
|
|
<a class="ti-action-menu-item" href="{{$.RepoLink}}/modelarts/train-job/{{.JobID}}/create_version?version_name={{.VersionName}}">{{$.i18n.Tr "repo.modelarts.modify"}}</a> |
|
|
|
{{else}} |
|
|
|
<a class="ti-action-menu-item disabled" href="{{$.RepoLink}}/modelarts/train-job/{{.JobID}}/create_version?version_name={{.VersionName}}">{{$.i18n.Tr "repo.modelarts.modify"}}</a> |
|
|
@@ -446,6 +461,62 @@ td, th { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 创建模型 --> |
|
|
|
<div id="newmodel"> |
|
|
|
<div class="ui modal second"> |
|
|
|
<div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> |
|
|
|
<h4 id="model_header">导入新模型</h4> |
|
|
|
</div> |
|
|
|
<div class="content content-padding"> |
|
|
|
<form id="formId" method="POST" class="ui form"> |
|
|
|
<div class="ui error message"> |
|
|
|
</div> |
|
|
|
{{$.CsrfTokenHtml}} |
|
|
|
<input type="hidden" name="trainTaskCreate" value="true"> |
|
|
|
|
|
|
|
<div class="two inline fields "> |
|
|
|
<div class="required ten wide field"> |
|
|
|
<label style="margin-left: -23px;">选择训练任务</label> |
|
|
|
<input type="hidden" class="width83" id="JobId" name="JobId" readonly required> |
|
|
|
<input class="width83" id="JobName" readonly required> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="required six widde field"> |
|
|
|
<label>版本</label> |
|
|
|
<input class="width70" id="VersionName" name="VersionName" readonly required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="required inline field" id="modelname"> |
|
|
|
<label>模型名称</label> |
|
|
|
<input style="width: 45%;" id="name" name="Name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> |
|
|
|
</div> |
|
|
|
<div class="required inline field" id="verionname"> |
|
|
|
<label>模型版本</label> |
|
|
|
<input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> |
|
|
|
</div> |
|
|
|
<div class="inline field"> |
|
|
|
<label>模型标签</label> |
|
|
|
<input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> |
|
|
|
</div> |
|
|
|
<div class="inline field"> |
|
|
|
<label for="description">模型描述</label> |
|
|
|
<textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' onchange="this.value=this.value.substring(0, 255)" onkeydown="this.value=this.value.substring(0, 255)" onkeyup="this.value=this.value.substring(0, 256)"></textarea> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="inline field" style="margin-left: 75px;"> |
|
|
|
<button onclick="createModel()" id="submitId" type="button" class="ui create_train_job green button" style="position: absolute;"> |
|
|
|
{{.i18n.Tr "repo.model.manage.sava_model"}} |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
<div class="actions" style="display: inline-block;margin-left: 180px;"> |
|
|
|
<button class="ui button cancel" >{{.i18n.Tr "repo.cloudbrain.cancel"}}</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{{template "base/footer" .}} |
|
|
|
|
|
|
@@ -479,7 +550,61 @@ td, th { |
|
|
|
} |
|
|
|
let timeid = window.setInterval(loadJobStatus, 30000); |
|
|
|
$(document).ready(loadJobStatus); |
|
|
|
|
|
|
|
function showcreate(obj){ |
|
|
|
$('.ui.modal.second') |
|
|
|
.modal({ |
|
|
|
centered: false, |
|
|
|
onShow:function(){ |
|
|
|
$('input[name="Version"]').addClass('model_disabled') |
|
|
|
// $('input[name="JobId"]').text(obj.JobName) |
|
|
|
$('#JobName').val(obj.JobName).addClass('model_disabled') |
|
|
|
$('input[name="JobId"]').val(obj.JobID) |
|
|
|
$('input[name="VersionName"]').val(obj.VersionName).addClass('model_disabled') |
|
|
|
$('.ui.dimmer').css({"background-color":"rgb(136, 136, 136,0.7)"}) |
|
|
|
createModelName() |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
onHide:function(){ |
|
|
|
document.getElementById("formId").reset(); |
|
|
|
$('.ui.dimmer').css({"background-color":""}) |
|
|
|
$('.ui.error.message').text() |
|
|
|
$('.ui.error.message').css('display','none') |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
.modal('show') |
|
|
|
} |
|
|
|
function createModel(){ |
|
|
|
let url_href = `/${userName}/${repoPath}/modelmanage/create_new_model` |
|
|
|
let data = $("#formId").serialize() |
|
|
|
$("#mask").css({"display":"block","z-index":"9999"}) |
|
|
|
$.ajax({ |
|
|
|
url:url_href, |
|
|
|
type:'POST', |
|
|
|
data:data, |
|
|
|
success:function(res){ |
|
|
|
location.href=`/${userName}/${repoPath}/modelmanage/show_model` |
|
|
|
$('.ui.modal.second').modal('hide') |
|
|
|
}, |
|
|
|
error: function(xhr){ |
|
|
|
// 隐藏 loading |
|
|
|
// 只有请求不正常(状态码不为200)才会执行 |
|
|
|
$('.ui.error.message').text(xhr.responseText) |
|
|
|
$('.ui.error.message').css('display','block') |
|
|
|
}, |
|
|
|
complete:function(xhr){ |
|
|
|
$("#mask").css({"display":"none","z-index":"1"}) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
function createModelName(){ |
|
|
|
let repoName = location.pathname.split('/')[2] |
|
|
|
let modelName = repoName + '_model_' + Math.random().toString(36).substr(2, 4) |
|
|
|
$('#name').val(modelName) |
|
|
|
$('#version').val("0.0.1") |
|
|
|
} |
|
|
|
function renderSize(value){ |
|
|
|
if(null==value||value==''){ |
|
|
|
return "0 Bytes"; |
|
|
|