@@ -19,7 +19,7 @@ | |||
</div> | |||
<!-- 确认模态框 --> | |||
<div id="deletemodel"> | |||
<div> | |||
<div class="ui basic modal images"> | |||
<div class="ui icon header"> | |||
<i class="trash icon"></i> {{.i18n.Tr "repo.images.delete_task"}} | |||
@@ -23,7 +23,7 @@ | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.modify_image"}} | |||
</h4> | |||
<div class="submit-image-tmplvalue" style="display: none;" data-link="/image/{{$.Image.ID}}"></div> | |||
<div class="submit-image-tmplvalue" style="display: none;" data-link="/image/{{$.Image.ID}}" data-edit-page="{{.PageFrom}}"></div> | |||
<div class="ui attached segment" style="padding: 2em 3em;padding-bottom: 7rem;"> | |||
<div class="ui form" id="form_image"> | |||
<input type="hidden" name="edit" value="edit"> | |||
@@ -20,6 +20,10 @@ | |||
<div class="alert"></div> | |||
<div class="ui container"> | |||
<div> | |||
<div class="ui negative message" style="display: none;"> | |||
</div> | |||
<div class="ui positive message" style="display: none;"> | |||
</div> | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.submit_image"}} | |||
</h4> | |||
@@ -85,7 +89,7 @@ | |||
</div> | |||
<!-- 确认模态框 --> | |||
<div id="deletemodel"> | |||
<div> | |||
<div class="ui modal image_confirm_submit"> | |||
<div class="header">{{.i18n.Tr "repo.submit_image"}}</div> | |||
<div class="content text red center"> | |||
@@ -97,4 +101,9 @@ | |||
</div> | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} | |||
{{template "base/footer" .}} | |||
<script> | |||
$('.ui.positive.message').text('保存镜像成功').show().delay(1500).fadeOut(); | |||
</script> |
@@ -152,7 +152,7 @@ | |||
</select> | |||
</div> | |||
<div class="required unite min_title inline field" style="position: relative;"> | |||
<!-- <div class="required unite min_title inline field" style="position: relative;"> | |||
<label style="font-weight: normal;">{{.i18n.Tr "cloudbrain.mirror"}} </label> | |||
<input class="width81" type="text" list="cloudbrain_image" placeholder="{{.i18n.Tr "cloudbrain.choose_mirror"}}" name="image" required autofocus maxlength="255"> | |||
<i class="times circle outline icon icons" style="visibility: hidden;" onclick="clearValue()"></i> | |||
@@ -164,6 +164,10 @@ | |||
<option name="image" value="{{.Place}}">{{.PlaceView}}</option> | |||
{{end}} | |||
</datalist> | |||
</div> --> | |||
<div id="images-new-cb"> | |||
</div> | |||
<div class="inline unite min_title field required"> | |||
@@ -116,7 +116,7 @@ | |||
@current-change="handleCurrentChangePublic" | |||
:current-page="currentPagePublic" | |||
:page-size="pageSizePublic" | |||
:page-sizes="[10,15,20]" | |||
:page-sizes="[5,10,15]" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="totalNumPublic"> | |||
</el-pagination> | |||
@@ -180,7 +180,7 @@ | |||
</el-table-column> | |||
<el-table-column | |||
label="镜像描述" | |||
min-width="28%" | |||
min-width="27%" | |||
align="left" | |||
prop="description" | |||
> | |||
@@ -232,7 +232,7 @@ | |||
prop="createdUnix" | |||
label="创建时间" | |||
align="center" | |||
min-width="13%" | |||
min-width="14%" | |||
> | |||
<template slot-scope="scope"> | |||
{{scope.row.createdUnix | transformTimestamp}} | |||
@@ -273,7 +273,7 @@ | |||
@current-change="handleCurrentChangeCustom" | |||
:current-page="currentPageCustom" | |||
:page-size="pageSizeCustom" | |||
:page-sizes="[5,15,20]" | |||
:page-sizes="[5,10,15]" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="totalNumCustom"> | |||
</el-pagination> | |||
@@ -406,7 +406,7 @@ | |||
@current-change="handleCurrentChangeStar" | |||
:current-page="currentPageStar" | |||
:page-size="pageSizeStar" | |||
:page-sizes="[5,15,20]" | |||
:page-sizes="[5,10,15]" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="totalNumStar"> | |||
</el-pagination> | |||
@@ -456,24 +456,24 @@ export default { | |||
search:'', | |||
checked:false, | |||
currentPagePublic:1, | |||
pageSizePublic:15, | |||
pageSizePublic:10, | |||
totalNumPublic:0, | |||
paramsPublic:{page:1,pageSize:15,q:'',recommend:false}, | |||
paramsPublic:{page:1,pageSize:10,q:'',recommend:false}, | |||
tableDataPublic: [], | |||
loadingPublic:false, | |||
currentPageCustom:1, | |||
pageSizeCustom:15, | |||
pageSizeCustom:10, | |||
totalNumCustom:0, | |||
paramsCustom:{page:1,pageSize:15,q:''}, | |||
paramsCustom:{page:1,pageSize:10,q:''}, | |||
tableDataCustom: [], | |||
starCustom:[], | |||
loadingCustom:false, | |||
currentPageStar:1, | |||
pageSizeStar:15, | |||
pageSizeStar:10, | |||
totalNumStar:0, | |||
paramsStar:{page:1,pageSize:15,q:''}, | |||
paramsStar:{page:1,pageSize:10,q:''}, | |||
tableDataStar: [], | |||
loadingStar:false | |||
}; | |||
@@ -712,10 +712,18 @@ export default { | |||
} | |||
}, | |||
mounted() { | |||
this.getImageListPublic() | |||
}, | |||
created() { | |||
const params = new URLSearchParams(location.search) | |||
if(params.has('type')&¶ms.get('type')=='myimage'){ | |||
this.activeName = 'second' | |||
this.getImageListCustom() | |||
} | |||
else{ | |||
this.getImageListPublic() | |||
} | |||
} | |||
}; | |||
@@ -13,14 +13,18 @@ | |||
> | |||
<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" @click="searchName()"></i> | |||
<input type="text" placeholder="" v-model="search" @keyup.enter="searchName()"> | |||
<input type="text" placeholder="搜镜像Tag/描述/标签..." v-model="search" @keyup.enter="searchName()"> | |||
</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;"> | |||
<span class="panel_dataset_name text-over" style="margin-left: 0;">{{publicData.tag}} </span> | |||
<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> | |||
@@ -95,7 +99,11 @@ | |||
<div style="display: flex;align-items: center;justify-content: space-between;padding: 1rem 0;border-bottom:1px solid #F5F5F5" v-for="(starData,index) in tableDataStar" :key="index"> | |||
<div style="width: 90%;"> | |||
<div style="display: flex;align-items: center;justify-content: space-between;"> | |||
<span class="panel_dataset_name text-over" style="margin-left: 0;">{{starData.tag}} </span> | |||
<div style="display: flex;align-items: center;"> | |||
<span class="panel_dataset_name text-over" style="margin-left: 0;">{{starData.tag}} </span> | |||
<img v-if="starData.type==5" src="/img/jian.svg" style="margin-left: 0.5rem;"> | |||
</div> | |||
<div v-if="!!starData.topics" class="text-over"> | |||
<span v-for="(topic,index) in starData.topics" class="ui repo-topic label topic">{{topic}}</span> | |||
</div> | |||
@@ -293,7 +301,7 @@ export default { | |||
}, | |||
mounted() { | |||
this.getImageListPublic() | |||
if(location.href.indexOf('benchmark')!==-1){ | |||
if(location.href.indexOf('benchmark')!==-1 || location.href.indexOf('train-job')!==-1){ | |||
this.benchmarkNew = true | |||
} | |||
}, | |||
@@ -316,54 +324,27 @@ export default { | |||
position: relative; | |||
top:-40px; | |||
} | |||
.el-dropdown-menu__item--divided{ | |||
border-top: 1px solid blue; | |||
} | |||
.el-table thead{ | |||
background-color: #f5f5f6; | |||
} | |||
/deep/ .el-tabs__item:hover{ | |||
color: #000; | |||
font-weight: 500; | |||
} | |||
/deep/ .el-tabs__item.is-active { | |||
color: #000; | |||
font-weight: 500; | |||
} | |||
/deep/ .el-tabs__active-bar{ | |||
background-color:#000 | |||
} | |||
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |||
background-color: #5bb973; | |||
background-color: #409eff !important; | |||
color: #FFF; | |||
} | |||
/deep/ .el-pagination.is-background .el-pager li.active { | |||
color: #fff; | |||
cursor: default; | |||
background-color: #409eff !important; | |||
} | |||
/deep/ .el-pagination.is-background .el-pager li:hover { | |||
color: #5bb973; | |||
color: #409eff !important; | |||
} | |||
/deep/ .el-pagination.is-background .el-pager li:not(.disabled):hover { | |||
color: #5bb973; | |||
color: #409eff !important; | |||
} | |||
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active:hover { | |||
background-color: #5bb973; | |||
background-color: #409eff !important; | |||
color: #FFF; | |||
} | |||
/deep/ .el-pager li.active { | |||
color: #08C0B9; | |||
cursor: default; | |||
} | |||
/deep/ .el-pagination .el-pager li:hover { | |||
color: #08C0B9; | |||
} | |||
/deep/ .el-pagination .el-pager li:not(.disabled):hover { | |||
color: #08C0B9; | |||
} | |||
#success{ | |||
background-color: #5bb973; | |||
color: white; | |||
@@ -67,6 +67,7 @@ export default async function initImage(){ | |||
validate() | |||
initDropdown() | |||
let link = $('.submit-image-tmplvalue').data('link') | |||
let pageform = $('.submit-image-tmplvalue').data('edit-page') || '' | |||
function postImage(formData) { | |||
$("#mask").css({"display":"block","z-index":"999"}) | |||
$.ajax({ | |||
@@ -79,15 +80,15 @@ export default async function initImage(){ | |||
$('.alert').html(res.Message).removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||
}else if(res.Code==0){ | |||
if(link.indexOf('commit_image')===1){ | |||
$('.alert').html('保存镜像成功').removeClass('alert-danger').addClass('alert-success').show().delay(1500).fadeOut(); | |||
$('.ui.positive.message').text('保存镜像成功').show().delay(1500).fadeOut(); | |||
}else{ | |||
$('.alert').html('提交镜像成功').removeClass('alert-danger').addClass('alert-success').show().delay(1500).fadeOut(); | |||
$('.ui.positive.message').text('提交镜像成功').show().delay(1500).fadeOut(); | |||
} | |||
if(location.href.indexOf('imageAdmin')!==-1){ | |||
location.href = `${window.config.AppSubUrl}/admin/images` | |||
}else{ | |||
location.href = `${window.config.AppSubUrl}/explore/images` | |||
location.href = `${window.config.AppSubUrl}/explore/images?type=myimage` | |||
} | |||
} | |||
}, | |||
@@ -96,7 +97,7 @@ export default async function initImage(){ | |||
// 只有请求不正常(状态码不为200)才会执行 | |||
// $('.ui.error.message').text(xhr.responseText) | |||
// $('.ui.error.message').css('display','block') | |||
$('.alert').html(xhr.responseText).removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||
$('.ui.positive.message').html(xhr.responseText).show().delay(1500).fadeOut(); | |||
}, | |||
complete:function(xhr){ | |||
$("#mask").css({"display":"none","z-index":"1"}) | |||
@@ -152,7 +153,7 @@ export default async function initImage(){ | |||
} | |||
}, | |||
error: function(xhr){ | |||
$('.alert').html(xhr.responseText).removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||
$('.ui.positive.message').text(xhr.responseText).show().delay(1500).fadeOut(); | |||
} | |||
}) | |||
} | |||
@@ -162,6 +163,10 @@ export default async function initImage(){ | |||
if(link.includes('cloudbrain')){ | |||
let repoLink = link.split('cloudbrain')[0] | |||
location.href = `${window.config.AppSubUrl}${repoLink}debugjob?debugListType=all` | |||
}else if(pageform=='imageSquare'){ | |||
location.href = `${window.config.AppSubUrl}/explore/images?type=myimage` | |||
}else if(pageform=='imageAdmin'){ | |||
location.href = `${window.config.AppSubUrl}/admin/images` | |||
} | |||
}) | |||
console.log("initImage") | |||
@@ -386,10 +386,10 @@ display: block; | |||
margin: -1px; | |||
background: #FFF !important; | |||
} | |||
#deletemodel { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
// #deletemodel { | |||
// width: 100%; | |||
// height: 100%; | |||
// } | |||
/* 弹窗 */ | |||
#mask { | |||