#1133 修复模型任务中若干BUG

Merged
lewis merged 1 commits from zhou into V20211213 2 years ago
  1. +1
    -3
      options/locale/locale_en-US.ini
  2. +1
    -0
      options/locale/locale_zh-CN.ini
  3. +9
    -6
      templates/repo/modelmanage/index.tmpl
  4. +1
    -0
      templates/repo/modelmanage/showinfo.tmpl
  5. +95
    -50
      web_src/js/components/Model.vue

+ 1
- 3
options/locale/locale_en-US.ini View File

@@ -778,8 +778,6 @@ datasets = Datasets
datasets.desc = Enable Dataset
cloudbrain_helper=Use GPU/NPU resources to open notebooks, model training tasks, etc.

model_manager = Model

debug=Debug
stop=Stop
delete=Delete
@@ -897,7 +895,7 @@ model.manage.Accuracy = Accuracy
model.manage.F1 = F1
model.manage.Precision = Precision
model.manage.Recall = Recall
model.manage.sava_model = Sava Model

template.items = Template Items
template.git_content = Git Content (Default Branch)


+ 1
- 0
options/locale/locale_zh-CN.ini View File

@@ -907,6 +907,7 @@ model.manage.Accuracy = 准确率
model.manage.F1 = F1值
model.manage.Precision = 精确率
model.manage.Recall = 召回率
model.manage.sava_model = 保存模型

template.items=模板选项
template.git_content=Git数据(默认分支)


+ 9
- 6
templates/repo/modelmanage/index.tmpl View File

@@ -123,7 +123,7 @@

<div class="inline field" style="margin-left: 75px;">
<button id="submitId" type="button" class="ui create_train_job green button" style="position: absolute;">
{{.i18n.Tr "repo.cloudbrain.new"}}
{{.i18n.Tr "repo.model.manage.sava_model"}}
</button>
</div>
</form>
@@ -169,6 +169,7 @@
$('#choice_model').dropdown('clear')
$('#choice_version').dropdown('clear')
$('.ui.dimmer').css({"background-color":""})
$('.ui.error.message').text()
$('.ui.error.message').css('display','none')
}
@@ -211,7 +212,6 @@
}
$("#job-name").append(train_html)
$(".ui.dropdown.selection.search.width83").removeClass("loading")
$('#choice_model .default.text').text(data[0].JobName)
$('#choice_model input[name="JobId"]').val(data[0].JobID)
loadTrainVersion()
@@ -227,10 +227,13 @@
train_html += `<div class="item" data-value="${data[i].VersionName}">${data[i].VersionName}</div>`
train_html += '</div>'
}
$("#job-version").append(train_html)
$(".ui.dropdown.selection.search.width70").removeClass("loading")
$('#choice_version .default.text').text(data[0].VersionName)
$('#choice_version input[name="VersionName"]').val(data[0].VersionName)
if(data.length){
$("#job-version").append(train_html)
$(".ui.dropdown.selection.search.width70").removeClass("loading")
$('#choice_version .default.text').text(data[0].VersionName)
$('#choice_version input[name="VersionName"]').val(data[0].VersionName)
}
})
}
</script>


+ 1
- 0
templates/repo/modelmanage/showinfo.tmpl View File

@@ -221,6 +221,7 @@ function tranSize(value){
function editorFn(context){
let id= context.dataset.id
let text = context.dataset.desc
console.log(id,text)
$('#edit-td').replaceWith("<div id='edit-div' style='width:80%;display: inline-block;'><textarea id='textarea-value' value='' rows='3' maxlength='255' style='width:80%;' id='edit-text'>"+text+"</textarea><i class='check icon' style='color: #50d4ab;' onclick='editorSure(\"" + text + "\",\"" + id + "\")'></i><i class='times icon' style='color: #f66f6a;' onclick='editorCancel(\"" + text + "\",\"" + id + "\")'></i></div>");
}


+ 95
- 50
web_src/js/components/Model.vue View File

@@ -96,7 +96,7 @@
>
<template slot-scope="scope">
<a :href="'/'+scope.row.UserName" :title="scope.row.UserName">
<img class="ui avatar image" :src="scope.row.UserRelAvatarLink">
<img class="ui avatar image" :src="scope.row.UserRelAvatarLink||defaultAvatar">
</a>
</template>
</el-table-column>
@@ -141,6 +141,7 @@ export default {
},
data() {
return {
currentPage:1,
pageSize:10,
totalNum:0,
@@ -149,29 +150,36 @@ export default {
url:'',
isLoading:true,
loadNodeMap:new Map(),
submitId:{}
submitId:{},
defaultAvatar:'/user/avatar/Ghost/-1',
data:''
};
},
methods: {
load(tree, treeNode, resolve) {
this.loadNodeMap.set(tree.cName, {tree,treeNode,resolve})
this.$axios.get(this.url+'show_model_child_api',{params:{
name:tree.cName
}}).then((res)=>{
let TrainTaskInfo
let tableData
tableData= res.data
for(let i=0;i<tableData.length;i++){
TrainTaskInfo = JSON.parse(tableData[i].TrainTaskInfo)
tableData[i].EngineName = TrainTaskInfo.EngineName.split('-')[0]
tableData[i].ComputeResource = TrainTaskInfo.ComputeResource
tableData[i].cName=tableData[i].Name
tableData[i].Name=''
tableData[i].VersionCount = ''
tableData[i].Children = true
}
resolve(tableData)
})
try{
this.loadNodeMap.set(tree.cName, {tree,treeNode,resolve})
this.$axios.get(this.url+'show_model_child_api',{params:{
name:tree.cName
}}).then((res)=>{
let TrainTaskInfo
let tableData
tableData= res.data
for(let i=0;i<tableData.length;i++){
TrainTaskInfo = JSON.parse(tableData[i].TrainTaskInfo)
tableData[i].EngineName = TrainTaskInfo.EngineName.split('-')[0]
tableData[i].ComputeResource = TrainTaskInfo.ComputeResource
tableData[i].cName=tableData[i].Name
tableData[i].Name=''
tableData[i].VersionCount = ''
tableData[i].Children = true
}
resolve(tableData||[])
})
}
catch(e){
this.loading = false;
}
},
tableHeaderStyle({row,column,rowIndex,columnIndex}){
if(rowIndex===0){
@@ -193,6 +201,7 @@ export default {
onShow:function(){
$('#model_header').text("创建模型新版本")
$('input[name="Name"]').addClass('model_disabled')
$('input[name="Name"]').attr('readonly','readonly')
$('input[name="Version"]').addClass('model_disabled')
$('.ui.dimmer').css({"background-color":"rgb(136, 136, 136,0.7)"})
$("#job-name").empty()
@@ -203,9 +212,13 @@ export default {
},
onHide:function(){
document.getElementById("formId").reset();
$('input[name="Name"]').removeClass('model_disabled')
$('input[name="Name"]').removeAttr('readonly')
$('#choice_model').dropdown('clear')
$('#choice_version').dropdown('clear')
$('.ui.dimmer').css({"background-color":""})
$('.ui.error.message').text()
$('.ui.error.message').css('display','none')
}
})
.modal('show')
@@ -242,21 +255,38 @@ export default {
return true
},
// getFirstChildLabel(cName){
// this.$axios.get(this.url+'show_model_child_api',{params:{
// name:cName
// }}).then((res)=>{
// console.log(res)
// let initLabel = $("input[name='Label']").val()
// let addLabel=res.data[0].Label + ' ' + initLabel
// $("input[name='Label']").val(addLabel)
// this.data = $("#formId").serialize()
// })
// },
submit(){
let context = this
let flag= this.check()
if(flag){
let data = $("#formId").serialize()
let cName = $("input[name='Name']").val()
let row = {cName:cName}
let version = $("input[name='Version']").val()
// if(!(version==='0.0.1')){
// context.getFirstChildLabel(cName)
// }else{
// context.data = $("#formId").serialize()
// }
// console.log(context.data)
let data = $("#formId").serialize()
$("#mask").css({"display":"block","z-index":"9999"})
$.ajax({
url:url_href,
type:'POST',
data:data,
success:function(res){
// context.loadrefresh1(row)
context.getModelList()
context.loadrefresh(row)
$('.ui.modal.second').modal('hide')
},
error: function(xhr){
@@ -274,20 +304,32 @@ export default {
}
},
loadrefresh(row){
const store = this.$refs.table.store
if(!this.loadNodeMap.get(row.cName)){
return
const parent = store.states.data
const index = parent.findIndex(child => child.ID == row.ID)
parent.splice(index, 1)
}else{
let {tree,treeNode,resolve} = this.loadNodeMap.get(row.cName)
this.$set(
this.$refs.table.store.states.lazyTreeNodeMap,
tree.ID,
[])
this.load(tree,treeNode,resolve)
const keys = Object.keys(store.states.lazyTreeNodeMap);
if(keys.includes(row.ID)){
this.getModelList()
}else{
let parentRow = store.states.data.find(child => child.cName == row.cName);
let childrenIndex = store.states.lazyTreeNodeMap[parentRow.ID].findIndex(child => child.ID == row.ID)
parentRow.VersionCount = parentRow.VersionCount-1
const parent = store.states.lazyTreeNodeMap[parentRow.ID]
if(parent.length===1){
this.getModelList()
}else{
parent.splice(childrenIndex, 1);
}
}
}
},
deleteModel(id,name){
let row={cName:name}
let row={cName:name,ID:id}
let _this = this
let flag=1
$('.ui.basic.modal.first')
@@ -300,8 +342,8 @@ export default {
params:{
ID:id
}}).then((res)=>{
_this.getModelList()
_this.loadrefresh(row)
// _this.getModelList()
})
flag = true
},
@@ -315,24 +357,29 @@ export default {
})
.modal('show')
},
getModelList(){
this.$axios.get(location.href+'_api',{
params:this.params
}).then((res)=>{
$(".ui.grid").removeAttr("style")
$("#loadContainer").removeClass("loader")
let TrainTaskInfo
this.tableData = res.data.data
for(let i=0;i<this.tableData.length;i++){
TrainTaskInfo = JSON.parse(this.tableData[i].TrainTaskInfo)
this.tableData[i].cName=this.tableData[i].Name
this.tableData[i].EngineName = TrainTaskInfo.EngineName.split('-')[0]
this.tableData[i].ComputeResource = TrainTaskInfo.ComputeResource
this.tableData[i].hasChildren = res.data.data[i].VersionCount===1 ? false : true
}
this.totalNum = res.data.count
})
try {
this.$refs.table.store.states.lazyTreeNodeMap = {}
this.$axios.get(location.href+'_api',{
params:this.params
}).then((res)=>{
$(".ui.grid").removeAttr("style")
$("#loadContainer").removeClass("loader")
let TrainTaskInfo
this.tableData = res.data.data
for(let i=0;i<this.tableData.length;i++){
TrainTaskInfo = JSON.parse(this.tableData[i].TrainTaskInfo)
this.tableData[i].cName=this.tableData[i].Name
this.tableData[i].EngineName = TrainTaskInfo.EngineName.split('-')[0]
this.tableData[i].ComputeResource = TrainTaskInfo.ComputeResource
this.tableData[i].hasChildren = res.data.data[i].VersionCount===1 ? false : true
}
this.totalNum = res.data.count
})
}catch (e) {
console.log(e)
}
},
},
@@ -369,8 +416,6 @@ export default {
return size+unitArr[index];
}
}
},
mounted() {
this.submitId = document.getElementById("submitId")


Loading…
Cancel
Save