| @@ -125,15 +125,14 @@ | |||
| <span style="color: #888;font-size: 12px;">{{.i18n.Tr "cloudbrain.new_train_gpu_tooltips" "/code" "/dataset" "/model" | Safe}}</span> | |||
| </div> | |||
| </div> | |||
| <div class="required min_title inline field"> | |||
| <div class="required min_title inline field" style="margin-bottom: 0rem !important;"> | |||
| <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="36"> | |||
| <span class="tooltips" style="display: block;margin-left: 11.5rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| </div> | |||
| <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| <div class="inline min_title field"> | |||
| <label class="label-fix-width" style="font-weight: normal;" | |||
| for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}}</label> | |||
| @@ -206,7 +205,7 @@ | |||
| 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;" data-params="{{.run_para_list}}"> | |||
| <div class="dynamic field" style="margin-top: 1rem;" data-params="{{.run_para_list}}" data-params-value="{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}" data-params-name="{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}"> | |||
| </div> | |||
| </div> | |||
| @@ -235,166 +234,167 @@ | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| <script src="{{StaticUrlPrefix}}/js/specsuse.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script src="{{StaticUrlPrefix}}/js/cloudbrainNew.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script> | |||
| let form = document.getElementById('form_id'); | |||
| let createFlag = false | |||
| form.onsubmit = function (e) { | |||
| if(createFlag) return false | |||
| createFlag = true | |||
| } | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // let form = document.getElementById('form_id'); | |||
| // let createFlag = false | |||
| // form.onsubmit = function (e) { | |||
| // if(createFlag) return false | |||
| // createFlag = true | |||
| // } | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| $('.menu .item') | |||
| .tab(); | |||
| $(document).keydown(function(event){ | |||
| switch(event.keyCode){ | |||
| case 13:return false; | |||
| } | |||
| }); | |||
| $(document).ready(function(){ | |||
| let params = $('.dynamic.field').data('params') | |||
| params&¶ms.parameter.forEach((item,index)=>{ | |||
| Add_parameter(index,flag=true,item) | |||
| }) | |||
| // $('.menu .item') | |||
| // .tab(); | |||
| // $(document).keydown(function(event){ | |||
| // switch(event.keyCode){ | |||
| // case 13:return false; | |||
| // } | |||
| // }); | |||
| // $(document).ready(function(){ | |||
| // let params = $('.dynamic.field').data('params') | |||
| // params&¶ms.parameter.forEach((item,index)=>{ | |||
| // Add_parameter(index,flag=true,item) | |||
| // }) | |||
| }) | |||
| // 参数增加、删除、修改、保存 | |||
| function Add_parameter(i,flag=false,paramsObject={}) { | |||
| let value = '' | |||
| value += `<div class="two fields width85" id= "para${i}">` | |||
| value += '<div class="field">' | |||
| let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<div class="field">' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value + '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<span><i class="trash icon"></i></span>' | |||
| value += '</div>' | |||
| $(".dynamic.field").append(value) | |||
| // }) | |||
| // // 参数增加、删除、修改、保存 | |||
| // function Add_parameter(i,flag=false,paramsObject={}) { | |||
| // let value = '' | |||
| // value += `<div class="two fields width85" id= "para${i}">` | |||
| // value += '<div class="field">' | |||
| // let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| // let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<div class="field">' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value + '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<span><i class="trash icon"></i></span>' | |||
| // value += '</div>' | |||
| // $(".dynamic.field").append(value) | |||
| } | |||
| // } | |||
| $('#add_run_para').click(function () { | |||
| var len = $(".dynamic.field .two.fields").length | |||
| Add_parameter(len) | |||
| }); | |||
| // $('#add_run_para').click(function () { | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // Add_parameter(len) | |||
| // }); | |||
| $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| var index = $(this).parent().parent().index() | |||
| $(this).parent().parent().remove() | |||
| var len = $(".dynamic.field .two.fields").length | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var cur_index = $(this).index() | |||
| $(this).attr('id', 'para' + cur_index) | |||
| }) | |||
| }); | |||
| // $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| // var index = $(this).parent().parent().index() | |||
| // $(this).parent().parent().remove() | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var cur_index = $(this).index() | |||
| // $(this).attr('id', 'para' + cur_index) | |||
| // }) | |||
| // }); | |||
| $('.question.circle.icon').hover(function () { | |||
| $(this).popup('show') | |||
| }); | |||
| // $('.question.circle.icon').hover(function () { | |||
| // $(this).popup('show') | |||
| // }); | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| var isValidate = false; | |||
| function validate() { | |||
| $('.ui.form') | |||
| .form({ | |||
| on: 'blur', | |||
| fields: { | |||
| boot_file: { | |||
| identifier: 'boot_file', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/.+\.py$/g]', | |||
| } | |||
| ] | |||
| }, | |||
| display_job_name: { | |||
| identifier: 'display_job_name', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| } | |||
| ] | |||
| }, | |||
| attachment: { | |||
| identifier: 'attachment', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| // var isValidate = false; | |||
| // function validate() { | |||
| // $('.ui.form') | |||
| // .form({ | |||
| // on: 'blur', | |||
| // fields: { | |||
| // boot_file: { | |||
| // identifier: 'boot_file', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/.+\.py$/g]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // display_job_name: { | |||
| // identifier: 'display_job_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // attachment: { | |||
| // identifier: 'attachment', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| }, | |||
| work_server_number: { | |||
| identifier: 'work_server_number', | |||
| rules: [ | |||
| { | |||
| type: 'integer[1..25]', | |||
| } | |||
| ] | |||
| }, | |||
| branch_name: { | |||
| identifier: 'branch_name', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| }, | |||
| spec_id: { | |||
| identifier: 'spec_id', | |||
| rules: [{ type: 'empty' }] | |||
| } | |||
| }, | |||
| onSuccess: function () { | |||
| // $('.ui.page.dimmer').dimmer('show') | |||
| document.getElementById("mask").style.display = "block" | |||
| isValidate = true; | |||
| }, | |||
| onFailure: function (e) { | |||
| isValidate = false; | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| document.onreadystatechange = function () { | |||
| if (document.readyState === "complete") { | |||
| document.getElementById("mask").style.display = "none" | |||
| } | |||
| } | |||
| function send_run_para() { | |||
| var run_parameters = [] | |||
| var msg = {} | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var para_name = $(this).find('input.shipping_first-name').val() | |||
| var para_value = $(this).find('input.shipping_last-name').val() | |||
| run_parameters.push({ "label": para_name, "value": para_value }) | |||
| }) | |||
| msg["parameter"] = run_parameters | |||
| msg = JSON.stringify(msg) | |||
| $('#store_run_para').val(msg) | |||
| } | |||
| validate(); | |||
| $('.ui.create_train_job.green.button').click(function (e) { | |||
| send_run_para(); | |||
| validate(); | |||
| }) | |||
| // }, | |||
| // work_server_number: { | |||
| // identifier: 'work_server_number', | |||
| // rules: [ | |||
| // { | |||
| // type: 'integer[1..25]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // branch_name: { | |||
| // identifier: 'branch_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // spec_id: { | |||
| // identifier: 'spec_id', | |||
| // rules: [{ type: 'empty' }] | |||
| // } | |||
| // }, | |||
| // onSuccess: function () { | |||
| // // $('.ui.page.dimmer').dimmer('show') | |||
| // document.getElementById("mask").style.display = "block" | |||
| // isValidate = true; | |||
| // }, | |||
| // onFailure: function (e) { | |||
| // isValidate = false; | |||
| // return false; | |||
| // } | |||
| // }) | |||
| // } | |||
| // document.onreadystatechange = function () { | |||
| // if (document.readyState === "complete") { | |||
| // document.getElementById("mask").style.display = "none" | |||
| // } | |||
| // } | |||
| // function send_run_para() { | |||
| // var run_parameters = [] | |||
| // var msg = {} | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var para_name = $(this).find('input.shipping_first-name').val() | |||
| // var para_value = $(this).find('input.shipping_last-name').val() | |||
| // run_parameters.push({ "label": para_name, "value": para_value }) | |||
| // }) | |||
| // msg["parameter"] = run_parameters | |||
| // msg = JSON.stringify(msg) | |||
| // $('#store_run_para').val(msg) | |||
| // } | |||
| // validate(); | |||
| // $('.ui.create_train_job.green.button').click(function (e) { | |||
| // send_run_para(); | |||
| // validate(); | |||
| // }) | |||
| ;(function() { | |||
| var SPECS = {{ .train_specs }}; | |||
| var showPoint = true; | |||
| @@ -125,15 +125,14 @@ | |||
| <span style="color: #888;font-size: 12px;">{{.i18n.Tr "cloudbrain.new_train_gpu_tooltips" "/code" "/dataset" "/model" | Safe}}</span> | |||
| </div> | |||
| </div> | |||
| <div class="required min_title inline field"> | |||
| <div class="required min_title inline field" style="margin-bottom: 0rem !important;"> | |||
| <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="36"> | |||
| <span class="tooltips" style="display: block;margin-left: 11.5rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| </div> | |||
| <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| <div class="inline min_title field"> | |||
| <label class="label-fix-width" style="font-weight: normal;" | |||
| for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}}</label> | |||
| @@ -176,28 +175,7 @@ | |||
| <option name="job_type" value="TRAIN">TRAIN</option> | |||
| </select> | |||
| </div> | |||
| <!--<div class="required min_title inline field"> | |||
| <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.gpu_type"}}</label> | |||
| <select id="cloudbrain_gpu_type" class="ui search width806 dropdown gpu-type" placeholder="选择GPU类型" | |||
| style='width:385px' name="gpu_type"> | |||
| {{if .gpu_type}} | |||
| {{range .train_gpu_types}} | |||
| {{if eq $.gpu_type .Queue}} | |||
| <option value="{{.Queue}}">{{.Value}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| {{range .train_gpu_types}} | |||
| {{if ne $.gpu_type .Queue}} | |||
| <option value="{{.Queue}}">{{.Value}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| {{else}} | |||
| {{range .train_gpu_types}} | |||
| <option value="{{.Queue}}">{{.Value}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| </select> | |||
| </div>--> | |||
| <div id="images-new-cb"> | |||
| </div> | |||
| @@ -228,48 +206,10 @@ | |||
| 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;" data-params="{{.run_para_list}}"> | |||
| {{if ne 0 (len .params)}} | |||
| {{range $k ,$v := .params}} | |||
| <div class="two fields width85" id="para{{$k}}"> | |||
| <div class="field"> | |||
| <input type="text" name="shipping_first-name" value={{$v.Label}} required> | |||
| </div> | |||
| <div class="field"> | |||
| <input type="text" name="shipping_last-name" value={{$v.Value}} required> | |||
| </div> | |||
| <span> | |||
| <i class="trash icon"></i> | |||
| </span> | |||
| <div class="dynamic field" style="margin-top: 1rem;" data-params="{{.run_para_list}}" data-params-value="{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}" data-params-name="{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}"> | |||
| </div> | |||
| {{end}} | |||
| {{end}} | |||
| </div> | |||
| </div> | |||
| <!--<div class="required min_title inline field"> | |||
| <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_specification"}}</label> | |||
| <select id="cloudbrain_resource_spec" class="ui search dropdown" placeholder="选择资源规格" | |||
| style='width:385px' name="resource_spec_id"> | |||
| {{if .resource_spec_id}} | |||
| {{range .train_resource_specs}} | |||
| {{if eq $.resource_spec_id .Id}} | |||
| <option value="{{.Id}}">{{$.i18n.Tr "cloudbrain.gpu_num"}}:{{.GpuNum}},{{$.i18n.Tr "cloudbrain.cpu_num"}}:{{.CpuNum}},{{$.i18n.Tr "cloudbrain.memory"}}(MB):{{.MemMiB}},{{$.i18n.Tr "cloudbrain.shared_memory"}}(MB):{{.ShareMemMiB}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| {{range .train_resource_specs}} | |||
| {{if ne $.resource_spec_id .Id}} | |||
| <option value="{{.Id}}">{{$.i18n.Tr "cloudbrain.gpu_num"}}:{{.GpuNum}},{{$.i18n.Tr "cloudbrain.cpu_num"}}:{{.CpuNum}},{{$.i18n.Tr "cloudbrain.memory"}}(MB):{{.MemMiB}},{{$.i18n.Tr "cloudbrain.shared_memory"}}(MB):{{.ShareMemMiB}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| {{else}} | |||
| {{range .train_resource_specs}} | |||
| <option name="resource_spec_id" value="{{.Id}}"> | |||
| {{$.i18n.Tr "cloudbrain.gpu_num"}}:{{.GpuNum}},{{$.i18n.Tr "cloudbrain.cpu_num"}}:{{.CpuNum}},{{$.i18n.Tr "cloudbrain.memory"}}(MB):{{.MemMiB}},{{$.i18n.Tr "cloudbrain.shared_memory"}}(MB):{{.ShareMemMiB}}</option> | |||
| {{end}} | |||
| {{end}} | |||
| </select> | |||
| </div>--> | |||
| <div class="required min_title inline field"> | |||
| <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_specification"}}</label> | |||
| @@ -295,166 +235,167 @@ | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| <script src="{{StaticUrlPrefix}}/js/specsuse.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script src="{{StaticUrlPrefix}}/js/cloudbrainNew.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script> | |||
| let form = document.getElementById('form_id'); | |||
| let createFlag = false | |||
| form.onsubmit = function (e) { | |||
| if(createFlag) return false | |||
| createFlag = true | |||
| } | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // let form = document.getElementById('form_id'); | |||
| // let createFlag = false | |||
| // form.onsubmit = function (e) { | |||
| // if(createFlag) return false | |||
| // createFlag = true | |||
| // } | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| $('.menu .item') | |||
| .tab(); | |||
| $(document).keydown(function(event){ | |||
| switch(event.keyCode){ | |||
| case 13:return false; | |||
| } | |||
| }); | |||
| $(document).ready(function(){ | |||
| let params = $('.dynamic.field').data('params') | |||
| params&¶ms.parameter.forEach((item,index)=>{ | |||
| Add_parameter(index,flag=true,item) | |||
| }) | |||
| // $('.menu .item') | |||
| // .tab(); | |||
| // $(document).keydown(function(event){ | |||
| // switch(event.keyCode){ | |||
| // case 13:return false; | |||
| // } | |||
| // }); | |||
| // $(document).ready(function(){ | |||
| // let params = $('.dynamic.field').data('params') | |||
| // params&¶ms.parameter.forEach((item,index)=>{ | |||
| // Add_parameter(index,flag=true,item) | |||
| // }) | |||
| }) | |||
| // 参数增加、删除、修改、保存 | |||
| function Add_parameter(i,flag=false,paramsObject={}) { | |||
| let value = '' | |||
| value += `<div class="two fields width85" id= "para${i}">` | |||
| value += '<div class="field">' | |||
| let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<div class="field">' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value + '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<span><i class="trash icon"></i></span>' | |||
| value += '</div>' | |||
| $(".dynamic.field").append(value) | |||
| // }) | |||
| // // 参数增加、删除、修改、保存 | |||
| // function Add_parameter(i,flag=false,paramsObject={}) { | |||
| // let value = '' | |||
| // value += `<div class="two fields width85" id= "para${i}">` | |||
| // value += '<div class="field">' | |||
| // let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| // let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<div class="field">' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value + '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<span><i class="trash icon"></i></span>' | |||
| // value += '</div>' | |||
| // $(".dynamic.field").append(value) | |||
| } | |||
| // } | |||
| $('#add_run_para').click(function () { | |||
| var len = $(".dynamic.field .two.fields").length | |||
| Add_parameter(len) | |||
| }); | |||
| // $('#add_run_para').click(function () { | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // Add_parameter(len) | |||
| // }); | |||
| $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| var index = $(this).parent().parent().index() | |||
| $(this).parent().parent().remove() | |||
| var len = $(".dynamic.field .two.fields").length | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var cur_index = $(this).index() | |||
| $(this).attr('id', 'para' + cur_index) | |||
| }) | |||
| }); | |||
| // $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| // var index = $(this).parent().parent().index() | |||
| // $(this).parent().parent().remove() | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var cur_index = $(this).index() | |||
| // $(this).attr('id', 'para' + cur_index) | |||
| // }) | |||
| // }); | |||
| $('.question.circle.icon').hover(function () { | |||
| $(this).popup('show') | |||
| }); | |||
| // $('.question.circle.icon').hover(function () { | |||
| // $(this).popup('show') | |||
| // }); | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| var isValidate = false; | |||
| function validate() { | |||
| $('.ui.form') | |||
| .form({ | |||
| on: 'blur', | |||
| fields: { | |||
| boot_file: { | |||
| identifier: 'boot_file', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/.+\.py$/g]', | |||
| } | |||
| ] | |||
| }, | |||
| display_job_name: { | |||
| identifier: 'display_job_name', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| } | |||
| ] | |||
| }, | |||
| attachment: { | |||
| identifier: 'attachment', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| // var isValidate = false; | |||
| // function validate() { | |||
| // $('.ui.form') | |||
| // .form({ | |||
| // on: 'blur', | |||
| // fields: { | |||
| // boot_file: { | |||
| // identifier: 'boot_file', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/.+\.py$/g]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // display_job_name: { | |||
| // identifier: 'display_job_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // attachment: { | |||
| // identifier: 'attachment', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| }, | |||
| work_server_number: { | |||
| identifier: 'work_server_number', | |||
| rules: [ | |||
| { | |||
| type: 'integer[1..25]', | |||
| } | |||
| ] | |||
| }, | |||
| branch_name: { | |||
| identifier: 'branch_name', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| }, | |||
| spec_id: { | |||
| identifier: 'spec_id', | |||
| rules: [{ type: 'empty' }] | |||
| } | |||
| }, | |||
| onSuccess: function () { | |||
| // $('.ui.page.dimmer').dimmer('show') | |||
| document.getElementById("mask").style.display = "block" | |||
| isValidate = true; | |||
| }, | |||
| onFailure: function (e) { | |||
| isValidate = false; | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| document.onreadystatechange = function () { | |||
| if (document.readyState === "complete") { | |||
| document.getElementById("mask").style.display = "none" | |||
| } | |||
| } | |||
| function send_run_para() { | |||
| var run_parameters = [] | |||
| var msg = {} | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var para_name = $(this).find('input.shipping_first-name').val() | |||
| var para_value = $(this).find('input.shipping_last-name').val() | |||
| run_parameters.push({ "label": para_name, "value": para_value }) | |||
| }) | |||
| msg["parameter"] = run_parameters | |||
| msg = JSON.stringify(msg) | |||
| $('#store_run_para').val(msg) | |||
| } | |||
| validate(); | |||
| $('.ui.create_train_job.green.button').click(function (e) { | |||
| send_run_para(); | |||
| validate(); | |||
| }) | |||
| // }, | |||
| // work_server_number: { | |||
| // identifier: 'work_server_number', | |||
| // rules: [ | |||
| // { | |||
| // type: 'integer[1..25]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // branch_name: { | |||
| // identifier: 'branch_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // spec_id: { | |||
| // identifier: 'spec_id', | |||
| // rules: [{ type: 'empty' }] | |||
| // } | |||
| // }, | |||
| // onSuccess: function () { | |||
| // // $('.ui.page.dimmer').dimmer('show') | |||
| // document.getElementById("mask").style.display = "block" | |||
| // isValidate = true; | |||
| // }, | |||
| // onFailure: function (e) { | |||
| // isValidate = false; | |||
| // return false; | |||
| // } | |||
| // }) | |||
| // } | |||
| // document.onreadystatechange = function () { | |||
| // if (document.readyState === "complete") { | |||
| // document.getElementById("mask").style.display = "none" | |||
| // } | |||
| // } | |||
| // function send_run_para() { | |||
| // var run_parameters = [] | |||
| // var msg = {} | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var para_name = $(this).find('input.shipping_first-name').val() | |||
| // var para_value = $(this).find('input.shipping_last-name').val() | |||
| // run_parameters.push({ "label": para_name, "value": para_value }) | |||
| // }) | |||
| // msg["parameter"] = run_parameters | |||
| // msg = JSON.stringify(msg) | |||
| // $('#store_run_para').val(msg) | |||
| // } | |||
| // validate(); | |||
| // $('.ui.create_train_job.green.button').click(function (e) { | |||
| // send_run_para(); | |||
| // validate(); | |||
| // }) | |||
| ;(function() { | |||
| var SPECS = {{ .train_specs }}; | |||
| var showPoint = true; | |||
| @@ -109,12 +109,11 @@ | |||
| <span style="color: #888;font-size: 12px;">{{.i18n.Tr "cloudbrain.new_train_gpu_tooltips" "/cache/code" "/cache/dataset" "/cache/output" | Safe}}</span> | |||
| </div> | |||
| </div> | |||
| <div class="required min_title inline field"> | |||
| <div class="required min_title inline field" style="margin-bottom: 0rem !important;"> | |||
| <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="36"> | |||
| <span class="tooltips" style="display: block;margin-left: 11.5rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| </div> | |||
| <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| <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> | |||
| {{if .description}} | |||
| @@ -192,7 +191,7 @@ | |||
| <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;" data-params="{{.run_para_list}}"> | |||
| <div class="dynamic field" style="margin-top: 1rem;" data-params="{{.run_para_list}}" data-params-value="{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}" data-params-name="{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}"> | |||
| </div> | |||
| </div> | |||
| @@ -232,165 +231,165 @@ | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| <script src="{{StaticUrlPrefix}}/js/specsuse.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script src="{{StaticUrlPrefix}}/js/cloudbrainNew.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script> | |||
| let form = document.getElementById('form_id'); | |||
| let createFlag = false | |||
| form.onsubmit = function (e) { | |||
| if(createFlag) return false | |||
| createFlag = true | |||
| } | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // let form = document.getElementById('form_id'); | |||
| // let createFlag = false | |||
| // form.onsubmit = function (e) { | |||
| // if(createFlag) return false | |||
| // createFlag = true | |||
| // } | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| $('.menu .item') | |||
| .tab(); | |||
| // $('.menu .item') | |||
| // .tab(); | |||
| $(document).ready(function(){ | |||
| let params = $('.dynamic.field').data('params') | |||
| params&¶ms.parameter.forEach((item,index)=>{ | |||
| Add_parameter(index,flag=true,item) | |||
| }) | |||
| }) | |||
| // 参数增加、删除、修改、保存 | |||
| function Add_parameter(i,flag=false,paramsObject={}) { | |||
| let value = '' | |||
| value += `<div class="two fields width85" id= "para${i}">` | |||
| value += '<div class="field">' | |||
| let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<div class="field">' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<span><i class="trash icon"></i></span>' | |||
| value += '</div>' | |||
| $(".dynamic.field").append(value) | |||
| // $(document).ready(function(){ | |||
| // let params = $('.dynamic.field').data('params') | |||
| // params&¶ms.parameter.forEach((item,index)=>{ | |||
| // Add_parameter(index,flag=true,item) | |||
| // }) | |||
| // }) | |||
| // // 参数增加、删除、修改、保存 | |||
| // function Add_parameter(i,flag=false,paramsObject={}) { | |||
| // let value = '' | |||
| // value += `<div class="two fields width85" id= "para${i}">` | |||
| // value += '<div class="field">' | |||
| // let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| // let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<div class="field">' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<span><i class="trash icon"></i></span>' | |||
| // value += '</div>' | |||
| // $(".dynamic.field").append(value) | |||
| } | |||
| // } | |||
| $('#add_run_para').click(function () { | |||
| var len = $(".dynamic.field .two.fields").length | |||
| Add_parameter(len) | |||
| }); | |||
| // $('#add_run_para').click(function () { | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // Add_parameter(len) | |||
| // }); | |||
| $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| var index = $(this).parent().parent().index() | |||
| $(this).parent().parent().remove() | |||
| var len = $(".dynamic.field .two.fields").length | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var cur_index = $(this).index() | |||
| $(this).attr('id', 'para' + cur_index) | |||
| }) | |||
| }); | |||
| // $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| // var index = $(this).parent().parent().index() | |||
| // $(this).parent().parent().remove() | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var cur_index = $(this).index() | |||
| // $(this).attr('id', 'para' + cur_index) | |||
| // }) | |||
| // }); | |||
| $('.question.circle.icon').hover(function(){ | |||
| $(this).popup('show') | |||
| }); | |||
| // $('.question.circle.icon').hover(function(){ | |||
| // $(this).popup('show') | |||
| // }); | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| var isValidate = false; | |||
| function validate(){ | |||
| $('.ui.form') | |||
| .form({ | |||
| on: 'blur', | |||
| fields: { | |||
| boot_file: { | |||
| identifier : 'boot_file', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/.+\.py$/g]', | |||
| } | |||
| ] | |||
| }, | |||
| display_job_name:{ | |||
| identifier : 'display_job_name', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| } | |||
| ] | |||
| }, | |||
| attachment:{ | |||
| identifier : 'attachment', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| // var isValidate = false; | |||
| // function validate(){ | |||
| // $('.ui.form') | |||
| // .form({ | |||
| // on: 'blur', | |||
| // fields: { | |||
| // boot_file: { | |||
| // identifier : 'boot_file', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/.+\.py$/g]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // display_job_name:{ | |||
| // identifier : 'display_job_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // attachment:{ | |||
| // identifier : 'attachment', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| }, | |||
| work_server_number: { | |||
| identifier : 'work_server_number', | |||
| rules: [ | |||
| { | |||
| type : 'integer[1..25]', | |||
| } | |||
| ] | |||
| }, | |||
| spec_id: { | |||
| identifier: 'spec_id', | |||
| rules: [{ type: 'empty' }] | |||
| } | |||
| }, | |||
| onSuccess: function(){ | |||
| // $('.ui.page.dimmer').dimmer('show') | |||
| document.getElementById("mask").style.display = "block" | |||
| isValidate = true; | |||
| }, | |||
| onFailure: function(e){ | |||
| isValidate = false; | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| document.onreadystatechange = function() { | |||
| if (document.readyState === "complete") { | |||
| document.getElementById("mask").style.display = "none" | |||
| } | |||
| } | |||
| function send_run_para() { | |||
| var run_parameters = [] | |||
| var msg = {} | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var para_name = $(this).find('input.shipping_first-name').val() | |||
| var para_value = $(this).find('input.shipping_last-name').val() | |||
| run_parameters.push({ "label": para_name, "value": para_value }) | |||
| }) | |||
| msg["parameter"] = run_parameters | |||
| msg = JSON.stringify(msg) | |||
| $('#store_run_para').val(msg) | |||
| } | |||
| function get_name(){ | |||
| let name1=$("#engine_name .text").text() | |||
| let name2=$("#flavor_name .text").text() | |||
| $("input#ai_engine_name").val(name1) | |||
| $("input#ai_flavor_name").val(name2) | |||
| // }, | |||
| // work_server_number: { | |||
| // identifier : 'work_server_number', | |||
| // rules: [ | |||
| // { | |||
| // type : 'integer[1..25]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // spec_id: { | |||
| // identifier: 'spec_id', | |||
| // rules: [{ type: 'empty' }] | |||
| // } | |||
| // }, | |||
| // onSuccess: function(){ | |||
| // // $('.ui.page.dimmer').dimmer('show') | |||
| // document.getElementById("mask").style.display = "block" | |||
| // isValidate = true; | |||
| // }, | |||
| // onFailure: function(e){ | |||
| // isValidate = false; | |||
| // return false; | |||
| // } | |||
| // }) | |||
| // } | |||
| // document.onreadystatechange = function() { | |||
| // if (document.readyState === "complete") { | |||
| // document.getElementById("mask").style.display = "none" | |||
| // } | |||
| // } | |||
| // function send_run_para() { | |||
| // var run_parameters = [] | |||
| // var msg = {} | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var para_name = $(this).find('input.shipping_first-name').val() | |||
| // var para_value = $(this).find('input.shipping_last-name').val() | |||
| // run_parameters.push({ "label": para_name, "value": para_value }) | |||
| // }) | |||
| // msg["parameter"] = run_parameters | |||
| // msg = JSON.stringify(msg) | |||
| // $('#store_run_para').val(msg) | |||
| // } | |||
| // function get_name(){ | |||
| // let name1=$("#engine_name .text").text() | |||
| // let name2=$("#flavor_name .text").text() | |||
| // $("input#ai_engine_name").val(name1) | |||
| // $("input#ai_flavor_name").val(name2) | |||
| let val_server_num_select = $("#trainjob_work_server_num_select .text").text() | |||
| // console.log("val_server_num_select:",val_server_num_select) | |||
| $("input#trainjob_work_server_num").val(val_server_num_select) | |||
| // let val_server_num_select = $("#trainjob_work_server_num_select .text").text() | |||
| // // console.log("val_server_num_select:",val_server_num_select) | |||
| // $("input#trainjob_work_server_num").val(val_server_num_select) | |||
| } | |||
| validate(); | |||
| $('.ui.create_train_job.green.button').click(function(e) { | |||
| get_name() | |||
| send_run_para() | |||
| validate(); | |||
| }) | |||
| // } | |||
| // validate(); | |||
| // $('.ui.create_train_job.green.button').click(function(e) { | |||
| // get_name() | |||
| // send_run_para() | |||
| // validate(); | |||
| // }) | |||
| ;(function() { | |||
| var SPECS = {{ .Specs }}; | |||
| @@ -119,11 +119,11 @@ | |||
| <span style="color: #888;font-size: 12px;">{{.i18n.Tr "cloudbrain.train_dataset_path_rule" | Safe}}</span> | |||
| </div> | |||
| </div> | |||
| <div class="required inline min_title field"> | |||
| <div class="required inline min_title field" style="margin-bottom: 0rem !important;"> | |||
| <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="36"> | |||
| </div> | |||
| <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span> | |||
| <div class="inline min_title field"> | |||
| <label class="label-fix-width" style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}}</label> | |||
| {{if .description}} | |||
| @@ -215,7 +215,7 @@ | |||
| <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;" data-params="{{.run_para_list}}"> | |||
| <div class="dynamic field" style="margin-top: 1rem;" data-params="{{.run_para_list}}" data-params-value="{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}" data-params-name="{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}"> | |||
| </div> | |||
| </div> | |||
| @@ -297,171 +297,172 @@ | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| <script src="{{StaticUrlPrefix}}/js/specsuse.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script src="{{StaticUrlPrefix}}/js/cloudbrainNew.js?v={{MD5 AppVer}}" type="text/javascript"></script> | |||
| <script> | |||
| let form = document.getElementById('form_id'); | |||
| let createFlag = false | |||
| form.onsubmit = function (e) { | |||
| if(createFlag) return false | |||
| createFlag = true | |||
| } | |||
| // let form = document.getElementById('form_id'); | |||
| // let createFlag = false | |||
| // form.onsubmit = function (e) { | |||
| // if(createFlag) return false | |||
| // createFlag = true | |||
| // } | |||
| let url_href = window.location.pathname.split('create')[0] | |||
| $(".ui.button").attr('href', url_href) | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| $('.menu .item') | |||
| .tab(); | |||
| $(document).keydown(function(event){ | |||
| switch(event.keyCode){ | |||
| case 13:return false; | |||
| } | |||
| }); | |||
| $(document).ready(function(){ | |||
| let params = $('.dynamic.field').data('params') | |||
| params&¶ms.parameter.forEach((item,index)=>{ | |||
| Add_parameter(index,flag=true,item) | |||
| }) | |||
| }) | |||
| // 参数增加、删除、修改、保存 | |||
| function Add_parameter(i,flag=false,paramsObject={}) { | |||
| let value = '' | |||
| value += `<div class="two fields width85" id= "para${i}">` | |||
| value += '<div class="field">' | |||
| let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<div class="field">' | |||
| if(flag){ | |||
| value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| }else{ | |||
| value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||
| } | |||
| value += '</div>' | |||
| value += '<span><i class="trash icon"></i></span>' | |||
| value += '</div>' | |||
| $(".dynamic.field").append(value) | |||
| } | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| // $('.menu .item') | |||
| // .tab(); | |||
| // $(document).keydown(function(event){ | |||
| // switch(event.keyCode){ | |||
| // case 13:return false; | |||
| // } | |||
| // }); | |||
| // $(document).ready(function(){ | |||
| // let params = $('.dynamic.field').data('params') | |||
| // params&¶ms.parameter.forEach((item,index)=>{ | |||
| // Add_parameter(index,flag=true,item) | |||
| // }) | |||
| // }) | |||
| // // 参数增加、删除、修改、保存 | |||
| // function Add_parameter(i,flag=false,paramsObject={}) { | |||
| // let value = '' | |||
| // value += `<div class="two fields width85" id= "para${i}">` | |||
| // value += '<div class="field">' | |||
| // let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||
| // let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<div class="field">' | |||
| // if(flag){ | |||
| // value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
| // }else{ | |||
| // value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||
| // } | |||
| // value += '</div>' | |||
| // value += '<span><i class="trash icon"></i></span>' | |||
| // value += '</div>' | |||
| // $(".dynamic.field").append(value) | |||
| // } | |||
| $('#add_run_para').click(function () { | |||
| var len = $(".dynamic.field .two.fields").length | |||
| Add_parameter(len) | |||
| }); | |||
| $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| var index = $(this).parent().parent().index() | |||
| $(this).parent().parent().remove() | |||
| var len = $(".dynamic.field .two.fields").length | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var cur_index = $(this).index() | |||
| $(this).attr('id', 'para' + cur_index) | |||
| }) | |||
| }); | |||
| $('.question.circle.icon').hover(function () { | |||
| $(this).popup('show') | |||
| }); | |||
| $('select.dropdown') | |||
| .dropdown(); | |||
| var isValidate = false; | |||
| function validate() { | |||
| $('.ui.form') | |||
| .form({ | |||
| on: 'blur', | |||
| fields: { | |||
| boot_file: { | |||
| identifier: 'boot_file', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/.+\.py$/g]', | |||
| } | |||
| ] | |||
| }, | |||
| display_job_name: { | |||
| identifier: 'display_job_name', | |||
| rules: [ | |||
| { | |||
| type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| } | |||
| ] | |||
| }, | |||
| attachment: { | |||
| identifier: 'attachment', | |||
| rules: [ | |||
| { | |||
| type: 'empty', | |||
| } | |||
| ] | |||
| }, | |||
| work_server_number: { | |||
| identifier: 'work_server_number', | |||
| rules: [ | |||
| { | |||
| type: 'integer[1..25]', | |||
| } | |||
| ] | |||
| }, | |||
| spec_id: { | |||
| identifier: 'spec_id', | |||
| rules: [{ type: 'empty' }] | |||
| } | |||
| }, | |||
| onSuccess: function () { | |||
| // $('.ui.page.dimmer').dimmer('show') | |||
| document.getElementById("mask").style.display = "block" | |||
| isValidate = true; | |||
| }, | |||
| onFailure: function (e) { | |||
| isValidate = false; | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| document.onreadystatechange = function () { | |||
| if (document.readyState === "complete") { | |||
| document.getElementById("mask").style.display = "none" | |||
| } | |||
| } | |||
| function send_run_para() { | |||
| var run_parameters = [] | |||
| var msg = {} | |||
| $(".dynamic.field .two.fields").each(function () { | |||
| var para_name = $(this).find('input.shipping_first-name').val() | |||
| var para_value = $(this).find('input.shipping_last-name').val() | |||
| run_parameters.push({ "label": para_name, "value": para_value }) | |||
| }) | |||
| msg["parameter"] = run_parameters | |||
| msg = JSON.stringify(msg) | |||
| $('#store_run_para').val(msg) | |||
| } | |||
| function get_name() { | |||
| let name1 = $("#engine_name .text").text() | |||
| let name2 = $("#flaver_name .text").text() | |||
| $("input#ai_engine_name").val(name1) | |||
| $("input#ai_flaver_name").val(name2) | |||
| let val_server_num_select = $("#trainjob_work_server_num_select .text").text() | |||
| // console.log("val_server_num_select:",val_server_num_select) | |||
| $("input#trainjob_work_server_num").val(val_server_num_select) | |||
| } | |||
| validate(); | |||
| $('.ui.create_train_job.green.button').click(function (e) { | |||
| get_name() | |||
| send_run_para(); | |||
| validate(); | |||
| }) | |||
| // $('#add_run_para').click(function () { | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // Add_parameter(len) | |||
| // }); | |||
| // $(".dynamic.field").on("click", ".trash.icon", function () { | |||
| // var index = $(this).parent().parent().index() | |||
| // $(this).parent().parent().remove() | |||
| // var len = $(".dynamic.field .two.fields").length | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var cur_index = $(this).index() | |||
| // $(this).attr('id', 'para' + cur_index) | |||
| // }) | |||
| // }); | |||
| // $('.question.circle.icon').hover(function () { | |||
| // $(this).popup('show') | |||
| // }); | |||
| // $('select.dropdown') | |||
| // .dropdown(); | |||
| // var isValidate = false; | |||
| // function validate() { | |||
| // $('.ui.form') | |||
| // .form({ | |||
| // on: 'blur', | |||
| // fields: { | |||
| // boot_file: { | |||
| // identifier: 'boot_file', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/.+\.py$/g]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // display_job_name: { | |||
| // identifier: 'display_job_name', | |||
| // rules: [ | |||
| // { | |||
| // type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // attachment: { | |||
| // identifier: 'attachment', | |||
| // rules: [ | |||
| // { | |||
| // type: 'empty', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // work_server_number: { | |||
| // identifier: 'work_server_number', | |||
| // rules: [ | |||
| // { | |||
| // type: 'integer[1..25]', | |||
| // } | |||
| // ] | |||
| // }, | |||
| // spec_id: { | |||
| // identifier: 'spec_id', | |||
| // rules: [{ type: 'empty' }] | |||
| // } | |||
| // }, | |||
| // onSuccess: function () { | |||
| // // $('.ui.page.dimmer').dimmer('show') | |||
| // document.getElementById("mask").style.display = "block" | |||
| // isValidate = true; | |||
| // }, | |||
| // onFailure: function (e) { | |||
| // isValidate = false; | |||
| // return false; | |||
| // } | |||
| // }) | |||
| // } | |||
| // document.onreadystatechange = function () { | |||
| // if (document.readyState === "complete") { | |||
| // document.getElementById("mask").style.display = "none" | |||
| // } | |||
| // } | |||
| // function send_run_para() { | |||
| // var run_parameters = [] | |||
| // var msg = {} | |||
| // $(".dynamic.field .two.fields").each(function () { | |||
| // var para_name = $(this).find('input.shipping_first-name').val() | |||
| // var para_value = $(this).find('input.shipping_last-name').val() | |||
| // run_parameters.push({ "label": para_name, "value": para_value }) | |||
| // }) | |||
| // msg["parameter"] = run_parameters | |||
| // msg = JSON.stringify(msg) | |||
| // $('#store_run_para').val(msg) | |||
| // } | |||
| // function get_name() { | |||
| // let name1 = $("#engine_name .text").text() | |||
| // let name2 = $("#flaver_name .text").text() | |||
| // $("input#ai_engine_name").val(name1) | |||
| // $("input#ai_flaver_name").val(name2) | |||
| // let val_server_num_select = $("#trainjob_work_server_num_select .text").text() | |||
| // // console.log("val_server_num_select:",val_server_num_select) | |||
| // $("input#trainjob_work_server_num").val(val_server_num_select) | |||
| // } | |||
| // validate(); | |||
| // $('.ui.create_train_job.green.button').click(function (e) { | |||
| // get_name() | |||
| // send_run_para(); | |||
| // validate(); | |||
| // }) | |||
| ;(function() { | |||
| var SPECS = {{ .Specs }}; | |||
| @@ -62,7 +62,7 @@ | |||
| </h4> | |||
| <div class="ui attached segment"> | |||
| <!-- equal width --> | |||
| <form class="ui form" action="{{$.RepoLink}}/modelarts/train-job/{{.JobID}}/create_version" method="post"> | |||
| <form id="form_id" class="ui form" action="{{$.RepoLink}}/modelarts/train-job/{{.JobID}}/create_version" method="post"> | |||
| {{.CsrfTokenHtml}} | |||
| <input type="hidden" name="action" value="update"> | |||
| {{if .version_name}} | |||
| @@ -1,7 +1,18 @@ | |||
| let form = document.getElementById("form_id"); | |||
| let createFlag = false; | |||
| let flag; | |||
| form.onsubmit = function (e) { | |||
| if (createFlag) return false; | |||
| createFlag = true; | |||
| }; | |||
| $("select.dropdown").dropdown(); | |||
| $(document).keydown(function (event) { | |||
| switch (event.keyCode) { | |||
| case 13: | |||
| return false; | |||
| } | |||
| }); | |||
| $(".menu .item").tab(); | |||
| let flag; | |||
| $(document).ready(createParamter()); | |||
| function createParamter() { | |||
| let params = $(".dynamic.field").data("params"); | |||