@@ -2270,7 +2270,7 @@ func getTrainJobCommand(form auth.CreateCloudBrainForm, fileNames string) (strin | |||
} | |||
} | |||
param += " --dataset_list=" + fileNames | |||
param += " --dataset_list='" + fileNames + "'" | |||
command += "python /code/" + bootFile + param + " > " + cloudbrain.ModelMountPath + "/" + form.DisplayJobName + "-" + cloudbrain.LogFile | |||
@@ -1,11 +1,11 @@ | |||
<div class="dataset-repolink" id="dataset-repolink-init" style="display: none;" data-repolink="{{.RepoLink}}" | |||
data-dataset-type="{{.datasetType}}"></div> | |||
<div class="inline required unite min_title field" id="dataset-base" style="margin-bottom: 0 !important;"> | |||
<div class="inline required min_title field" id="dataset-base" style="margin-bottom: 0 !important;"> | |||
{{if or (.benchmarkMode) (.newInference)}} | |||
<label | |||
style="font-weight: normal;">{{if .benchmarkMode}}{{.i18n.Tr "repo.model_manager"}}</label><span> </span>{{else}}{{.i18n.Tr "dataset.dataset"}}</label> {{end}} | |||
{{else}} | |||
<label style="font-weight: normal;">{{.i18n.Tr "dataset.dataset"}}</label> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "dataset.dataset"}}</label> | |||
{{end}} | |||
<input type="hidden" name="attachment" :value="dataset_uuid"> | |||
<input class="disabled" type="text" :value="dataset_name" required onfocus="this.blur();" style="width: 48.5%;"> | |||
@@ -91,13 +91,13 @@ | |||
<input type="hidden" id="ai_flaver_name" name="flaver_names" value=""> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a class="active item" href="{{.RepoLink}}/cloudbrain/train-job/create"> | |||
<svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg> | |||
{{.i18n.Tr "cloudbrain.resource_cluster_openi"}} | |||
</a> | |||
<a class="item" href="{{.RepoLink}}/grampus/train-job/{{if.NPUEnabled}}npu{{else}}gpu{{end}}/create"> | |||
<a class="item" href="{{.RepoLink}}/grampus/train-job/npu/create"> | |||
<svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg> | |||
{{.i18n.Tr "cloudbrain.resource_cluster_c2net"}}(Beta) | |||
</a> | |||
@@ -1,20 +1,15 @@ | |||
{{template "base/head" .}} | |||
<style> | |||
.unite{ | |||
.train-job-title { | |||
font-family: SourceHanSansSC-medium !important; | |||
color: rgba(16, 16, 16, 100) !important; | |||
} | |||
.title{ | |||
font-size: 16px !important; | |||
padding-left: 3rem !important; | |||
} | |||
.min_title{ | |||
font-size: 14px !important; | |||
padding-left: 6rem !important; | |||
margin-bottom: 2rem !important; | |||
} | |||
.width{ | |||
width:100% !important; | |||
@@ -32,7 +27,6 @@ | |||
margin-left: 4.5rem !important; | |||
} | |||
.width81{ | |||
margin-left: 1.5rem !important; | |||
width: 81% !important; | |||
} | |||
@@ -53,7 +47,13 @@ | |||
text-align: center; | |||
color: #C2C7CC; | |||
} | |||
.label-fix-width{ | |||
width: 140px !important; | |||
text-align: right; | |||
font-family: SourceHanSansSC-medium !important; | |||
color: rgba(16, 16, 16, 100) !important; | |||
font-size: 14px !important; | |||
} | |||
</style> | |||
<!-- <div class="ui page dimmer"> | |||
<div class="ui text loader">{{.i18n.Tr "loading"}}</div> | |||
@@ -81,9 +81,9 @@ | |||
<input type="hidden" name="action" value="update"> | |||
<input type="hidden" id="ai_engine_name" name="engine_names" value=""> | |||
<input type="hidden" id="ai_flavor_name" name="flavor_name" value=""> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a class="item" href="{{.RepoLink}}/cloudbrain/train-job/create"> | |||
<svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg> | |||
@@ -95,8 +95,8 @@ | |||
</a> | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.compute_resource"}}</label> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.compute_resource"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a {{if.GPUEnabled}}class="active item" href="{{.RepoLink}}/grampus/train-job/gpu/create"{{else}}href="javascript:return false;" class="item disabled" {{end}}> | |||
<svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"> | |||
@@ -113,23 +113,23 @@ | |||
Ascend NPU</a> | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label> | |||
<input style="width: 60%;" name="display_job_name" id="display_job_name" placeholder={{.i18n.Tr "repo.modelarts.train_job.job_name"}} value="{{.display_job_name}}" tabindex="3" onkeyup="this.value=this.value.replace(/[, ]/g,'')" autofocus required maxlength="64"> | |||
<span class="tooltips" style="display: block;">{{.i18n.Tr "cloudbrain.job_name_rule"}}</span> | |||
<span class="tooltips" style="margin-left: 11.5rem;display: block;">{{.i18n.Tr "cloudbrain.job_name_rule"}}</span> | |||
</div> | |||
<div class="unite min_title inline field"> | |||
<label style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}} </label> | |||
<div class="min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}} </label> | |||
<textarea style="width: 80%;" 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, 255)"></textarea> | |||
</div> | |||
<div class="ui divider"></div> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.code_version"}}</label> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.code_version"}}</label> | |||
<select class="ui dropdown width80 left2" id="code_version" name="branch_name"> | |||
{{if .branch_name}} | |||
<option name="branch_name" value="{{.branch_name}}">{{.branch_name}}</option> | |||
@@ -152,8 +152,8 @@ | |||
<div id="images-new-grampus"> | |||
</div> | |||
<div class="inline unite min_title field required"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.start_file"}}</label> | |||
<div class="inline min_title field required"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.start_file"}}</label> | |||
{{if .bootFile}} | |||
<input style="width: 48.5%;" name="boot_file" id="trainjob_boot_file" value="{{.bootFile}}" tabindex="3" autofocus required maxlength="255" > | |||
{{else}} | |||
@@ -168,8 +168,8 @@ | |||
{{template "custom/select_dataset_train" .}} | |||
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.grampus.dataset_path_rule"}}</span> | |||
<div class="inline unite min_title field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label> | |||
<div class="inline min_title field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label> | |||
<span id="add_run_para" style="margin-left: 0.5rem;cursor:pointer;color: rgba(3, 102, 214, 100);font-size: 14px;line-height: 26px;font-family: SourceHanSansSC-medium;"><i class="plus square outline icon"></i>{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}}</span> | |||
<input id="store_run_para" type="hidden" name="run_para_list"> | |||
<div class="dynamic field" style="margin-top: 1rem;"> | |||
@@ -194,8 +194,8 @@ | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field" id="flavor_name"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.standard"}}</label> | |||
<div class="required min_title inline field" id="flavor_name"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.standard"}}</label> | |||
<select class="ui dropdown width81" id="trainjob-flavor" style='width:385px' name="flavor"> | |||
{{range .flavor_infos}} | |||
<option name="flavor" value="{{.ID}}">{{.Name}}</option> | |||
@@ -203,7 +203,8 @@ | |||
</select> | |||
</div> | |||
<div class="inline unite min_title field"> | |||
<div class="inline min_title field"> | |||
<label class="label-fix-width"></label> | |||
<button class="ui create_train_job green button"> | |||
{{.i18n.Tr "repo.cloudbrain.new"}} | |||
</button> | |||
@@ -1,20 +1,14 @@ | |||
{{template "base/head" .}} | |||
<style> | |||
.unite{ | |||
.train-job-title { | |||
font-family: SourceHanSansSC-medium !important; | |||
color: rgba(16, 16, 16, 100) !important; | |||
} | |||
.title{ | |||
font-size: 16px !important; | |||
padding-left: 3rem !important; | |||
} | |||
.min_title{ | |||
font-size: 14px !important; | |||
padding-left: 6rem !important; | |||
margin-bottom: 2rem !important; | |||
} | |||
.width{ | |||
width:100% !important; | |||
@@ -28,7 +22,6 @@ | |||
margin-left: 4.5rem !important; | |||
} | |||
.width81{ | |||
margin-left: 1.5rem; | |||
width: 81% !important; | |||
} | |||
@@ -49,7 +42,13 @@ | |||
text-align: center; | |||
color: #C2C7CC; | |||
} | |||
.label-fix-width{ | |||
width: 140px !important; | |||
text-align: right; | |||
font-family: SourceHanSansSC-medium !important; | |||
color: rgba(16, 16, 16, 100) !important; | |||
font-size: 14px !important; | |||
} | |||
</style> | |||
<!-- <div class="ui page dimmer"> | |||
<div class="ui text loader">{{.i18n.Tr "loading"}}</div> | |||
@@ -77,9 +76,9 @@ | |||
<input type="hidden" name="action" value="update"> | |||
<input type="hidden" id="ai_engine_name" name="engine_name" value=""> | |||
<input type="hidden" id="ai_flavor_name" name="flavor_name" value=""> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a class="item" href="{{.RepoLink}}/cloudbrain/train-job/create"> | |||
<svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg> | |||
@@ -91,8 +90,8 @@ | |||
</a> | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.compute_resource"}}</label> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.compute_resource"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a {{if.GPUEnabled}}class="item" href="{{.RepoLink}}/grampus/train-job/gpu/create"{{else}}href="javascript:return false;" class="item disabled" {{end}}> | |||
<svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"> | |||
@@ -109,23 +108,23 @@ | |||
Ascend NPU</a> | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label> | |||
<input style="width: 60%;" name="display_job_name" id="display_job_name" placeholder={{.i18n.Tr "repo.modelarts.train_job.job_name"}} value="{{.display_job_name}}" tabindex="3" onkeyup="this.value=this.value.replace(/[, ]/g,'')" autofocus required maxlength="64"> | |||
<span class="tooltips" style="display: block;">{{.i18n.Tr "cloudbrain.job_name_rule"}}</span> | |||
</div> | |||
<div class="unite min_title inline field"> | |||
<label style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}} </label> | |||
<div class="min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}} </label> | |||
<textarea style="width: 80%;" 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, 255)"></textarea> | |||
</div> | |||
<div class="ui divider"></div> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<h4 class="train-job-title title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.code_version"}}</label> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.code_version"}}</label> | |||
<select class="ui dropdown width80 left2" id="code_version" name="branch_name"> | |||
{{if .branch_name}} | |||
<option name="branch_name" value="{{.branch_name}}">{{.branch_name}}</option> | |||
@@ -145,8 +144,8 @@ | |||
</select> | |||
</div> | |||
<div class="required unite min_title inline field" id="engine_name"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.mirror"}}</label> | |||
<div class="required min_title inline field" id="engine_name"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.mirror"}}</label> | |||
<select class="ui dropdown width81" id="trainjob_images" name="image_id"> | |||
{{range .images}} | |||
<option name="image_id" value="{{.ID}}">{{.Name}}</option> | |||
@@ -154,8 +153,8 @@ | |||
</select> | |||
</div> | |||
<div class="inline unite min_title field required"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.start_file"}}</label> | |||
<div class="inline min_title field required"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.start_file"}}</label> | |||
{{if .bootFile}} | |||
<input style="width: 48.5%;" name="boot_file" id="trainjob_boot_file" value="{{.bootFile}}" tabindex="3" autofocus required maxlength="255" > | |||
{{else}} | |||
@@ -169,24 +168,24 @@ | |||
{{template "custom/select_dataset_train" .}} | |||
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.grampus.dataset_path_rule"}}</span> | |||
<div class="inline unite min_title field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label> | |||
<div class="inline min_title field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label> | |||
<span id="add_run_para" style="margin-left: 0.5rem;cursor:pointer;color: rgba(3, 102, 214, 100);font-size: 14px;line-height: 26px;font-family: SourceHanSansSC-medium;"><i class="plus square outline icon"></i>{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}}</span> | |||
<input id="store_run_para" type="hidden" name="run_para_list"> | |||
<div class="dynamic field" style="margin-top: 1rem;"> | |||
</div> | |||
</div> | |||
<div class="required unite min_title inline field" id="flavor_name"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.standard"}}</label> | |||
<div class="required min_title inline field" id="flavor_name"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.standard"}}</label> | |||
<select class="ui dropdown width81" id="trainjob-flavor" style='width:385px' name="flavor"> | |||
{{range .flavor_infos}} | |||
<option name="flavor" value="{{.ID}}">{{.Name}}</option> | |||
{{end}} | |||
</select> | |||
</div> | |||
<div class="inline required unite min_title field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.amount_of_compute_node"}}</label> | |||
<div class="inline required min_title field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.amount_of_compute_node"}}</label> | |||
<div class="ui labeled input" style="width: 5%;"> | |||
@@ -200,7 +199,8 @@ | |||
</div> | |||
</div> | |||
<div class="inline unite min_title field"> | |||
<div class="inline min_title field"> | |||
<label class="label-fix-width"></label> | |||
<button class="ui create_train_job green button"> | |||
{{.i18n.Tr "repo.cloudbrain.new"}} | |||
</button> | |||
@@ -69,7 +69,6 @@ | |||
} | |||
.tab_2_content { | |||
min-height: 460px; | |||
margin-left: 10px; | |||
} | |||
@@ -338,30 +337,6 @@ | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "repo.modelarts.train_job.dura_time"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
<div class="text-span text-span-w" | |||
id="{{.VersionName}}-duration"> | |||
{{$.duration}} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "repo.cloudbrain.datasetdownload"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
<div class="text-span-new" id="model_description"> | |||
{{$.datasetDownloadLink}} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "cloudbrain.description"}} | |||
@@ -392,24 +367,6 @@ | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "repo.modelarts.train_job.dataset"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
<div class="text-span text-span-w" | |||
id="{{.VersionName}}-BenchmarkTypeName"> | |||
{{.DatasetName}} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "repo.modelarts.train_job.standard"}} | |||
@@ -456,6 +413,18 @@ | |||
</div> | |||
</td> | |||
</tr> | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
{{$.i18n.Tr "repo.modelarts.train_job.dura_time"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
<div class="text-span text-span-w" | |||
id="{{.VersionName}}-duration"> | |||
{{$.duration}} | |||
</div> | |||
</td> | |||
</tr> | |||
</tbody> | |||
@@ -463,8 +432,26 @@ | |||
</div> | |||
</div> | |||
</div> | |||
<div style="clear:both"> | |||
<table style="border:none" class="ui fixed small stackable table"> | |||
<thead> | |||
<tr><th style="color: #8a8e99;font-size:12px" class="three wide center aligned">数据集文件</th> | |||
<th style="color: #8a8e99;font-size:12px"class="eleven wide">数据集下载地址</th> | |||
<th style="color: #8a8e99;font-size:12px" class="two wide center aligned">操作</th> | |||
</tr></thead> | |||
<tbody> | |||
{{range $.datasetDownload}} | |||
<tr> | |||
<td style="word-wrap: break-word;word-break: break-all;" class="center aligned"><a>{{.DatasetName}}</a></td> | |||
<td style="word-wrap: break-word;word-break: break-all;">{{.DatasetDownloadLink}}</td> | |||
<td class="center aligned" data-label="Job"><a class="clipboard" data-clipboard-text="{{.DatasetDownloadLink}}">复制链接</a></td> | |||
</tr> | |||
{{end}} | |||
</tbody> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -509,4 +496,5 @@ | |||
$(document).ready(function () { | |||
$('.secondary.menu .item').tab(); | |||
}); | |||
console.log({{$.datasetDownload}}) | |||
</script> |
@@ -1,11 +1,8 @@ | |||
{{template "base/head" .}} | |||
<style> | |||
.unite{ | |||
.train-job-title { | |||
font-family: SourceHanSansSC-medium !important; | |||
color: rgba(16, 16, 16, 100) !important; | |||
} | |||
.title{ | |||
font-size: 16px !important; | |||
padding-left: 3rem !important; | |||
} | |||
@@ -84,9 +81,9 @@ | |||
<input type="hidden" name="action" value="update"> | |||
<input type="hidden" id="ai_engine_name" name="engine_names" value=""> | |||
<input type="hidden" id="ai_flaver_name" name="flaver_names" value=""> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required unite min_title inline field"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4> | |||
<div class="required min_title inline field"> | |||
<label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label> | |||
<div class="ui blue mini menu compact selectcloudbrain"> | |||
<a class="active item" href="{{.RepoLink}}/cloudbrain/train-job/create"> | |||
<svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg> | |||
@@ -132,7 +129,7 @@ | |||
</div> | |||
<div class="ui divider"></div> | |||
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:</h4> | |||
<div class="required inline min_title field"> | |||
@@ -39,8 +39,15 @@ | |||
class="disabled" | |||
style="width: 48.5%" | |||
placeholder="选择数据集文件" | |||
required | |||
/> | |||
<input | |||
v-else | |||
type="text" | |||
class="disabled" | |||
required | |||
placeholder="选择数据集文件" | |||
/> | |||
<input v-else type="text" class="disabled" placeholder="选择数据集文件" /> | |||
</span> | |||
<el-button | |||
@@ -99,30 +106,37 @@ | |||
> | |||
<span slot-scope="{ node, data }" class="slot-wrap"> | |||
<span v-if="data.parent" class="custom-tree-node"> | |||
<el-tooltip v-if="data.Description" placement="left"> | |||
<el-tooltip v-if="data.Description" placement="top-start"> | |||
<div slot="content" class="multiple-wrap"> | |||
{{ data.Description }} | |||
</div> | |||
<span class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span | |||
style="flex: inherit" | |||
class="dataset-nowrap" | |||
>{{ node.label }}</span | |||
> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
</el-tooltip> | |||
<span v-else class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span style="flex: inherit" class="dataset-nowrap">{{ | |||
node.label | |||
}}</span> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
<!-- <a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
class="dataset-repolink dataset-nowrap" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
> --> | |||
<span | |||
class="dataset-repolink dataset-nowrap" | |||
@click.stop="return false;" | |||
@@ -194,30 +208,54 @@ | |||
> | |||
<span slot-scope="{ node, data }" class="slot-wrap"> | |||
<span v-if="data.parent" class="custom-tree-node"> | |||
<el-tooltip v-if="data.Description" placement="left"> | |||
<el-tooltip v-if="data.Description" placement="top-start"> | |||
<div slot="content" class="multiple-wrap"> | |||
{{ data.Description }} | |||
</div> | |||
<span class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span | |||
style="flex: inherit" | |||
class="dataset-nowrap" | |||
>{{ node.label }}</span | |||
> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
</el-tooltip> | |||
<span v-else class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span style="flex: inherit" class="dataset-nowrap">{{ | |||
node.label | |||
}}</span> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
<span | |||
class="dataset-repolink dataset-nowrap" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }} | |||
</a> | |||
@click.stop="return false;" | |||
> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
> | |||
</span> | |||
</span> | |||
<span v-else style="display: flex"> | |||
<span class="dataset-nowrap" :title="node.label"> | |||
@@ -276,30 +314,54 @@ | |||
> | |||
<span slot-scope="{ node, data }" class="slot-wrap"> | |||
<span v-if="data.parent" class="custom-tree-node"> | |||
<el-tooltip v-if="data.Description" placement="left"> | |||
<el-tooltip v-if="data.Description" placement="top-start"> | |||
<div slot="content" class="multiple-wrap"> | |||
{{ data.Description }} | |||
</div> | |||
<span class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span | |||
style="flex: inherit" | |||
class="dataset-nowrap" | |||
>{{ node.label }}</span | |||
> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
</el-tooltip> | |||
<span v-else class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span style="flex: inherit" class="dataset-nowrap">{{ | |||
node.label | |||
}}</span> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
<span | |||
class="dataset-repolink dataset-nowrap" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
@click.stop="return false;" | |||
> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
> | |||
</span> | |||
</span> | |||
<span v-else style="display: flex"> | |||
<span class="dataset-nowrap" :title="node.label"> | |||
@@ -358,30 +420,54 @@ | |||
> | |||
<span slot-scope="{ node, data }" class="slot-wrap"> | |||
<span v-if="data.parent" class="custom-tree-node"> | |||
<el-tooltip v-if="data.Description" placement="left"> | |||
<el-tooltip v-if="data.Description" placement="top-start"> | |||
<div slot="content" class="multiple-wrap"> | |||
{{ data.Description }} | |||
</div> | |||
<span class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span | |||
style="flex: inherit" | |||
class="dataset-nowrap" | |||
>{{ node.label }}</span | |||
> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
</el-tooltip> | |||
<span v-else class="dataset-title dataset-nowrap" | |||
>{{ node.label }} | |||
><div class="dataset_flex"> | |||
<span style="flex: inherit" class="dataset-nowrap">{{ | |||
node.label | |||
}}</span> | |||
<img | |||
v-if="data.Recommend" | |||
style="margin-left: 0.4rem" | |||
src="/img/jian.svg" | |||
/> | |||
</div> | |||
</span> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
<span | |||
class="dataset-repolink dataset-nowrap" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
@click.stop="return false;" | |||
> | |||
<a | |||
:href=" | |||
'/' + | |||
data.Repo.OwnerName + | |||
'/' + | |||
data.Repo.Alias + | |||
'/datasets' | |||
" | |||
target="_blank" | |||
:title="data.Repo.OwnerName + '/' + data.Repo.Alias" | |||
>{{ data.Repo.OwnerName }}/{{ data.Repo.Alias }}</a | |||
> | |||
</span> | |||
</span> | |||
<span v-else style="display: flex"> | |||
<span class="dataset-nowrap" :title="node.label"> | |||
@@ -1,216 +1,292 @@ | |||
<template> | |||
<div class="inline required field" :class="{ 'unite': benchmarkNew, 'min_title': benchmarkNew}"> | |||
<label v-if="benchmarkNew" style="font-weight: normal;">镜像</label> | |||
<label v-else>镜像</label> | |||
<span v-if="benchmarkNew"> </span> | |||
<input v-if="benchmarkNew" type="text" name="image" :value="imageAddress" style="width: 48.5%;" | |||
placeholder="选择镜像或输入镜像地址"> | |||
<input v-else type="text" name="image" :value="imageAddress" placeholder="选择镜像或输入镜像地址"> | |||
<el-button type="text" @click="dialogVisible = true" icon="el-icon-plus" style="color: #0366d6;">选择镜像 | |||
</el-button> | |||
<el-dialog title="选择镜像" :visible.sync="dialogVisible" width="50%"> | |||
<div class="ui icon input" style="z-index: 9999;position: absolute;right: 50px;height:30px;"> | |||
<i class="search icon" style="cursor: pointer;pointer-events:auto"></i> | |||
<input type="text" placeholder="搜镜像Tag/描述/标签..." v-model="search"> | |||
<div | |||
class="inline required field" | |||
:class="{ unite: benchmarkNew, min_title: benchmarkNew }" | |||
> | |||
<label | |||
v-if="benchmarkNew" | |||
class="label-fix-width" | |||
style="font-weight: normal" | |||
>镜像</label | |||
> | |||
<label v-else>镜像</label> | |||
<input | |||
v-if="benchmarkNew" | |||
type="text" | |||
name="image" | |||
:value="imageAddress" | |||
style="width: 48.5%" | |||
placeholder="选择镜像或输入镜像地址" | |||
/> | |||
<input | |||
v-else | |||
type="text" | |||
name="image" | |||
:value="imageAddress" | |||
placeholder="选择镜像或输入镜像地址" | |||
/> | |||
<el-button | |||
type="text" | |||
@click="dialogVisible = true" | |||
icon="el-icon-plus" | |||
style="color: #0366d6" | |||
>选择镜像 | |||
</el-button> | |||
<el-dialog title="选择镜像" :visible.sync="dialogVisible" width="50%"> | |||
<div | |||
class="ui icon input" | |||
style="z-index: 9999; position: absolute; right: 50px; height: 30px" | |||
> | |||
<i | |||
class="search icon" | |||
style="cursor: pointer; pointer-events: auto" | |||
></i> | |||
<input | |||
type="text" | |||
placeholder="搜镜像Tag/描述/标签..." | |||
v-model="search" | |||
/> | |||
</div> | |||
<el-tabs v-model="activeName" @tab-click="handleClick"> | |||
<el-tab-pane label="公开镜像" name="first" v-loading="loadingPublic"> | |||
<div | |||
style=" | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
padding: 1rem 0; | |||
border-bottom: 1px solid #f5f5f5; | |||
" | |||
v-for="(publicData, index) in tableDataPublic" | |||
:key="index" | |||
> | |||
<div style="width: 90%"> | |||
<div | |||
style=" | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
" | |||
> | |||
<div style="display: flex; align-items: center"> | |||
<span | |||
class="panel_dataset_name text-over" | |||
style="margin-left: 0" | |||
>{{ publicData.tag }} | |||
</span> | |||
<img | |||
v-if="publicData.type == 5" | |||
src="/img/jian.svg" | |||
style="margin-left: 0.5rem" | |||
/> | |||
</div> | |||
<div v-if="!!publicData.topics" class="text-over"> | |||
<span | |||
v-for="(topic, index) in publicData.topics" | |||
class="ui repo-topic label topic" | |||
>{{ topic }}</span | |||
> | |||
</div> | |||
</div> | |||
<div style="margin-top: 8px; display: flex"> | |||
<a | |||
v-if="publicData.relAvatarLink || publicData.userName" | |||
:title="publicData.userName" | |||
style="cursor: default" | |||
> | |||
<img | |||
class="ui avatar mini image" | |||
style="width: 20px; height: 20px" | |||
:src="publicData.relAvatarLink" | |||
/> | |||
</a> | |||
<a v-else | |||
><img | |||
class="ui avatar mini image" | |||
title="Ghost" | |||
src="/user/avatar/ghost/-1" | |||
style="width: 20px; height: 20px" | |||
/></a> | |||
<span class="panel_datset_desc">{{ | |||
publicData.description | |||
}}</span> | |||
</div> | |||
</div> | |||
<el-tabs v-model="activeName" @tab-click="handleClick"> | |||
<el-tab-pane label="公开镜像" name="first" v-loading="loadingPublic"> | |||
<div style="display: flex;align-items: center;justify-content: space-between;padding: 1rem 0;border-bottom:1px solid #F5F5F5" | |||
v-for="(publicData,index) in tableDataPublic" :key="index"> | |||
<div style="width: 90%;"> | |||
<div style="display: flex;align-items: center;justify-content: space-between;"> | |||
<div style="display: flex;align-items: center;"> | |||
<span class="panel_dataset_name text-over" | |||
style="margin-left: 0;">{{publicData.tag}} </span> | |||
<img v-if="publicData.type==5" src="/img/jian.svg" style="margin-left: 0.5rem;"> | |||
</div> | |||
<div v-if="!!publicData.topics" class="text-over"> | |||
<span v-for="(topic,index) in publicData.topics" | |||
class="ui repo-topic label topic">{{topic}}</span> | |||
</div> | |||
</div> | |||
<div style="margin-top: 8px;display: flex;"> | |||
<a v-if="publicData.relAvatarLink||publicData.userName" :title="publicData.userName" | |||
style="cursor: default;"> | |||
<img class="ui avatar mini image" style="width: 20px;height: 20px;" | |||
:src="publicData.relAvatarLink"> | |||
</a> | |||
<a v-else><img class="ui avatar mini image" title="Ghost" src="/user/avatar/ghost/-1" | |||
style="width: 20px;height: 20px;"></a> | |||
<span class="panel_datset_desc">{{publicData.description}}</span> | |||
</div> | |||
</div> | |||
<div> | |||
<button class="ui primary basic button mini" | |||
@click.stop.prevent="selectImages(publicData.place,publicData.tag)">使用</button> | |||
</div> | |||
</div> | |||
<div class="ui container" style="margin-top:50px;text-align:center"> | |||
<el-pagination background @current-change="handleCurrentChangePublic" | |||
:current-page="currentPagePublic" :page-size="pageSizePublic" | |||
layout="total, prev, pager, next" :total="totalNumPublic"> | |||
</el-pagination> | |||
</div> | |||
</el-tab-pane> | |||
</el-tabs> | |||
</el-dialog> | |||
</div> | |||
<div> | |||
<button | |||
class="ui primary basic button mini" | |||
@click.stop.prevent=" | |||
selectImages(publicData.place, publicData.tag) | |||
" | |||
> | |||
使用 | |||
</button> | |||
</div> | |||
</div> | |||
<div | |||
class="ui container" | |||
style="margin-top: 50px; text-align: center" | |||
> | |||
<el-pagination | |||
background | |||
@current-change="handleCurrentChangePublic" | |||
:current-page="currentPagePublic" | |||
:page-size="pageSizePublic" | |||
layout="total, prev, pager, next" | |||
:total="totalNumPublic" | |||
> | |||
</el-pagination> | |||
</div> | |||
</el-tab-pane> | |||
</el-tabs> | |||
</el-dialog> | |||
</div> | |||
</template> | |||
<script> | |||
const { _AppSubUrl, _StaticUrlPrefix, csrf } = window.config; | |||
export default { | |||
components: { | |||
}, | |||
data() { | |||
return { | |||
dialogVisible: false, | |||
benchmarkNew: false, | |||
imageAddress: '', | |||
activeName: 'first', | |||
search: '', | |||
checked: false, | |||
currentPagePublic: 1, | |||
pageSizePublic: 5, | |||
totalNumPublic: 0, | |||
paramsPublic: { page: 1, pageSize: 5, q: '', recommend: false,cloudbrainType: 2 }, | |||
tableDataPublic: [], | |||
loadingPublic: false, | |||
}; | |||
}, | |||
methods: { | |||
handleClick(tab, event) { | |||
this.search = '' | |||
if (tab.name == "first") { | |||
this.paramsPublic.q = '' | |||
this.getImageListPublic() | |||
} | |||
}, | |||
tableHeaderStyle({ row, column, rowIndex, columnIndex }) { | |||
if (rowIndex === 0) { | |||
return 'background:#f5f5f6;color:#606266' | |||
} | |||
}, | |||
handleCurrentChangePublic(val) { | |||
this.paramsPublic.page = val | |||
this.getImageListPublic() | |||
}, | |||
getImageListPublic() { | |||
this.loadingPublic = true | |||
this.$axios.get('/explore/images/public', { | |||
params: this.paramsPublic | |||
}).then((res) => { | |||
this.totalNumPublic = res.data.count | |||
this.tableDataPublic = res.data.images | |||
this.loadingPublic = false | |||
}) | |||
}, | |||
searchName() { | |||
if (this.activeName == 'first') { | |||
this.paramsPublic.q = this.search | |||
this.paramsPublic.page = 1 | |||
this.getImageListPublic() | |||
} | |||
}, | |||
selectImages(place) { | |||
this.imageAddress = place | |||
this.dialogVisible = false | |||
}, | |||
}, | |||
watch: { | |||
search(val) { | |||
if (this.activeName == 'first') { | |||
this.paramsPublic.q = val | |||
this.getImageListPublic() | |||
} | |||
} | |||
}, | |||
mounted() { | |||
this.getImageListPublic() | |||
if (location.href.indexOf('benchmark') !== -1 || location.href.indexOf('train-job') !== -1) { | |||
this.benchmarkNew = true | |||
} | |||
}, | |||
created() { | |||
} | |||
const { _AppSubUrl, _StaticUrlPrefix, csrf } = window.config; | |||
export default { | |||
components: {}, | |||
data() { | |||
return { | |||
dialogVisible: false, | |||
benchmarkNew: false, | |||
imageAddress: "", | |||
activeName: "first", | |||
search: "", | |||
checked: false, | |||
currentPagePublic: 1, | |||
pageSizePublic: 5, | |||
totalNumPublic: 0, | |||
paramsPublic: { | |||
page: 1, | |||
pageSize: 5, | |||
q: "", | |||
recommend: false, | |||
cloudbrainType: 2, | |||
}, | |||
tableDataPublic: [], | |||
loadingPublic: false, | |||
}; | |||
}, | |||
methods: { | |||
handleClick(tab, event) { | |||
this.search = ""; | |||
if (tab.name == "first") { | |||
this.paramsPublic.q = ""; | |||
this.getImageListPublic(); | |||
} | |||
}, | |||
tableHeaderStyle({ row, column, rowIndex, columnIndex }) { | |||
if (rowIndex === 0) { | |||
return "background:#f5f5f6;color:#606266"; | |||
} | |||
}, | |||
handleCurrentChangePublic(val) { | |||
this.paramsPublic.page = val; | |||
this.getImageListPublic(); | |||
}, | |||
getImageListPublic() { | |||
this.loadingPublic = true; | |||
this.$axios | |||
.get("/explore/images/public", { | |||
params: this.paramsPublic, | |||
}) | |||
.then((res) => { | |||
this.totalNumPublic = res.data.count; | |||
this.tableDataPublic = res.data.images; | |||
this.loadingPublic = false; | |||
}); | |||
}, | |||
searchName() { | |||
if (this.activeName == "first") { | |||
this.paramsPublic.q = this.search; | |||
this.paramsPublic.page = 1; | |||
this.getImageListPublic(); | |||
} | |||
}, | |||
selectImages(place) { | |||
this.imageAddress = place; | |||
this.dialogVisible = false; | |||
}, | |||
}, | |||
watch: { | |||
search(val) { | |||
if (this.activeName == "first") { | |||
this.paramsPublic.q = val; | |||
this.getImageListPublic(); | |||
} | |||
}, | |||
}, | |||
mounted() { | |||
this.getImageListPublic(); | |||
if ( | |||
location.href.indexOf("benchmark") !== -1 || | |||
location.href.indexOf("train-job") !== -1 | |||
) { | |||
this.benchmarkNew = true; | |||
} | |||
}, | |||
created() {}, | |||
}; | |||
</script> | |||
<style scoped> | |||
.header-wrapper { | |||
background-color: #f5f5f6; | |||
padding-top: 15px; | |||
} | |||
.image_text { | |||
padding: 25px 0 55px 0; | |||
} | |||
#header { | |||
position: relative; | |||
top: -40px; | |||
} | |||
#success { | |||
background-color: #5bb973; | |||
color: white; | |||
} | |||
.text-over { | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
vertical-align: middle; | |||
white-space: nowrap; | |||
} | |||
.image_title { | |||
display: inline-block; | |||
width: 80%; | |||
cursor: default; | |||
color: rgb(66, 98, 144); | |||
} | |||
.image_desc { | |||
-webkit-line-clamp: 2; | |||
-webkit-box-orient: vertical; | |||
display: -webkit-box; | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
} | |||
.heart-stroke { | |||
stroke: #666; | |||
stroke-width: 2; | |||
fill: #fff | |||
} | |||
.stars_active { | |||
fill: #FA8C16 !important; | |||
stroke: #FA8C16 !important | |||
} | |||
</style> | |||
.header-wrapper { | |||
background-color: #f5f5f6; | |||
padding-top: 15px; | |||
} | |||
.image_text { | |||
padding: 25px 0 55px 0; | |||
} | |||
#header { | |||
position: relative; | |||
top: -40px; | |||
} | |||
#success { | |||
background-color: #5bb973; | |||
color: white; | |||
} | |||
.text-over { | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
vertical-align: middle; | |||
white-space: nowrap; | |||
} | |||
.image_title { | |||
display: inline-block; | |||
width: 80%; | |||
cursor: default; | |||
color: rgb(66, 98, 144); | |||
} | |||
.image_desc { | |||
-webkit-line-clamp: 2; | |||
-webkit-box-orient: vertical; | |||
display: -webkit-box; | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
} | |||
.heart-stroke { | |||
stroke: #666; | |||
stroke-width: 2; | |||
fill: #fff; | |||
} | |||
.stars_active { | |||
fill: #fa8c16 !important; | |||
stroke: #fa8c16 !important; | |||
} | |||
</style> |
@@ -18,6 +18,7 @@ | |||
:value="imageAddress" | |||
style="width: 48.5%" | |||
placeholder="选择镜像或输入镜像地址" | |||
required | |||
/> | |||
<input | |||
v-else | |||
@@ -25,6 +26,7 @@ | |||
name="image" | |||
:value="imageAddress" | |||
placeholder="选择镜像或输入镜像地址" | |||
required | |||
/> | |||
<el-button | |||
type="text" | |||